define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'postbackreferral/index?&type=' + Config.type + '&rule_id=' + Config.rule_id + '&action=' + Config.action, table: 'referral', }, search: false }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'name', title: __('Name')}, { field: 'operate', title: __('Operate'), operate: false, formatter: function (value, row, table) { if (Config.action == 'relation') { return "关联"; } else { return "删除"; } } } ] ] }); // 为表格绑定事件 Table.api.bindevent(table); $(document).delegate('.batch_relation', 'click', function () { var ids = []; var action = $(this).data('action'); if ($(this).data('referral_id')) { ids.push($(this).data('referral_id')); } else { ids = Table.api.selectedids(table); } Controller.api.batchrelation(ids, action, table) }); }, add: function () { Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); }, batchrelation: function (ids, action, table) { if (ids.length) { debugger var msg = ''; if (ids[0] == '-1') { if (!$(table).find('.no-records-found').length) { if (action == 'add') { msg = '关联全部推广链接?'; } else { msg = '删除全部推广链接?'; } } else { Layer.alert('推广链接为空,操作取消'); return; } } else { msg = __('已选中推广链接个数:%s', ids.length); } Layer.confirm( msg, {icon: 3, title: __('Warning'), offset: 0, shadeClose: true}, function (index) { var url = 'postbackreferral/batch_relation'; var options = { url: url, data: {referral_ids: ids.join(","), rule_id: Config.rule_id, action: action, type: Config.type} }; Fast.api.ajax(options, function (data, ret) { Layer.msg('处理成功!'); table.bootstrapTable('refresh'); parent.layer.close(this); }, function (data, ret) { }); Layer.close(index); } ); } } } }; return Controller; });