define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { Table.api.init({ extend: { index_url: 'history/index' + location.search, add_url: 'history/add', edit_url: 'history/edit', del_url: 'history/del', multi_url: 'history/multi', import_url: 'history/import', table: 'history', } }); var table = $("#table"); // 从后端获取颜色和生肖映射 Controller.api.loadColorMap(function () { Controller.api.loadAnimalMap(function () { table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'expect', sortName: 'expect', columns: [ [ {checkbox: true}, {field: 'expect', title: __('Expect')}, {field: 'num1', title: __('Num1'), formatter: Controller.api.formatter.numBall}, {field: 'num2', title: __('Num2'), formatter: Controller.api.formatter.numBall}, {field: 'num3', title: __('Num3'), formatter: Controller.api.formatter.numBall}, {field: 'num4', title: __('Num4'), formatter: Controller.api.formatter.numBall}, {field: 'num5', title: __('Num5'), formatter: Controller.api.formatter.numBall}, {field: 'num6', title: __('Num6'), formatter: Controller.api.formatter.numBall}, {field: 'num7', title: __('Num7'), formatter: Controller.api.formatter.numBall}, {field: 'openTime', title: __('OpenTime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, ] ] }); Table.api.bindevent(table); }); }); // 遗漏号码按钮事件 $(document).off('click', '.btn-missingnum').on('click', '.btn-missingnum', function () { Controller.api.showMissingNumDialog(); }); }, add: function () { Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, api: { colorMap: {}, colorMapLoaded: false, animalMap: {}, animalMapLoaded: false, /** * 从后端加载颜色映射并缓存 */ loadColorMap: function (callback) { if (Controller.api.colorMapLoaded) { callback(); return; } $.ajax({ url: 'num/getColorMap', type: 'GET', dataType: 'json', success: function (ret) { if (ret.code == 1) { Controller.api.colorMap = ret.msg; } Controller.api.colorMapLoaded = true; callback(); } }); }, /** * 从后端加载生肖映射并缓存 */ loadAnimalMap: function (callback) { if (Controller.api.animalMapLoaded) { callback(); return; } $.ajax({ url: 'num/getAnimalMap', type: 'GET', dataType: 'json', success: function (ret) { if (ret.code == 1) { Controller.api.animalMap = ret.msg; } Controller.api.animalMapLoaded = true; callback(); } }); }, /** * 根据数字从映射表中获取生肖 */ getAnimalByNum: function (num) { return Controller.api.animalMap[num] || ''; }, /** * 根据数字从映射表中获取颜色 */ getColorByNum: function (num) { var color = Controller.api.colorMap[num]; if (!color) return '#95a5a6'; // 后端返回中文波色,前端映射为CSS颜色 if (color.indexOf('红') !== -1) return '#e74c3c'; if (color.indexOf('蓝') !== -1) return '#3498db'; if (color.indexOf('绿') !== -1) return '#2ecc71'; return '#95a5a6'; }, formatter: { numBall: function (value, row, index) { if (value === null || value === undefined || value === '') return ''; var num = parseInt(value); var color = Controller.api.getColorByNum(num); var animal = Controller.api.getAnimalByNum(num); var html = '