define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'user/user/index', add_url: 'user/user/add', edit_url: 'user/user/edit', del_url: 'user/user/del', multi_url: 'user/user/multi', table: 'user', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'user.id', exportTypes: ['excel'], columns: [ [ {checkbox: true}, {field: 'id', title: __('Id'), sortable: true, operate: false}, {field: 'type', title: __('Type'), searchList: Config.site_group_list}, {field: 'workplace', title: __('Workplace')}, {field: 'job_type', title: __('Job Type')}, {field: 'title', title: __('Title')}, {field: 'first_name', title: __('First Name')}, {field: 'middle_name', title: __('Middle Name')}, {field: 'last_name', title: __('Last Name')}, {field: 'facebook', title: __('Facebook')}, {field: 'twitter', title: __('Twitter')}, {field: 'email', title: __('Email'), operate: 'LIKE'}, // {field: 'username', title: __('Username'), operate: 'LIKE'}, // {field: 'nickname', title: __('Nickname'), operate: 'LIKE'}, // {field: 'mobile', title: __('Mobile'), operate: 'LIKE'}, {field: 'avatar', title: __('Avatar'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false}, {field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: {normal: __('Normal'), hidden: __('Hidden')}}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ] }); // 为表格绑定事件 Table.api.bindevent(table); var cloneQueryParams = null; //绑定tab事件 $('a[data-toggle="tab"]').on('show.bs.tab',function(event){ let type =$(this).attr("data-value"); let options = table.bootstrapTable('getOptions'); $('.nav-tabs li').attr('class',''); $(this).parent().attr("class",'active'); options.pageNumber = 1; if (cloneQueryParams == null) { cloneQueryParams = options.queryParams; } options.queryParams =function(params){ params.type = type; return cloneQueryParams(params); }; table.bootstrapTable('refresh',{}); return false; }); }, add: function () { Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); } } }; return Controller; });