define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'auth/admin/index', add_url: 'auth/admin/add', edit_url: 'auth/admin/edit', del_url: 'auth/admin/del', multi_url: 'auth/admin/multi', } }); var table = $("#table"); //在表格内容渲染完成后回调的事件 table.on('post-body.bs.table', function (e, json) { $("tbody tr[data-index]", this).each(function () { if (parseInt($("td:eq(1)", this).text()) == Config.admin.id) { $("input[type=checkbox]", this).prop("disabled", true); } }); }); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, columns: [ [ {field: 'state', checkbox: true, }, {field: 'id', title: 'ID'}, {field: 'username', title: __('Username')}, {field: 'nickname', title: __('Nickname')}, {field: 'groups_text', title: __('Group'), operate:false, formatter: Table.api.formatter.label}, {field: 'email', title: __('Email')}, {field: 'mobile', title: __('Mobile')}, {field: 'area_json', title: __('Area_json'), operate:'FIND_IN_SET', searchList: addressCityListJson, formatter: Table.api.formatter.label}, {field: 'status', title: __("Status"), searchList: {"normal":__('Normal'),"hidden":__('Hidden')}, formatter: Table.api.formatter.status}, {field: 'logintime', title: __('Login time'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: function (value, row, index) { if(row.id == Config.admin.id){ return ''; } return Table.api.formatter.operate.call(this, value, row, index); }} ] ] }); // 为表格绑定事件 Table.api.bindevent(table); }, add: function () { Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, api: { bindevent: function () { $(document).on('click', '.btn-changeuser', function (event) { var url = $(this).attr('data-url'); if(!url) return false; var title = $(this).attr('title'); var width = $(this).attr('data-width'); var height = $(this).attr('data-height'); // var ids = $(this).attr('data-id'); var area = ['98%','98%']; var options = { shadeClose: false, shade: [0.3, '#393D49'], area: area, callback:function(ret){//回调方法,需要在本页面Controller中增加方法监听且调用Fast.api.close(ret)传递结果; Fast.api.close(ret); } }; Fast.api.open(url,title,options); }); Form.api.bindevent($("form[role=form]")); } } }; return Controller; });