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">鍝� 绉�</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