index.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. <div class="row content-nav">
  2. <div class="col-xs-12">
  3. <ul>
  4. <li><a href="javascript:;"><i></i>&nbsp;订单管理</a></li>
  5. <li><a href="javascript:;">订单列表</a></li>
  6. </ul>
  7. </div>
  8. </div>
  9. <div class="layui-fluid" id="search-box">
  10. <div class="layui-card">
  11. <div class="layui-card-body">
  12. <form class="layui-form layui-form-pane" action="">
  13. <div class="layui-form-item">
  14. <div class="layui-inline">
  15. <label class="layui-form-label seller-inline-2">支付状态:</label>
  16. <div class="layui-input-inline seller-inline-4">
  17. <select name="pay_type">
  18. <option value="-1">全部</option>
  19. <option value="0">未支付</option>
  20. <option value="1">已支付</option>
  21. </select>
  22. </div>
  23. </div>
  24. <div class="layui-inline">
  25. <label class="layui-form-label seller-inline-2">发货状态:</label>
  26. <div class="layui-input-inline seller-inline-4">
  27. <select name="distribution_status">
  28. <option value="-1">全部</option>
  29. <option value="0">未发货</option>
  30. <option value="1">已发货</option>
  31. </select>
  32. </div>
  33. </div>
  34. </div>
  35. <div class="layui-form-item">
  36. <div class="layui-inline">
  37. <label class="layui-form-label seller-inline-2">订单状态:</label>
  38. <div class="layui-input-inline seller-inline-4">
  39. <select name="status">
  40. <option value="-1">全部</option>
  41. <option value="1">新订单</option>
  42. <option value="2">确认订单</option>
  43. <option value="3">取消订单</option>
  44. <option value="4">作废订单</option>
  45. <option value="5">完成订单</option>
  46. <option value="6">退款</option>
  47. <option value="7">部分退款</option>
  48. </select>
  49. </div>
  50. </div>
  51. <div class="layui-inline">
  52. <label class="layui-form-label seller-inline-2">订单名称:</label>
  53. <div class="layui-input-inline seller-inline-4">
  54. <input type="text" name="title" placeholder="请输入订单号" autocomplete="off" class="layui-input">
  55. </div>
  56. </div>
  57. <div class="layui-inline">
  58. <button type="button" id="search-btn" class="layui-btn layui-btn-sm layui-bg-light-blue"><i class="layui-icon layui-icon-search"></i> 搜索</button>
  59. </div>
  60. </div>
  61. </form>
  62. </div>
  63. </div>
  64. </div>
  65. <section class="content clearfix">
  66. <div class="layui-list-box">
  67. <table class="layui-hide" id="list-box" lay-filter="list-box"></table>
  68. </div>
  69. </section>
  70. <script type="text/html" id="list-toolbar">
  71. <div style="float: left;">
  72. <div class="layui-form-pos-btn">
  73. <div class="tab-list-btn active">全部订单</div>
  74. <div class="tab-list-btn">待支付</div>
  75. <div class="tab-list-btn">待发货</div>
  76. <div class="tab-list-btn">待收货</div>
  77. <div class="tab-list-btn">待评价</div>
  78. <div class="tab-list-btn">已完成</div>
  79. </div>
  80. </div>
  81. <div style="float: right;">
  82. <div class="layui-btn-container">
  83. <button lay-event="refresh" type="button" class="layui-btn layui-btn-sm layui-bg-red"><i class="layui-icon">&#xe9aa;</i> 刷新</button>
  84. <button lay-event="delete" type="button" class="layui-btn layui-btn-sm layui-bg-orange"><i class="layui-icon">&#xe640;</i> 删除</button>
  85. </div>
  86. </div>
  87. </script>
  88. <script type="text/html" id="order-type">
  89. <p>订单类型:{{ d.order_type_name }}</p>
  90. <p>支付方式:{{ d.payment_name }}</p>
  91. </script>
  92. <script type="text/html" id="order-info">
  93. <p>订单号:{{ d.order_no }}</p>
  94. <p>会员名称:{{ d.username }}</p>
  95. </script>
  96. <script type="text/html" id="order-status">
  97. <p>支付状态:{{ d.pay_status_name }}</p>
  98. <p>发货状态:{{ d.distribution_status_name }}</p>
  99. </script>
  100. <script type="text/html" id="order-amount">
  101. <p>商品金额:¥{{ d.real_amount }}元</p>
  102. <p>订单金额:¥{{ d.order_amount }}元</p>
  103. </script>
  104. <style type="text/css">
  105. .layui-table-tool-temp { padding-right: 0; }
  106. .layui-table-cell{ height:auto !important; }
  107. .fillet-btn { border-radius: 10px; }
  108. </style>
  109. <script>
  110. window.active = {:input("param.type",0)};
  111. layui.use(['table','form'], function () {
  112. var table = layui.table;
  113. var form = layui.form;
  114. table.render({
  115. elem: '#list-box'
  116. , url: '{:createUrl("index",["key[order_status]"=>input("param.type",0)])}'
  117. , toolbar: '#list-toolbar'
  118. , defaultToolbar: []
  119. , title: '数据表'
  120. , cols: [[
  121. {type: 'checkbox'}
  122. , {field: 'order_type_name', title: '订单类型',templet: "#order-type",width:210,align:'left'}
  123. , {field: 'order_no', title: '订单信息',templet: "#order-info",align:'left'}
  124. , {field: 'pay_status_name', title: '订单状态',templet: "#order-status", width:150,align:'center'}
  125. , {field: 'order_amount', title: '订单金额',templet: "#order-amount",width:210,align:'center'}
  126. , {field: 'create_time', title: '下单时间',width:180,align:'center'}
  127. , {fixed: 'right', align: 'center', title: '操作', width: 110,templet: function(res){
  128. var str = '<p>';
  129. if((res.distribution_status == 1 || res.distribution_status == 2) && res.shipping_type == 1){
  130. str += '<a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="logistics">物流</a>';
  131. }else{
  132. str += '<a class="layui-btn layui-btn-xs layui-bg-gray">物流</a>';
  133. }
  134. if(res.pay_status == 0){
  135. str += '<a class="layui-btn layui-bg-blue layui-btn-xs" lay-event="update">修改</a>';
  136. }else{
  137. str += '<a class="layui-btn layui-bg-gray layui-btn-xs">修改</a>';
  138. }
  139. str += '</p>';
  140. str += '<p><a class="layui-btn layui-btn-xs" lay-event="edit">详情</a>' +
  141. '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></p>';
  142. return str;
  143. }}
  144. ]]
  145. ,done: function (){
  146. $(".tab-list-btn").removeClass("active").eq(window.active).addClass("active");
  147. }
  148. , text: {
  149. none: '<div><i class="layui-icon">&#xe702;</i>暂无相关数据</div>'
  150. }
  151. , page: true
  152. , id: 'list-table'
  153. , height: 'full-310'
  154. // ,limit:30
  155. });
  156. $(document).on("click",".tab-list-btn",function (){
  157. window.active = $(this).index();
  158. table.reload('list-table', {
  159. page: {
  160. curr: 1
  161. }
  162. , where: {
  163. key: {
  164. order_status: window.active
  165. }
  166. }
  167. }, 'data');
  168. });
  169. $("#search-btn").on("click",function (){
  170. table.reload('list-table', {
  171. page: {
  172. curr: 1
  173. }
  174. ,where: {
  175. key: {
  176. pay_type : $('[name="pay_type"]').val(),
  177. distribution_status : $('[name="distribution_status"]').val(),
  178. status : $('[name="status"]').val(),
  179. title : $('[name="title"]').val()
  180. }
  181. }
  182. }, 'data');
  183. });
  184. //头工具栏事件
  185. table.on('toolbar(list-box)', function (obj) {
  186. switch (obj.event) {
  187. case 'export':
  188. window.location.href = '{:createUrl("export")}';
  189. break;
  190. case 'url':
  191. layer.prompt({ title: "请输入核销码" },function(val, index){
  192. var jindex = layer.load();
  193. $.get('{:createUrl("store_order")}',{ code: val },function (res){
  194. layer.close(jindex);
  195. if(res.code){
  196. layer.close(index);
  197. layer.open({
  198. type: 2,
  199. title: '核销订单',
  200. shadeClose: true,
  201. shade: 0.3,
  202. area: ['90%', '90%'],
  203. content: '{:createUrl("store_order")}?id='+res.data
  204. });
  205. }else{
  206. layer.msg(res.msg);
  207. }
  208. },"json");
  209. });
  210. break;
  211. case 'refresh':
  212. window.location.reload();
  213. break;
  214. case 'delete':
  215. var checkStatus = table.checkStatus(obj.config.id);
  216. var data = checkStatus.data;
  217. var arr = [];
  218. for(var i in data){
  219. arr.push(data[i].id);
  220. }
  221. if(arr.length <= 0){
  222. layer.msg("请选需要删除的数据!",{ icon : 2 });
  223. return ;
  224. }
  225. layer.confirm('你确定要删除吗?', function (index) {
  226. $.get('{:createUrl("delete")}',{
  227. id : arr.join(",")
  228. },function(result){
  229. layer.close(index);
  230. if(result.code){
  231. window.location.reload();
  232. }else{
  233. layer.msg(result.msg,{ icon : 2 });
  234. }
  235. },"json");
  236. });
  237. break;
  238. }
  239. });
  240. //监听行工具事件
  241. table.on('tool(list-box)', function (obj) {
  242. var data = obj.data;
  243. if (obj.event === 'del') {
  244. layer.confirm('你确定要删除吗?', function (index) {
  245. $.get('{:createUrl("delete")}',{
  246. id : data.id
  247. },function(result){
  248. layer.close(index);
  249. if(result.code){
  250. obj.del();
  251. }else{
  252. layer.msg(result.msg,{ icon : 2 });
  253. }
  254. },"json");
  255. });
  256. } else if (obj.event === 'edit') {
  257. window.location.href = '{:createUrl("detail")}?id='+data.id;
  258. }else if(obj.event == 'update'){
  259. layer.open({
  260. type: 2,
  261. title: '金额管理',
  262. shadeClose: true,
  263. shade: 0.3,
  264. area: ['60%', '58%'],
  265. content: '{:createUrl("update_amount")}?id='+data.id
  266. });
  267. }else if(obj.event == 'logistics'){
  268. layer.open({
  269. type: 2,
  270. title: '物流查询',
  271. shadeClose: true,
  272. shade: 0.3,
  273. area: ['60%', '58%'],
  274. content: '{:createUrl("express")}?id='+data.id
  275. });
  276. }
  277. });
  278. });
  279. </script>