orderManage2.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>订单管理</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. </head>
  10. <body class="content">
  11. <div class="order-body">
  12. <div class="order-tiaojian back-gray">
  13. <div class="tiaojian-part1" id = "conditions">
  14. <div class="fl f12-gray4-op">所选条件:</div>
  15. </div>
  16. <div class="tiaojian-part2 fr demoTable">
  17. <button class="layui-btn order-bnt1" data-type="reload" >搜索</button>
  18. <button class="layui-btn order-bnt2" data-type="reset">重置</button>
  19. <a href="#" id="toggle" class="top">收起</a>
  20. </div>
  21. </div>
  22. <form class="layui-form" action="javascript:void(0)" id = "orderForm">
  23. <div class="order-select back-border" id="content">
  24. <div class="layui-inline">
  25. <label class="f12-gray4">订单编号:</label>
  26. <input onchange = "changeSelectCon(0,this,'inp')" class="search-select" type="tel" name="orderNo" id ="orderNo" lay-verify="orderNo" autocomplete="off" placeholder="请输入订单编号" class="y-left-input">
  27. </div>
  28. <div class="layui-inline">
  29. <label class="f12-gray4">创建时间:</label>
  30. <input class="search-select" type="text" id="dates" placeholder="日期(区间)" readonly />
  31. </div>
  32. <div class="layui-inline">
  33. <label class="f12-gray4">状态:</label>
  34. <div class="" style="display:inline-block" id = 'state'></div>
  35. </div>
  36. <div class="layui-inline">
  37. <label class="f12-gray4">机台号:</label>
  38. <input onchange = "changeSelectCon(3,this,'inp')" class="search-select" type="tel" name="equipmentId" id ="equipmentId" lay-verify="equipmentId" autocomplete="off" placeholder="请输入机器号" class="layui-input">
  39. </div>
  40. <div class="d-dashed" style="margin: 10px 0;"></div>
  41. <div class="layui-inline">
  42. <label class="f12-gray4">机器名称:</label>
  43. <input onchange = "changeSelectCon(4,this,'inp')" class="search-select" type="tel" name="equipmentName" id ="equipmentName" lay-verify="equipmentName" autocomplete="off" placeholder="请输入机器名称" class="layui-input">
  44. </div>
  45. <!--<div class="layui-inline">
  46. <label class="f12-gray4">货道号:</label>
  47. <input onchange = "changeSelectCon(5,this,'inp')" class="search-select" type="tel" name="freightwayId" id ="freightwayId" lay-verify="freightwayId" autocomplete="off" placeholder="请输入货道号" class="layui-input">
  48. </div>-->
  49. <div class="layui-inline">
  50. <label class="f12-gray4">支付方式:</label>
  51. <div class="" style="display:inline-block" id = 'payMode'></div>
  52. </div>
  53. <div class="layui-inline">
  54. <label class="f12-gray4">玩家ID:</label>
  55. <input onchange = "changeSelectCon(7,this,'inp')" class="search-select" type="tel" name="personId" id ="personId" lay-verify="personId" autocomplete="off" placeholder="请输入玩家ID" class="layui-input">
  56. </div>
  57. <div class="d-dashed" style="margin: 10px 0;"></div>
  58. <div class="layui-inline">
  59. <label class="f12-gray4">总销售金额:</label>
  60. <div class="layui-input-inline">
  61. <input type="text" class="layui-input" id="sumAmt" name="sumAmt" style="border:none;color: red" disabled="disabled" class="search-select">
  62. </div>
  63. </div>
  64. <div class="layui-inline">
  65. <label class="f12-gray4">总订单笔数:</label>
  66. <div class="layui-input-inline">
  67. <input type="text" class="layui-input" id="number" name="number" style="border:none;color: red" disabled="disabled" class="search-select">
  68. </div>
  69. </div>
  70. </div>
  71. </form>
  72. </div>
  73. <div class="shadow-content" style="margin:1.5rem;">
  74. <table id="orderManage" lay-filter="tableFilter"></table>
  75. </div>
  76. </body>
  77. <script src="../../js/min-loader-next.js"></script>
  78. <script type="text/html" id="barDemo">
  79. <!--<a class="layui-btn layui-btn-xs" lay-event="look">订单详情</a>-->
  80. {{# if(d.state == '00' && d.isUsed == '01' && d.pickupStt == '00' ){ }}
  81. <a class="layui-btn layui-btn-xs" lay-event="cancel">订单作废</a>
  82. {{# } }}
  83. </script>
  84. <script>
  85. $("#toggle").click(function() {
  86. $(this).html($("#content").is(":hidden") ? "收起" + "<i class='iconfont up iconSelect_drop-down'/></i>" : "展开" +
  87. "<i class='iconfont up iconSelect_drop-down'/></i>");
  88. $("#content").slideToggle();
  89. });
  90. layui.use(['table','laydate','form'], function(){
  91. var laydate = layui.laydate;
  92. //日期范围
  93. laydate.render({
  94. elem: '#dates'
  95. ,range: true
  96. ,format:'yyyyMMdd'
  97. ,done: function(value, date, endDate){
  98. changeSelectCon(1,"dates",'date',value)
  99. }
  100. });
  101. form = layui.form;
  102. initSelect('state', "IS_DRAW", "state", '', true);
  103. initSelect('payMode', "PAY_TYPE", "payMode", '', true);
  104. form.on('select(state)', function(data){
  105. changeSelectCon(2, data.elem, "sel","state");
  106. });
  107. form.on('select(payMode)', function(data){
  108. changeSelectCon(6, data.elem, "sel","payMode");
  109. });
  110. form.render();
  111. });
  112. var table;
  113. layui.use('table', function(){
  114. table = layui.table;
  115. // 加载数据
  116. table.render({
  117. id: 'orderManage'
  118. ,elem: '#orderManage'
  119. ,limit:10
  120. // ,height: 315
  121. ,url: 'ShOrderManageAction/queryOrder' //数据接口
  122. ,method: 'post'
  123. ,where:{MINView:"JSON"}
  124. ,page: true //开启分页
  125. ,cols: [[ //表头
  126. {field:'num', title: '序号',width:'5%', type:'numbers', fixed: true, align: 'center'}
  127. ,{field: 'id', title: '编号', width:'10%', sort: true, fixed: 'left'}
  128. ,{field: 'productName', title: '产品信息', width:'12%'}
  129. ,{field: 'equipmentId', title: '机器编号', width:'8%'}
  130. ,{field: 'equipmentName', title: '机器名称', width:'8%'}
  131. //,{field: 'equrelId', title: '货道编号', width:'8%'}
  132. ,{field: 'personId', title: '玩家ID', width:'8%'}
  133. ,{field: 'personName', title: '消费者信息', width:'8%'}
  134. ,{field: 'isDrawdesc', title: '状态', width:'8%'}
  135. ,{field: 'pickupSttdesc', title: '取货状态', width:'8%'}
  136. ,{field: 'payModedesc', title: '支付类型', width:'8%'}
  137. ,{field: 'orderAmt', title: '订单价格', width:'8%'}
  138. ,{field: 'createTime', title: '创建时间', width: '14%'}
  139. ,{field: 'operate', title: '操作', width: '8%', toolbar: '#barDemo',fixed: 'right'}
  140. ]]
  141. ,done: function(res, curr, count){
  142. //如果是异步请求数据方式,res即为你接口返回的信息。
  143. //如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
  144. console.log(res);
  145. //得到当前页码
  146. console.log(curr);
  147. $('#number').val(res.statistics.number);
  148. $('#sumAmt').val(res.statistics.sumAmt);
  149. //得到数据总量
  150. console.log(count);
  151. }
  152. ,even: true //开启隔行背景
  153. });
  154. // 监听工具条(操作)
  155. table.on('tool(tableFilter)', function(obj){ //注:tool是工具条事件名,tableFilter是table原始容器的属性 lay-filter="对应的值"
  156. var data = obj.data; //获得当前行数据
  157. var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
  158. var tr = obj.tr; //获得当前行 tr 的DOM对象
  159. if(layEvent === 'look'){ //详情
  160. lookDetail(data);
  161. }else if (layEvent ==='cancel'){
  162. layer.confirm('真的要作废订单吗', function(index){
  163. $.request({
  164. action : '../../ShOrderManageAction/orderCancel',
  165. data : {
  166. id : id ,//订单id
  167. },
  168. success : function(data) {
  169. //成功后刷新
  170. var btn=$(".layui-laypage-btn")[0];
  171. btn.click();
  172. layer.alert('操作成功!', {
  173. icon: 6,
  174. title: "提示"
  175. });
  176. },
  177. error : function(data) {
  178. layer.alert('操作失败!', {
  179. icon: 5,
  180. title: "提示"
  181. });
  182. }
  183. });
  184. });
  185. }
  186. });
  187. var $ = layui.$, active = {
  188. getCheckData: function(){ //获取选中数据
  189. var checkStatus = table.checkStatus('orderManage')
  190. ,data = checkStatus.data;
  191. layer.alert(JSON.stringify(data));
  192. }
  193. ,getCheckLength: function(){ //获取选中数目
  194. var checkStatus = table.checkStatus('orderManage')
  195. ,data = checkStatus.data;
  196. layer.msg('选中了:'+ data.length + ' 个');
  197. }
  198. ,isAll: function(){ //验证是否全选
  199. var checkStatus = table.checkStatus('orderManage');
  200. layer.msg(checkStatus.isAll ? '全选': '未全选')
  201. }
  202. //搜索
  203. ,reload: function(){
  204. loadAA();
  205. }
  206. //重置
  207. ,reset : function(){
  208. $('#orderForm')[0].reset();
  209. $("#conditions").html('<div class="fl f12-gray4-op mt4">所选条件:</div>');
  210. }
  211. };
  212. $('.layui-btn').on('click', function(){
  213. var type = $(this).data('type');
  214. active[type] ? active[type].call(this) : '';
  215. });
  216. });
  217. function lookDetail(data) {
  218. // 寄存当前数据
  219. layui.sessionData("ROW_DATA", {key:"NOW_ROW", value : data});
  220. openMainTabPage('101006-01', '订单详情', 'orderManage/details.html', '', '101006', loadAA);
  221. }
  222. function loadAA() {
  223. //状态
  224. var state = $("#state").find("option:selected").val();
  225. //时间
  226. var dates = $("#dates").val();
  227. //订单号
  228. var orderNo = $("#orderNo").val();
  229. var equipmentId = $("#equipmentId").val();
  230. var equipmentName = $("#equipmentName").val();
  231. var freightwayId = $("#freightwayId").val();
  232. var payMode = $("#payMode").find("option:selected").val();
  233. var playerId = $("#personId").val();
  234. //执行重载
  235. table.reload('orderManage', {
  236. page: {
  237. curr: 1 //重新从第 1 页开始
  238. }
  239. ,where: {
  240. orderNo : orderNo,
  241. state : state,
  242. dates : dates,
  243. equipmentId : equipmentId,
  244. equipmentName : equipmentName,
  245. freightwayId : freightwayId,
  246. payMode : payMode,
  247. playerId : playerId
  248. }
  249. });
  250. }
  251. function changeSelectCon(index, t, type, dateValue){
  252. debugger;
  253. if (type == "date") {
  254. if (isEmpty(dateValue)) {
  255. $("#search" + index).remove();
  256. } else {
  257. $("#search" + index).remove();
  258. if (isEmpty($("#search" + index).attr("name"))) {
  259. $("#conditions").append(getSelectConHtml(index, t, type,dateValue));
  260. }
  261. }
  262. } else if (type == 'inp') {
  263. if (isEmpty($(t).val())) {
  264. $("#search" + index).remove();
  265. } else {
  266. $("#search" + index).remove();
  267. if (isEmpty($("#search" + index).attr("name"))) {
  268. $("#conditions").append(getSelectConHtml(index, t, type));
  269. }
  270. }
  271. } else {
  272. if (isEmpty($(t).val())) {
  273. $("#search" + index).remove();
  274. } else {
  275. $("#search" + index).remove();
  276. if (isEmpty($("#search" + index).attr("name"))) {
  277. $(t).attr("id","subjects");
  278. $("#conditions").append(getSelectConHtml(index, t, type));
  279. }
  280. }
  281. }
  282. }
  283. var array = new Array('订单编号','创建时间','状态','机台号','机器名称','货道号','支付方式','玩家ID');
  284. function getSelectConHtml(index, t, type,dateValue){
  285. var name;
  286. var value;
  287. if(type == "inp"){
  288. value = t.value.substr(0,5)+"..";
  289. }
  290. if (type == "date") {
  291. value = dateValue;
  292. }
  293. if(type == "sel"){
  294. if(index == '2'){
  295. value = $("#state").find("option:selected").text();
  296. }
  297. if(index == '6'){
  298. value = $("#payMode").find("option:selected").text();
  299. }
  300. }
  301. if (type == "date") {
  302. name = $("#"+t).attr("id");
  303. } else {
  304. name = $(t).attr("id");
  305. }
  306. var html = '<div class="fl xuanzhong-active" id = "search' + index + '" name = "' + name + '" onclick = "removeSearch(this)">' +
  307. '<div class="fl">' + array[index] + '</div>' +
  308. ':<i>'+value+'</i>' +
  309. '<svg class="icon" aria-hidden="true">' +
  310. '<use xlink:href="#iconicon_close1"></use>' +
  311. '</svg>' +
  312. '</div>';
  313. return html;
  314. }
  315. function removeSearch(t) {
  316. if ($(t).attr("name") == 'subjects') {
  317. initSelect('state', "IS_DRAW", "state", ' ', true);
  318. initSelect('payMode', "PAY_TYPE", "payMode", ' ', true);
  319. form.render();
  320. $(t).remove();
  321. } else {
  322. $("#"+$(t).attr("name")).val('');
  323. $(t).remove();
  324. }
  325. }
  326. </script>
  327. </html>