define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'salary/detail/index' + location.search, add_url: 'salary/detail/add', edit_url: 'salary/detail/edit', del_url: 'salary/detail/del', multi_url: 'salary/detail/multi', import_url: 'salary/detail/import', table: 'salary_detail', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'admin_id', title: __('Admin_id')}, {field: 'target_admin_id', title: __('Target_admin_id')}, {field: 'item_id', title: __('Item_id')}, {field: 'item_value', title: __('Item_value'), operate:'BETWEEN'}, {field: 'salary_month', title: __('Salary_month'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ] }); // 为表格绑定事件 Table.api.bindevent(table); }, custom_index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'salary/detail/custom_index' + location.search, add_url: 'salary/detail/custom_add', // del_url: 'oa/schedule/del', // multi_url: 'oa/schedule/multi', // import_url: 'oa/schedule/import', table: 'salary', } }); var table = $("#table"); var defaultColumnArr = []; defaultColumnArr.push({ "title":"用户名", "field":"name", },{ "title":"用户id", "field":"target_admin_id", "visible":false }); // 获取后端传入的字段定义(JSON 字符串) var columnJson = $('#salaryitem').val(); var rawColumns = JSON.parse(columnJson); rawColumns.forEach(function (item) { // 可以加入格式化、样式控制等逻辑 defaultColumnArr.push({ field: item.id, title: item.name, }); }); defaultColumnArr.push({ field: 'operate', title: __('Operate'), table: table, buttons: [ { name: 'custom_edit', text: '编辑', title: '编辑', classname: 'btn btn-xs btn-success btn-dialog', icon: 'fa fa-edit', url: function (row) { // 注意这里拼接 admin_id 和 month return 'salary/detail/custom_edit?target_admin_id=' + row.target_admin_id + '&month=' + row.month; }, extend: 'data-area=\'["800px", "600px"]\'', visible:function(row){ if (!Config.manage) { return false; } return true; } }, { name: 'complete', text:"结算", title:"结算", extend: 'data-toggle="tooltip" data-container="body"', classname: 'btn btn-xs btn-success btn-magic btn-ajax', icon: 'fa fa-cny', url: function (row) { // 注意这里拼接 admin_id 和 month return 'salary/detail/settle?target_admin_id=' + row.target_admin_id + '&month=' + row.month; }, confirm: '确认结算?', refresh: true, success: function (data, ret) { $("#table").bootstrapTable('refresh'); return false; }, error: function (data, ret) { Layer.alert(ret.msg); return false; }, visible: function (row) { if (!Config.manage) { return false; } //返回true时按钮显示,返回false隐藏 if (row.settle_status != 1) { return true; } return false; } }, ], events: Table.api.events.operate, formatter: Table.api.formatter.operate }); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, columns: defaultColumnArr, searchFormVisible: true, searchFormTemplate: 'customformtpl', }); // 为表格绑定事件 Table.api.bindevent(table); }, add: function () { Controller.api.bindevent(); }, custom_add: function () { Controller.api.bindevent(); }, custom_edit: function () { Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); } } }; return Controller; });