mobile_order.js 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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: 'pay_link', title: __('付款链接'),formatter:Table.api.formatter.url,operate:false},
  69. {field: 'create_time', title: __('Create_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
  70. {field: 'update_time', title: __('更新时间'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
  71. /* {field: 'pay_time', title: __('Pay_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
  72. {field: 'trans_name', title: __('Trans_name')},
  73. {field: 'trans_no', title: __('Trans_no')},
  74. {field: 'amount_original', title: __('Amount_original'), operate: 'BETWEEN'},
  75. {field: 'amount_hd', title: __('Amount_hd'), operate: 'BETWEEN'},
  76. {field: 'amount_charge', title: __('Amount_charge'), operate: 'BETWEEN'},
  77. {field: 'amount', title: __('Amount'), operate: 'BETWEEN'},
  78. {field: 'open_idcard_face_img', title: __('开卡身份证正面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,opera: false},
  79. {field: 'open_idcard_back_img', title: __('开卡身份证背面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
  80. {field: 'open_face_img', title: __('开卡人头像'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
  81. {field: 'open_name', title: __('开卡人姓名')},
  82. {field: 'open_id_no', title: __('开卡人身份证号码')},
  83. {field: 'open_phone', title: __('开卡人手机号')},*/
  84. {field: 'trans_no', title: __('Trans_no'),visible: false},
  85. {field: 'phone', title: __('收货人手机'),visible: false},
  86. {
  87. field: 'operate',
  88. title: __('Operate'),
  89. table: table,
  90. events: Table.api.events.buttons,
  91. formatter: Table.api.formatter.buttons,
  92. buttons:[
  93. {
  94. name: 'detail',
  95. text: __('添加'),
  96. title: __('添加'),
  97. classname: 'btn btn-xs btn-info btn-dialog',
  98. url: 'mobile_order/add_operation?a=1',
  99. callback: function (data) {
  100. },
  101. visible: function (row) {
  102. return $('#table').data('add_operation');
  103. }
  104. },
  105. {
  106. name: 'detail',
  107. text: __('编辑'),
  108. title: __('编辑'),
  109. classname: 'btn btn-xs btn-info btn-dialog',
  110. url: 'mobile_order/edit?a=1',
  111. callback: function (data) {
  112. },
  113. visible: function (row) {
  114. return $('#table').data('add_operation');
  115. }
  116. }
  117. ]
  118. }
  119. ]
  120. ],
  121. });
  122. // 为表格绑定事件
  123. Table.api.bindevent(table);
  124. },
  125. add: function () {
  126. Controller.api.bindevent();
  127. },
  128. edit: function () {
  129. Controller.api.bindevent();
  130. },
  131. add_operation(){
  132. Controller.api.bindevent();
  133. },
  134. api: {
  135. bindevent: function () {
  136. Form.api.bindevent($("form[role=form]"));
  137. }
  138. }
  139. };
  140. return Controller;
  141. });