order.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'trade/order/index' + location.search,
  8. add_url: 'trade/order/add',
  9. edit_url: 'trade/order/edit',
  10. del_url: 'trade/order/del',
  11. multi_url: 'trade/order/multi',
  12. import_url: 'trade/order/import',
  13. table: 'order',
  14. }
  15. });
  16. var table = $("#table");
  17. var sidebarNUmber = Config.sidebar_number.all;
  18. table.on('load-success.bs.table',function(e, data){
  19. var tabdom = $('.panel-heading ul[data-field] li.active a[data-toggle="tab"]');
  20. $('#money').text(data.totalmoney);
  21. $(tabdom.find('small')).text('');
  22. var tabvalue = tabdom.data('value');
  23. switch (tabvalue) {
  24. case '':
  25. table.bootstrapTable('showColumn', 'pay_method');
  26. table.bootstrapTable('showColumn', 'out_trade_no');
  27. table.bootstrapTable('hideColumn', 'pay_time');
  28. break;
  29. case 'unpay':
  30. table.bootstrapTable('hideColumn', 'pay_method');
  31. table.bootstrapTable('hideColumn', 'out_trade_no');
  32. table.bootstrapTable('hideColumn', 'pay_time');
  33. sidebarNUmber -= Config.sidebar_number.unpay;
  34. break;
  35. case 'used':
  36. table.bootstrapTable('showColumn', 'pay_method');
  37. table.bootstrapTable('showColumn', 'out_trade_no');
  38. table.bootstrapTable('showColumn', 'pay_time');
  39. sidebarNUmber -= Config.sidebar_number.used;
  40. break;
  41. case 'unused':
  42. table.bootstrapTable('showColumn', 'pay_method');
  43. table.bootstrapTable('showColumn', 'out_trade_no');
  44. table.bootstrapTable('showColumn', 'pay_time');
  45. sidebarNUmber -= Config.sidebar_number.unused;
  46. break;
  47. case 'refund':
  48. table.bootstrapTable('showColumn', 'pay_method');
  49. table.bootstrapTable('showColumn', 'out_trade_no');
  50. table.bootstrapTable('showColumn', 'pay_time');
  51. sidebarNUmber -= Config.sidebar_number.refund;
  52. break;
  53. }
  54. Backend.api.sidebar({
  55. 'trade/order': [sidebarNUmber,'yellow'],
  56. });
  57. });
  58. // 初始化表格
  59. table.bootstrapTable({
  60. url: $.fn.bootstrapTable.defaults.extend.index_url,
  61. pk: 'id',
  62. sortName: 'order.id',
  63. columns: [
  64. [
  65. {checkbox: true},
  66. {field: 'box_name', title: __('Box_name'), operate: 'LIKE'},
  67. {field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
  68. {field: 'rmb_price', title: __('Rmb_price'), operate:'BETWEEN'},
  69. {field: 'num', title: __('Num')},
  70. {field: 'rmb_amount', title: __('Rmb_amount'), operate:'BETWEEN'},
  71. {field: 'user.nickname', title: __('User nickname'), visible:false, operate: "LIKE"},
  72. {field: 'nickname', title: __('User nickname'), operate: false},
  73. {field: 'avatar', title: __('User avatar'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
  74. {field: 'pay_method', title: __('Pay_method'), searchList: {"coin":__('Pay_method coin'),"wechat":__('Pay_method wechat'),"alipay":__('Pay_method alipay')}, formatter: Table.api.formatter.normal},
  75. {field: 'out_trade_no', title: __('Out_trade_no'), operate: 'LIKE'},
  76. {field: 'pay_time', title: __('Pay_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  77. {field: 'order.status', title: __('Status'), searchList: {"used":__('Status used'),"refund":__('Status refund'),"unused":__('Status unused')}, formatter: Table.api.formatter.status, visible: false},
  78. {field: 'status', title: __('Status'), searchList: {"unpay":__('Status unpay'),"used":__('Status used'),"refund":__('Status refund'),"unused":__('Status unused')}, formatter: Table.api.formatter.status, operate: false},
  79. {
  80. field: 'buttons',
  81. title: __('订单详情'),
  82. table: table,
  83. events: Table.api.events.operate,
  84. buttons: [
  85. {
  86. name: 'show',
  87. text: __('订单详情'),
  88. classname: 'btn btn-xs btn-info btn-dialog',
  89. icon: 'fa fa-list',
  90. url: 'trade/order/edit?ids={id}',
  91. extend: "data-area='[\"60%\",\"90%\"]'"
  92. }
  93. ],
  94. operate: false,
  95. formatter: Table.api.formatter.buttons
  96. },
  97. {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  98. ]
  99. ],
  100. searchFormVisible: true,
  101. search:false,
  102. showToggle: false,
  103. showColumns: false
  104. });
  105. // 为表格绑定事件
  106. Table.api.bindevent(table);
  107. },
  108. add: function () {
  109. Controller.api.bindevent();
  110. },
  111. edit: function () {
  112. Controller.api.bindevent();
  113. },
  114. api: {
  115. bindevent: function () {
  116. Form.api.bindevent($("form[role=form]"));
  117. }
  118. }
  119. };
  120. return Controller;
  121. });