123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- 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, formatter: function(value, row, index) {
- return '等级' + value;
- }},
- {field: 'name', title: __('等级名称'), operate: 'LIKE'},
- {field: 'image', title: __('等级徽章'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
- {field: 'commission_rules', title: __('一级佣金比例'), operate: false, formatter: function(value, row, index) {
- if (typeof value === 'string') {
- try {
- value = JSON.parse(value);
- } catch (e) {
- value = {};
- }
- }
- return (value.commission_1 || '0.00') + '%';
- }},
- {field: 'commission_rules', title: __('二级佣金比例'), operate: false, formatter: function(value, row, index) {
- if (typeof value === 'string') {
- try {
- value = JSON.parse(value);
- } catch (e) {
- value = {};
- }
- }
- return (value.commission_2 || '0.00') + '%';
- }},
- {field: 'commission_rules', title: __('三级佣金比例'), operate: false, formatter: function(value, row, index) {
- if (typeof value === 'string') {
- try {
- value = JSON.parse(value);
- } catch (e) {
- value = {};
- }
- }
- return (value.commission_3 || '0.00') + '%';
- }},
- {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');
- }
- }
- ],
- 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: {
- // 默认等级选项
- defaultLevels: [
- {name: '一级', level: 1},
- {name: '二级', level: 2},
- {name: '三级', level: 3},
- {name: '四级', level: 4},
- {name: '五级', level: 5},
- {name: '六级', level: 6},
- {name: '七级', level: 7},
- {name: '八级', level: 8},
- {name: '九级', level: 9},
- {name: '十级', level: 10}
- ],
-
- bindevent: function () {
- Form.api.bindevent($("form[role=form]"));
-
- var self = this;
-
- // 初始化页面数据
- self.initPageData();
-
- // 绑定等级选择事件
- $(document).on('click', '.level-select-item', function() {
- var level = $(this).data('level');
-
- // 如果是禁用的按钮,不执行任何操作
- if ($(this).hasClass('disabled')) {
- return false;
- }
-
- var existLevels = $('.level-select-item.disabled').map(function() {
- return $(this).data('level');
- }).get();
-
- if (existLevels.indexOf(level) === -1) {
- $('.level-select-item').removeClass('active');
- $(this).addClass('active');
- $('input[name="row[level]"]').val(level);
- }
- });
- },
-
- initPageData: function() {
- var self = this;
- var currentLevel = $('input[name="row[level]"]').val();
- var isEdit = currentLevel ? true : false;
-
- // 获取已存在的等级
- $.ajax({
- url: Fast.api.fixurl('commission/level/select'),
- type: 'GET',
- success: function(ret) {
- if (ret.code === 1) {
- var existLevels = ret.data.map(function(item) {
- return parseInt(item.level);
- });
-
- if (isEdit) {
- // 编辑模式,移除当前编辑的等级
- var index = existLevels.indexOf(parseInt(currentLevel));
- if (index > -1) {
- existLevels.splice(index, 1);
- }
- }
-
- self.renderLevelSelect(existLevels, currentLevel);
- } else {
- // 请求成功但返回错误,至少显示基本的等级选择器
- self.renderLevelSelect([], currentLevel);
- }
- },
- error: function(xhr, status, error) {
- // Ajax请求失败,至少显示基本的等级选择器
- self.renderLevelSelect([], currentLevel);
- }
- });
- },
-
- renderLevelSelect: function(existLevels, currentLevel) {
- var html = '';
-
- // 如果是编辑1级(默认等级),只显示1级并禁用选择
- if (currentLevel && parseInt(currentLevel) === 1) {
- html += '<div class="level-select-item btn btn-default active disabled" data-level="1">';
- html += '一级(默认等级,不可修改)';
- html += '</div>';
- } else {
- // 非1级或新建时,显示可选等级
- this.defaultLevels.forEach(function(item) {
- var disabled = existLevels.indexOf(item.level) !== -1 ? 'disabled' : '';
- var active = (currentLevel && parseInt(currentLevel) === item.level) ? 'active' : '';
-
- html += '<div class="level-select-item btn btn-default ' + disabled + ' ' + active + '" data-level="' + item.level + '">';
- html += item.name;
- html += '</div>';
- });
- }
-
- $('.level-select-container').html(html);
- }
- }
- };
- return Controller;
- });
|