From cffbaec750882dd7f4d112d7c735d247e2a961a7 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 10 十一月 2023 13:32:50 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/order/order.js | 466 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 341 insertions(+), 125 deletions(-) diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index a06f4a9..abe7000 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -1,3 +1,5 @@ +var insTbCount = 0; +var printMatCodeNos = []; layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () { @@ -10,6 +12,27 @@ var xmSelect = layui.xmSelect; var layDate = layui.laydate; + // 娓叉煋鎼滅储妯℃澘 + $.ajax({ + url: baseUrl+"/docType/list/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + limit: 9999 + }, + method: 'POST', + success: function (res) { + if (res.code === 200){ + let template = Handlebars.compile($('#docTypeTpl').html()); + $('#docType-query').html(template(res.data)); + layui.form.render('select'); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + // 娓叉煋琛ㄦ牸 var insTb = table.render({ elem: '#order', @@ -19,13 +42,14 @@ cellMinWidth: 100, cols: [[ {type: 'numbers'}, - {field: 'orderNo', title: '鍗曟嵁缂栧彿', sort: true}, + {field: 'orderNo', title: '鍗曟嵁缂栧彿'}, {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', minWidth: 130, width: 130} + {field: 'createBy$', align: 'center', title: '鎿嶄綔鍛�', minWidth: 160, width: 160}, + {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 260} ]], request: { pageName: 'curr', @@ -43,9 +67,11 @@ statusCode: 200 }, done: function (res, curr, count) { + limit(); if (res.code === 403) { top.location.href = baseUrl+"/"; } + insTbCount = count; } }); @@ -58,15 +84,87 @@ $("#orderAddBtn").click(function () { showEditModel(); }); + function btnPrint(id, orderNo, number) { + printMatCodeNos.push(orderNo) + var templateNo = 3; + $.ajax({ + url: baseUrl+"/order/print/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: printMatCodeNos}, + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + console.log(res); + for (let i=0;i<res.data.length;i++){ + var templateDom = $("#templatePreview"+templateNo); + var className = templateDom.attr("class"); + if (className === 'template-barcode') { + res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1¶m="+res.data[i].orderNo+ + ";"+res.data[i].matnr+";"+res.data[i].batch; + } else { + res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+res.data[i].orderNo+ + ";"+res.data[i].matnr+";"+res.data[i].batch; + } + } + var tpl = templateDom.html(); + var template = Handlebars.compile(tpl); + var html = template(res); + var box = $("#box"); + box.html(html);box.show(); + box.print({mediaPrint:true}); + box.hide(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + } + }) + } + function addPakOut(expTpe) { + $.ajax({ + url: baseUrl+"/pakout/add/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify({ + docType: Number(20), + orderNo: expTpe, + }), + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + if (res.code === 200){ + layer.msg("鐢熸垚鎷h揣鍗曪細ok"); + } else if (res.code === 403){ + layer.msg("鐢熸垚鎷h揣鍗曞け璐ワ細403"); + }else { + layer.msg("鐢熸垚鎷h揣鍗曞け璐ワ細鏈煡寮傚父"); + } + + } + }) + } + // 宸ュ叿鏉$偣鍑讳簨浠� 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.billNo); + doDel(data.id); + }else if (layEvent === 'btnPrint') { + //btnPrint(data.id, data.orderNo, 4); + btnPrint2(data.id, data.orderNo, 4); + } else if (layEvent === 'complete') { + doModify(data.id, data.orderNo, 4); + }else if (layEvent === 'manPrint') { + addPakOut(data.orderNo); } else if (layEvent === 'look') { var $a = $(obj.tr).find('a[lay-event="look"]'); var offset = $a.offset(); @@ -75,7 +173,7 @@ layer.open({ type: 1, title: false, - area: '700px', + area: '820px', offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], shade: .01, shadeClose: true, @@ -93,10 +191,15 @@ cellMinWidth: 100, cols: [[ {type: 'numbers'}, - {field: 'matnr', title: '鍟嗗搧缂栫爜'}, + {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160}, {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160}, - {field: 'batch', title: '鎵瑰彿'}, - {field: 'count', title: '鏁伴噺'}, + {field: 'owner$', title: '璐т富', width: 160}, + {field: 'payment$', title: '璐х墿鐗瑰緛', width: 160}, + // {field: 'batch', title: '鎵瑰彿'}, + {field: 'anfme', title: '鏁伴噺'}, + {field: 'workQty', title: '浣滀笟鏁伴噺'}, + {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'}, + // {field: 'unit', title: '鍗曚綅'}, // { // field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) { // return util.toDateString(d.createTime); @@ -104,7 +207,8 @@ // }, // {field: 'inQty', title: '宸插叆搴撻噺'}, // {field: 'color', title: '棰滆壊'}, - {field: 'specs', title: '瑙勬牸'} + // {field: 'specs', title: '瑙勬牸'}, + {field: 'weight', title: '閲嶉噺'} ]], request: { pageName: 'curr', @@ -129,12 +233,13 @@ } }); } + else if (layEvent === 'printExcel'){ + printExcel(data); + } }); // 鏄剧ず琛ㄥ崟寮圭獥 function showEditModel(expTpe) { - var mlist=null - var inQtys=[] admin.open({ type: 1, title: (expTpe ? '淇敼' : '娣诲姞') + '鍗曟嵁', @@ -146,59 +251,50 @@ // 鍥炴樉鏁版嵁 form.val('editForm', expTpe); if (expTpe) { - $('#billNo').attr("disabled", "disabled"); + $('#orderNo').attr("disabled", "disabled"); } // 琛ㄥ崟鎻愪氦浜嬩欢 - form.on('submit(waitMatinEditSubmit)', function (data) { + form.on('submit(orderEditSubmit)', function (data) { // 缁勮鏁版嵁 if (xxDataList.length <= 0) { layer.tips('璇锋坊鍔犲崟鎹槑缁�', '#matAddBtnComment', {tips: [1, '#ff4c4c']}); return false; } - var param = []; - var nList = admin.util.deepClone(xxDataList); - for (var xi = 0; xi < nList.length; xi++) { - // console.log('宸插叆搴擄細'+nList[xi].inQty) - // console.log('鏃ф暟閲忥細'+inQtys[xi]) - // console.log('鏁伴噺锛�'+nList[xi].qty) - if (nList[xi].inQty > 0 && inQtys[xi]!=nList[xi].qty) { - layer.msg("宸插叆搴撴棤娉曚慨鏀�", {icon: 2}) - return false; - } else if (nList[xi].qty > 0) { - param.push({ - billNo: data.field.billNo, - billType: data.field.billType, - matNo: nList[xi].matNo, - matName: nList[xi].matName, - color: nList[xi].color, - size: nList[xi].size, - specs: nList[xi].specs, - memo: nList[xi].memo, - unit: nList[xi].unit, - qty: nList[xi].qty, - inQty: nList[xi].inQty, - }) - }else if (nList[xi].qty == 0){ + let nList = admin.util.deepClone(xxDataList); + console.log(nList); + for (let xi = 0; xi < nList.length; xi++) { + if (nList[xi].anfme <= 0){ layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2}); return false; } + if (nList[xi].anfme < nList[xi].workQty){ + layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', {icon: 2}); + return false; + } } - if (param.length === 0) { - layer.msg('鍗曟嵁鏄庣粏鏁伴噺涓嶅悎娉�', {icon: 2}); - return false; + for (let xi = 0; xi < nList.length; xi++) { + if (nList[xi].owner <= 0){ + layer.msg('璐т富缂栧彿璇锋煡鐪嬭揣涓绘。妗�', {icon: 2}); + return false; + } } layer.load(2); $.ajax({ - url: baseUrl+"/waitMatin/" + (isExpAdd?"add":"modify") + "/auth", + url: baseUrl+"/order/form/" + (isExpAdd?"add":"modify") + "/auth", headers: {'token': localStorage.getItem('token')}, - data: JSON.stringify(param), + 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('loading'); if (res.code === 200){ layer.close(dIndex); - insTb.reload({page: {curr: 1}}); + $(".layui-laypage-btn")[0].click(); layer.msg(res.msg, {icon: 1}); } else if (res.code === 403){ top.location.href = baseUrl+"/"; @@ -219,31 +315,50 @@ height: '350px;', cellMinWidth: 100, cols: [[ - {type: 'numbers'}, - {field: 'matNo', title: '鐗╂枡缂栫爜'}, - {field: 'matName', title: '鐗╂枡鍚嶇О', width: 160}, - {field: 'specs', title: '瑙勬牸', width: 160}, - {field: 'color', title: '棰滆壊', width: 160}, - {field: 'size', title: '灏哄', width: 160}, - {field: 'qty', title: '淇敼鏁伴噺', style: 'color: blue;font-weight: bold', edit: true, minWidth: 100, width: 100}, - {field: 'inQty', title: '宸插叆搴撻噺', minWidth: 100, width: 100}, - {field: 'unit', title: '鍗曚綅', width: 160}, - {field: 'memo', title: '澶囨敞' , edit: true, width: 160}, + {type: 'numbers', title: '#'}, + {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160}, + {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200}, + {field: 'specs', title: '瑙勬牸'}, + {field: 'weight', title: '閲嶉噺', edit: true}, + {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, + {field: 'owner', title: '璐т富缂栧彿', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, + {field: 'payment', title: '璐х墿鐘舵��', style: 'color: blue;font-weight: bold', templet: '#payment'}, + // {field: 'payment', title: '璐х墿鐘舵��',align: 'center', templet: '#payment'}, + {field: 'qty', 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) { - mlist= res.data - for (let i = 0; i < mlist.length; i++) { - var waitIn=mlist[i] - inQtys.push(waitIn.qty) - } + done: function (res, curr, count) { $(layero).find('.layui-table-view').css('margin', '0'); + var options = this; + + // 鑾峰彇褰撳墠琛屾暟鎹� + table.getRowData = function(elem){ + var index = $(elem).closest('tr').data('index'); + return table.cache[options.id][index] || {}; + }; + + $('.select-primary').on('change', function(){ + var value = this.value; // 鑾峰彇閫変腑椤� value + var data = table.getRowData(this); + console.log(value); + xxDataList.forEach(res => { + if (data.id === res.id){ + console.log(res) + res.payment = value; + } + }) + + + }); }, size: '' }; + if (!isExpAdd) { $.ajax({ - url: baseUrl+"/waitMatin/detl/list/auth?billNo=" + expTpe.billNo, + url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id, headers: {'token': localStorage.getItem('token')}, method: 'GET', async: false, @@ -267,13 +382,17 @@ if (layEvent === 'edit') { showEditModel2(data); } else if (layEvent === 'del') { + if(data.workQty > 0){ + layer.msg("宸插瓨鍦ㄤ綔涓氭暟閲忥紝涓嶈兘鍒犻櫎", {icon: 2}); + return; + } layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', { shade: .1, skin: 'layui-layer-admin' }, function (i) { layer.close(i); for (var j = 0; j < xxDataList.length; j++) { - if (xxDataList[j].matNo === data.matNo) { + if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) { xxDataList.splice(j, 1); break; } @@ -282,36 +401,34 @@ }); } }); - // 鏁伴噺淇敼 + // 鏄庣粏鏁版嵁淇敼 table.on('edit(formSSXMTable)', function (obj) { - if (obj.field=='memo'){ - let vle = obj.value; - for (var i=0;i<xxDataList.length;i++) { - if (xxDataList[i]["matNo"] === obj.data.matNo) { - xxDataList[i]["memo"] = vle; - break; - } - } - }else if (obj.field=='qty'){ + 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("璇疯緭鍏ユ暟瀛�"); + layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2}); + return false; } else { - if (vle > 0) { - for (var i=0;i<xxDataList.length;i++) { - if (xxDataList[i]["matNo"] === obj.data.matNo) { - xxDataList[i]["qty"] = vle; - break; - } - } - } else { - layer.msg("鏁伴噺蹇呴』澶т簬闆�"); + if (vle <= 0) { + layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2}); + // data[obj.field] = 0; + // insTbSSXM.reload({data: xxDataList}); + return false; + } + if(obj.value < data.qty){ + layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2}); + // data[obj.field] = 0; + // insTbSSXM.reload({data: xxDataList}); + return false; } } } - insTbSSXM.reload({data: xxDataList}); + data[obj.field] = obj.value; + insTbSSXM.reloadData({data: xxDataList,scrollPos: true}); }); - // + $('#matAddBtnComment').click(function () { showEditModel2(); }); @@ -321,51 +438,34 @@ admin.open({ type: 1, offset: '150px', - area: '480px', + area: '680px', 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+"/matCode/"+item.value+"/auth", - headers: {'token': localStorage.getItem('token')}, - method: 'GET', - async: false, - success: function (res) { - if (res.code === 200){ - var mat = res.data; - xxDataList.push({ - matNo: mat.matNo, - matName: mat.matName, - color:mat.color, - size:mat.size, - specs:mat.specs, - memo: mat.memo, - unit: mat.unit, - qty: 0.0 - }); - insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - }else { - layer.msg(res.msg, {icon: 2}) - } + let selectList = matXmSelect.getValue(); + for (let i = 0; i<selectList.length; i++) { + let item = selectList[i]; + // 鏌ヨ鐗╂枡璇︽儏 + $.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; @@ -408,29 +508,73 @@ } }); + + } + + // 鍒犻櫎鍗曟嵁 - function doDel(billNo) { + function doDel(orderId) { layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', { shade: .1, skin: 'layui-layer-admin' }, function (i) { layer.close(i); layer.load(2); - $.ajax({ - url: baseUrl+"/waitMatin/delete/auth", + url: baseUrl+"/order/delete/auth", headers: {'token': localStorage.getItem('token')}, data: { - billNo: billNo + orderId: orderId }, - // contentType:'application/json;charset=UTF-8', method: 'POST', success: function (res) { layer.closeAll('loading'); if (res.code === 200){ - insTb.reload({page: {curr: 1}}); + 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}); + } + } + }) + }); + } + + // 淇敼璁㈠崟鐘舵�� + function doModify(orderId, orderNo, 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, + orderNo: orderNo, + 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+"/"; @@ -447,4 +591,76 @@ ,type: 'datetime' ,range: true }); + + function printExcel(data){ + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + layer.closeAll(); + layer.load(1, {shade: [0.1,'#fff']}); + // location.href = "http://192.168.4.121:8082/stwms/orderCheck/printExport/auth?orderNo="+data.orderNo; + location.href = baseUrl+"/order/printExport/auth?orderNo="+data.orderNo; + layer.closeAll('loading'); + }); + } + + + function btnPrint2(orderId, orderNo, settle) { + console.log(orderId); + console.log(orderNo); + console.log(settle); + printMatCodeNos.push(orderNo) + var templateNo = 4; + $.ajax({ + url: baseUrl + "/order/print2/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: printMatCodeNos}, + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200) { + layer.closeAll(); + var json = res; + + json.docNum = orderNo; + console.log("json"+json); + var sum = new Decimal("0"); + + + for (let i = 0; i < res.data.length; i++){ + sum = sum.plus(res.data[i].anfme); + + } + json.anfmeSum = sum; + var barcodeUrl = baseUrl + "/order/code/auth?type=1¶m=" + res.data[0].docNum; + console.log("barcodeUrl:"+barcodeUrl); + json.barcodeUrl = barcodeUrl; + console.log(json.data); + for (let i = 0; i < json.data.length; i++) { + var templateDom = $("#templatePreview" + templateNo); + var className = templateDom.attr("class"); + + if (className === 'template-barcode') { + json.data[i]["barcodeUrl"] = baseUrl + "/order/code/auth?type=2¶m=" + (json.data[i].orderNo+";"+json.data[i].matnr+";"); + } else { + json.data[i]["barcodeUrl"] = baseUrl + "/order/code/auth?type=2¶m=" + (json.data[i].orderNo+";"+json.data[i].matnr+";"); + } + } + var tpl = templateDom.html(); + var template = Handlebars.compile(tpl); + var html = template(json); + var box = $("#box"); + box.html(html); + box.show(); + box.print({mediaPrint: true}); + box.hide(); + } else if (json.code === 403) { + top.location.href = baseUrl + "/"; + } else { + layer.msg(json.msg) + } + } + }) + } + + + }); -- Gitblit v1.9.1