define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'shortdomain/index',
add_url: 'shortdomain/add',
edit_url: 'shortdomain/edit',
del_url: 'shortdomain/del',
multi_url: 'shortdomain/multi',
table: 'short_domain',
}
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'status desc,updatetime desc,id',
sortOrder:'',
search: false,
searchFormVisible: true,
columns: [
[
{checkbox: true},
{field: 'id', title: __('Id'), operate: 'LIKE %...%'},
{field: 'host', title: __('Host'), operate: 'LIKE %...%'},
{field: 'status', title: __('Status'), visible:false, searchList: {"0":__('关闭'),"1":__('启用')}},
{field: 'status_text', title: __('Status'), operate:false, formatter:function(value, row, index){
if(row.status=="0"){
return ''+ value +'';
}else if(row.status=="1"){
return ''+ value +'';
}else{
return '未知';
}
}},
{field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime,type: 'datetime', operate: 'RANGE',addclass:'datetimerange'},
{field: 'updatetime', title: __('Updatetime'), formatter: Table.api.formatter.datetime,type: 'datetime', operate: 'RANGE',addclass:'datetimerange'},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
]
]
});
// 为表格绑定事件
Table.api.bindevent(table);
Controller.api.bindevent();
},
add: function () {
$("#c-host").on("blur", function () {
var len = $(this).val().split("\n").length;
$("#host_length").find("span").text(len);
$("#host_length").css("color", len > 50 ? "red" : "");
});
Controller.api.bindevent();
},
edit: function () {
Controller.api.bindevent();
},
open: function () {
var that = this;
var table = $("#table");
var ids = Table.api.selectedids(table);
Layer.confirm(
"确定启用选中的"+ ids.length +"项?",
{icon: 3, title: __('Warning'), offset: 0, shadeClose: true},
function (index) {
Fast.api.ajax({
url: 'shortdomain/open',
dataType: 'json',
data: {ids: ids}
}, function (data, ret) {
table.bootstrapTable('refresh');
});
Layer.close(index);
}
);
},
close: function () {
var that = this;
var table = $("#table");
var ids = Table.api.selectedids(table);
Layer.confirm(
"确定关闭选中的"+ ids.length +"项?关闭后将解除对应的渠道商/代理商关联关系",
{icon: 3, title: __('Warning'), offset: 0, shadeClose: true},
function (index) {
Fast.api.ajax({
url: 'shortdomain/close',
dataType: 'json',
data: {ids: ids}
}, function (data, ret) {
table.bootstrapTable('refresh');
});
Layer.close(index);
}
);
},
api: {
bindevent: function () {
$("#toolbar>a.btn-open").on("click", Controller.open);
$("#toolbar>a.btn-close").on("click", Controller.close);
Form.api.bindevent($("form[role=form]"));
}
}
};
return Controller;
});