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