define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数 Table.api.init({ extend: { index_url: 'commission/level/index' + location.search, add_url: 'commission/level/add', edit_url: 'commission/level/edit', del_url: 'commission/level/delete', multi_url: 'commission/level/multi', import_url: 'commission/level/import', table: 'commission_level', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'level', sortName: 'level', columns: [ [ {checkbox: true}, {field: 'level', title: __('等级权重'), width: 80}, {field: 'name', title: __('等级名称'), operate: 'LIKE'}, {field: 'image', title: __('等级徽章'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image}, {field: 'commission_rules.commission_1', title: __('一级佣金比例'), operate: false, formatter: function(value, row, index) { return (value || '0.00') + '%'; }}, {field: 'commission_rules.commission_2', title: __('二级佣金比例'), operate: false, formatter: function(value, row, index) { return (value || '0.00') + '%'; }}, {field: 'commission_rules.commission_3', title: __('三级佣金比例'), operate: false, formatter: function(value, row, index) { return (value || '0.00') + '%'; }}, {field: 'upgrade_type', title: __('升级方式'), searchList: { "0": __('手动升级'), "1": __('自动升级') }, formatter: function(value, row, index) { var typeMap = { '0': {text: '手动升级', color: 'info'}, '1': {text: '自动升级', color: 'success'} }; var type = typeMap[value] || {text: value, color: 'default'}; return '' + type.text + ''; }}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, buttons: [ { name: 'edit', text: __('编辑'), title: __('编辑'), classname: 'btn btn-xs btn-success btn-editone', icon: 'fa fa-edit', url: 'commission/level/edit', callback: function (data) { table.bootstrapTable('refresh'); } }, { name: 'del', text: __('删除'), title: __('删除'), classname: 'btn btn-xs btn-danger btn-delone', icon: 'fa fa-trash', url: 'commission/level/delete', visible: function (row) { return row.level != 1; // 默认等级不能删除 }, callback: function (data) { table.bootstrapTable('refresh'); } } ], formatter: Table.api.formatter.operate} ] ] }); // 为表格绑定事件 Table.api.bindevent(table); }, add: function () { Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, select: function () { // 初始化表格参数 Table.api.init({ extend: { index_url: 'commission/level/select' + location.search, } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'level', sortName: 'level', columns: [ [ {checkbox: true}, {field: 'level', title: __('等级权重'), width: 80}, {field: 'name', title: __('等级名称')}, {field: 'image', title: __('等级徽章'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image}, {field: 'commission_rules.commission_1', title: __('一级佣金比例'), operate: false, formatter: function(value, row, index) { return (value || '0.00') + '%'; }}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, buttons: [ { name: 'choose', text: __('选择'), title: __('选择'), classname: 'btn btn-xs btn-primary btn-choose', icon: 'fa fa-check', click: function (data) { var multiple = Backend.api.query('multiple'); multiple = multiple == 'true' ? true : false; Fast.api.close(data); } } ], formatter: Table.api.formatter.operate} ] ] }); // 为表格绑定事件 Table.api.bindevent(table); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); // 绑定升级类型变化事件 $(document).on('change', 'input[name="row[upgrade_type]"]', function() { var value = $(this).val(); var upgradeRulesContainer = $('.upgrade-rules-container'); if (value == '1') { upgradeRulesContainer.show(); } else { upgradeRulesContainer.hide(); } }); // 添加升级条件 $(document).on('click', '.add-upgrade-rule', function() { var container = $(this).closest('.upgrade-rules-container').find('.upgrade-rules-list'); var template = container.find('.upgrade-rule-item:first').clone(); template.find('input').val(''); container.append(template); }); // 删除升级条件 $(document).on('click', '.remove-upgrade-rule', function() { var item = $(this).closest('.upgrade-rule-item'); var container = item.closest('.upgrade-rules-list'); if (container.find('.upgrade-rule-item').length > 1) { item.remove(); } }); } } }; return Controller; });