car4s/public/assets/js/backend/import/logxx.js
2022-06-04 17:38:43 +08:00

238 lines
10 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'editable'], function ($, undefined, Backend, Table, Form, undefined) {
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'import/log/index' + location.search,
add_url: 'import/log/add',
del_url: 'import/log/del',
multi_url: 'import/log/multi',
table: 'import_log',
import_url: 'import/log/import',
}
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'id',
fixedColumns: true,
columns: [
[
{checkbox: true},
{field: 'id', title: __('Id')},
{field: 'table', title: __('Table')},
{field: 'row', title: __('Row')},
{
field: 'head_type',
title: __('head_type'),
searchList: {"comment": __('comment'), "name": __('name')},
formatter: Table.api.formatter.status
},
{field: 'path', title: __('Path'), formatter: Table.api.formatter.url},
// {field: 'admin_id', title: __('Admin_id')},
{
field: 'createtime',
title: __('Createtime'),
operate: 'RANGE',
addclass: 'datetimerange',
formatter: Table.api.formatter.datetime
},
{
field: 'updatetime',
title: __('Updatetime'),
operate: 'RANGE',
addclass: 'datetimerange',
formatter: Table.api.formatter.datetime
},
{
field: 'status',
title: __('Status'),
searchList: {"normal": __('Normal'), "hidden": __('Hidden')},
formatter: Table.api.formatter.status
},
{
field: 'operate',
title: __('Operate'),
table: table,
events: Table.api.events.operate,
formatter: Table.api.formatter.operate,
buttons: [
{
name: 'detail',
text: __('查看'),
title: __('查看'),
classname: 'btn btn-xs btn-primary btn-dialog',
icon: 'fa fa-eye',
extend: 'data-area=\'["1000px","800px"]\'',
url: 'import/log/edit',
callback: function (data) {
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
},
visible: function (row) {
//返回true时按钮显示,返回false隐藏
return true;
}
}
]
}
]
]
});
// 为表格绑定事件
Table.api.bindevent(table);
},
add: function () {
function reset() {
$("#step").val(0);
$("#import").hide();
$("#createtable").hide();
$("#updatetable").hide();
var table = $("#table");
var tableField = $("#tableField");
tableField.bootstrapTable('destroy');
table.bootstrapTable('destroy');
if ($("#c-row").val() && $("#selecthead_type select").val() && $("#selectable select").val() && $("#c-rowpath").val()) {
Toastr.success('开始预览结果');
$("#submit").trigger("click");
}
}
$("#selectable select").on("change", function () {
$("#c-newtable").val('')
reset()
})
$("#import").on("click", function () {
$("#submit").trigger("click");
})
$("#c-newtable").on("change", function () {
$("#selectable select").val("");
reset()
})
$("#c-row").on("change", function () {
reset()
})
$("#c-rowpath").on("change", function () {
reset()
})
$("#selecthead_type select").on("change", function () {
reset()
})
Controller.api.bindevent();
},
edit: function () {
Controller.api.bindevent();
},
api: {
bindevent: function () {
// Form.api.bindevent($("form[role=form]"));
Form.api.bindevent($("form[role=form]"), function (data, ret) {
console.log(ret)
if (ret.data.count) {
$("#step").val(1);
$("#import").show();
Toastr.success(ret.msg);
} else {
Toastr.error(ret.msg);
}
if (ret.data.params) {
// 初始化表格参数配置
var params = ret.data.params
Table.api.init({
extend: {
index_url: 'import/log/preview?' + params,
field_url: 'import/log/preview?path=' + ret.data.path,
}
});
var table = $("#table");
var tableField = $("#tableField");
tableField.bootstrapTable('destroy');
table.bootstrapTable('destroy');
Fast.api.ajax({
url: 'import/log/preview/?columns=1&' + params
}, function (data) {
console.log(data)
var columns = [ ];
$.each(data, function (i, item) {
var row;
row = {
"field": item.field,
"title": item.title,
"titleTooltip": item.field,
"class": item.class,
};
if (item.width) row.width = item.width
if (item.buttons) row.buttons = eval('(' + item.buttons + ')');
if (item.type) row.visible = item.type
if (item.visible) row.visible = item.visible
if (item.operate) row.operate = item.operate
if (item.addclass) row.addclass = item.addclass
if (item.table) row.table = eval(item.table)
if (item.events) row.events = eval(item.events)
if (item.formatter) row.formatter = eval(item.formatter)
columns.push(row);
});
console.log(data)
// 初始化表格
tableField.bootstrapTable({
data: data,
fixedColumns: true,
pagination: false,//是否分页
sidePagination: 'client',//server:服务器端分页|client前端分页
pageSize: 20,//单页记录数
search: false, showColumns: false, showToggle: false, showExport: false,
columns: [
[
{field: 'field', title: __('匹配值')},
{field: 'fieldName', title: __('字段名')},
{field: 'type', title: __('类型')},
{field: 'title', title: __('注释')},
{field: 'class', title: __('匹配结果') }
]
]
});
// 为表格绑定事件
Table.api.bindevent(tableField);
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
fixedColumns: true,
pagination: true,//是否分页
sidePagination: 'client',//server:服务器端分页|client前端分页
pageSize: 20,//单页记录数
dataField: 'rows',
columns: columns
});
// 为表格绑定事件
Table.api.bindevent(table);
}, function () {
return false;
});
return false;
}
if (ret.url) {
window.location.href = ret.url;
return false;
}
});
}
}
};
return Controller;
});