rescue-order.html 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <style type="text/css">
  2. .xm-label-block {
  3. background-color: #287bd2
  4. }
  5. </style>
  6. <!-- 正文开始 -->
  7. <div class="layui-fluid">
  8. <div class="layui-card">
  9. <div class="layui-card-body">
  10. <div class="layui-tab layui-tab-brief">
  11. <table id="dataTable" lay-filter="dataTable"></table>
  12. </div>
  13. </div>
  14. </div>
  15. </div>
  16. <!-- 表格操作列 -->
  17. <script type="text/html" id="tableBarUser">
  18. {{# if(d.status == 2){ }}
  19. <a class="layui-btn layui-btn-xs" lay-event="dispense">指派师傅</a>
  20. {{# }else{ }}
  21. <a class="layui-btn layui-btn-xs layui-btn-disabled">指派师傅</a>
  22. {{# } }}
  23. {{# if(d.status == 3){ }}
  24. <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="complete">结束服务</a>
  25. {{# }else{ }}
  26. <a class="layui-btn layui-btn-primary layui-btn-xs layui-btn-disabled">结束服务</a>
  27. {{# } }}
  28. {{# if(d.status >=1 && d.status != 4 && d.status != 0){ }}
  29. <a class="layui-btn layui-btn-warn layui-btn-xs" lay-event="closed">关闭服务</a>
  30. {{# }else{ }}
  31. <a class="layui-btn layui-btn-warn layui-btn-xs layui-btn-disabled">关闭服务</a>
  32. {{# } }}
  33. <a class="layui-btn layui-btn-danger layui-btn-xs" perm-show="delete:/store/rescue/order/<id>" lay-event="del">删除</a>
  34. </script>
  35. <!-- 表格状态列 -->
  36. <script type="text/html" id="tableStateUser">
  37. <!-- 1 . 下单未支付 unpay-->
  38. <!-- 2 . 支付待服务 wait-->
  39. <!-- 3 . 服务中 serve-->
  40. <!-- 4 . 服务结束-->
  41. {{# if(d.status == 1){ }}
  42. <span class="layui-badge layui-badge-yellow">待支付</span>
  43. {{# }else if(d.status == 2){ }}
  44. <span class="layui-badge layui-badge-blue">待服务</span>
  45. {{# }else if(d.status == 3){ }}
  46. <span class="layui-badge layui-badge-blue">服务中</span>
  47. {{# }else if(d.status == 4){ }}
  48. <span class="layui-badge layui-badge-green">已结束</span>
  49. {{# }else{ }}
  50. <span class="layui-badge layui-badge-gray">已关闭</span>
  51. {{# } }}
  52. </script>
  53. <!--师傅列表-->
  54. <script type="text/html" id="modelSkillUser">
  55. <table class="layui-table" id="SkillUserTb" lay-filter="SkillUserTb"></table>
  56. </script>
  57. <!-- js部分 -->
  58. <script>
  59. layui.use(['layer', 'form', 'table', 'util', 'notice','md5', 'admin', 'setter', 'xmSelect'], function () {
  60. var $ = layui.jquery;
  61. var layer = layui.layer;
  62. var form = layui.form;
  63. var table = layui.table;
  64. var util = layui.util;
  65. var admin = layui.admin;
  66. var notice = layui.notice;
  67. var setter = layui.setter;
  68. var md5 = layui.md5;
  69. var xmSelect = layui.xmSelect;
  70. form.render('select');
  71. // 渲染表格
  72. var insTb = table.render({
  73. elem: '#dataTable',
  74. url: setter.baseServer + 'store/rescue/order',
  75. page: true,
  76. toolbar: true,
  77. cellMinWidth: 100,
  78. cols: [[
  79. {fixed:'left', type: 'numbers'},
  80. {fixed:'left', field: 'order_no', title: '订单号', width: 200},
  81. {field: 'user', title: '下单用户',templet:function (d) {
  82. return '<a href="javascript:;" class="taxi-user-view" style="color: #35cc98;border-bottom: 1px solid;"> ' +
  83. ((d.user !== null) ? d.user.nickname + '(' + d.user.mobile + ')' : '无所属') + ' </a>';
  84. }, width: 200},
  85. {field: 'price', title: '价格', width: 100},
  86. {field: 'remark', title: '备注信息'},
  87. {field: 'arrive', title: '服务位置'},
  88. {field: 'address', title: '详细位置'},
  89. {
  90. field: 'created_at', sort: true, templet: function (d) {
  91. return util.toDateString(d.created_at * 1e3);
  92. }, title: '创建时间', width: 180
  93. },
  94. {field: 'status', templet: '#tableStateUser', title: '状态', width: 120},
  95. {align: 'center', toolbar: '#tableBarUser', title: '操作', minWidth: 300}
  96. ]],
  97. done:function () {
  98. admin.renderPerm()
  99. }
  100. });
  101. // 搜索
  102. form.on('submit(formSubSearchUser)', function (data) {
  103. insTb.reload({where: data.field}, 'data');
  104. });
  105. // 工具条点击事件
  106. table.on('tool(dataTable)', function (obj) {
  107. var data = obj.data;
  108. var layEvent = obj.event;
  109. if (layEvent === 'dispense') { // 分配师傅
  110. layer.confirm('请确定已经联系分配师傅师傅前往了吗?', {
  111. skin: 'layui-layer-admin',
  112. shade: .1
  113. }, function (i) {
  114. layer.close(i);
  115. layer.load(2);
  116. admin.req('store/rescue/order/' + data.id +'/dispense', function (r) {
  117. layer.closeAll('loading');
  118. if (r.code === 10000) {
  119. notice.msg(r.message, {icon: 1});
  120. insTb.reload({}, 'data');
  121. } else {
  122. notice.msg(r.message, {icon: 2});
  123. }
  124. }, 'POST');
  125. });
  126. }else if (layEvent === 'complete') { // 结束
  127. layer.confirm('确定要结束本次服务吗?', {
  128. skin: 'layui-layer-admin',
  129. shade: .1
  130. }, function (i) {
  131. layer.close(i);
  132. layer.load(2);
  133. admin.req('store/rescue/order/' + data.id + '/complete', function (r) {
  134. layer.closeAll('loading');
  135. if (r.code === 10000) {
  136. notice.msg(r.message, {icon: 1});
  137. insTb.reload({}, 'data');
  138. } else {
  139. notice.msg(r.message, {icon: 2});
  140. }
  141. }, 'POST');
  142. });
  143. } else if (layEvent === 'closed') { // 结束
  144. layer.confirm('确定要关闭本次服务吗?', {
  145. skin: 'layui-layer-admin',
  146. shade: .1
  147. }, function (i) {
  148. layer.close(i);
  149. layer.load(2);
  150. admin.req('store/rescue/order/' + data.id + '/closed', function (r) {
  151. layer.closeAll('loading');
  152. if (r.code === 10000) {
  153. notice.msg(r.message, {icon: 1});
  154. insTb.reload({}, 'data');
  155. } else {
  156. notice.msg(r.message, {icon: 2});
  157. }
  158. }, 'POST');
  159. });
  160. }else if (layEvent === 'del') { // 删除
  161. layer.confirm('确定要删除“' + data.order_no + '”吗?', {
  162. skin: 'layui-layer-admin',
  163. shade: .1
  164. }, function (i) {
  165. layer.close(i);
  166. layer.load(2);
  167. admin.req('store/rescue/order/' + data.id + '/delete', function (r) {
  168. layer.closeAll('loading');
  169. if (r.code === 10000) {
  170. notice.msg(r.message, {icon: 1});
  171. insTb.reload({}, 'data');
  172. } else {
  173. notice.msg(r.message, {icon: 2});
  174. }
  175. }, 'DELETE');
  176. });
  177. }
  178. });
  179. });
  180. </script>