From ba08476e1ddeca6d7081fadf52710ce45c89d39d Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 05 八月 2025 11:06:23 +0800
Subject: [PATCH] 补充报工新增语言,修改补片打印时,多个流程卡号在同一个补片单号下出现的问题,分架排序改为前端排序
---
north-glass-erp/northglass-erp/src/lang/en.js | 4 +
north-glass-erp/northglass-erp/src/lang/ar.js | 4 +
north-glass-erp/northglass-erp/src/lang/ru.js | 4 +
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue | 73 +++++++++---------------
north-glass-erp/northglass-erp/src/lang/zh.js | 5 +
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue | 70 ++++++++++++++---------
north-glass-erp/northglass-erp/src/lang/kr.js | 4 +
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue | 10 +-
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml | 3
9 files changed, 97 insertions(+), 80 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue
index fc8c7e7..98d9178 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue
@@ -176,7 +176,11 @@
flowCardCount=produceList.value.length
handleSummary()
- handleGetQRCode()
+ if (name=='澶╂触鍖楃幓鐜荤拑宸ヤ笟鎶�鏈湁闄愬叕鍙革紙TJBB-QR7.1-01锛�'){
+ handleGetQRCodeTj()//澶╂触鎵爜鏋姤宸ラ渶瑕佸悎骞跺眰鍙蜂簩缁寸爜
+ }else{
+ handleGetQRCode()//鎷嗗垎灞傚彿浜岀淮鐮�
+ }
} else {
ElMessage.warning(res.msg)
router.push("/login")
@@ -185,44 +189,54 @@
}
)
+
const handleGetQRCode = async () => {
for (let i = 0; i < produceList.value.length; i++) {
- const detail = produceList.value[i].detail[0];
- const processId = detail.process_id;
- const mergeStr = detail.mergeTechnologyNumber?.toString() || '';
+ const detailItem = produceList.value[i].detail[0];
+ const detailList = produceList.value[i].detailList;
- detail.qrcodeList = []; // 鍒濆鍖�
+ const mergeTechNumber = detailItem.mergeTechnologyNumber.toString();
+ const processId = detailItem.process_id;
+ const url = `${processId}/${mergeTechNumber}`;
- for (let j = 0; j < mergeStr.length; j++) {
- const singleTech = mergeStr[j]; // 鍙栧嚭姣忎竴浣嶅瓧绗�
- const url = `${processId}/${singleTech}`;
- const qrcodeData = await QRCode.toDataURL(url);
- detail.qrcodeList.push({
+ const qrcodeData = await QRCode.toDataURL(url);
+ detailItem.qrcodeList = [];
+
+ //鍌ㄥ瓨灞傚彿
+ const seenTechNumbers = new Set();
+
+ for (let j = 0; j < detailList.length; j++) {
+ const techNum = detailList[j].technology_number;
+ //鏈夊垯璺宠繃
+ if (seenTechNumbers.has(techNum)) continue;
+ detailItem.qrcodeList.push({
qrcode: qrcodeData,
- technologyNumber: singleTech
+ technologyNumber: techNum
});
+
+ seenTechNumbers.add(techNum);
}
}
};
-// const handleGetQRCode = async () => {
-// let technologyNumber=''
-// for (let i = 0; i < produceList.value.length; i++) {
-//
-// const technologyNumber = produceList.value[i].detail[0].technologyNumber.toString(); // 杞崲涓哄瓧绗︿覆浠ヤ究澶勭悊姣忎釜瀛楃
-// produceList.value[i].detail[0]["qrcodeList"] = []; // 鍒濆鍖栦竴涓┖鏁扮粍鐢ㄦ潵瀛樺偍 QR Code
-// const merge = produceList.value[i].detail[0].mergeTechnologyNumber.toString();
-// const processId = produceList.value[i].detail[0].process_id;
-// const url = `${processId}/${technologyNumber}`;
-// // 鐢熸垚 QR Code 骞跺瓨鍌ㄥ埌鏁扮粍涓�
-// const qrcodeData = await QRCode.toDataURL(url);
-// produceList.value[i].detail[0]["qrcodeList"].push({
-// qrcode: qrcodeData,
-// technologyNumber: technologyNumber
-// });
-// }
-// };
+
+const handleGetQRCodeTj = async () => {
+ let technologyNumber=''
+ for (let i = 0; i < produceList.value.length; i++) {
+ const technologyNumber = produceList.value[i].detail[0].mergeTechnologyNumber.toString(); // 杞崲涓哄瓧绗︿覆浠ヤ究澶勭悊姣忎釜瀛楃
+ produceList.value[i].detail[0]["qrcodeList"] = []; // 鍒濆鍖栦竴涓┖鏁扮粍鐢ㄦ潵瀛樺偍 QR Code
+
+ const processId = produceList.value[i].detail[0].process_id;
+ const url = `${processId}/${technologyNumber}`;
+ // 鐢熸垚 QR Code 骞跺瓨鍌ㄥ埌鏁扮粍涓�
+ const qrcodeData = await QRCode.toDataURL(url);
+ produceList.value[i].detail[0]["qrcodeList"].push({
+ qrcode: qrcodeData,
+ technologyNumber: technologyNumber
+ });
+ }
+};
//鏍规嵁杈撳叆鐨勬暟閲忛噸鏂版眹鎬�
diff --git a/north-glass-erp/northglass-erp/src/lang/ar.js b/north-glass-erp/northglass-erp/src/lang/ar.js
index 75d55de..5a28319 100644
--- a/north-glass-erp/northglass-erp/src/lang/ar.js
+++ b/north-glass-erp/northglass-erp/src/lang/ar.js
@@ -639,6 +639,10 @@
pleaseNumber8:'丕賱乇噩丕亍 廿丿禺丕賱 丕賱乇賯賲 丕賱鬲爻賱爻賱賷',
pleaseNumber9:'鬲氐丨賷丨 丕賱賰賲賷丞 丕賱賳賴丕卅賷丞 兀賵 丕賱賲毓賱賯丞',
pleaseNumber10:'瀹屽伐鏁颁笉鑳藉ぇ浜庢祦绋嬪崱鏁伴噺',
+ pleaseNumber11:'瀹屽伐+娆$牬鏁伴噺涓嶈兘澶т簬鍙畬宸ユ暟閲�',
+ pleaseNumber12:'鏈伐搴忔姤宸ユ暟:',
+ pleaseNumber13:'涓嬪伐搴忔姤宸ユ暟:',
+ pleaseNumber14:'鏈伐搴忎慨鏀规暟涓嶈兘灏忎簬涓嬪伐搴忔姤宸ユ暟',
},
productStock:{
page:{
diff --git a/north-glass-erp/northglass-erp/src/lang/en.js b/north-glass-erp/northglass-erp/src/lang/en.js
index 1850c44..c263cc5 100644
--- a/north-glass-erp/northglass-erp/src/lang/en.js
+++ b/north-glass-erp/northglass-erp/src/lang/en.js
@@ -640,6 +640,10 @@
pleaseNumber8:'Please enter serial number',
pleaseNumber9:'Correct number of completions or breakdowns',
pleaseNumber10:'The number of completions cannot be greater than the number of process cards',
+ pleaseNumber11:'瀹屽伐+娆$牬鏁伴噺涓嶈兘澶т簬鍙畬宸ユ暟閲�',
+ pleaseNumber12:'鏈伐搴忔姤宸ユ暟:',
+ pleaseNumber13:'涓嬪伐搴忔姤宸ユ暟:',
+ pleaseNumber14:'鏈伐搴忎慨鏀规暟涓嶈兘灏忎簬涓嬪伐搴忔姤宸ユ暟',
},
productStock:{
diff --git a/north-glass-erp/northglass-erp/src/lang/kr.js b/north-glass-erp/northglass-erp/src/lang/kr.js
index b25a8b4..eeb55ed 100644
--- a/north-glass-erp/northglass-erp/src/lang/kr.js
+++ b/north-glass-erp/northglass-erp/src/lang/kr.js
@@ -648,6 +648,10 @@
pleaseNumber8:'鞚茧牗氩堩樃毳� 鞛呺牓頃� 欤检劯鞖�',
pleaseNumber9:'鞝曧檿頃� 鞏戫拡 順轨潃 攵堧焿 靾橂焿',
pleaseNumber10:'鞏戫拡 靾橂焿鞚� 頂勲靹胳姢 旃措摐 齑濍焿鞚� 齑堦臣頃� 靾� 鞐嗢姷雼堧嫟.',
+ pleaseNumber11:'瀹屽伐+娆$牬鏁伴噺涓嶈兘澶т簬鍙畬宸ユ暟閲�',
+ pleaseNumber12:'鏈伐搴忔姤宸ユ暟:',
+ pleaseNumber13:'涓嬪伐搴忔姤宸ユ暟:',
+ pleaseNumber14:'鏈伐搴忎慨鏀规暟涓嶈兘灏忎簬涓嬪伐搴忔姤宸ユ暟',
},
productStock:{
page:{
diff --git a/north-glass-erp/northglass-erp/src/lang/ru.js b/north-glass-erp/northglass-erp/src/lang/ru.js
index e48a76b..b5fd8ca 100644
--- a/north-glass-erp/northglass-erp/src/lang/ru.js
+++ b/north-glass-erp/northglass-erp/src/lang/ru.js
@@ -637,6 +637,10 @@
pleaseNumber8:'袙胁械写懈褌械 褋械褉懈泄薪褘泄 薪芯屑械褉.',
pleaseNumber9:'袩褉邪胁懈谢褜薪芯械 蟹邪胁械褉褕械薪懈械 懈 泻芯谢懈褔械褋褌胁芯 锌芯胁褉械卸写械薪薪褘褏',
pleaseNumber10:'瀹屽伐鏁颁笉鑳藉ぇ浜庢祦绋嬪崱鏁伴噺',
+ pleaseNumber11:'瀹屽伐+娆$牬鏁伴噺涓嶈兘澶т簬鍙畬宸ユ暟閲�',
+ pleaseNumber12:'鏈伐搴忔姤宸ユ暟:',
+ pleaseNumber13:'涓嬪伐搴忔姤宸ユ暟:',
+ pleaseNumber14:'鏈伐搴忎慨鏀规暟涓嶈兘灏忎簬涓嬪伐搴忔姤宸ユ暟',
},
productStock:{
page:{
diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index ee1a514..22cbfd6 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -655,7 +655,10 @@
pleaseNumber8:'璇疯緭鍏ュ簭鍙�',
pleaseNumber9:'姝g‘鐨勫畬宸ユ垨娆$牬鏁伴噺',
pleaseNumber10:'瀹屽伐鏁颁笉鑳藉ぇ浜庢祦绋嬪崱鏁伴噺',
- pleaseNumber11:'鍙慨鏀规暟閲忎笉瓒�',
+ pleaseNumber11:'瀹屽伐+娆$牬鏁伴噺涓嶈兘澶т簬鍙畬宸ユ暟閲�',
+ pleaseNumber12:'鏈伐搴忔姤宸ユ暟:',
+ pleaseNumber13:'涓嬪伐搴忔姤宸ユ暟:',
+ pleaseNumber14:'鏈伐搴忎慨鏀规暟涓嶈兘灏忎簬涓嬪伐搴忔姤宸ユ暟',
},
productStock:{
page:{
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 d32e8dd..2bad006 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
@@ -324,48 +324,31 @@
})
const gridEventsRight = {
toolbarButtonClick({code}) {
- const $grid = xGridLeft.value
+ const $grid = xGrid.value
if ($grid) {
switch (code) {
case 'sorting': {
- request.post(`/processCard/selectSortingCard/${orderId}/${productionId}/${flashback.value}/${optionVal.value}`, filterData.value).then((res) => {
- if (res.code == 200) {
- pageTotal.value = res.data.total
- maxProcseeId = res.data.maxFlowCard[0].process_id
- orderOtherMoney.value = res.data.orderOtherMoney
-
- //宸叉湁鐨勪笉娣诲姞
- const dynamicFields = orderOtherMoney.value.map(item => item.column)
- gridOptions.columns = gridOptions.columns.filter(col => !dynamicFields.includes(col.field))
-
- // 娣诲姞鏂扮殑鍔ㄦ�佸垪
- orderOtherMoney.value.forEach(item => {
- let column = {
- field: `${item.column}`,
- width: 100,
- title: item.alias,
- filters: [{data: ''}],
- slots: {filter: 'num1_filter'},
- filterMethod: filterChanged,
- sortable: true
- }
-
- gridOptions.columns.push(column)
-
- })
- produceList = res.data.data
- produceList.forEach(item => {
-
- item.shape = (item.shape == 2) ? t('order.alien') : t('order.universalShape');
- })
- xGrid.value.reloadData(produceList)
- gridOptions.loading = false
- } else {
- ElMessage.warning(res.msg)
- }
- })
- return;
-
+ const rightData = $grid.getTableData().fullData
+ let sortedRule = optionVal.value // "0 瀹介珮" 鎴� "1 楂樺"
+ let sortedData = []
+ if (sortedRule == 0) {
+ sortedData = rightData.sort((a, b) => {
+ if (a.width === b.width) {
+ return a.height - b.height
+ }
+ return a.width - b.width
+ })
+ } else if (sortedRule == 1) {
+ sortedData = rightData.sort((a, b) => {
+ if (a.height === b.height) {
+ return a.width - b.width
+ }
+ return a.height - b.height
+ })
+ }
+ // 鎺掑簭鍚庢洿鏂拌〃鏍兼暟鎹�
+ $grid.loadData(sortedData)
+ return
}
}
@@ -1167,12 +1150,12 @@
{{ t('processCard.sorting') }}
</el-button>
- <el-checkbox
- :model-value="flashback === 0"
- @change="onFlashbackChange"
- >
- {{ t('processCard.flashback') }}
- </el-checkbox>
+<!-- <el-checkbox-->
+<!-- :model-value="flashback === 0"-->
+<!-- @change="onFlashbackChange"-->
+<!-- >-->
+<!-- {{ t('processCard.flashback') }}-->
+<!-- </el-checkbox>-->
</template>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
index f26755b..79b36f6 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -2,7 +2,7 @@
import {computed, nextTick, onMounted, onUnmounted, reactive, ref, toRefs} from "vue";
import {useRouter,useRoute} from 'vue-router'
import request from "@/utils/request";
-import {ElMessage} from "element-plus";
+import {ElCheckbox, ElMessage} from "element-plus";
import {changeFilterEvent, filterChanged} from "@/hook"
import domZIndex from 'dom-zindex'
import {indexOf} from "xe-utils";
@@ -420,7 +420,7 @@
return new Error(t('reportingWorks.enterIntegerGreaterThanEqualTo'))
//瀹屽伐+娆$牬鏁伴噺涓嶈兘澶т簬鍙畬宸ユ暟閲�
}else if((row.completedQuantity*1+brokenNum*1)>row.quantity*1){
- return new Error((`瀹屽伐+娆$牬鏁伴噺涓嶈兘澶т簬鍙畬宸ユ暟閲廯))
+ return new Error(t('reportingWorks.pleaseNumber11'))
//鏈瀹屽伐鏁伴噺涓嶈兘澶т簬瀹屽伐鏁伴噺
}else if(row.quantity_card<row.completedQuantity){
return new Error(t('reportingWorks.pleaseNumber10'))
@@ -438,9 +438,9 @@
//褰撳彲鎿嶄綔鏁伴噺涓�0锛屽苟涓斿畬宸ユ暟閲忎笉绛変簬鍙畬宸ユ暟閲忔椂
if(row.minQuantity===0 && val!==totalQuantity ){
- return new Error(`鏈伐搴忔姤宸ユ暟锛�${okVal}+${val}=${okVal+val}\n
- 涓嬪伐搴忔姤宸ユ暟锛�${nextQuantitySum}\n
- 鏈伐搴忎慨鏀规暟涓嶈兘灏忎簬涓嬪伐搴忔姤宸ユ暟
+ return new Error(`${t('reportingWorks.pleaseNumber12')} ${okVal}+${val}=${okVal+val}\n
+ ${t('reportingWorks.pleaseNumber13')} ${nextQuantitySum}\n
+ ${t('reportingWorks.pleaseNumber14')}
`)
}
if(titleUploadData.value.reportingWorkId!=null && (val>totalQuantity || val<(row.quantity-row.minQuantity) )){
diff --git a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
index 45be964..4512108 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -512,7 +512,8 @@
and g.technology_number = a.technology_number
</if>
where b.reporting_work_id = #{reportingWorkId}
- GROUP BY c.order_number,c.technology_number) as result
+ GROUP BY c.order_number,c.technology_number
+ order BY c.order_number,c.technology_number) as result
</select>
<select id="selectReportingWorkMp" resultMap="reportingWorkMap">
select rw.reporting_work_id,
--
Gitblit v1.8.0