From 8bcd0cc77b0c7aa2c00ffd926ee87f1f09a3a3b5 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 11 八月 2025 10:07:48 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue |   87 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 69 insertions(+), 18 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue
index fba7a6f..fb30922 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue
@@ -23,7 +23,8 @@
 let filterData = ref({})
 
 const data = ref({
-  printList: []
+  printList: [],
+  isRepeat:false
 })
 
 let props = defineProps({
@@ -31,7 +32,8 @@
   faceOrientation:null,//鍐呭闈�
   type:null,//鏍囩妯℃澘
   lableType:null,//鏍囩绫诲瀷
-  switch:null//鍒ゆ柇鏄惁涓烘柊鎵撳嵃
+  switch:null,//鍒ゆ柇鏄惁涓烘柊鎵撳嵃
+  lastList:[],
 })
 
 const {currentRoute} = useRouter()
@@ -46,25 +48,41 @@
 }
 let lableType = props.lableType
 data.value.printList = JSON.parse(props.list)
-let switchType = props.switch
 onMounted(() => {
       request.post(`/processCard/getSelectPrintCustomLabel/${type}/${lableType}`, data.value).then((res) => {
         if (res.code == 200) {
-
           produceList.value = deepClone(res.data.title)
           list.value = deepClone(res.data.data)
           const data = produceList.value[0].value
           dataList = JSON.parse(`[${data}]`);
-          if (switchType===true){
-            labelList = props.titleList
-          }else {
-            labelList = dataList[0]
-          }
+          const printElements = dataList[0].panels[0].printElements;
+          let a = []
+          printElements.forEach(element => {
+            if(element.options.field==='table'){
+              element.options.columns[0].forEach(elements => {
+                if(elements.field){
+                  a.push({
+                        title: elements.title,
+                        name: elements.field
+                      }
+                  )
+                }
+              })
+            }else{
+              a.push({
+                title: element.options.title,
+                name: element.options.field
+              })
+            }
+          })
+          labelList = a
+
+          props.lastList.length = 0;
           for (let i = 0; i < list.value.length; i++) {
             let count = list.value[i].data.length
             for (let j = 0; j < count; j++) {
               for (let k = 0; k < list.value[i].data[j].quantity; k++) {
-                lastList.value.push(list.value[i].data[j])
+                props.lastList.push(list.value[i].data[j])
               }
             }
           }
@@ -78,6 +96,7 @@
 
 //淇敼鐩稿悓浜у搧鍚嶇О鏍囩
 const updateProductName = (event, index,id) => {
+  console.log(id,index)
   // 鍒涘缓鏄犲皠瀵硅薄
   const propertyMapping = {};
   labelList.forEach(item => {
@@ -101,11 +120,12 @@
   }
 
   // 閬嶅巻 lastList 骞舵洿鏂板搴旂殑灞炴��
-  lastList.value.forEach(obj => {
+  props.lastList.forEach(obj => {
     // 鑾峰彇鍓嶇紑鍜� orderId
-    const prefix = lastList.value[index].processId.substring(0, 11);
+    console.log(index)
+    const prefix = props.lastList[id].processId.substring(0, 11);
     const orderId = obj.orderId;
-    const glassNumber=lastList.value[index].glassNumber
+    const glassNumber=props.lastList[id].glassNumber
     // 鏍规嵁 propertyName 鏇存柊灞炴��
     if (propertyName === 'productAbbreviation' && prefix === obj.processId.substring(0, 11)) {
       obj.productAbbreviation = result;
@@ -120,22 +140,53 @@
     if (propertyName === 'customerName' && orderId === obj.orderId){
       obj.customerName = result;
     }
+    if (propertyName === 'orderId' && orderId === obj.orderId){
+      obj.orderId = result;
+    }
+    if (propertyName === 'glassNumber' && glassNumber === obj.glassNumber){
+      obj.glassNumber = result;
+    }
+    if (propertyName === 'width' && glassNumber === obj.glassNumber){
+      obj.width = result;
+    }
+    if (propertyName === 'height' && glassNumber === obj.glassNumber){
+      obj.height = result;
+    }
+    if (propertyName === 'custom1' && orderId === obj.orderId){
+      obj.custom1 = result;
+    }
+    if (propertyName === 'custom2' && orderId === obj.orderId){
+      obj.custom2 = result;
+    }
+    if (propertyName === 'custom3' && orderId === obj.orderId){
+      obj.custom3 = result;
+    }
+    if (propertyName === 'custom4' && orderId === obj.orderId){
+      obj.custom4 = result;
+    }
+    if (propertyName === 'custom5' && orderId === obj.orderId){
+      obj.custom5 = result;
+    }
   });
 }
 
 </script>
 
 <template>
-  <div id="print" :class="company.printLabel.className.semi.printFlowCardName()">
-    <div v-for="(item1,id) in lastList" :class="company.printLabel.className.semi.entiretyName()">
+  <div id="print" class="printFlowCard_semi">
+
+      <template v-for="(item1,index) in props.lastList">
+        <div class="entirety_semi">
       <div class="row4">{{ faceOrientation }}</div>
-      <div  v-for="(item,id) in labelList" :class="company.printLabel.className.semi.contentRowName()">
+      <div  v-for="(item,id) in labelList" class="contentRow">
         <div contenteditable="true" v-if="item1[item.name] != null && item1[item.name] !== ''" class="row1" @input="updateProductName($event, id,index)">{{ item.title }}锛歿{ item1[item.name] }}</div>
         <!--        <div v-if="item1[item.name] != null && item1[item.name] !== ''" class="row2">{{ item1[item.name] }}</div>-->
       </div>
       <div v-html="company.printLabel.customSemi(item1)"></div>
-      <div v-if="(id + 1) % 2 === 0" class="pagebreak"></div>
-    </div>
+        </div>
+        <div v-if="(id + 1) % 2 === 0" class="pagebreak"></div>
+      </template>
+
   </div>
 
 

--
Gitblit v1.8.0