From 7b8cc84950a3caeb8cae5e99a7aa99c1aafa6ac7 Mon Sep 17 00:00:00 2001 From: guoyuji <guoyujie@ng.com> Date: 星期四, 22 二月 2024 14:18:17 +0800 Subject: [PATCH] 提交分架代码 --- north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue | 145 ++++++++++++++++++++++++++++++++++++++++-------- north-glass-erp/target/classes/mapper/pp/FolwCard.xml | 11 ++- north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java | 3 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 11 ++- 4 files changed, 134 insertions(+), 36 deletions(-) diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue index cd8f6b0..c9978b9 100644 --- a/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue +++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue @@ -99,7 +99,7 @@ request.post(`/processCard/selectNoCard/${orderId}/${productionId}`, filterData.value).then((res) => { if (res.code == 200) { - console.log(res.data.data) + //console.log(res.data) pageTotal.value = res.data.total produceList = produceList.value.concat(deepClone(res.data.data)) xGrid.value.reloadData(produceList) @@ -183,24 +183,24 @@ },//琛ㄥご鍙傛暟 columns:[ {type: 'checkbox', fixed: "left", title: '閫夋嫨'}, - {field: 'orderDetail.orderNumber', title: '璁㈠簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' } }, - {field: 'orderDetail.shape', title: '褰㈢姸', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, - {field: 'orderDetail.width', title: '瀹�', filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, - {field: 'orderDetail.height', title: '楂�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, - {field: 'orderDetail.quantity', title: '鏁伴噺', showOverflow:"ellipsis"}, - {field: 'orderDetail.computeGrossArea', title: '闈㈢Н'}, - {field: 'product.totalThickness', title: '鎬诲帤搴�'}, - {field: 'product.thickness', title: '鐜荤拑鍘氬害'}, - {field: 'orderDetail.weight', title: '閲嶉噺'} + {field: 'orderNumber', title: '璁㈠簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' } }, + {field: 'shape', title: '褰㈢姸', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + {field: 'width', title: '瀹�', filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + {field: 'height', title: '楂�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + {field: 'baiscQuantity', title: '鏁伴噺', showOverflow:"ellipsis"}, + {field: 'computeGrossArea', title: '闈㈢Н'}, + {field: 'totalThickness', title: '鎬诲帤搴�'}, + {field: 'thickness', title: '鐜荤拑鍘氬害'}, + {field: 'weight', title: '閲嶉噺'} ],//琛ㄥご鎸夐挳 toolbarConfig: { // buttons: [{ // // }], - import: false, - export: true, - print: true, + // import: false, + // export: true, + // print: true, zoom: true, custom: true }, @@ -258,14 +258,14 @@ },//琛ㄥご鍙傛暟 columns:[ {type: 'checkbox', fixed: "left", title: '閫夋嫨'}, - {field: 'orderDetail.orderNumber', title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' },width:130 }, - {field: 'orderDetail.shape', title: '璁㈠簭', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, - {field: 'orderDetail.width', title: '钀芥灦椤哄簭', filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, - {field: 'orderDetail.height', title: '褰㈢姸',filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, - {field: 'orderDetail.quantity', title: '闀胯竟', showOverflow:"ellipsis"}, - {field: 'orderDetail.computeGrossArea', title: '鐭竟'}, - {field: 'product.totalThickness', title: '鎬绘暟閲�'}, - {field: 'product.totalThickness', title: '鎬诲帤搴�'}, + {field: 'processId', title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' },width:130 }, + {field: 'orderNumber', title: '璁㈠簭', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + {field: 'landingSequence', title: '钀芥灦椤哄簭', filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + {field: 'shape', title: '褰㈢姸',filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + {field: 'width', title: '瀹�', showOverflow:"ellipsis"}, + {field: 'height', title: '楂�'}, + {field: 'quantity', title: '鎬绘暟閲�'}, + {field: 'totalThickness', title: '鎬诲帤搴�'}, ],//琛ㄥご鎸夐挳 toolbarConfig: { @@ -298,7 +298,102 @@ } }) +//鍒涘缓娴佺▼鍗� +const createProcessCard = () => { + const $grid = xGrid.value + const checkedList = $grid.getCheckboxRecords() + if(checkedList.length===0){ + ElMessage.warning("璇峰厛閫夋嫨鍙充晶鏁版嵁") + return + } + //productionId + const $gridLeft = xGridLeft.value + const leftData = $gridLeft.getTableData().fullData + let index = 1 + if(leftData.length!==0){ + index = leftData[0].landingSequence + 1 + //index = index.toString().padStart(2, '0') + } + const processId = productionId + index.toString().padStart(2, '0') + checkedList.forEach((item) => { + item.processId = processId + item.landingSequence = index + }) + $gridLeft.insertAt(checkedList) + $grid.remove(checkedList) +} +let checkedNum = ref('') + +//鍚戝彸杈硅〃鏍兼坊鍔犳暟鎹� +const addRight = () => { + try{ + //宸﹁竟琛ㄦ牸瀹氫箟 + const $gridLeft = xGridLeft.value + //鍙宠竟琛ㄦ牸瀹氫箟 + const $grid = xGrid.value + //鑾峰彇宸﹁竟琛ㄦ牸checkbox閫変腑鐨勬暟鎹� + const checkedList = $gridLeft.getCheckboxRecords() + //鍒ゆ柇宸﹁竟琛ㄦ牸鏄惁鏈夐�変腑鐨勬暟鎹� + if(checkedList.length===0){ + ElMessage.warning("璇峰厛閫夋嫨宸︿晶鏁版嵁") + return + } + const regex = /^(\d+|)$/; + if(!regex.test(checkedNum.value)){ + ElMessage.warning("璇疯緭鍏ユ鏁存暟") + return + } + //鍒ゆ柇姝f暣鏁� + if(/^[1-9]\d*$/.test(checkedNum.value)){ + //瀵归�変腑鐨勫乏杈硅〃鏍兼暟鎹繘琛屽惊鐜� + checkedList.forEach((item)=> { + //鍒ゆ柇鍙敤鏁伴噺鏄惁澶т簬绛変簬杈撳叆鐨勬暟閲�,涓嶆弧瓒冲垯鎶涘嚭寮傚父 + if(item.quantity <checkedNum.value) throw new Error("璇疯緭鍏ュ皬浜庣瓑浜庡彲鐢ㄦ暟閲忕殑鏁板瓧"); + //宸﹁竟琛ㄦ牸鍙敤鏁伴噺鍑忓幓杈撳叆鐨勬暟閲� + item.quantity = item.quantity-checkedNum.value + //鍙宠竟琛ㄦ牸鏁版嵁 + let rightData = $grid.getTableData().fullData + //鍙宠竟琛ㄦ牸鏁版嵁涓煡鎵惧綋鍓嶆暟鎹笅鏍� + let filterIndex = rightData.findIndex(item1 => item1.orderNumber === item.orderNumber) + //濡傛灉鍙宠竟琛ㄦ牸鏁版嵁涓瓨鍦ㄥ綋鍓嶆暟鎹垯鏁伴噺鐩稿姞 + if (filterIndex>=0){ + rightData[filterIndex].baiscQuantity =rightData[filterIndex].baiscQuantity*1+ checkedNum.value*1 + //濡傛灉宸﹁竟鏁伴噺涓�0鏃跺垹闄ゆ鏉℃暟鎹� + if(item.quantity=== 0){ + $gridLeft.remove(item) + } + }else { + //鍙宠竟琛ㄦ牸娌℃湁姝ゆ潯鏁版嵁鍒欏線鍙宠竟琛ㄦ牸鎻掑叆鏁版嵁 + item.baiscQuantity = checkedNum.value + $grid.insert(item) + } + }) + }else if(checkedNum.value===''){//鍒ゆ柇鏁伴噺杈撳叆妗嗘湁鏃犺緭鍏ユ暟瀛� + + checkedList.forEach((item)=> { + let rightData = $grid.getTableData().fullData + let filterIndex = rightData.findIndex(item1 => item1.orderNumber === item.orderNumber) + //鏃犺緭鍏ュ苟涓斿鏋滃彸杈硅〃鏍兼暟鎹腑瀛樺湪褰撳墠鏁版嵁鍒欐暟閲忕浉鍔� + if(filterIndex>-1){ + rightData[filterIndex].baiscQuantity =rightData[filterIndex].baiscQuantity*1+ item.quantity*1 + }else{ + $grid.insert(item) + } + + $gridLeft.remove(item) + }) + } + + } + catch (e){ + ElMessage.warning(e.message) + } +} +//鍚戝乏杈硅〃鏍兼坊鍔犳暟鎹� +const addLeft = () => { + +} </script> @@ -364,14 +459,14 @@ <el-main width="12%" style=""> <span>鏈垎鏁伴噺:45</span><br> <span>鏈垎閲嶉噺:333</span><br> - <span>閫変腑鏁伴噺:<el-input></el-input></span><br> - <el-button type="primary"> 鈫� </el-button> + <span>閫変腑鏁伴噺:<el-input type="number" v-model="checkedNum"></el-input></span><br> + <el-button type="primary" @click="addRight"> 鈫� </el-button> <br> <br> - <el-button type="primary"> 鈫� </el-button> + <el-button type="primary" @click="addLeft"> 鈫� </el-button> <br> <br> - <el-button type="primary">寤虹珛娴佺▼鍗�</el-button> + <el-button @click="createProcessCard" type="primary">寤虹珛娴佺▼鍗�</el-button> </el-main> <el-aside width="44%" style=""> diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java index b793093..8234c1c 100644 --- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java +++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java @@ -8,6 +8,7 @@ import java.sql.Date; import java.util.List; +import java.util.Map; @Mapper public interface FlowCardMapper { @@ -22,5 +23,5 @@ Boolean DeleteFlowCardMp(String orderId, String processId); - List<FlowCard> SelectNoCardMp(String orderId, String productionId, FlowCard flowCard); + List<Map<String,String>> SelectNoCardMp(String orderId, String productionId, FlowCard flowCard); } diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml index b0b3925..64ce755 100644 --- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml +++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml @@ -151,16 +151,17 @@ where od.order_id = #{orderId} and od.product_name = #{productName} </update> - - <select id="SelectNoCardMp" resultMap="flowCardMap"> +<!--resultMap="flowCardMap"--> + <select id="SelectNoCardMp" > select - od.order_number, + od.order_number AS 'orderNumber', od.width, od.height, od.shape, od.quantity, - od.compute_gross_area, - p.total_thickness, + od.quantity as baiscQuantity, + od.compute_gross_area as 'computeGrossArea', + p.total_thickness AS 'totalThickness', p.thickness, od.weight from diff --git a/north-glass-erp/target/classes/mapper/pp/FolwCard.xml b/north-glass-erp/target/classes/mapper/pp/FolwCard.xml index b0b3925..64ce755 100644 --- a/north-glass-erp/target/classes/mapper/pp/FolwCard.xml +++ b/north-glass-erp/target/classes/mapper/pp/FolwCard.xml @@ -151,16 +151,17 @@ where od.order_id = #{orderId} and od.product_name = #{productName} </update> - - <select id="SelectNoCardMp" resultMap="flowCardMap"> +<!--resultMap="flowCardMap"--> + <select id="SelectNoCardMp" > select - od.order_number, + od.order_number AS 'orderNumber', od.width, od.height, od.shape, od.quantity, - od.compute_gross_area, - p.total_thickness, + od.quantity as baiscQuantity, + od.compute_gross_area as 'computeGrossArea', + p.total_thickness AS 'totalThickness', p.thickness, od.weight from -- Gitblit v1.8.0