define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'auth/frontlimit/index',
add_url: 'auth/frontlimit/add',
edit_url: 'auth/frontlimit/edit',
del_url: 'auth/frontlimit/del',
multi_url: 'auth/frontlimit/multi',
do_choose: 'auth/frontlimit/operate',
select_url: 'referral/vipreferral/selectchannel',
},
showToggle: false,
showColumns: false,
visible: false,
commonSearch: false,
showExport: false
});
var table = $("#table");
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
columns: [
[
{field: 'id', title: '功能ID'},
{field: 'name', title: __('功能名称')},
{field: 'rule_name', title: __('方法名称')},
{
field: 'id',
operate:false,
title: __('关联渠道'),
formatter: Controller.api.formatter.fm_associate_channels
},
{
field: 'id',
operate:false,
title: __('一键清除'),
formatter: function (index, row, value) {
return "清除所有渠道";
}
},
{
field: 'operate',
title: '操作',
table: table,
events: Table.api.events.operate,
formatter: Table.api.formatter.operate
}
]
]
});
//一键清除
$(document).on('click', '.qd-associate-all', function () {
var rule_id = $(this).data("rule_id");
Layer.confirm(
'确定要清理所有渠道吗',
{icon: 3, title: __('Warning'), offset: 0, shadeClose: true},
function (index) {
$.post('/admin/auth/frontlimit/operate',
{
'id': rule_id,
'channel_ids': "*",
'method': 'remove'
},
function (result) {
Toastr.success('操作成功');
//刷新页面
table.bootstrapTable('refresh');
});
Layer.close(index);
}
);
});
// 列表关联
$(document).on('click', '.qd-associate', function () {
var rule_id = $(this).data("rule_id");
var channel_ids = $(this).data("channel_id");
if (channel_ids == 'undefined') {
channel_ids = '';
}
Fast.api.open('/admin/auth/channel?operate=add&channel_ids=' + channel_ids, "关联渠道", {callback: function (data) {
$.post('/admin/auth/frontlimit/operate',
{
'id': rule_id,
'channel_ids': data,
'method': 'add'
},
function (result) {
Toastr.success('操作成功');
//刷新页面
table.bootstrapTable('refresh');
});
}
});
});
// 列表 查看
$(document).on('click', '.qd-view', function () {
var rule_id = $(this).data("rule_id");
var channel_ids = $(this).data("channel_id");
if (channel_ids == 'undefined') {
channel_ids = '';
}
Fast.api.open('/admin/auth/channel?operate=remove&channel_ids=' + channel_ids, "关联渠道", {callback: function (data) {
$.post('/admin/auth/frontlimit/operate',
{
'id': rule_id,
'channel_ids': data,
'method': 'remove'
},
function (result) {
Toastr.success('操作成功');
//刷新页面
table.bootstrapTable('refresh');
});
}
});
});
$(document).on("click", ".qd-edit", function () {
var rule_id = $(this).data("rule_id");
var channel_ids = $(this).data("channel_id");
if (channel_ids == 'undefined') {
channel_ids = '';
}
layer.open({
type: 1,
title: '批量关联',
maxmin: true,
area: ['60%', '80%'],
btn: ['确定', '取消'],
shadeClose: true, //点击遮罩关闭层
content: $("#qd_multi_edit"),
yes: function (data) {
var channel_ids = $("#c-channel_id").val();
$("#c-channel_id").val("");
$.post('/admin/auth/frontlimit/operate',
{
'id': rule_id,
'channel_ids': channel_ids,
'method': 'add'
},
function (result) {
aResult = JSON.parse(result);
if (aResult.code == 200) {
Toastr.success('操作成功');
//刷新页面
table.bootstrapTable('refresh');
} else {
Toastr.error(aResult.msg);
}
});
layer.closeAll();
}
});
});
// 为表格绑定事件
Table.api.bindevent(table);
},
add: function () {
Form.api.bindevent($("form[role=form]"));
},
edit: function () {
Form.api.bindevent($("form[role=form]"));
},
api: {
formatter: {
fm_associate_channels:function (value, row, index) {
html = '';
if(row.channel_id == '*'){
html += "已关联所有渠道";
}else{
html += "关联 ";
html += "查看 ";
html += "批量关联";
}
return html;
}
}
}
};
return Controller;
});