From 04f031ac6a0b3ae0551fc0173868a7f3cc57f921 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期一, 11 四月 2022 16:28:54 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/order/order.js | 585 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 369 insertions(+), 216 deletions(-) diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index 40a8a13..483f715 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -1,64 +1,32 @@ -var pageCurr; +var insTbCount = 0; layui.config({ base: baseUrl + "/static/layui/lay/modules/" -}).use(['table','laydate', 'form', 'admin'], function(){ - var table = layui.table; +}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () { var $ = layui.jquery; var layer = layui.layer; - var layDate = layui.laydate; var form = layui.form; + var table = layui.table; + var util = layui.util; var admin = layui.admin; + var xmSelect = layui.xmSelect; + var layDate = layui.laydate; - // 鏁版嵁娓叉煋 - tableIns = table.render({ + // 娓叉煋琛ㄦ牸 + var insTb = table.render({ elem: '#order', + url: baseUrl+'/order/head/page/auth', headers: {token: localStorage.getItem('token')}, - url: baseUrl+'/order/list/auth', page: true, - limit: 15, - limits: [15, 30, 50, 100, 200, 500], - toolbar: '#toolbar', - cellMinWidth: 50, - height: 'full-120', + cellMinWidth: 100, cols: [[ - {type: 'checkbox'} - ,{field: 'id', align: 'center',title: 'ID'} - ,{field: 'uuid', align: 'center',title: '缂栧彿'} - ,{field: 'orderNo', align: 'center',title: '璁㈠崟缂栧彿'} - ,{field: 'orderTime', align: 'center',title: '鍗曟嵁鏃ユ湡'} - ,{field: 'docType$', align: 'center',title: '鍗曟嵁绫诲瀷'} - ,{field: 'itemId$', align: 'center',title: '椤圭洰缂栧彿'} - ,{field: 'itemName', align: 'center',title: ''} - ,{field: 'allotItemId$', align: 'center',title: '璋冩嫧椤圭洰缂栧彿'} - ,{field: 'defNumber', align: 'center',title: '鍒濆绁ㄦ嵁鍙�'} - ,{field: 'number', align: 'center',title: '绁ㄦ嵁鍙�'} - ,{field: 'cstmr$', align: 'center',title: '瀹㈡埛缂栧彿'} - ,{field: 'cstmrName', align: 'center',title: '瀹㈡埛'} - ,{field: 'tel', align: 'center',title: '鑱旂郴鏂瑰紡'} - ,{field: 'operMemb', align: 'center',title: '鎿嶄綔浜哄憳'} - ,{field: 'totalFee', align: 'center',title: '鍚堣閲戦'} - ,{field: 'discount', align: 'center',title: '浼樻儬鐜�'} - ,{field: 'discountFee', align: 'center',title: '浼樻儬閲戦'} - ,{field: 'otherFee', align: 'center',title: '閿�鍞垨閲囪喘璐圭敤鍚堣'} - ,{field: 'actFee', align: 'center',title: '瀹炰粯閲戦'} - ,{field: 'payType$', align: 'center',title: '浠樻绫诲瀷'} - ,{field: 'salesman', align: 'center',title: '涓氬姟鍛�'} - ,{field: 'accountDay', align: 'center',title: '缁撶畻澶╂暟'} - ,{field: 'postFeeType$', align: 'center',title: '閭垂鏀粯绫诲瀷'} - ,{field: 'postFee', align: 'center',title: '閭垂'} - ,{field: 'payTime$', align: 'center',title: '浠樻鏃堕棿'} - ,{field: 'sendTime$', align: 'center',title: '鍙戣揣鏃堕棿'} - ,{field: 'shipName', align: 'center',title: '鐗╂祦鍚嶇О'} - ,{field: 'shipCode', align: 'center',title: '鐗╂祦鍗曞彿'} - ,{field: 'settle$', align: 'center',title: '璁㈠崟鐘舵��'} - ,{field: 'status$', align: 'center',title: '鐘舵��'} - ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'} - ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} - ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} - ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} - ,{field: 'memo', align: 'center',title: '澶囨敞'} - - ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + {type: 'numbers'}, + {field: 'orderNo', title: '鍗曟嵁缂栧彿', sort: true}, + {field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160}, + {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160}, + {field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200}, + {field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160}, + {field: 'memo', align: 'center',title: '澶囨敞', hide: true}, + {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 180} ]], request: { pageName: 'curr', @@ -75,122 +43,147 @@ response: { statusCode: 200 }, - done: function(res, curr, count) { + done: function (res, curr, count) { if (res.code === 403) { top.location.href = baseUrl+"/"; } - pageCurr=curr; - limit(); + insTbCount = count; } }); - // 鐩戝惉鎺掑簭浜嬩欢 - table.on('sort(order)', function (obj) { - var searchData = {}; - $.each($('#search-box [name]').serializeArray(), function() { - searchData[this.name] = this.value; - }); - searchData['orderByField'] = obj.field; - searchData['orderByType'] = obj.type; - tableIns.reload({ - where: searchData, - page: {curr: 1} - }); + // 鎼滅储 + form.on('submit(tbSearch)', function (data) { + insTb.reload({where: data.field, page: {curr: 1}}); }); - // 鐩戝惉澶村伐鍏锋爮浜嬩欢 - table.on('toolbar(order)', function (obj) { - var checkStatus = table.checkStatus(obj.config.id).data; - switch(obj.event) { - case 'addData': - showEditModel(); - break; - case 'deleteData': - if (checkStatus.length === 0) { - layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); - return; - } - del(checkStatus.map(function (d) { - return d.id; - })); - break; - case 'exportData': - admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ - var titles=[]; - var fields=[]; - obj.config.cols[0].map(function (col) { - if (col.type === 'normal' && col.hide === false && col.toolbar == null) { - titles.push(col.title); - fields.push(col.field); + // 娣诲姞 + $("#orderAddBtn").click(function () { + showEditModel(); + }); + + // 宸ュ叿鏉$偣鍑讳簨浠� + table.on('tool(order)', function (obj) { + var data = obj.data; + var layEvent = obj.event; + if (layEvent === 'edit') { + showEditModel(data); + } else if (layEvent === 'del') { + doDel(data.id); + } else if (layEvent === 'complete') { + doModify(data.id, 4); + } else if (layEvent === 'look') { + var $a = $(obj.tr).find('a[lay-event="look"]'); + var offset = $a.offset(); + var top = offset.top; + var left = offset.left; + layer.open({ + type: 1, + title: false, + area: '820px', + offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], + shade: .01, + shadeClose: true, + fixed: false, + content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>', + success: function (layero) { + table.render({ + elem: '#lookSSXMTable', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/orderDetl/list/auth', + where: { + order_id: data.id + }, + page: true, + cellMinWidth: 100, + cols: [[ + {type: 'numbers'}, + {field: 'matnr', title: '鍟嗗搧缂栫爜'}, + {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160}, + {field: 'batch', title: '鎵瑰彿'}, + {field: 'anfme', title: '鏁伴噺'}, + {field: 'qty', title: '浣滀笟鏁伴噺', style: 'font-weight: bold'}, + {field: 'unit', title: '鍗曚綅'}, + // { + // field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) { + // return util.toDateString(d.createTime); + // }, width: 180 + // }, + // {field: 'inQty', title: '宸插叆搴撻噺'}, + // {field: 'color', title: '棰滆壊'}, + {field: 'specs', title: '瑙勬牸'} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function () { + $(layero).find('.layui-table-view').css('margin', '0'); + }, + size: '' + }); + } + }); + } + }); + + // 鏄剧ず琛ㄥ崟寮圭獥 + function showEditModel(expTpe) { + admin.open({ + type: 1, + title: (expTpe ? '淇敼' : '娣诲姞') + '鍗曟嵁', + content: $('#editDialog').html(), + area: '1300px', + success: function (layero, dIndex) { + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + var isExpAdd = !expTpe; + // 鍥炴樉鏁版嵁 + form.val('editForm', expTpe); + if (expTpe) { + $('#orderNo').attr("disabled", "disabled"); + } + // 琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(orderEditSubmit)', function (data) { + // 缁勮鏁版嵁 + if (xxDataList.length <= 0) { + layer.tips('璇锋坊鍔犲崟鎹槑缁�', '#matAddBtnComment', {tips: [1, '#ff4c4c']}); + return false; + } + let nList = admin.util.deepClone(xxDataList); + for (let xi = 0; xi < nList.length; xi++) { + if (nList[xi].anfme <= 0){ + layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2}); + return false; } - }); - var exportData = {}; - $.each($('#search-box [name]').serializeArray(), function() { - exportData[this.name] = this.value; - }); - var param = { - 'order': exportData, - 'fields': fields - }; + } + layer.load(2); $.ajax({ - url: baseUrl+"/order/export/auth", + url: baseUrl+"/order/form/" + (isExpAdd?"add":"modify") + "/auth", headers: {'token': localStorage.getItem('token')}, - data: JSON.stringify(param), - dataType:'json', + data: JSON.stringify({ + orderId: Number(data.field.id), + docType: Number(data.field.docType), + orderNo: data.field.orderNo, + orderDetlList: nList + }), contentType:'application/json;charset=UTF-8', method: 'POST', success: function (res) { - layer.closeAll(); - if (res.code === 200) { - table.exportFile(titles,res.data,'xls'); - } else if (res.code === 403) { - top.location.href = baseUrl+"/"; - } else { - layer.msg(res.msg, {icon: 2}) - } - } - }); - }); - break; - } - }); - - // 鐩戝惉琛屽伐鍏蜂簨浠� - table.on('tool(order)', function(obj){ - var data = obj.data; - switch (obj.event) { - case 'edit': - showEditModel(data); - break; - case "del": - del([data.id]); - break; - } - }); - - /* 寮圭獥 - 鏂板銆佷慨鏀� */ - function showEditModel(mData) { - admin.open({ - type: 1, - area: '600px', - title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', - content: $('#editDialog').html(), - success: function (layero, dIndex) { - layDateRender(mData); - form.val('detail', mData); - form.on('submit(editSubmit)', function (data) { - var loadIndex = layer.load(2); - $.ajax({ - url: baseUrl+"/order/"+(mData?'update':'add')+"/auth", - headers: {'token': localStorage.getItem('token')}, - data: data.field, - method: 'POST', - success: function (res) { - layer.close(loadIndex); + layer.closeAll('loading'); if (res.code === 200){ layer.close(dIndex); + $(".layui-laypage-btn")[0].click(); layer.msg(res.msg, {icon: 1}); - tableReload(); } else if (res.code === 403){ top.location.href = baseUrl+"/"; }else { @@ -200,33 +193,208 @@ }) return false; }); - $(layero).children('.layui-layer-content').css('overflow', 'visible'); - layui.form.render('select'); + // 鏄庣粏琛ㄦ牸 + var xxDataList = []; + var tbOptions = { + elem: '#formSSXMTable', + headers: {token: localStorage.getItem('token')}, + data: xxDataList, + page: true, + height: '350px;', + cellMinWidth: 100, + cols: [[ + {type: 'numbers', title: '#'}, + {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160}, + {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200}, + {field: 'batch', title: '鎵瑰彿', edit: true}, + {field: 'specs', title: '瑙勬牸'}, + {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, + // {field: 'inQty', title: '宸插叆搴撻噺', minWidth: 100, width: 100}, + {field: 'unit', title: '鍗曚綅', width: 80}, + {field: 'memo', title: '澶囨敞' , edit: true}, + {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'} + ]], + done: function (res) { + $(layero).find('.layui-table-view').css('margin', '0'); + }, + size: '' + }; + if (!isExpAdd) { + $.ajax({ + url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id, + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + async: false, + success: function (res) { + if (res.code === 200){ + xxDataList = res.data; + tbOptions.data = xxDataList; + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + } + var insTbSSXM = table.render(tbOptions); + // 宸ュ叿鏉$偣鍑讳簨浠� + table.on('tool(formSSXMTable)', function (obj) { + var data = obj.data; + var layEvent = obj.event; + if (layEvent === 'edit') { + showEditModel2(data); + } else if (layEvent === 'del') { + layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', { + shade: .1, + skin: 'layui-layer-admin' + }, function (i) { + layer.close(i); + for (var j = 0; j < xxDataList.length; j++) { + if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) { + xxDataList.splice(j, 1); + break; + } + } + insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); + }); + } + }); + // 鏄庣粏鏁版嵁淇敼 + table.on('edit(formSSXMTable)', function (obj) { + let index = obj.tr.attr("data-index"); + let data = xxDataList[index]; + if (obj.field === 'anfme'){ + let vle = Number(obj.value); + if (isNaN(vle)) { + layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2}); + return false; + } else { + if (vle <= 0) { + layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2}); + return false; + } + } + } + data[obj.field] = obj.value; + insTbSSXM.reload({data: xxDataList}); + }); + + $('#matAddBtnComment').click(function () { + showEditModel2(); + }); + + // 鏄剧ず娣诲姞鏄庣粏琛ㄥ崟寮圭獥 + function showEditModel2(exp) { + admin.open({ + type: 1, + offset: '150px', + area: '480px', + title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏', + content: $('#matEditDialog').html(), + success: function (layero, dIndex) { + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + // 鍥炴樉鏁版嵁 + form.val('matEditForm', exp); + // 琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(matEditSubmit)', function (data) { + var existMats = []; + xxDataList.forEach(function(elem) { + existMats.push(elem.matNo); + }); + var selectList = matXmSelect.getValue(); + for (var i = 0; i<selectList.length; i++) { + var item = selectList[i]; + if (existMats.indexOf(item.value) === -1) { + // 鏌ヨ鐗╂枡璇︽儏 + $.ajax({ + url: baseUrl+"/mat/covert/"+item.value+"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + async: false, + success: function (res) { + if (res.code === 200){ + xxDataList.push(res.data); + insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + } + } + layer.close(dIndex); + return false; + }); + // 娓叉煋鐗╂枡閫夋嫨 + var matXmSelect = xmSelect.render({ + el: '#mat', + style: { + width: '340px', + }, + autoRow: true, + toolbar: { show: true }, + filterable: true, + remoteSearch: true, + remoteMethod: function(val, cb, show){ + $.ajax({ + url: baseUrl+"/mat/all/get/kv", + headers: {'token': localStorage.getItem('token')}, + data: { + condition: val + }, + method: 'POST', + success: function (res) { + if (res.code === 200){ + cb(res.data) + } else { + cb([]); + layer.msg(res.msg, {icon: 2}); + } + } + }); + } + }) + // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯 + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + } }); } - /* 鍒犻櫎 */ - function del(ids) { - layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { - skin: 'layui-layer-admin', - shade: .1 + // 鍒犻櫎鍗曟嵁 + function doDel(orderId) { + layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', { + shade: .1, + skin: 'layui-layer-admin' }, function (i) { layer.close(i); - var loadIndex = layer.load(2); + layer.load(2); $.ajax({ url: baseUrl+"/order/delete/auth", headers: {'token': localStorage.getItem('token')}, - data: {ids: ids}, + data: { + orderId: orderId + }, method: 'POST', success: function (res) { - layer.close(loadIndex); + layer.closeAll('loading'); if (res.code === 200){ + if (insTbCount === 0) { + insTb.reload({page: {curr: 1}}); + } else { + $(".layui-laypage-btn")[0].click(); + } layer.msg(res.msg, {icon: 1}); - tableReload(); } else if (res.code === 403){ top.location.href = baseUrl+"/"; - } else { + }else { layer.msg(res.msg, {icon: 2}); } } @@ -234,61 +402,46 @@ }); } - // 鎼滅储 - form.on('submit(search)', function (data) { - pageCurr = 1; - tableReload(false); - }); - - // 閲嶇疆 - form.on('submit(reset)', function (data) { - pageCurr = 1; - clearFormVal($('#search-box')); - tableReload(false); - }); - - // 鏃堕棿閫夋嫨鍣� - function layDateRender(data) { - setTimeout(function () { - layDate.render({ - elem: '#payTime\\$', - type: 'datetime', - value: data!==undefined?data['payTime\\$']:null - }); - layDate.render({ - elem: '#sendTime\\$', - type: 'datetime', - value: data!==undefined?data['sendTime\\$']:null - }); - layDate.render({ - elem: '#createTime\\$', - type: 'datetime', - value: data!==undefined?data['createTime\\$']:null - }); - layDate.render({ - elem: '#updateTime\\$', - type: 'datetime', - value: data!==undefined?data['updateTime\\$']:null - }); - - }, 300); + // 淇敼璁㈠崟鐘舵�� + function doModify(orderId, settle) { + layer.confirm('纭畾瑕佹墜鍔ㄥ畬缁撳悧锛�', { + shade: .1, + skin: 'layui-layer-admin' + }, function (i) { + layer.close(i); + layer.load(2); + console.log(orderId); + console.log(settle); + $.ajax({ + url: baseUrl+"/order/update/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + id: orderId, + settle: settle + }, + method: 'POST', + success: function (res) { + layer.closeAll('loading'); + if (res.code === 200){ + if (insTbCount === 0) { + insTb.reload({page: {curr: 1}}); + } else { + $(".layui-laypage-btn")[0].click(); + } + layer.msg(res.msg, {icon: 1}); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); } - layDateRender(); -}); - -// 鍏抽棴鍔ㄤ綔 -$(document).on('click','#data-detail-close', function () { - parent.layer.closeAll(); -}); - -function tableReload(child) { - var searchData = {}; - $.each($('#search-box [name]').serializeArray(), function() { - searchData[this.name] = this.value; + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true }); - tableIns.reload({ - where: searchData, - page: {curr: pageCurr} - }); -} +}); -- Gitblit v1.9.1