user_order.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  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: 'user_order/index' + location.search,
  8. add_url: 'user_order/add',
  9. edit_url: 'user_order/edit',
  10. del_url: 'user_order/del',
  11. multi_url: 'user_order/multi',
  12. import_url: 'user_order/import',
  13. table: 'user_order',
  14. }
  15. });
  16. var table = $("#table");
  17. let statusList = await $.getJSON('user_order/status')
  18. // 初始化表格
  19. table.bootstrapTable({
  20. url: $.fn.bootstrapTable.defaults.extend.index_url,
  21. pk: 'id',
  22. sortName: 'id',
  23. columns: [
  24. [
  25. //{checkbox: true},
  26. {field: 'id', title: __('Id')},
  27. {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
  28. {field: 'from_city', title: __('From_city')},
  29. {field: 'to_city', title: __('To_city')},
  30. {
  31. field: 'images',
  32. title: __('Images'),
  33. operate: false,
  34. events: Table.api.events.image,
  35. formatter: Table.api.formatter.images
  36. },
  37. {field: 'real_amount', title: __('Real_amount'), operate: 'BETWEEN'},
  38. {field: 'coupon_amount', title: __('Coupon_amount'), operate: 'BETWEEN'},
  39. {
  40. field: 'status',
  41. title: __('Status'),
  42. searchList: statusList,
  43. formatter: Table.api.formatter.label
  44. },
  45. {field: 'created_at', title: __('Created_at'), formatter: Table.api.formatter.datetime},
  46. {
  47. field: 'operate',
  48. title: __('Operate'),
  49. table: table,
  50. events: Table.api.events.operate,
  51. formatter: Table.api.formatter.buttons,
  52. buttons:[
  53. {
  54. name: 'detail',
  55. text: __('详情'),
  56. title: __('详情'),
  57. classname: 'btn btn-xs btn-primary btn-dialog btn-detail',
  58. icon: 'fa fa-list',
  59. url: 'user_order/edit',
  60. callback: function (data) {
  61. //Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
  62. $('.btn-refresh').trigger('click')
  63. },
  64. visible: function (row) {
  65. //返回true时按钮显示,返回false隐藏
  66. return true;
  67. }
  68. },
  69. {
  70. name: 'send_detail',
  71. text: __('运送详情'),
  72. title: __('运送详情'),
  73. classname: 'btn btn-xs btn-primary btn-dialog btn-send_detail',
  74. icon: 'fa fa-list',
  75. url: 'user_order/send_detail',
  76. callback: function (data) {
  77. //Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
  78. },
  79. visible: function (row) {
  80. //返回true时按钮显示,返回false隐藏
  81. return $('#table').data('operate-send_detail')===1;
  82. }
  83. },
  84. {
  85. name: 'remark',
  86. text: __('备注'),
  87. title: __('备注'),
  88. classname: 'btn btn-xs btn-danger btn-click',
  89. icon: 'fa fa-wikipedia-w',
  90. url: 'user_order/remark',
  91. click: function (data) {
  92. let _this=this
  93. layer.prompt({
  94. formType: 2,
  95. title: '请填写备注',
  96. area: ['500px', '150px'],
  97. btnAlign: 'c',
  98. yes: function(index, layero){
  99. // 获取文本框输入的值
  100. var value = layero.find(".layui-layer-input").val();
  101. if (value) {
  102. $.post(_this.href,{remark:value,ids:data.id},function (res) {
  103. if(res.code===1) {
  104. $('.btn-refresh').trigger('click')
  105. layer.msg('操作成功')
  106. layer.close(index)
  107. }else{
  108. layer.alert(res.msg)
  109. }
  110. })
  111. } else {
  112. layer.alert("输入值为空!");
  113. }
  114. }
  115. })
  116. },
  117. visible: function (row) {
  118. //返回true时按钮显示,返回false隐藏
  119. return $('#table').data('operate-send_detail')===1;
  120. }
  121. },
  122. {
  123. name: 'delete',
  124. text: __('删除'),
  125. title: __('删除'),
  126. classname: 'btn btn-xs btn-danger btn-click',
  127. icon: 'fa fa-delicious',
  128. url: 'user_order/delete',
  129. click: function (data) {
  130. let _this=this
  131. layer.confirm('确认删除吗?',function (){
  132. $.post(_this.href,{},function (res) {
  133. if(res.code===1){
  134. layer.msg('删除成功')
  135. $('.btn-refresh').trigger('click')
  136. }else{
  137. layer.msg(res.msg)
  138. }
  139. })
  140. })
  141. },
  142. visible: function (row) {
  143. //返回true时按钮显示,返回false隐藏
  144. return $('#table').data('operate-delete')===1 && row.status===80;
  145. }
  146. },
  147. ],
  148. }
  149. ]
  150. ],
  151. onLoadSuccess:function(){
  152. // 这里就是数据渲染结束后的回调函数
  153. $(".btn-detail,.btn-send_detail").data("area", ['1000px','100%']);
  154. $(".btn-detail,.btn-send_detail").data("shade", [0.5,"#000"]);
  155. }
  156. });
  157. // 为表格绑定事件
  158. Table.api.bindevent(table);
  159. },
  160. add: function () {
  161. Controller.api.bindevent();
  162. },
  163. edit: function () {
  164. Controller.api.bindevent();
  165. $('.deal_remark').click(function (){
  166. let id=$(this).data('id')
  167. layer.open({
  168. content:'请选择操作',
  169. btn:['立即结算','拒绝结算','取消操作'],
  170. yes:function (idx){
  171. $.post('user_order/deal_settle',{ids:id,status:1},function (res) {
  172. if(res.code===1) {
  173. Fast.api.close({})
  174. layer.msg('操作成功')
  175. layer.close(idx)
  176. window.location.reload()
  177. }else{
  178. layer.alert(res.msg)
  179. }
  180. })
  181. },
  182. btn2:function (idx){
  183. $.post('user_order/deal_settle',{ids:id,status:2},function (res) {
  184. if(res.code===1) {
  185. Fast.api.close({})
  186. layer.msg('操作成功')
  187. layer.close(idx)
  188. window.location.reload()
  189. }else{
  190. layer.alert(res.msg)
  191. }
  192. })
  193. },
  194. btn3:function (idx){
  195. layer.close(idx)
  196. }
  197. })
  198. })
  199. },
  200. api: {
  201. bindevent: function () {
  202. Form.api.bindevent($("form[role=form]"));
  203. }
  204. }
  205. };
  206. return Controller;
  207. });