From 3d9e0ec1c1e457ed3fd2b334cf4c4dd66c10eead Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 23 十二月 2025 11:09:46 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue                    |    1 
 north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue              |   18 ++
 north-glass-erp/northglass-erp/src/lang/zh.js                                        |    2 
 north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet4.vue            |    6 
 north-glass-erp/northglass-erp/src/hook/index.js                                     |    2 
 north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue             |    3 
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                            |    9 
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProgressProcessCard.vue |  152 ++++++++++++++++++++++++
 north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue             |   27 ++++
 north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue               |    6 
 north-glass-erp/northglass-erp/src/views/mm/productStock/CreateProductStock.vue      |   47 ++++---
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue      |    4 
 north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml              |   19 ++
 north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet3.vue            |   40 +++---
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java        |    6 
 15 files changed, 275 insertions(+), 67 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 1db48b7..4e8ead6 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue
@@ -82,13 +82,14 @@
           for (const group of list.value) {
             // 閬嶅巻姣忕粍涓殑鏁版嵁锛堟浛鎹� j锛�
             for (const item of group.data) {
+              console.log(item)
               const { quantity, newList } = item;
               // 璺宠繃 quantity 涓� 0 鎴栨棤鏁堢殑鎯呭喌
+              console.log(quantity)
               if (!quantity || quantity <= 0) continue;
 
               // 澶勭悊 newList锛氱‘淇濇槸鏁扮粍锛屼笉瓒虫椂鐢ㄧ┖瀵硅薄鍏滃簳
               const safeNewList = Array.isArray(newList) ? newList : [];
-
               // 寰幆 quantity 娆★紝娣诲姞鏁版嵁鍒� lastList
               for (let k = 0; k < quantity; k++) {
                 // 娣辨嫹璐� item锛岄伩鍏嶉噸澶嶅紩鐢紙鍏抽敭锛侊級
diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
index 222227b..5ffc88d 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -92,7 +92,6 @@
         //娴佺▼鍗�
         request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}/${props.flashback}/${compound}/${props.landingSequence}`, data.value).then((res) => {
           if (res.code == 200) {
-            console.log(res.data.data)
             load(res.data.data)
           } else {
             ElMessage.warning(res.msg)
diff --git a/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet3.vue b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet3.vue
index 76b679e..61707e9 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet3.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet3.vue
@@ -179,38 +179,38 @@
 
 <template>
   <div id="sheet" class="print-page-c">
-    <table class="pages" v-for="(itme1, index) in groupedData" :key="index" >
+    <table  class="pages" v-for="(itme1, index) in groupedData" :key="index" >
       <thead>
       <tr class="title-s">
-        <th colspan="11">
-          <h1>
+        <th colspan="13">
+          <h1 contenteditable="true">
             {{company.companyName}}
           </h1>
         </th>
       </tr>
 
-      <tr  class="title-s">
-        <th colspan="2" style="width: 20%"></th>
-        <th colspan="7" style="width: 60%;">
+      <tr class="title-s">
+        <th colspan="2" style="width: 20%" ></th>
+        <th colspan="9" style="width: 60%">
           <h4 v-if="!company.showDeliveryCreator" >閲戝崕甯備箰鍔ㄦ櫤鑳界鎶�鏈夐檺鍏徃</h4>
           <h3>閿�鍞彂璐у崟</h3>
         </th>
-        <th colspan="2" style="width: 20%;text-align: left;">鍙戣揣鍗曞彿锛�<span>{{itme1.delivery.deliveryId}}</span></th>
+        <th colspan="2" style="text-align: left;width:20%">鍙戣揣鍗曞彿锛�<span>{{itme1.delivery.deliveryId}}</span></th>
       </tr>
-      <tr>
-        <th style="text-align: left;border:none;" colspan="3">瀹㈡埛鍚嶇О锛�<span>{{itme1.delivery.customerName}}</span></th>
-        <th style="text-align: left;border:none;" colspan="6">椤圭洰鍚嶇О锛�<span>{{itme1.delivery.project}}</span></th>
-        <th style="text-align: left;border:none;" colspan="2">鑱旂郴浜猴細<span>{{itme1.delivery.contacts}}</span></th>
+     <tr>
+        <th style="text-align: left;border:none;width: 46.46%" colspan="6" >瀹㈡埛鍚嶇О锛�<span contenteditable="true">{{itme1.delivery.customerName}}</span></th>
+        <th style="text-align: left;border:none;width: 38.46%" colspan="5">椤圭洰鍚嶇О锛�<span>{{itme1.delivery.project}}</span></th>
+        <th style="text-align: left;border:none;width: 16%" colspan="2">鑱旂郴浜猴細<span>{{itme1.delivery.contacts}}</span></th>
       </tr>
-      <tr>
-        <th style="text-align: left;border:none;" colspan="9">閫佽揣鍦板潃锛�<span>{{itme1.delivery.deliveryAddress}}</span></th>
-        <th style="text-align: left;border:none;" colspan="2">鑱旂郴鐢佃瘽锛�<span>{{itme1.delivery.contactNumber}}</span></th>
+      <tr >
+        <th style="text-align: left;border:none;width: 84%" colspan="11">閫佽揣鍦板潃锛�<span>{{itme1.delivery.deliveryAddress}}</span></th>
+        <th style="text-align: left;border:none;width: 16%" colspan="2">鑱旂郴鐢佃瘽锛�<span>{{itme1.delivery.contactNumber}}</span></th>
       </tr>
 
 
       </thead>
       <tr style="border-style: none">
-        <td colspan="11" style="border-style: none">
+        <td colspan="13" style="border-style: none">
           <table style="border-style: none;width: 100%;height: 100%;">
             <template v-for="(item, index) in itme1.data" :key="index" >
               <thead>
@@ -221,20 +221,19 @@
                 <th style="width: 6%;">闈㈢Н</th>
                 <th style="width: 6%;">鍗曚环</th>
                 <th style="width: 6.5%;">閲戦</th>
-                <th style="width: 1%;"></th>
+                <th style="width: 1%;">&nbsp;</th>
                 <th style="width: 9%;">妤煎眰缂栧彿</th>
                 <th style="width: 14%;" colspan="1">瀹絏楂�</th>
                 <th style="width: 8%;">鏁伴噺</th>
                 <th style="width: 6%;">闈㈢Н</th>
                 <th style="width: 6%;">鍗曚环</th>
                 <th style="width: 6.5%;">閲戦</th>
-                <th style="width: 1%;"></th>
               </tr>
 
 
               </thead>
               <tr>
-                <td style="font-size: 15px;text-align: left" colspan="6">浜у搧鍚嶇О:<span>{{item.DeliveryDetail.orderDetail.productName}}</span></td>
+                <td style="font-size: 15px;text-align: left" colspan="6">浜у搧鍚嶇О:<span contenteditable="true">{{item.DeliveryDetail.orderDetail.productName}}</span></td>
                 <td style="font-size: 15px;text-align: left" colspan="3">鎵规:<span>{{item.DeliveryDetail.order.batch}}</span></td>
                 <td style="font-size: 15px;text-align: left" colspan="4">璁㈠崟缂栧彿:<span>{{item.DeliveryDetail.orderDetail.orderId}}</span></td>
               </tr>
@@ -264,7 +263,7 @@
                 <td v-if="group[1]">{{ group[1].money }}</td>
 
                 <!-- 鑻ョ粍鍐呭彧鏈変竴鏉℃暟鎹紝绗簩鍒楃暀绌� -->
-                <td v-else colspan="5"></td>
+                <td v-else colspan="6"></td>
               </tr>
               <tr class="day-in" >
                 <td style="font-size: 15px;" colspan="9">灏忚:</td>
@@ -407,6 +406,9 @@
   .print-page-c .pages {
     page-break-after: always;
   }
+
+
+
 }
 h1,h3{
   left:0;
diff --git a/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet4.vue b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet4.vue
index a43e363..1b5e006 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet4.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet4.vue
@@ -183,7 +183,7 @@
       <thead>
       <tr class="title-s">
         <th colspan="11">
-          <h1>
+          <h1 contenteditable="true">
             {{company.companyName}}
           </h1>
         </th>
@@ -198,7 +198,7 @@
         <th colspan="2" style="width: 20%;text-align: left;">鍙戣揣鍗曞彿锛�<span>{{itme1.delivery.deliveryId}}</span></th>
       </tr>
       <tr>
-        <th style="text-align: left;border:none;" colspan="3">瀹㈡埛鍚嶇О锛�<span>{{itme1.delivery.customerName}}</span></th>
+        <th style="text-align: left;border:none;" colspan="3">瀹㈡埛鍚嶇О锛�<span contenteditable="true">{{itme1.delivery.customerName}}</span></th>
         <th style="text-align: left;border:none;" colspan="6">椤圭洰鍚嶇О锛�<span>{{itme1.delivery.project}}</span></th>
         <th style="text-align: left;border:none;" colspan="2">鑱旂郴浜猴細<span>{{itme1.delivery.contacts}}</span></th>
       </tr>
@@ -229,7 +229,7 @@
 
               </thead>
               <tr>
-                <td style="font-size: 15px;text-align: left" colspan="5">浜у搧鍚嶇О:<span>{{item.DeliveryDetail.orderDetail.productName}}</span></td>
+                <td style="font-size: 15px;text-align: left" colspan="5">浜у搧鍚嶇О:<span contenteditable="true">{{item.DeliveryDetail.orderDetail.productName}}</span></td>
                 <td style="font-size: 15px;text-align: left" colspan="3">鎵规:<span>{{item.DeliveryDetail.order.batch}}</span></td>
                 <td style="font-size: 15px;text-align: left" colspan="3">璁㈠崟缂栧彿:<span>{{item.DeliveryDetail.orderDetail.orderId}}</span></td>
               </tr>
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
index 6100c64..aea384a 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
@@ -168,9 +168,9 @@
         <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" colspan="4">
           瀹㈡埛鍚嶇О锛�<span>{{ data.order.customerName }}</span></th>
         <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" v-if="data.order.batch!==''" colspan="3">
-          椤圭洰鍚嶇О锛�<span>{{ data.order.project }}({{data.order.batch}})</span></th>
+          椤圭洰鍚嶇О锛�<span style="font-size: 17px;white-space:nowrap;font-weight: bold;">{{ data.order.project }}({{data.order.batch}})</span></th>
         <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" v-else colspan="3">
-          椤圭洰鍚嶇О锛�<span>{{ data.order.project }}</span></th>
+          椤圭洰鍚嶇О锛�<span style="font-size: 17px;white-space:nowrap;font-weight: bold;">{{ data.order.project }}</span></th>
         <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" colspan="2">
           鍙戣揣鏃ユ湡锛�<span>{{ data.order.deliveryDate }}</span></th>
       </tr>
@@ -239,7 +239,7 @@
               <td colspan="2"></td>
             </tr>
             <tr class="day-in">
-              <td style="text-align: left;border-width: 0 0 0 0; border-style: solid; border-color: #d3dce6" colspan="9">
+              <td  style="text-align: left;border-width: 0 0 0 0; border-style: solid; border-color: #d3dce6;font-size: 17px;white-space:nowrap;font-weight: bold;" colspan="9">
                 <template v-for="(item,index) in data.order.processingNote.split('\n')">
                   {{item}}
                   <br>
diff --git a/north-glass-erp/northglass-erp/src/hook/index.js b/north-glass-erp/northglass-erp/src/hook/index.js
index a44708d..9bc49c3 100644
--- a/north-glass-erp/northglass-erp/src/hook/index.js
+++ b/north-glass-erp/northglass-erp/src/hook/index.js
@@ -8,7 +8,7 @@
 
 // 绛涢�夊嚱鏁�
 const filterChanged = ({ option, row, column }) => {
-    if (option.data) {
+    if (option && option.data) {
 
         if(column.field.indexOf('.')>-1){
             let  array = column.field.split('.')
diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index 46bbb76..0b74fd1 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -930,7 +930,7 @@
         salesman:'閿�鍞憳',
         money:'閲戦',
 
-        pleaseSelectTheSameCustomerProject:'璇烽�夋嫨鐩稿悓瀹㈡埛鐨勯」鐩�',
+        pleaseSelectTheSameCustomerProject:'璇烽�夋嫨鐩稿悓瀹㈡埛鍜岄」鐩殑璁㈠崟',
         noMoney:'鏃犻噾棰�',
         freightPrice:'杩愯垂鍗曚环',
         freightQuantity:'杩愯垂鏁伴噺',
diff --git a/north-glass-erp/northglass-erp/src/views/mm/productStock/CreateProductStock.vue b/north-glass-erp/northglass-erp/src/views/mm/productStock/CreateProductStock.vue
index 30967c6..0575dd9 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/productStock/CreateProductStock.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/productStock/CreateProductStock.vue
@@ -10,6 +10,7 @@
 import { useI18n } from 'vue-i18n'
 import footSum from "@/hook/footSum";
 import companyInfo from "@/stores/sd/companyInfo";
+import {changeFilterEvent,filterChanged} from "@/hook"
 
 //璇█鑾峰彇
 const { t } = useI18n()
@@ -82,7 +83,7 @@
 let total = reactive({
   pageTotal : 0,
   dataTotal : 0,
-  pageSize : 100
+  pageSize : 99999
 })
 
 
@@ -107,7 +108,7 @@
 let pageState = null
 
 /*浣跨敤绛涢�夛紝鍚庣鑾峰彇鏁版嵁*/
-const changeFilterEvent = (event, option, $panel,) => {
+/*const changeFilterEvent = (event, option, $panel,) => {
   // 鎵嬪姩瑙﹀彂绛涢��
   $panel.changeOption(event, !!option.data, option)
 }
@@ -139,7 +140,7 @@
       router.push("/login")
     }
   })
-}
+}*/
 const selectOrderList = ()=>{
 
   request.post(`/finishedGoodsInventory/getSelectWarehousing/${pageNum.value}/${total.pageSize}`,filterData.value).then((res) => {
@@ -190,7 +191,10 @@
     useKey: true
   },
   filterConfig: {   //绛涢�夐厤缃」
-    remote: true
+    //remote: true
+  },
+  sortConfig: {
+    multiple: true,//澶氭帓搴�
   },
   customConfig: {
     storage: true
@@ -204,21 +208,22 @@
     {type:'expand',fixed:"left",slots: { content:'content' },width: '60'},
     { type: 'checkbox',fixed:"left", title: t('basicData.check'), width: '80' },
     { type: 'seq',fixed:"left", title: t('basicData.Number'), width: '80' },
-    {field: 'order.orderId', width: '150',title: t('order.orderId'), showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'order.orderId', width: '150',title: t('order.orderId'), showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
     //{field: 'orderDetail.buildingNumber', width: '120',title: '妤煎彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.productId',width: '100', title: t('order.productId'), filters:[{ data: '' }],showOverflow:"ellipsis",slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.productName',width: '100', title: t('order.product'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.width', width: '100',title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.height',width: '100', title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'order.creater', width: '100',title: t('order.salesman'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'order.project', width: '100',title: t('order.project'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderNumber',width: '140', title: t('order.OrderNum'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.quantity',width: '140', title: t('productStock.totalNumberOfOrders'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'inventoryQuantity',width: '120', title: t('productStock.quantityToBeStockedIn'),editRender: { name: 'input' }, filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'order.area',width: '140', title: t('order.area'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'processId',width: '150', title: t('processCard.processId'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'receivedQuantity',width: '100', title: t('productStock.quantityAlreadyInStock'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'order.batch',width: '100', title: t('order.batch'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'orderDetail.productId',width: '100', title: t('order.productId'), filters:[{ data: '' }],showOverflow:"ellipsis",slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'orderDetail.productName',width: '100', title: t('order.product'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'orderDetail.width', width: '100',title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'orderDetail.height',width: '100', title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'order.creater', width: '100',title: t('order.salesman'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'order.project', width: '100',title: t('order.project'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'order.customerName',width: '100', title: t('order.customers'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'orderNumber',width: '140', title: t('order.OrderNum'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'orderDetail.quantity',width: '140', title: t('productStock.totalNumberOfOrders'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'inventoryQuantity',width: '120', title: t('productStock.quantityToBeStockedIn'),editRender: { name: 'input' }, filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'order.area',width: '140', title: t('order.area'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'processId',width: '150', title: t('processCard.processId'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
+    {field: 'receivedQuantity',width: '100', title: t('productStock.quantityAlreadyInStock'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
+    {field: 'order.batch',width: '100', title: t('order.batch'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
     buttons: [{
@@ -392,7 +397,11 @@
       <template #num1_filter="{ column, $panel }">
         <div>
           <div v-for="(option, index) in column.filters" :key="index">
-            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
+            <input
+                type="type"
+                v-model="option.data"
+                @keyup.enter.native="$panel.confirmFilter()"
+                @input="changeFilterEvent($event, option, $panel)"/>
           </div>
         </div>
       </template>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProgressProcessCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProgressProcessCard.vue
index af2a3bc..ab88f44 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProgressProcessCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProgressProcessCard.vue
@@ -15,6 +15,8 @@
 import PrintProcess from "@/components/pp/PrintProcess.vue";
 import PrintCustomLabelXJ from "@/components/pp/PrintCustomLabelTwo.vue";
 import companyInfo from "@/stores/sd/companyInfo";
+import {createTemplate} from "@/hook/createTemplateTag";
+import {hiprint} from "vue-plugin-hiprint";
 //璇█鑾峰彇
 const { t } = useI18n()
 let router=useRouter()
@@ -24,6 +26,8 @@
 
 const dialogTableVisible = ref(false)
 const dialogTableVisibleLabel = ref(false)
+
+let lastList = ref([])
 
 let props = defineProps({
   orderId:null
@@ -86,6 +90,84 @@
   }
 })
 
+//鏍囩
+let labelRow = ref({
+  list: null,//鍕鹃�夌殑鏁版嵁
+  faceOrientation: null,//鍐呭闈�
+  type: null,//鏍囩妯℃澘
+  lableType: null//鏍囩绫诲瀷
+})
+//閫変腑鍐呭
+let selectRecords = ref(null)
+
+//鍚堢墖娴佺▼鍗℃墦鍗颁笅鎷夐�夐」
+const printMerge = ref('')
+const printMergeOptions = [{}]
+
+//鍊掑彊
+let  flashback = ref(1)
+//钀芥灦椤哄簭
+let landingSequence= ref(1)
+//鍚堟灦鎵撳嵃
+let compound = ref(null)
+
+const printContent = ref({
+  id: 'child',
+
+})
+
+let hiprintTemplate = ref(null)
+
+const printContentLabel = ref({
+  id: 'childLabel',
+})
+
+const printContentLabelSemi = ref({
+  id: 'childLabelSemi',
+})
+
+const changeTag = () => {
+  hiprintTemplate.value = new hiprint.PrintTemplate({});
+  hiprintTemplate.value.design("#hiprint-printTemplate1",{grid:true});
+  const json = tag.value.value
+  hiprintTemplate.value.update(json)
+}
+
+const printOrder = (type) => {
+  printNumberLabel()
+  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
+      }
+    }
+  })
+
+  //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)
+
+}
 
 //闇�瑕佸悎骞剁殑鍒�
 let column = [1,3,8]
@@ -305,9 +387,9 @@
     //   delete obj.print_status;
     // });
     let type = tag.value.name
-    let faceOrientation = stateValue.value
-    let lableTypes = lableType.value
-    let lableTitle = lableType.text
+    let faceOrientation = ''
+    let lableTypes = 1
+    let lableTitle = ''
     if ($grid) {
       switch (code) {
           //鎵撳嵃娴佺▼鍗�
@@ -329,7 +411,7 @@
           printRow.value.printMergeVal = printMerge.value
           printRow.value.like = null
           printRow.value.merge = company.flowCardMerge
-          printRow.value.printFc= printFc
+          printRow.value.printFc= true
           printRow.value.flashback = flashback.value
           printRow.value.landingSequence=landingSequence.value
           printRow.value.compound = compound.value
@@ -356,7 +438,7 @@
               id += selectRecords[i].id + "|"
             }
           }
-
+          lastList.value = []
           labelRow.value.list = JSON.stringify(selectRecords)
           labelRow.value.faceOrientation = faceOrientation
           labelRow.value.type = tag.value.name
@@ -385,6 +467,38 @@
 
 const handleCellDblClick = ({ row, column, cell, $event }) => {
   VxeUI.clipboard.copy(row[column.property])
+}
+
+const selectRecordsData = ref({
+  printList: []
+})
+// 鐩戝惉娴佺▼鍗℃墦鍗板畬鎴愪簨浠�
+const printNumber = () => {
+
+  selectRecordsData.value.printList = selectRecords
+  let printState = 0
+  request.post(`/processCard/updatePrintState/${printState}`, selectRecordsData.value).then((res) => {
+    if (res.code == 200 && res.data === true) {
+    } else {
+
+      ElMessage.warning(t('basicData.msg.saveFail'))
+
+    }
+  })
+}
+
+// 鐩戝惉鏍囩鎵撳嵃瀹屾垚浜嬩欢
+const printNumberLabel = () => {
+
+  selectRecordsData.value.printList = selectRecords
+  request.post(`/tagStyle/updatePrintNumber`, selectRecordsData.value).then((res) => {
+    if (res.code == 200 && res.data === true) {
+    } else {
+
+      ElMessage.warning(t('basicData.msg.saveFail'))
+
+    }
+  })
 }
 </script>
 
@@ -429,6 +543,7 @@
           v-bind="gridOptions"
           :merge-cells="mergeCells"
           @cell-dblclick="handleCellDblClick"
+          v-on="gridEvents"
 
       >
         <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -534,6 +649,33 @@
   height: calc(100% - 35px);
 }
 
+:deep(#sizeCheck .el-dialog__body) {
+  height: 90%;
+  width: 100%;
+}
+
+:deep(#sizePrintCalrd .el-dialog__body) {
+  height: 85%;
+  width: 100%;
+  overflow-y: auto;
+}
+
+:deep(#sizeCustom .el-dialog__body) {
+  height: 85%;
+  width: 100%;
+  overflow-y: auto;
+}
+
+:deep(#sizeCustomSemi .el-dialog__body) {
+  height: 85%;
+  width: 100%;
+  overflow-y: auto;
+}
+
+:deep(#titleStyle .el-dialog__body){
+  height: 93%;
+  width: 100%;
+}
 .vxe-grid {
   /* 绂佺敤娴忚鍣ㄩ粯璁ら�変腑 */
   -webkit-user-select: none;
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 47d70ab..15addfc 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
@@ -477,9 +477,11 @@
               if (val<row.completedQuantityComputed){
                          //搴撳瓨鏁伴噺銆佸凡鍏ュ簱鏁伴噺
                 if (val>(row.inventory_quantity-row.received_quantity)){
-                  return new Error(`val
+                  if (totalQuantity-val>(row.inventory_quantity-row.received_quantity)){
+                    return new Error(`val
                                   <=
                                   ${row.inventory_quantity-row.received_quantity}`)
+                  }
                 }else {
                   if (val < (row.inventory_quantity-row.received_quantity)){
                         //瀹屽伐鎬绘暟銆佹湰娆″畬宸ユ暟銆佸凡鍏ュ簱鏁伴噺
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
index d4ca703..7710720 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
@@ -20,6 +20,8 @@
 import companyInfo from "@/stores/sd/companyInfo";
 import PrintSheet3 from "@/components/sd/delivery/PrintSheet3.vue";
 import PrintSheet4 from "@/components/sd/delivery/PrintSheet4.vue";
+import {addListener} from "@/hook/mouseMove";
+import {copyTableCellValue} from "@/hook/copyTableCellValue";
 
 //璇█鑾峰彇
 const { t } = useI18n()
@@ -108,6 +110,7 @@
 })
 
 onMounted(async () => {
+  addListener(xGrid.value,gridOptions)
   filterData.value = orderInfo.searchDeliverFilter.data
   await getDeliveryList()
   orderInfo.searchDeliverFilter.list.forEach(item =>{
@@ -529,6 +532,9 @@
   sortChange ({ field, order }) {
     sortData.value = {field,order}
     selectOrderList()
+  },
+  cellDblclick ({row,column}) {
+    copyTableCellValue(row,column)
   }
 }
 
@@ -829,7 +835,17 @@
   height: calc(100% - 35px);
 }
 
-
+.vxe-grid {
+  /* 绂佺敤娴忚鍣ㄩ粯璁ら�変腑 */
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+:deep(#product .el-dialog__body){
+  height: 90%;
+  width: 100%;
+}
 
 </style>
 
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
index 79df0df..2d1c831 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
@@ -8,7 +8,10 @@
 import useUserInfoStore from "@/stores/userInfo";
 import {ElMessage} from "element-plus";
 import { useI18n } from 'vue-i18n'
+import footSum from "@/hook/footSum"
 import useOrderInfoStore from "@/stores/sd/order/orderInfo";
+import {addListener} from "@/hook/mouseMove";
+import {copyTableCellValue} from "@/hook/copyTableCellValue";
 
 //璇█鑾峰彇
 const { t } = useI18n()
@@ -93,6 +96,7 @@
 
 
 onMounted(async () => {
+  addListener(xGrid.value,gridOptions)
   if (props.customerId !== undefined) {
     filterData.value.customerId = props.customerId
     filterData.value.project = props.project
@@ -268,14 +272,15 @@
     custom: true
   },
   footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
+    let footList=['quantity','area']
     return[
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
           return t('basicData.total')
         }
-        // if (props.tableProp.footList.includes(column.field)) {
-        //   return sumNum(data, column.field)
-        // }
+        if (footList.includes(column.field)) {
+          return footSum(data, column.field)
+        }
         return ''
       })
     ]
@@ -359,6 +364,9 @@
         }
       }
     }
