From a660db06773007b1be690e0674829c00a57aeb7b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 十二月 2025 16:21:23 +0800
Subject: [PATCH] 订单首页流程卡新增楼层编号显示

---
 north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue |  192 ++++++++++++++++++++++++++++-------------------
 1 files changed, 114 insertions(+), 78 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue
index f631337..5ccfcbb 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue
@@ -1,6 +1,11 @@
 <script setup>
 import request from "@/utils/request"
 import {computed, onMounted, ref} from "vue"
+import PrintFoot from "@/components/sd/order/PrintFoot.vue"
+import companyInfo from "@/stores/sd/companyInfo"
+const company = companyInfo()
+
+
 
 let props = defineProps({
   orderId:null
@@ -19,11 +24,11 @@
 const getData = () => {
   request.get(`/order/printOrderProductDetail/${props.orderId}`).then(res => {
     data.value= res.data
-    res.data.orderProductDetail.forEach(item => {
+    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(3))
@@ -36,6 +41,12 @@
 onMounted(() => {
   getData()
 })
+
+const  stringToJson = (productList) => {
+  productList.forEach(item => {
+    item.otherColumns = JSON.parse(item.otherColumns)
+  })
+}
 
 const getQuantity = (productList) => {
   let quantity = 0
@@ -63,152 +74,166 @@
   return parseFloat(perimeter.toFixed(3))
 }
 
+const printSheet = () => {
+}
+
+
+
+
+defineExpose({
+  printSheet
+});
 </script>
 
 
 <template>
   <div id="sheet">
+    <table  >
+      <tr class="title-s">
+        <th colspan="15">
+          <img src="../../../assets/northGlass.ico" alt="" style="float: left;max-width: 60px;max-height: 60px">
+          <h1>
+            {{company.companyName}}
+          </h1>
+        </th>
+      </tr>
 
-    <el-row style="margin-bottom: 0.5rem;">
-      <img src="../../../assets/northGlass.ico" alt="" style="max-width: 60px;max-height: 60px">
-      <h1>澶╂触鍖楃幓鐜荤拑宸ヤ笟鎶�鏈湁闄愬叕鍙革紙THBB-QR7.1-01锛�</h1>
-    </el-row >
-    <el-row style="text-align: left">
-      <el-col :span="2" ></el-col>
-      <el-col :span="8" >鍦板潃:澶╂触瀹濆澔鍖鸿妭鑳界幆淇濆伐涓氬尯澶╁叴璺タ渚у疂涓亾鍗椾晶</el-col>
-      <el-col :span="2"></el-col>
-      <el-col :span="5" >鐢佃瘽:022-59280088</el-col>
-      <el-col :span="5" >浼犵湡:022-59280066</el-col>
-    </el-row>
-    <hr>
-    <hr class="hr-border">
+      <tr class="title-s">
+        <th colspan="5">鍦板潃:{{company.address}}</th>
+        <th colspan="5">鐢佃瘽:{{ company.telephone }}</th>
+        <th colspan="5">浼犵湡:{{ company.fax }}</th>
+      </tr>
+<!--      <tr class="title-s">-->
+<!--        <th colspan="13">-->
+<!--          <hr>-->
+<!--          <hr class="hr-border">-->
+<!--        </th>-->
+<!--      </tr>-->
 
-    <el-row >
-       <h3>鐜荤拑鍔犲伐鍗�</h3>
-    </el-row>
+      <tr  class="title-s">
+        <th colspan="15">
+          <h3>鐜荤拑鍔犲伐鍗�</h3>
+        </th>
 
-    <table border="1">
+      </tr>
+
       <tr>
         <th class="title-1">瀹㈡埛鍚嶇О</th>
-        <th colspan="3"></th>
+        <th colspan="7">{{data.order.customerName}}</th>
         <th class="title-1">宸ョ▼鍚嶇О</th>
-        <th colspan="3"></th>
+        <th colspan="6">{{data.order.project}}</th>
       </tr>
       <tr>
         <th class="title-1">鐢熶骇鍗曞彿</th>
-        <th></th>
+        <th colspan="2">{{data.order.orderId}}</th>
         <th class="title-1">涓嬪崟鏃ユ湡</th>
-        <th></th>
+        <th  colspan="2">{{data.order.createTime}}</th>
         <th class="title-1">璁㈠崟绫诲瀷</th>
-        <th></th>
+        <th  colspan="4">{{data.order.orderType}}</th>
         <th class="title-1">璺熷崟鍛�</th>
-        <th></th>
+        <th  colspan="3">{{data.order.salesman}}</th>
       </tr>
       <tr>
         <th>纾ㄨ竟</th>
-        <th></th>
+        <th  colspan="2">{{data.order.otherRemarks}}</th>
         <th>瀹屽伐鏃ユ湡</th>
-        <th></th>
+        <th  colspan="2">{{data.order.deliveryDate}}</th>
         <th>鍟嗘爣</th>
-        <th></th>
+        <th  colspan="4">{{data.order.icon}}</th>
         <th>鍖呰</th>
-        <th></th>
+        <th  colspan="5">{{data.order.packType}}</th>
       </tr>
 
-    </table>
-    <table border="1" >
-      <thead>
+
+
+
         <tr>
-          <th class="title-1">鐜荤拑鍥惧彿</th>
+          <th>搴忓彿</th>
+          <th class="title-1">{{company.columnName}}</th>
           <th>褰╅噳鍥惧彿</th>
           <th>缂栧彿</th>
           <th>瑙勬牸锛堝W*楂楬锛�</th>
           <th>鐗囨暟</th>
           <th>闈㈢Н</th>
           <th>寤剁背</th>
-          <th>浜よ揣鏃ユ湡</th>
-          <th>搴忓彿</th>
-          <th>绠辨灦鍙�</th>
+          <th>妤煎彿</th>
+          <th>鍔犲伐瑕佹眰</th>
+          <th>澶囨敞</th>
           <th>澶囨敞1</th>
           <th>澶囨敞2</th>
-          <th>纾ㄨ竟/澶囨敞/鍔犲伐鍐呭</th>
+          <th>澶囨敞3</th>
+          <th>澶囨敞4</th>
         </tr>
-      </thead>
       <tbody v-for="(item,index) in data.orderProductDetail" :key="index">
         <tr>
           <td class="no-change-row">鍝�&nbsp;&nbsp;绉�</td>
-          <td colspan="9">{{item.productName}}</td>
+          <td colspan="10">{{item.productName}}</td>
           <td class="no-change-row">浜у搧鎻忚堪</td>
           <td colspan="3"></td>
         </tr>
         <tr v-for="(item1,index1) in item.productDetail" :key="index1">
-          <td>{{}}</td>
-          <td></td>
-          <td></td>
+          <td>{{item1.orderNumber}}</td>
+          <td>{{  item1.otherColumns?.S02}}</td>
+          <td>{{  item1.otherColumns?.S03}}</td>
+          <td class="notChangeRow">{{  item1.otherColumns?.S01}}</td>
           <td>{{item1.width +'*'+item1.height}}</td>
           <td>{{item1.quantity}}</td>
           <td>{{item1.grossArea}}</td>
           <td>{{item1.perimeter}}</td>
-          <td></td>
-          <td>{{item1.orderNumber}}</td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
+          <td>{{item1.buildingNumber}}</td>
+          <td>{{item1.processingNote}}</td>
+          <td>{{item1.remarks}}</td>
+
+          <td>
+            {{ ((item1.otherColumns?.S04)?item1.otherColumns.S04:'')}}
+          </td>
+          <td>{{((item1.otherColumns?.S05)?item1.otherColumns.S05:'')}}</td>
+          <td>{{((item1.otherColumns?.S06)?item1.otherColumns.S06:'')}}</td>
+          <td>{{((item1.otherColumns?.S07)?item1.otherColumns.S07:'')}}</td>
         </tr>
 
         <tr>
-          <td colspan="4">灏忚</td>
+          <td colspan="5">灏忚</td>
           <td>{{getQuantity(item.productDetail)}}</td>
           <td>{{getArea(item.productDetail)}}</td>
           <td>{{getPerimeter(item.productDetail)}}</td>
-          <td colspan="6"></td>
+          <td colspan="7"></td>
         </tr>
 
 
       </tbody>
-      <tfoot>
         <tr>
-          <td colspan="4">鎬昏</td>
+          <td colspan="5">鎬昏</td>
           <td>{{grossNum.quantity}}</td>
           <td>{{grossNum.grossArea}}</td>
           <td>{{grossNum.perimeter}}</td>
-          <td colspan="6"></td>
+          <td colspan="7"></td>
         </tr>
         <tr>
-          <td colspan="13">
-<!--            v-model=""-->
-            <el-input
-                v-model="data.order.processingNote"
-                :rows="2"
-                type="textarea"
-                placeholder=""
-                readonly
-                autosize
-                resize="none"
+          <td colspan="15" style="white-space: pre-wrap;text-align:left ">
+            <template v-for="(item,index) in data.order.processingNote.split('\n')">
+              {{item}}
+              <br>
+            </template>
+<!--            <el-input-->
+<!--                v-model="data.order.processingNote"-->
+<!--                :rows="2"-->
+<!--                type="textarea"-->
+<!--                placeholder=""-->
+<!--                readonly-->
+<!--                autosize-->
+<!--                resize="none"-->
 
-            />
+<!--            />-->
           </td>
         </tr>
-      </tfoot>
     </table>
-    <el-row style="text-align: left ">
-      <el-col :span="4">涓嬪崟鍛橈細</el-col>
-      <el-col :span="4">瀹℃牳浜猴細</el-col>
-      <el-col :span="4">鏍″锛�</el-col>
-    </el-row>
-    <el-row style="text-align: left ">
-      <el-col :span="4">鍒涘缓鏃堕棿锛�</el-col>
-      <el-col :span="4">瀹℃牳鏃堕棿锛�</el-col>
-      <el-col :span="4">鎵撳嵃鏃堕棿锛�</el-col>
-    </el-row>
+    <print-foot :order='data.order' />
   </div>
 </template>
 
 <style scoped>
 #sheet{
-  width: 100%;
-  height: 100%;
   text-align: center;
 }
 h1,h3{
@@ -229,15 +254,22 @@
 
 table{
   border-collapse: collapse;
-  border: 1px solid black;
   width: 100%;
+  text-align: center;
 }
+tr,td,th{
+  border: 1px solid black;
+}
+
 th,.no-change-row {
   white-space: nowrap;
 }
 
 .title-1{
   width: 76px;
+}
+.title-s,.title-s th{
+  border:0
 }
 
 .hr-border{
@@ -246,5 +278,9 @@
   background-color: black;
   color: black;
 }
+.notChangeRow{
+  white-space: nowrap;
+}
+
 
 </style>
\ No newline at end of file

--
Gitblit v1.8.0