From 33dbc6a161554f3a897f9e9273feb4f2c1b47381 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 15 十二月 2025 17:04:27 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue |   83 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 68 insertions(+), 15 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
index 2e52072..c3b4eee 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
@@ -21,6 +21,7 @@
 import {CircleCheck, Download, Printer} from "@element-plus/icons-vue/global";
 import TagStyleDesigner from "@/components/pp/TagStyleDesigner.vue";
 import {hiprint} from "vue-plugin-hiprint";
+import {createTemplate} from "@/hook/createTemplateTag"
 
 const company = companyInfo()
 
@@ -180,12 +181,14 @@
 const data = ref({
   printList: []
 })
-
+let hiprintTemplate = ref(null)
 onMounted(async () => {
   await getTags();
   await hiprint.init();
+
+
 })
-let hiprintTemplate = ref()
+
 
 const tags = ref([])
 
@@ -201,26 +204,50 @@
 
 const changeTag = () => {
   hiprintTemplate.value = new hiprint.PrintTemplate({});
-  const json = JSON.parse(tag.value.value)
+  hiprintTemplate.value.design("#hiprint-printTemplate1",{grid:true});
+  const json = tag.value.value
   hiprintTemplate.value.update(json)
 }
 
 const getTags = () => {
   request.get('tagStyle/getTagList').then(res => {
+    res.data.forEach(item => {
+      item.value = JSON.parse(item.value)
+    })
     tags.value = res.data
   })
 }
 const printOrder = (type) => {
-  const list = hiprintTemplate.value.getJson()
+  printNumber()
+  const list = tag.value.value
   list.panels[0].printElements.forEach(element => {
     element.options.fontFamily = 'Arial'
+    if( element.options.field !== undefined){
+      if(type===3 ){
+        element.options.hideTitle = true
+      }
+    }
+    if(type!==3){
+      element.options.hideTitle = false
+      if( element.options.field === undefined){
+        element.options.hideTitle = true
+      }
+    }
   })
-  let object =  lastList.value
+
+  //hiprintTemplate.value.update(list)
+  let object =  JSON.parse(JSON.stringify(lastList.value))
   //鍒ゆ柇鏄惁涓鸿〃鏍�
   let columnsNum = null
   if(list.panels[0].printElements[0].options.field==='table'){
     object = {table:lastList.value}
     columnsNum = (list.panels[0].printElements[0].options.gridColumns || 1)
+  }
+  //鍒ゆ柇鏄惁鏈� 宓屽鑷畾涔夌焊寮�
+  if(tag.value.tagHeight && tag.value.tagWidth){
+    const print =createTemplate(list,object,tag.value.tagWidth,tag.value.tagHeight)
+    hiprintTemplate.value.update(print.template)
+    object = print.printData
   }
   hiprintTemplate.value.print(object)
 
@@ -320,6 +347,9 @@
     {title: t('basicData.operate'), width: 55, slots: {default: 'button_slot'}, fixed: "left"},
     {type: 'checkbox', fixed: "left", title: t('basicData.check'), width: 80},
     {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
+    {field: 'printQuantity', title: t('processCard.printQuantity'), width: 90,
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+    },
     {
       field: 'order_id',
       title: t('order.orderId'),
@@ -367,6 +397,14 @@
       , sortable: true
     },
     {
+      field: 'building_number',
+      title: t('processCard.buildingNumber'),
+      filters: [{data: ''}],
+      slots: {filter: 'num1_filter'},
+      filterMethod: filterChanged, width: 120
+      , sortable: true
+    },
+    {
       field: 'width',
       title: t('order.width'),
       filters: [{data: ''}],
@@ -388,9 +426,7 @@
       filterMethod: filterChanged, width: 100
     },
     {field: 'quantity', title: t('order.quantity'), width: 90},
-    {field: 'printQuantity', title: t('processCard.printQuantity'), width: 90,
-      editRender: {name: 'input', attrs: {placeholder: ''}},
-    },
+
     {field: 'total_area', title: t('order.area'), width: 90},
     {
       field: 'product_name', title: t('order.product'), width: 120,
@@ -675,7 +711,7 @@
             return
           }
           if (printMerge.value === null || printMerge.value === '') {
-            ElMessage.warning('璇峰~鍏ラ渶瑕佸悎骞剁殑灞�')
+            ElMessage.warning(t('rework.msg1'))
             return
           }
 
@@ -813,7 +849,7 @@
 const printNumber = () => {
 
   selectRecordsData.value.printList = selectRecords
-  request.post(`/processCard/updatePrintNumber`, selectRecordsData.value).then((res) => {
+  request.post(`/tagStyle/updatePrintNumber`, selectRecordsData.value).then((res) => {
     if (res.code == 200 && res.data === true) {
     } else {
 
@@ -853,7 +889,7 @@
         />
       </el-select>
       &nbsp;
-      <el-select v-model="stateValue" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
+      <el-select v-model="stateValue" v-show="false" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
                  filterable style="width: 140px">
         <el-option
             v-for="item in stateOptions"
@@ -932,7 +968,7 @@
         destroy-on-close
         style="width: 75%;height:75% ">
       <template #header="{ close, titleId, titleClass }">
-        <el-button v-print="printContent" :icon="Printer" circle @click="printNumber"/>
+        <el-button v-print="printContent" :icon="Printer" circle />
       </template>
       <print-process
           id="child"
@@ -969,7 +1005,7 @@
         destroy-on-close
         style="width: 80%;height:75% ">
       <template #header="{ close, titleId, titleClass }">
-        <el-button v-print="printContentLabelSemi" :icon="Printer" circle/>
+        <el-button v-print="printContentLabelSemi" :icon="Printer" circle @click="printNumber"/>
       </template>
       <print-custom-label-semi id="childLabelSemi"
                                :faceOrientation="labelRow.faceOrientation"
@@ -998,7 +1034,7 @@
         :close-on-press-escape="false"
         :title="$t('processCard.labelStyle')"
         destroy-on-close
-        style="width: 90%;height:93%;margin-top: 3vh ">
+        style="width: 90%;height:91%;margin-top: 3vh ">
       <!--      <tag-style style="width: 100%;height: 100%"/>-->
       <tag-style-designer :faceOrientation="labelRow.faceOrientation"
                           :lableType="labelRow.lableType"
@@ -1016,7 +1052,24 @@
         destroy-on-close
         style="width: 80%;height:75% ">
       <template #header="{ close, titleId, titleClass }">
-        <el-button :icon="Printer" circle @click="printOrder(1)"/>
+        <el-tooltip
+            class="box-item"
+            effect="dark"
+            :content="$t('processCard.yesTitle')"
+            placement="top"
+        >
+          <el-button :icon="Printer" circle @click="printOrder(1)"/>
+        </el-tooltip>
+        <el-tooltip
+            class="box-item"
+            effect="dark"
+            :content="$t('processCard.noTitle')"
+            placement="top"
+        >
+          <el-button @click="printOrder(3)">
+            <i class="vxe-icon-print"></i>
+          </el-button>
+        </el-tooltip>
       </template>
       <print-custom-label-x-j id="childLabel"
                               :faceOrientation="labelRow.faceOrientation"

--
Gitblit v1.8.0