mobile_order.js 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: async function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'mobile_order/index' + location.search,
  8. add_url: 'mobile_order/add',
  9. edit_url: 'mobile_order/edit',
  10. del_url: 'mobile_order/del',
  11. multi_url: 'mobile_order/multi',
  12. import_url: 'mobile_order/import',
  13. table: 'mobile_order',
  14. }
  15. });
  16. var table = $("#table");
  17. let status = await $.getJSON('mobile_order/status')
  18. let payType = await $.getJSON('mobile_order/pay_type')
  19. table.on('load-success.bs.table', function (_, data) {
  20. let e=data.extend;
  21. $('#orderAmount').html(`收入:${e.total}支付宝:${e.alipay}微信:${e.wechat}京东:${e.jd}成本:${e.di}利润:${e.profit}退款:${e.refund}`)
  22. });
  23. // 初始化表格
  24. table.bootstrapTable({
  25. url: $.fn.bootstrapTable.defaults.extend.index_url,
  26. pk: 'id',
  27. sortName: 'id',
  28. searchFormVisible:true,
  29. columns: [
  30. [
  31. //{checkbox: true},
  32. {field: 'id', title: __('ID'),operate:false,},
  33. {field: 'order_no', title: __('订单号'),visible:false,operate: 'like'},
  34. {field: 's_id', title: __('来源渠道')},
  35. {field: 'order_no', title: __('订单信息'),operate: false,formatter(_,order){
  36. let a=[]
  37. a.push(`<div>订单号:${order.order_no}</div>`)
  38. a.push(`<div>商品信息:${order.no}</div>`)
  39. a.push(`<div>卡品牌:${order.brand}</div>`)
  40. a.push(`<div>底价:${order.amount_di}</div>`)
  41. a.push(`<div>预存:${order.amount_charge}</div>`)
  42. a.push(`<div>单价:${order.amount}</div>`)
  43. a.push(`<div>订单价格:${order.amount}</div>`)
  44. a.push(`<div>套餐:${order.info?order.info.info.describe:''}</div>`)
  45. a.push(`<div>备注:${order.info?order.info.mobile.remark:''}</div>`)
  46. return `<div style="max-width: 200px;word-wrap: break-word;word-break: break-all;white-space: normal;text-align: left;">${a.join('')}</div>`
  47. },width:200},
  48. {field: 'order_no', title: __('收货人'),operate: false,formatter(_,order){
  49. let a=[]
  50. a.push(`<div>收货人:${order.name}</div>`)
  51. a.push(`<div>手机号:${order.phone}</div>`)
  52. a.push(`<div>地址:${order.address}</div>`)
  53. a.push(`<div>支付方式:${payType[order.pay_type]}</div>`)
  54. a.push(`<div>备注:${order.remark}</div>`)
  55. a.push(`<div>快递名称:${order.trans_name}</div>`)
  56. a.push(`<div>快递单号:${order.trans_no}</div>`)
  57. return `<div style="max-width: 200px;word-wrap: break-word;word-break: break-all;white-space: normal;text-align: left;">${a.join('')}</div>`
  58. },width:200},
  59. {field: 'status', title: __('Status'),formatter: Table.api.formatter.label,searchList:status},
  60. {field: 'remark_backend', title: __('备注'),formatter: Table.api.formatter.content,operate:false},
  61. {field: '', title: __('客服记录'),formatter(_,order){
  62. let a=[]
  63. order.operation.forEach(item=>{
  64. a.push(`<div>${item.create_time_format_short} ${item.admin?item.admin.nickname:'-'} ${item.content}</div>`)
  65. })
  66. return `<div style="text-align: left;font-size: 10px;">${a.join('')}</div>`
  67. },operate:false},
  68. {field: '', title: __('操作员'),formatter(_,order){
  69. let a=[]
  70. order.admin.forEach(item=>{
  71. a.push(`<div>${item.admin.nickname}</div>`)
  72. })
  73. return `<div style="text-align: left;font-size: 10px;">${a.join('')}</div>`
  74. },operate:false},
  75. {field: 'pay_link', title: __('付款链接'),formatter:Table.api.formatter.url,operate:false},
  76. {field: 'create_time', title: __('Create_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
  77. {field: 'update_time', title: __('更新时间'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
  78. /* {field: 'pay_time', title: __('Pay_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
  79. {field: 'trans_name', title: __('Trans_name')},
  80. {field: 'trans_no', title: __('Trans_no')},
  81. {field: 'amount_original', title: __('Amount_original'), operate: 'BETWEEN'},
  82. {field: 'amount_hd', title: __('Amount_hd'), operate: 'BETWEEN'},
  83. {field: 'amount_charge', title: __('Amount_charge'), operate: 'BETWEEN'},
  84. {field: 'amount', title: __('Amount'), operate: 'BETWEEN'},
  85. {field: 'open_idcard_face_img', title: __('开卡身份证正面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,opera: false},
  86. {field: 'open_idcard_back_img', title: __('开卡身份证背面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
  87. {field: 'open_face_img', title: __('开卡人头像'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
  88. {field: 'open_name', title: __('开卡人姓名')},
  89. {field: 'open_id_no', title: __('开卡人身份证号码')},
  90. {field: 'open_phone', title: __('开卡人手机号')},*/
  91. {field: 'trans_no', title: __('Trans_no'),visible: false},
  92. {field: 'phone', title: __('收货人手机'),visible: false},
  93. {
  94. field: 'operate',
  95. title: __('Operate'),
  96. table: table,
  97. events: Table.api.events.buttons,
  98. formatter: Table.api.formatter.buttons,
  99. buttons:[
  100. {
  101. name: 'detail',
  102. text: __('添加'),
  103. title: __('添加'),
  104. classname: 'btn btn-xs btn-info btn-dialog',
  105. url: 'mobile_order/add_operation?a=1',
  106. callback: function (data) {
  107. },
  108. visible: function (row) {
  109. return $('#table').data('add_operation');
  110. }
  111. },
  112. {
  113. name: 'detail',
  114. text: __('编辑'),
  115. title: __('编辑'),
  116. classname: 'btn btn-xs btn-info btn-dialog',
  117. url: 'mobile_order/edit?a=1',
  118. callback: function (data) {
  119. },
  120. visible: function (row) {
  121. return $('#table').data('add_operation');
  122. }
  123. },
  124. {
  125. name: 'detail',
  126. text: __('退款'),
  127. title: __('退款'),
  128. classname: 'btn btn-xs btn-danger btn-dialog',
  129. url: 'mobile_order/refund?a=1',
  130. callback: function (data) {
  131. },
  132. visible: function (row) {
  133. return $('#table').data('mobile_order_refund') && row.status===30;
  134. }
  135. }
  136. ]
  137. }
  138. ]
  139. ],
  140. });
  141. // 为表格绑定事件
  142. Table.api.bindevent(table);
  143. },
  144. add: function () {
  145. Controller.api.bindevent();
  146. },
  147. edit: function () {
  148. Controller.api.bindevent();
  149. },
  150. add_operation(){
  151. Controller.api.bindevent();
  152. },
  153. refund(){
  154. Controller.api.bindevent();
  155. },
  156. api: {
  157. bindevent: function () {
  158. Form.api.bindevent($("form[role=form]"));
  159. }
  160. }
  161. };
  162. return Controller;
  163. });