From ed3ce5c8f6e1f7ac1aad3218ab5e518fc95cdb0f Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 10 九月 2024 10:26:54 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue |  116 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 85 insertions(+), 31 deletions(-)

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 c9d414d..dab1008 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
@@ -6,15 +6,18 @@
 import deepClone from "@/utils/deepClone";
 import {ElMessage} from "element-plus";
 import useUserInfoStore from "@/stores/userInfo";
-import {Food} from "@element-plus/icons-vue";
+import {Bottom, Burger, Food} from "@element-plus/icons-vue";
 const company = companyInfo()
 const userStore = useUserInfoStore()
 const username = userStore.user.userName
-
+let dialogVisible = ref(false)
 
 
 let props = defineProps({
   orderId:null
+})
+let productId=ref({
+
 })
 let data = ref({
   order:{
@@ -22,15 +25,19 @@
   },
   orderProductDetail:[]
 })
+let productIdData = ref({
+})
+const selectedValues = ref([])
+
 const grossNum = ref({
   quantity: 0,
   grossArea: 0,
   perimeter: 0
 })
 const getData = () => {
-  request.get(`/order/printOrderProductDetail/${props.orderId}`).then(res => {
-    console.log(res.data)
+  request.get(`/order/printOrderProductDetail/${props.orderId}/${selectedValues.value}`).then(res => {
     data.value= res.data
+    productIdData.value=data.value.orderProductDetail
     data.value.orderProductDetail.forEach(item => {
       grossNum.value.quantity += getQuantity(item.productDetail)
       grossNum.value.grossArea += getArea(item.productDetail)
@@ -38,11 +45,37 @@
       stringToJson(item.productDetail)
     })
 
-    grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(3))
-    grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(3))
-    grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(3))
+    grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(2))
+    grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(2))
+    grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(2))
 
   })
+}
+
+const handleChange = () => {
+
+  request.get(`/order/printOrderProductDetail/${props.orderId}/${selectedValues.value}`).then(res => {
+    grossNum.value.quantity=0
+    grossNum.value.grossArea=0
+    grossNum.value.perimeter=0
+    data.value= res.data
+
+    data.value.orderProductDetail.forEach(item => {
+      grossNum.value.quantity += getQuantity(item.productDetail)
+      grossNum.value.grossArea += getArea(item.productDetail)
+      grossNum.value.perimeter += getPerimeter(item.productDetail)
+      stringToJson(item.productDetail)
+    })
+    grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(2))
+    grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(2))
+    grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(2))
+
+  })
+
+}
+
+const handleDoubleClick = () => {
+  dialogVisible.value=true
 }
 
 onMounted(() => {
@@ -60,7 +93,7 @@
   productList.forEach(item => {
     quantity += item.quantity
   })
-  return parseFloat(quantity.toFixed(3))
+  return parseFloat(quantity.toFixed(2))
 
 }
 
@@ -69,7 +102,7 @@
   productList.forEach(item => {
     area += item.grossArea
   })
-  return parseFloat(area.toFixed(3))
+  return parseFloat(area.toFixed(2))
 
 }
 
@@ -78,7 +111,7 @@
   productList.forEach(item => {
     perimeter += item.perimeter
   })