+  },
+  cellDblclick ({row,column}) {
+    copyTableCellValue(row,column)
   }
 }
 
@@ -473,4 +481,17 @@
   width: 100%;
   height: calc(100% - 35px);
 }
+
+
+.vxe-grid {
+  /* 绂佺敤娴忚鍣ㄩ粯璁ら�変腑 */
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+:deep(#product .el-dialog__body){
+  height: 90%;
+  width: 100%;
+}
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
index 1e40d95..b1ba51e 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -741,7 +741,11 @@
                     Map<String, Object> itemmap = new HashMap<>();
 
                     Integer sumQuantity = flowCardMapper.getSumQuantity(flowCard.getOrderId());
-                    List<Map<String, Object>> details = flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity());
+                    Integer printQuantity = flowCard.getPrintQuantity();
+                    if (printQuantity==null){
+                        printQuantity=0;
+                    }
+                    List<Map<String, Object>> details = flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber(), printQuantity);
 
                     for (Map<String, Object> detail : details) {
                         detail.put("sumQuantity", sumQuantity);
diff --git a/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml b/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
index 41130c5..86239e9 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
@@ -61,6 +61,8 @@
         <result column="batch" property="order.batch"/>
         <result column="order_quantity" property="order.quantity"/>
         <result column="calculate_type" property="order.calculateType"/>
+        <result column="customer_name" property="order.customerName"/>
+
 
         <result column="building_number" property="orderDetail.buildingNumber"/>
         <result column="width" property="orderDetail.width"/>
@@ -714,6 +716,7 @@
         od.height,
         o.creator,
         o.project,
+        o.customer_name,
         fc.order_number,
         od.quantity,
         fc.quantity as fc_quantity,
@@ -757,6 +760,9 @@
             <if test="flowCard.order != null and flowCard.order.project != null and flowCard.order.project != ''">
                 and o.project regexp #{flowCard.order.project}
             </if>
+            <if test="flowCard.order != null and flowCard.order.customerName != null and flowCard.order.customerName != ''">
+                and o.customer_name regexp #{flowCard.order.customerName}
+            </if>
             <if test="flowCard.orderNumber != null and flowCard.orderNumber != ''">
                 and fc.order_number regexp #{flowCard.orderNumber}
             </if>
@@ -785,10 +791,12 @@
     </select>
     <select id="getSelectWarehousingPageTotal" >
         select
-        CEILING(count(zu.order_number)/#{pageSize}) as 'pageTotal',
-        count(zu.order_number) as 'total' from (
-        select fc.order_number as order_number,fc.process_id from pp.flow_card fc left join sd.order_detail od on
-        fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on o.order_id=fc.order_id
+        CEILING(count(zu.id)/#{pageSize}) as 'pageTotal',
+        count(zu.id) as 'total' from (
+        select fc.id as id
+        from (select *,min(inventory_quantity) as min_inventory_quantity from pp.flow_card  group by  order_id,order_number,process_id) as fc
+        left join sd.order_detail od on fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on
+        o.order_id=fc.order_id
         <where>
             and fc.received_quantity <![CDATA[<]]> fc.inventory_quantity and o.create_order>0
             <if test="flowCard.order != null and flowCard.order.orderId != null and flowCard.order.orderId != ''">
@@ -815,6 +823,9 @@
             <if test="flowCard.order != null and flowCard.order.project != null and flowCard.order.project != ''">
                 and o.project regexp #{flowCard.order.project}
             </if>
+            <if test="flowCard.order != null and flowCard.order.customerName != null and flowCard.order.customerName != ''">
+                and o.customer_name regexp #{flowCard.order.customerName}
+            </if>
             <if test="flowCard.orderNumber != null and flowCard.orderNumber != ''">
                 and fc.order_number regexp #{flowCard.orderNumber}
             </if>
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 952fb3c..92c10e2 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -1156,19 +1156,19 @@
                od.processing_note                                    as processingNote,
                width,
                height,
-               #{printQuantity}  as quantity,
+               if(#{printQuantity}>0 ,#{printQuantity},fc.quantity)  as quantity,
                CONCAT(
                        TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
                        ' X ',
                        TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
-                       ' = ',#{printQuantity} )      as size,
+                       ' = ',if(#{printQuantity}>0 ,#{printQuantity},fc.quantity) )      as size,
 
                CONCAT(
                    od.order_number,')      ',
                        TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
                        ' X ',
                        TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
-                       ' = ',#{printQuantity} )      as numberSize,
+                       ' = ',if(#{printQuantity}>0 ,#{printQuantity},fc.quantity) )      as numberSize,
             CONCAT(
             od.order_number,')','   ',
             TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
@@ -3979,7 +3979,8 @@
         c.print_status,
         c.print_number,
         o.project,
-        o.customer_name
+        o.customer_name,
+        b.process
 
         from pp.flow_card as c
         left join

--
Gitblit v1.8.0