define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index : function () {
// 初始化表格参数配置
Table.api.init();
//绑定事件
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
var panel = $($(this).attr("href"));
if (panel.length > 0) {
Controller.table[panel.attr("id")].call(this);
$(this).on('click', function (e) {
$($(this).attr("href")).find(".btn-refresh").trigger("click");
});
}
//移除绑定的事件
$(this).unbind('shown.bs.tab');
});
//必须默认触发shown.bs.tab事件
$('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
},
tableinfo:{
url : '',
toolbar: '#toolbar',
pk : 'id',
sortName : 'id',
fixedColumns : true,
fixedNumber : 1,
fixedRightNumber : 1,
columns : [
[
{
field : 'num', title : '合同编号', fixedColumns : true, formatter : function (value, row, index) {
if(value ==''){
value = '无';
}
return "" + value + "";
},operate:'like'
},
{
field : 'name', title : '合同名称', fixedColumns : true, formatter : function (value, row, index) {
if(value ==''){
value = '无';
}
return value;
},operate:false
},
{field : 'customer', title : '客户名称', formatter : function (value, row, index) {
if(row.customer){
return "" + row.customer.name + "";
}
return '';
},operate:false},
{field : 'contract_remark', title : '备注', formatter : function (value, row, index) {
if(row.contract_remark){
return row.contract_remark;
}
return '';
},operate:false},
// {field : 'customer_id', title : '客户名称', visible: false, addClass: "selectpage", extend: "data-source='qingdong/customer/customer/index' data-field='name'"},
{field : 'remark', title : '备注',operate:false},
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
]
],
pagination : true,
search : false,
commonSearch : true,
searchFormVisible : true,
//显示导出按钮
showExport: false,
onLoadSuccess:function(row){
var role = row.role;
// 根据 role 值动态修改 columns 配置
var table = $("#table");
// 这里就是数据渲染结束后的回调函数
$(".btn-add").data("area",["80%","80%"]);
$(".btn-edit").data("area",["80%","80%"]);
}
},
table: {
first: function () {
// 初始化表格参数配置
Table.api.init({
// extend : {
// add_url : 'qingdong/customer/contract/add',
// detail_url : 'qingdong/customer/contract/detail',
// table : 'contract',
// }
});
if(Config.fields !='[]'){
if (Config.fields && Object.keys(Config.fields).length > 0) {
var fields = JSON.parse(Config.fields);
var start = Controller.tableinfo.columns[0].length-2;
for (var i = 0; i < fields.length; i++) {
if (fields[i].hasOwnProperty('formatter'))
fields[i].formatter = eval(fields[i].formatter);
if (fields[i].hasOwnProperty('events'))
fields[i].events = eval(fields[i].events);
if (fields[i].hasOwnProperty('searchList'))
fields[i].searchList = JSON.parse(fields[i].searchList);
Controller.tableinfo.columns[0].splice(start + i, 0, fields[i]);
}
}
}
const q = {};
location.search.replace(/([^?&=]+)=([^&]+)/g,function(_,k,v){q[k]=v});
var table = $("#table");
Controller.tableinfo.url=location.href+'&type=0';
Controller.tableinfo.toolbar='#toolbar';
Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
if (q.isselect == 1) {
Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length - 1].visible = false;
} else {
Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length - 2].visible = false;
}
// 初始化表格
table.bootstrapTable(Controller.tableinfo);
// 为表格绑定事件
Table.api.bindevent(table);
},
},
};
return Controller;
});