order.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  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: 'order/order/index' + location.search,
  8. add_url: 'order/order/add',
  9. edit_url: 'order/order/edit',
  10. multi_url: 'order/order/multi',
  11. import_url: 'order/order/import',
  12. table: 'order',
  13. }
  14. });
  15. var table = $("#table");
  16. // 初始化表格
  17. table.bootstrapTable({
  18. url: $.fn.bootstrapTable.defaults.extend.index_url,
  19. pk: 'id',
  20. sortName: 'id',
  21. fixedColumns: true,
  22. fixedRightNumber: 1,
  23. columns: [
  24. [
  25. {checkbox: true},
  26. {field: 'id', title: __('Id')},
  27. {field: 'no', title: __('No'), operate: 'LIKE'},
  28. {field: 'user.nickname', title: __('客户昵称'), operate: 'LIKE'},
  29. {field: 'user.mobile', title: __('客户联系方式'), operate: 'LIKE'},
  30. {field: 'store.name', title: __('球房名称'), operate: 'LIKE'},
  31. {field: 'massager.name', title: __('助教名称'), operate: 'LIKE'},
  32. {field: 'total_amount', title: __('Total_amount'), operate: 'BETWEEN'},
  33. {field: 'total_real_amount', title: __('Total_real_amount'), operate: 'BETWEEN'},
  34. {field: 'total_service_amount', title: __('Total_service_amount'), operate: 'BETWEEN'},
  35. {
  36. field: 'trip_type',
  37. title: __('Trip_type'),
  38. searchList: {"bus": __('Bus'), "taxi": __('Taxi')},
  39. formatter: Table.api.formatter.normal
  40. },
  41. {field: 'trip_amount', title: __('Trip_amount'), operate: 'BETWEEN'},
  42. {field: 'voucher_amount', title: __('Voucher_amount'), operate: 'BETWEEN'},
  43. {field: 'balance_deduction', title: __('余额抵扣'), operate: 'BETWEEN'},
  44. {field: 'distance', title: __('Distance'), operate: 'BETWEEN'},
  45. {
  46. field: 'payment_type',
  47. title: __('Payment_type'),
  48. searchList: {"ali": __('Ali'), "wechat": __('Wechat'), "balance": __('Balance')},
  49. formatter: Table.api.formatter.normal
  50. },
  51. {
  52. field: 'status',
  53. title: __('Status'),
  54. searchList: {
  55. "default": __('Default'),
  56. "purchase": __('Purchase'),
  57. "proceed": __('Proceed'),
  58. "finish": __('Finish'),
  59. "wait_feedback": __('Wait_feedback'),
  60. "cancel": __('Cancel'),
  61. "reject": __('Reject'),
  62. 'admin_cancel': __('Admin_cancel'),
  63. 'auto_cancel': __('Auto_cancel'),
  64. },
  65. formatter: Table.api.formatter.status
  66. },
  67. {
  68. field: 'reorder',
  69. title: "加钟订单",
  70. searchList: {
  71. "0": "否",
  72. "1": "是",
  73. },
  74. formatter: Table.api.formatter.status
  75. },
  76. {
  77. field: 'is_appeal',
  78. title: "申述",
  79. searchList: {
  80. "0": "否",
  81. "1": "是",
  82. },
  83. formatter: Table.api.formatter.status
  84. },
  85. {field: 'appeal_reason', title: "申述原因", operate: 'LIKE'},
  86. {
  87. field: 'is_refund_trip', title: __('是否退还出行费'), searchList: {
  88. "0": "否",
  89. "1": "是",
  90. },
  91. formatter: Table.api.formatter.status
  92. },
  93. {field: 'refund_amount', title: __('申诉退款'), operate: 'BETWEEN'},
  94. {field: 'massager_address', title: __('Massager_address'), operate: 'LIKE'},
  95. {field: 'user_address', title: __('User_address'), operate: 'LIKE'},
  96. {field: 'parent_id', title: '渠道ID'},
  97. {
  98. field: 'service_start_date',
  99. title: __('Service_start_date'),
  100. operate: 'RANGE',
  101. addclass: 'datetimerange',
  102. autocomplete: false
  103. },
  104. {
  105. field: 'service_end_date',
  106. title: __('Service_end_date'),
  107. operate: 'RANGE',
  108. addclass: 'datetimerange',
  109. autocomplete: false
  110. },
  111. {
  112. field: 'pay_time',
  113. title: __('Pay_time'),
  114. operate: 'RANGE',
  115. addclass: 'datetimerange',
  116. autocomplete: false,
  117. formatter: Table.api.formatter.datetime
  118. },
  119. {
  120. field: 'cancel_time',
  121. title: __('Cancel_time'),
  122. operate: 'RANGE',
  123. addclass: 'datetimerange',
  124. autocomplete: false,
  125. formatter: Table.api.formatter.datetime
  126. },
  127. {
  128. field: 'createtime',
  129. title: __('Createtime'),
  130. operate: 'RANGE',
  131. addclass: 'datetimerange',
  132. autocomplete: false,
  133. formatter: Table.api.formatter.datetime
  134. },
  135. {
  136. field: 'city_code',
  137. title: __('区域'),
  138. searchList: Config.allow_areas,
  139. visible: false
  140. },
  141. {
  142. field: 'operate',
  143. title: __('Operate'),
  144. table: table,
  145. buttons: [
  146. {
  147. name: 'service',
  148. text: '订单服务',
  149. title: '订单服务',
  150. icon: 'fa fa-list',
  151. classname: 'btn btn-xs btn-primary btn-dialog',
  152. url: 'order/order/serviceDetail?id={id}'
  153. },
  154. {
  155. name: 'progress',
  156. text: '子进度',
  157. title: '子进度',
  158. icon: 'fa fa-list',
  159. classname: 'btn btn-xs btn-primary btn-dialog',
  160. url: 'order/order/progressDetail?id={id}'
  161. },
  162. {
  163. name: 'store_order_start',
  164. text: '开始服务',
  165. title: '开始服务',
  166. classname: 'btn btn-xs btn-success btn-view btn-ajax',
  167. icon: 'fa fa-hourglass-start',
  168. url: 'order/order/startStoreOrder',
  169. visible: function (row) {
  170. return row["store_id"] > 0 && "purchase" === row["status"];
  171. },
  172. refresh: true
  173. },
  174. {
  175. name: 'store_order_over',
  176. text: '服务完成',
  177. title: '服务完成',
  178. classname: 'btn btn-xs btn-success btn-view btn-ajax',
  179. icon: 'fa fa-check',
  180. url: 'order/order/overStoreOrder',
  181. visible: function (row) {
  182. return row["store_id"] > 0 && "proceed" === row["status"];
  183. },
  184. refresh: true
  185. },
  186. {
  187. name: 'recharge',
  188. text: '处理订单',
  189. title: '处理订单',
  190. icon: 'fa fa-times',
  191. classname: 'btn btn-xs btn-warning btn-dialog',
  192. url: 'order/order/recharge',
  193. visible: function (row) {
  194. return [
  195. "purchase",
  196. "proceed",
  197. "wait_feedback",
  198. ].includes(row["status"]);
  199. },
  200. refresh: true
  201. },
  202. ],
  203. events: Table.api.events.operate,
  204. formatter: Table.api.formatter.operate
  205. }
  206. ]
  207. ]
  208. });
  209. // 为表格绑定事件
  210. Table.api.bindevent(table);
  211. },
  212. add: function () {
  213. Controller.api.bindevent();
  214. },
  215. edit: function () {
  216. Controller.api.bindevent();
  217. },
  218. recharge: function () {
  219. Controller.api.bindevent();
  220. },
  221. api: {
  222. bindevent: function () {
  223. Form.api.bindevent($("form[role=form]"));
  224. }
  225. }
  226. };
  227. return Controller;
  228. });