service-order.html 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  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-form toolbar" id="tbToolBar">
  11. <div class="layui-form-item">
  12. <div class="layui-inline">
  13. <label class="layui-form-label">关键词:</label>
  14. <div class="layui-input-inline mr0">
  15. <input name="keywords" placeholder="关键词" class="layui-input"/>
  16. </div>
  17. </div>
  18. <div class="layui-inline">
  19. <label class="layui-form-label">状 态:</label>
  20. <div class="layui-input-inline mr0">
  21. <select name="status">
  22. <option value="">所有</option>
  23. <option value="1">待审核</option>
  24. <option value="2">申请驳回</option>
  25. <option value="3">审核通过</option>
  26. </select>
  27. </div>
  28. </div>
  29. <div class="layui-inline">
  30. <label class="layui-form-label">创建时间:</label>
  31. <div class="layui-input-inline">
  32. <input id="tbAdvSelDate" name="created_at" class="layui-input icon-date" placeholder="选择创建时间"
  33. autocomplete="off">
  34. </div>
  35. </div>
  36. <div class="layui-inline" style="padding-right: 110px;">
  37. <button class="layui-btn icon-btn" lay-filter="formSubSearchOrder" lay-submit>
  38. <i class="layui-icon">&#xe615;</i>查询
  39. </button>
  40. <button class="layui-btn icon-btn" lay-filter="formExportOrder" lay-submit="">
  41. <i class="layui-icon">&#xe66d;</i>导出
  42. </button>
  43. </div>
  44. </div>
  45. </div>
  46. <div class="layui-tab layui-tab-brief">
  47. <table id="dataTable" lay-filter="dataTable"></table>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. <!-- 表格操作列 -->
  53. <script type="text/html" id="tableBarUser">
  54. {{# if(d.status > 0){ }}
  55. {{# if(d.status == 1){ }}
  56. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="review">审核</a>
  57. <a class="layui-btn layui-btn-normal layui-btn-xs layui-btn-danger" lay-event="reject">拒绝</a>
  58. {{# }else{ }}
  59. <a class="layui-btn layui-btn-xs layui-btn-disabled">审核</a>
  60. <a class="layui-btn layui-btn-xs layui-btn-disabled layui-btn-danger">拒绝</a>
  61. {{# } }}
  62. {{# }else{ }}
  63. <a class="layui-btn layui-btn-xs layui-btn-disabled">审核</a>
  64. <a class="layui-btn layui-btn-xs layui-btn-disabled">拒绝</a>
  65. {{# } }}
  66. </script>
  67. <!-- 表格状态列 -->
  68. <script type="text/html" id="tableStateUser">
  69. {{# if(d.status == 1){ }}
  70. <span class="layui-badge layui-bg-red">待审核</span>
  71. {{# }else if(d.status == 2){ }}
  72. <span class="layui-badge layui-bg-orange">申请驳回</span>
  73. {{# }else if(d.status == 3){ }}
  74. <span class="layui-badge layui-bg-orange">审核通过</span>
  75. {{# }else{ }}
  76. <span class="layui-badge layui-bg-black">申请驳回</span>
  77. {{# } }}
  78. </script>
  79. <!--详情列表-->
  80. <script type="text/html" id="modelOrderDetail">
  81. <table class="layui-table" id="OrderDetailTb" lay-filter="OrderDetailTb"></table>
  82. </script>
  83. <!-- js部分 -->
  84. <script type="text/javascript" src="../../assets/module/cascader/citys-data.js"></script>
  85. <script>
  86. layui.use(['layer', 'form', 'table', 'util', 'notice','md5', 'admin', 'setter', 'xmSelect', 'laydate', 'cascader'], function () {
  87. var $ = layui.jquery;
  88. var layer = layui.layer;
  89. var form = layui.form;
  90. var table = layui.table;
  91. var util = layui.util;
  92. var admin = layui.admin;
  93. var notice = layui.notice;
  94. var setter = layui.setter;
  95. var md5 = layui.md5;
  96. var xmSelect = layui.xmSelect;
  97. var laydate = layui.laydate;
  98. var cascader = layui.cascader;
  99. // 时间选择
  100. laydate.render({
  101. elem: '#tbAdvSelDate',
  102. type: 'date',
  103. format: 'yyyy/MM/dd',
  104. calendar: true,
  105. theme: '#ec6c44',
  106. range: true,
  107. trigger: 'click'
  108. });
  109. form.render('select');
  110. form.render('select');
  111. // 渲染表格
  112. var insTb = table.render({
  113. elem: '#dataTable',
  114. url: setter.baseServer + 'store/product/service',
  115. page: true,
  116. title: "商品订单表",
  117. // toolbar: true,
  118. toolbar: '#toolBarTpl',
  119. cellMinWidth: 100,
  120. cols: [[
  121. {type: 'checkbox'},
  122. {field: 'order_no', title: '订单号',templet: function (d) {
  123. return '<a href="javascript:;" class="order-seller-view" style="color: #35cc98;border-bottom: 1px solid;"> ' + (d.order ? d.order.order_no : '无所属') + ' </a>';
  124. }, width: 200},
  125. {field: 'seller', title: '申请用户', templet: function (d) {
  126. return '<a href="javascript:;" class="order-seller-view" style="color: #35cc98;border-bottom: 1px solid;"> ' + (d.user ? d.user.nickname : '无所属') + ' </a>';
  127. }, width: 200},
  128. {field: 'seller', title: '所属商家', templet: function (d) {
  129. return '<a href="javascript:;" class="order-seller-view" style="color: #35cc98;border-bottom: 1px solid;"> ' + (d.seller ? d.seller.seller_name : '无所属') + ' </a>';
  130. }, width: 200},
  131. // {field: 'user', title: '申请用户', templet: function (d) {
  132. // return '<a href="javascript:;" class="order-user-view" style="color: #35cc98;border-bottom: 1px solid;"> ' + (d.user.nickname || '无所属') + ' </a>';
  133. // }, width: 200},
  134. // {field: 'addr', title: '申请订单地址', templet: function (d) {
  135. // return '<a href="javascript:;" class="order-user-view" style="color: #35cc98;border-bottom: 1px solid;"> '
  136. // + (d.addr.province + d.addr.city + d.addr.country + d.addr.detail + '(' + d.addr.name + d.addr.mobile + ')' || '无所属') + ' </a>';
  137. // }, width: 500},
  138. {field: 'action', title: '售后类型', templet: function (d) {
  139. return (d.type == 1) ? "换货" : "退款退货";
  140. }},
  141. {field: 'amount', title: '退款金额', templet: function (d) {
  142. return "<p style='color:red'>&yen;" + d.amount + "</p>";
  143. }, width: 100},
  144. {field: 'created_at', sort: true, templet: function (d) {
  145. return util.toDateString(d.created_at * 1e3);
  146. }, title: '创建时间', width: 180
  147. },
  148. {field: 'status', templet: '#tableStateUser', title: '状态', width: 120},
  149. {align: 'center', toolbar: '#tableBarUser', title: '操作', minWidth: 220}
  150. ]],
  151. done:function () {
  152. admin.renderPerm()
  153. }
  154. });
  155. // 搜索
  156. form.on('submit(formSubSearchOrder)', function (data) {
  157. // 省市区地址处理
  158. var values = cas.getValue().split(",");
  159. data.field.area = values[values.length - 1];
  160. insTb.reload({where: data.field,page: {curr: 1}}, 'data');
  161. });
  162. // 工具条点击事件
  163. table.on('tool(dataTable)', function (obj) {
  164. var data = obj.data;
  165. var layEvent = obj.event;
  166. if (layEvent === 'review') { // 审核
  167. layer.confirm('确定要审核该笔订单吗?', {
  168. skin: 'layui-layer-admin',
  169. shade: .1
  170. }, function (i) {
  171. layer.close(i);
  172. layer.load(2);
  173. admin.req('store/product/service/' + data.id + '/review', function (r) {
  174. layer.closeAll('loading');
  175. if (r.code === 10000) {
  176. notice.msg(r.message, {icon: 1});
  177. insTb.reload({}, 'data');
  178. } else {
  179. notice.msg(r.message, {icon: 2});
  180. }
  181. }, 'POST');
  182. });
  183. }else if( layEvent === 'reject'){ // 拒绝
  184. layer.confirm('确定要拒绝该笔订单吗?', {
  185. skin: 'layui-layer-admin',
  186. shade: .1
  187. }, function (i) {
  188. layer.close(i);
  189. layer.load(2);
  190. admin.req('store/product/service/' + data.id + '/reject', function (r) {
  191. layer.closeAll('loading');
  192. if (r.code === 10000) {
  193. notice.msg(r.message, {icon: 1});
  194. insTb.reload({}, 'data');
  195. } else {
  196. notice.msg(r.message, {icon: 2});
  197. }
  198. }, 'POST');
  199. });
  200. }
  201. });
  202. });
  203. </script>