From 7d86c8c3edfe2ee2ee83d468c1502ed2efe21697 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期一, 28 四月 2025 10:39:44 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/order/order.js | 429 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 349 insertions(+), 80 deletions(-) diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index 76ac6e7..f7f277a 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -11,6 +11,31 @@ 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', @@ -20,13 +45,13 @@ 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} + {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 180} ]], request: { pageName: 'curr', @@ -44,6 +69,7 @@ statusCode: 200 }, done: function (res, curr, count) { + limit(); if (res.code === 403) { top.location.href = baseUrl+"/"; } @@ -61,6 +87,11 @@ showEditModel(); }); + // 娣诲姞鎸囧畾璁㈠崟 + $("#KingOrderAddBtn").click(function () { + KingShowEditModel(); + }); + // 宸ュ叿鏉$偣鍑讳簨浠� table.on('tool(order)', function (obj) { var data = obj.data; @@ -69,6 +100,8 @@ showEditModel(data); } else if (layEvent === 'del') { doDel(data.id); + } else if (layEvent === 'complete') { + doModify(data.id, data.orderNo, 4); } else if (layEvent === 'look') { var $a = $(obj.tr).find('a[lay-event="look"]'); var offset = $a.offset(); @@ -95,12 +128,13 @@ cellMinWidth: 100, cols: [[ {type: 'numbers'}, - {field: 'matnr', title: '鍟嗗搧缂栫爜'}, + {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160}, {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160}, {field: 'batch', title: '鎵瑰彿'}, {field: 'anfme', title: '鏁伴噺'}, - {field: 'qty', title: '浣滀笟鏁伴噺', style: 'font-weight: bold'}, - {field: 'unit', 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); @@ -137,8 +171,6 @@ // 鏄剧ず琛ㄥ崟寮圭獥 function showEditModel(expTpe) { - var mlist=null - var inQtys=[] admin.open({ type: 1, title: (expTpe ? '淇敼' : '娣诲姞') + '鍗曟嵁', @@ -161,29 +193,12 @@ } let nList = admin.util.deepClone(xxDataList); for (let xi = 0; xi < nList.length; xi++) { - // if (nList[xi].inQty > 0 && inQtys[xi] !== nList[xi].anfme) { - // layer.msg("宸插叆搴撴棤娉曚慨鏀�", {icon: 2}) - // return false; - // } else if (nList[xi].anfme > 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].anfme <= 0){ - // layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2}); - // return false; - // } if (nList[xi].anfme <= 0){ layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2}); + return false; + } + if (nList[xi].anfme < nList[xi].workQty){ + layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', {icon: 2}); return false; } } @@ -227,20 +242,15 @@ {type: 'numbers', title: '#'}, {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160}, {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200}, - {field: 'batch', title: '鎵瑰彿'}, + {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: 'workQty', 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) - } $(layero).find('.layui-table-view').css('margin', '0'); }, size: '' @@ -271,6 +281,10 @@ 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' @@ -288,35 +302,32 @@ }); // 鏄庣粏鏁版嵁淇敼 table.on('edit(formSSXMTable)', function (obj) { - if (obj.field === 'memo'){ - for (let i=0;i<xxDataList.length;i++) { - if (xxDataList[i]["matnr"] === obj.data.matnr && xxDataList[i]["batch"] === obj.data.batch) { - xxDataList[i]["memo"] = obj.value; - break; - } - } - } else if (obj.field==='anfme'){ + 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) { - for (let i=0;i<xxDataList.length;i++) { - if (xxDataList[i]["matnr"] === obj.data.matnr && xxDataList[i]["batch"] === obj.data.batch) { - xxDataList[i]["anfme"] = vle; - break; - } - } - } else { + if (vle <= 0) { layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2}); + // data[obj.field] = 0; + // insTbSSXM.reload({data: xxDataList}); + return false; + } + if(obj.value < data.workQty){ + layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2}); + // data[obj.field] = 0; + // insTbSSXM.reload({data: xxDataList}); return false; } } } + data[obj.field] = obj.value; insTbSSXM.reload({data: xxDataList}); }); - // + $('#matAddBtnComment').click(function () { showEditModel2(); }); @@ -326,41 +337,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/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}) - } + 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; @@ -394,6 +398,233 @@ }); } }) + + // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯 + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + } + }); + } + + function KingShowEditModel(expTpe) { + console.log(expTpe) + admin.open({ + type: 1, + title: '娣诲姞鎸囧畾鍗曟嵁', + content: $('#KingEditDialog').html(), + area: '1300px', + success: function (layero, dIndex) { + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + var isExpAdd = !expTpe; + // 鍥炴樉鏁版嵁 + form.val('KingEditForm', expTpe); + if (expTpe) { + $('#orderNo').attr("disabled", "disabled"); + } + // 琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(orderEditSubmit1)', function (data) { + let nList = admin.util.deepClone(xxDataList); + layer.load(2); + $.ajax({ + url: baseUrl+"/order/form/KingDeeadd/authtest", + headers: {'token': localStorage.getItem('token')}, + 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); + $(".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}); + } + } + }) + return false; + }); + // 鏄庣粏琛ㄦ牸 + 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: 'workQty', 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') { + 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].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}); + // data[obj.field] = 0; + // insTbSSXM.reload({data: xxDataList}); + return false; + } + if(obj.value < data.workQty){ + layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2}); + // data[obj.field] = 0; + // insTbSSXM.reload({data: xxDataList}); + 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: '680px', + title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏', + content: $('#matEditDialog').html(), + success: function (layero, dIndex) { + // 鍥炴樉鏁版嵁 + form.val('matEditForm', exp); + // 琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(matEditSubmit)', function (data) { + 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; + }); + // 娓叉煋鐗╂枡閫夋嫨 + 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'); @@ -439,6 +670,44 @@ }); } + // 淇敼璁㈠崟鐘舵�� + 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+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + layDate.render({ elem: '.layui-laydate-range' ,type: 'datetime' -- Gitblit v1.9.1