evaluate.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. // 合并格式化方法
  3. Table.api.formatter = $.extend(Table.api.formatter,
  4. {
  5. topTimeToggle: function (value, row, index) {
  6. var color = typeof this.color !== 'undefined' ? this.color : 'success';
  7. var yes = typeof this.yes !== 'undefined' ? this.yes : 1;
  8. var no = typeof this.no !== 'undefined' ? this.no : 0;
  9. var url = typeof this.url !== 'undefined' ? this.url : '';
  10. return "<a href='javascript:;' data-toggle='tooltip' title='" + __('Click to toggle') + "' class='btn-change' data-id='"
  11. + row.id + "' " + (url ? "data-url='" + url + "'" : "") + " data-params='" + this.field + "=" + (value == no ? yes : no) + "'><i class='fa fa-toggle-on " + (value == no ? 'fa-flip-horizontal text-gray' : 'text-' + color ) + " fa-2x'></i></a>";
  12. }
  13. }
  14. );
  15. var Controller = {
  16. index: function () {
  17. // 初始化表格参数配置
  18. Table.api.init({
  19. extend: {
  20. index_url: 'unishop/evaluate/index' + location.search,
  21. add_url: 'unishop/evaluate/add',
  22. edit_url: 'unishop/evaluate/edit',
  23. del_url: 'unishop/evaluate/del',
  24. multi_url: 'unishop/evaluate/multi',
  25. table: 'unishop_evaluate',
  26. }
  27. });
  28. var table = $("#table");
  29. // 初始化表格
  30. table.bootstrapTable({
  31. url: $.fn.bootstrapTable.defaults.extend.index_url,
  32. pk: 'id',
  33. sortName: 'id',
  34. fixedColumns:true,
  35. fixedRightNumber:1,
  36. columns: [
  37. [
  38. {checkbox: true},
  39. {field: 'id', title: __('Id')},
  40. {field: 'user_id', title: __('User_id')},
  41. {field: 'order_id', title: __('Order_id')},
  42. {field: 'product_id', title: __('Product_id')},
  43. {field: 'product.title', title: __('Product title')},
  44. {field: 'spec', title: __('Spec')},
  45. {field: 'comment', title: __('Comment')},
  46. {field: 'rate', title: __('Rate'), searchList: {"1":__('Rate 1'),"2":__('Rate 2'),"3":__('Rate 3'),"4":__('Rate 4'),"5":__('Rate 5')}, formatter: Table.api.formatter.normal},
  47. {field: 'anonymous', title: __('Anonymous'), searchList: {"0":__('Anonymous 0'),"1":__('Anonymous 1')}, formatter: Table.api.formatter.normal},
  48. {field: 'toptime', title: __('Toptime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.topTimeToggle},
  49. {field: 'toptime', title: __('Top time'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  50. {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  51. {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  52. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  53. ]
  54. ]
  55. });
  56. // 为表格绑定事件
  57. Table.api.bindevent(table);
  58. },
  59. recyclebin: function () {
  60. // 初始化表格参数配置
  61. Table.api.init({
  62. extend: {
  63. 'dragsort_url': ''
  64. }
  65. });
  66. var table = $("#table");
  67. // 初始化表格
  68. table.bootstrapTable({
  69. url: 'unishop/evaluate/recyclebin' + location.search,
  70. pk: 'id',
  71. sortName: 'id',
  72. columns: [
  73. [
  74. {checkbox: true},
  75. {field: 'id', title: __('Id')},
  76. {
  77. field: 'deletetime',
  78. title: __('Deletetime'),
  79. operate: 'RANGE',
  80. addclass: 'datetimerange',
  81. formatter: Table.api.formatter.datetime
  82. },
  83. {
  84. field: 'operate',
  85. width: '130px',
  86. title: __('Operate'),
  87. table: table,
  88. events: Table.api.events.operate,
  89. buttons: [
  90. {
  91. name: 'Restore',
  92. text: __('Restore'),
  93. classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
  94. icon: 'fa fa-rotate-left',
  95. url: 'unishop/evaluate/restore',
  96. refresh: true
  97. },
  98. {
  99. name: 'Destroy',
  100. text: __('Destroy'),
  101. classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
  102. icon: 'fa fa-times',
  103. url: 'unishop/evaluate/destroy',
  104. refresh: true
  105. }
  106. ],
  107. formatter: Table.api.formatter.operate
  108. }
  109. ]
  110. ]
  111. });
  112. // 为表格绑定事件
  113. Table.api.bindevent(table);
  114. },
  115. add: function () {
  116. Controller.api.bindevent();
  117. },
  118. edit: function () {
  119. Controller.api.bindevent();
  120. },
  121. api: {
  122. bindevent: function () {
  123. Form.api.bindevent($("form[role=form]"));
  124. }
  125. }
  126. };
  127. return Controller;
  128. });