define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'selectpage'], function ($, undefined, Backend, Table, Form, SelectPage) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'manage/dimension/index' + location.search, add_url: 'manage/dimension/add', edit_url: 'manage/dimension/edit', del_url: 'manage/dimension/del', multi_url: 'manage/dimension/multi', table: 'qc_dimension', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'weight', columns: [ [ {field: 'standard_id', title: __('Standard_id'), visible: false}, {field: 'standard_name', title: __('标准名称'), align: 'left', searchable: false}, {field: 'title', title: __('Title'), width: '200', formatter: Table.api.formatter.content}, {field: 'description', title: __('Description'), width: '400', formatter: Table.api.formatter.content}, {field: 'weight', title: __('Weight')}, {field: 'status', title: __('Status'),formatter: function (value){ if(value == 0){return '禁用'}else if(value == 1){return '启用'}else{return ''} }}, {field: 'createdAt', title: __('Createdat'), operate:'RANGE', addclass:'datetimerange'}, {field: 'updatedAt', title: __('Updatedat'), operate:'RANGE', addclass:'datetimerange'}, {field: 'sort', title: __('Sort')}, { field: 'operate', export: false, title: __('Operate'), table: table, buttons: [ { name : 'btn_topup', title : __('质控选项'), text : '质控选项', extend : 'data-toggle="tooltip"', classname: 'btn btn-xs btn-warning btn-dialog', url : function (row){return 'manage/options/index?dimension='+row.id} } ], events: Controller.api.events.operate, formatter: Table.api.formatter.operate, } ] ] }); // 为表格绑定事件 Table.api.bindevent(table); }, add: function () { standardSearchList(); Controller.api.bindevent(); }, edit: function () { standardSearchList(); Controller.api.bindevent(); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); }, events:{ operate:{ 'click .btn-editone': function (e, value, row, index) { e.stopPropagation(); e.preventDefault(); var table = $(this).closest('table'); var options = table.bootstrapTable('getOptions'); var ids = row[options.pk]; row = $.extend({}, row ? row : {}, {ids: ids}); var url = options.extend.edit_url; Fast.api.open(Table.api.replaceurl(url, row, table), __('Edit'), $(this).data() || {}); }, 'click .btn-delone': function (e, value, row, index) { e.stopPropagation(); e.preventDefault(); let that = this; var table = $(this).closest('table'); var options = table.bootstrapTable('getOptions'); $(that).data('url',options.extend.del_url); let top = $(that).offset().top - $(window).scrollTop(); let left = $(that).offset().left - $(window).scrollLeft() - 260; if (top + 154 > $(window).height()) { top = top - 154; } if ($(window).width() < 480) { top = left = undefined; } Layer.confirm( __('Are you sure you want to delete this item?'), {icon: 3, title: __('Warning'), offset: [top, left], shadeClose: true}, function (index) { let table = $(that).closest('table'); let options = table.bootstrapTable('getOptions'); Table.api.multi("del", row[options.pk], table, that); Layer.close(index); } ); } } } } }; let standardSearchList = function () { $.ajax({ url: 'manage/standards/standardSelectList', type: 'post', dataType: 'json', success: function success(res) { let data = res.rows; $('#c-standard_id').selectPage({ data : data, orderBy: 'id' }); } }); }; return Controller; });