-  return parseFloat(perimeter.toFixed(3))
+  return parseFloat(perimeter.toFixed(2))
 }
 
 const printSheet = () => {
@@ -94,11 +127,12 @@
 
 
 <template>
-  <div id="sheet">
+
+  <div id="sheet" @dblclick="handleDoubleClick" >
     <table style="border-style: none;" >
       <thead>
       <tr class="title-s">
-        <th colspan="13">
+        <th colspan="9">
           <h1>
             {{ company.companyName }}
           </h1>
@@ -106,11 +140,11 @@
       </tr>
 
       <tr class="title-s">
-        <th colspan="2"></th>
-        <th colspan="5">
+        <th colspan="2" style="width: 30%"></th>
+        <th colspan="5" style="width: 40%;">
           <h3 >鐢熸垚浠诲姟鍗�(鎴愬搧)</h3>
         </th>
-        <th colspan="2" style="text-align: left;font-weight: bold;">璁㈠崟缂栧彿锛�<span>{{ data.order.orderId }}</span></th>
+        <th colspan="2" style="width: 30%;">璁㈠崟缂栧彿锛�<span>{{ data.order.orderId }}</span></th>
       </tr>
       <tr>
         <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" colspan="4">
@@ -136,41 +170,42 @@
               <tr v-if="index===0">
                 <th style="width: 6%;font-weight: bold;">搴�</th>
                 <th style="width: 15%;font-weight: bold;" >妤煎眰缂栧彿</th>
-                <th style="width: 20%;font-weight: bold;" colspan="2">瀹絏楂�</th>
-                <th style="width: 10%;font-weight: bold;">鏁伴噺</th>
-                <th style="width: 10%;font-weight: bold;">闈㈢Н</th>
-                <th style="width: 17%;font-weight: bold;" colspan="3">鍔犲伐瑕佹眰</th>
+                <th style="width: 20%;font-weight: bold;" colspan="3">瀹絏楂�</th>
+                <th style="width: 12%;font-weight: bold;">鏁伴噺</th>
+                <th style="width: 12%;font-weight: bold;">闈㈢Н</th>
+                <th style="width: 17%;font-weight: bold;" colspan="2">鍔犲伐瑕佹眰</th>
               </tr>
 
+
+              </thead>
               <tr style="border-style: none">
                 <td style="font-size: 15px;font-weight: bold;text-align: left" colspan="9">
                   浜у搧鍚嶇О:<span>{{item.productName}}</span>
                 </td>
               </tr>
-              </thead>
 
               <tr class="day-in" v-for="(items, index1) in item.productDetail" :key="index1">
                 <td>{{items.orderNumber}}</td>
                 <td>{{items.buildingNumber}}</td>
-                <td colspan="2" style="font-size: 15px;font-weight: bold;" v-if="items.otherColumns?.S02">{{items.otherColumns?.S02}}</td>
-                <td colspan="2" style="font-size: 15px;font-weight: bold;" v-else>{{items.width}}x{{items.height}}</td>
-                <td>{{items.quantity}}</td>
-                <td>{{items.grossArea}}</td>
+                <td colspan="3" style="font-size: 20px;font-weight: bold;" v-if="items.otherColumns?.S02">{{items.otherColumns?.S02}}</td>
+                <td colspan="3" style="font-size: 20px;font-weight: bold;" v-else>{{items.width}}x{{items.height}}</td>
+                <td style="font-size: 20px;font-weight: bold;">{{items.quantity}}</td>
+                <td style="font-size: 20px;font-weight: bold;">{{items.grossArea.toFixed(2)}}</td>
                 <td colspan="2">{{items.processingNote}}</td>
               </tr>
               <tr class="day-in" >
-                <td style="font-size: 15px;font-weight: bold;" colspan="4">灏忚:</td>
-                <td>{{getQuantity(item.productDetail)}}</td>
-                <td>{{getArea(item.productDetail)}}</td>
+                <td style="font-size: 15px;font-weight: bold;" colspan="5">灏忚:</td>
+                <td style="font-size: 20px;font-weight: bold;">{{getQuantity(item.productDetail)}}</td>
+                <td style="font-size: 20px;font-weight: bold;">{{getArea(item.productDetail)}}</td>
                 <td colspan="2"></td>
               </tr>
 
             </template>
             <tr class="day-in">
-              <td style="font-size: 15px;font-weight: bold;" colspan="4">鍚堣:</td>
-              <td>{{grossNum.quantity}}</td>
-              <td>{{grossNum.grossArea}}</td>
-              <td colspan="3"></td>
+              <td style="font-size: 15px;font-weight: bold;" colspan="5">鍚堣:</td>
+              <td style="font-size: 20px;font-weight: bold;">{{grossNum.quantity}}</td>
+              <td style="font-size: 20px;font-weight: bold;">{{grossNum.grossArea}}</td>
+              <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">
@@ -215,6 +250,16 @@
 
     </table>
 
+    <el-dialog v-model="dialogVisible" style="width: 40%;height: 20%;margin-top: 10%" >
+      <el-select v-model="selectedValues" style="width: 100%" @change="handleChange" multiple  placeholder="璇烽�夋嫨">
+        <el-option
+            v-for="item in productIdData"
+            :key="item"
+            :label='item.productId+"   "+item.productName'
+            :value="item.productId">
+        </el-option>
+      </el-select>
+    </el-dialog>
 
   </div>
 
@@ -273,6 +318,15 @@
   margin: 0;
   padding: 0;
 }
+.day-in{
+  height: 30px;
+}
+
+@media print {
+  @page {
+    margin: 5mm 5mm 10mm 5mm;
+  }
+}
 
 
 

--
Gitblit v1.8.0