From b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 23 十二月 2024 16:13:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
UI-Project/src/views/UnLoadGlass/PrintFlow.vue | 216 +++++++++++++++++++----------------------------------
1 files changed, 79 insertions(+), 137 deletions(-)
diff --git a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
index 235e147..94f7c26 100644
--- a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
+++ b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
@@ -12,8 +12,6 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import companyInfo from "@/lang/companyInfo";
import QRCode from "qrcode";
-
-
const company = companyInfo()
const printMerge = null
let props = defineProps({
@@ -25,100 +23,64 @@
for (let i = 0; i < produceList.value.length; i++) {
const technologyNumber = produceList.value[i].detail[0].technologyNumber.toString(); // 杞崲涓哄瓧绗︿覆浠ヤ究澶勭悊姣忎釜瀛楃
produceList.value[i].detail[0]["qrcodeList"] = []; // 鍒濆鍖栦竴涓┖鏁扮粍鐢ㄦ潵瀛樺偍 QR Code
-
for (let j = 0; j < technologyNumber.length; j++) {
const processId = produceList.value[i].detail[0].process_id;
const url = `${processId}/${technologyNumber[j]}`;
-
// 鐢熸垚 QR Code 骞跺瓨鍌ㄥ埌鏁扮粍涓�
const qrcodeData = await QRCode.toDataURL(url);
produceList.value[i].detail[0]["qrcodeList"].push({
qrcode: qrcodeData,
technologyNumber: technologyNumber[j]
});
-
}
}
};
-
-
//鏍规嵁杈撳叆鐨勬暟閲忛噸鏂版眹鎬�
const handleSummary = () => {
for (let i = 0; i < produceList.value.length; i++) {
//鏁伴噺
let totalQuantity = 0;
+ //钀芥灦鏁伴噺
+ let totalQuantity1 = 0;
//闈㈢Н
let totalArea = 0;
+ //钀芥灦闈㈢Н
+ let totalArea1 = 0;
//閲嶉噺
let totalWeight = 0;
+ //钀芥灦閲嶉噺
+ let totalWeight1 = 0;
// 瀵规瘡涓泦鍚堜腑鐨� detailList 杩涜璁$畻
produceList.value[i].detailList.forEach(collection => {
totalQuantity += collection.quantity * 1;
+ totalQuantity1 += collection.quantity1 * 1;
//姣忎釜搴忓彿闈㈢Н
collection.total_area = parseFloat((collection.width * collection.height * collection.quantity / 1000000).toFixed(2))
totalArea += collection.total_area * 1;
+ collection.total_area1 = parseFloat((collection.width * collection.height * collection.quantity1 / 1000000).toFixed(2))
+ totalArea1 += collection.total_area1 * 1;
totalWeight += collection.width * collection.height * collection.quantity / 1000000 * collection.separation * 2.5 * 1;
+ totalWeight1 += collection.width * collection.height * collection.quantity1 / 1000000 * collection.separation * 2.5 * 1;
//姣忎釜搴忓彿鍛ㄩ暱
collection.perimeter = parseFloat(((collection.width * 2 + collection.height * 2) * collection.quantity / 1000).toFixed(3))
});
// 杈撳嚭姣忎釜闆嗗悎涓殑鎬绘暟閲�
produceList.value[i].detail[0].quantity = totalQuantity
+ produceList.value[i].detail[0].quantity1 = totalQuantity1
produceList.value[i].detail[0].gross_area = totalArea
+ produceList.value[i].detail[0].gross_area1 = totalArea1
produceList.value[i].detail[0].weight = totalWeight
+ produceList.value[i].detail[0].weight1 = totalWeight1
}
}
-
-
-// const printFlowCard = () => {
-// // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
-// let el = document.getElementById("printFlowCard");
-// let doc = document;
-// let body = doc.body || doc.getElementsByTagName("body")[0];
-// let printId = "print-" + Date.now();
-
-// // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
-// let content = doc.createElement("div");
-// content.id = printId;
-
-// // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
-// let style = doc.createElement("style");
-// style.innerHTML =
-// "body>#" +
-// printId +
-// "{display:none}@media print{" +
-// "@page {" +
-// " size: auto; " +
-// " margin: 5mm 5mm 5mm 5mm; " +
-// " }body>:not(#" +
-// printId +
-// "){display:none !important}body>#" +
-// printId +
-// "{display:block;padding-top:1px}}";
-// //
-// content.innerHTML = el.outerHTML;
-// // // console.log("el.outerHTML", el.outerHTML);
-// body.appendChild(style);
-
-// // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎
-// // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡)
-// body.appendChild(content);
-// setTimeout(() => {
-// window.print();
-// body.removeChild(content);
-// body.removeChild(style);
-// }, 20);
-// }
-
onMounted(async () => {
console.log(props.printFlowCardId,props.printLayer)
try {
-
const response = await request.post('/unLoadGlass/downGlassInfo/downGlassPrint',{
flowCardId:props.printFlowCardId,
layer:props.printLayer
});
if (response.code == 200) {
-
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
produceList.value = response.data;
ElMessage.success(response.message);
@@ -127,26 +89,18 @@
produceList.value[j].detailList.forEach((item, index) => {
// 瑙f瀽 separation 瀛楁鐨� JSON 瀛楃涓�
let separationObj = JSON.parse(item.separation);
-
// 鑾峰彇 thickness 鐨勫師濮嬪��
let thicknessValue = separationObj.thickness;
-
// 鍘婚櫎 'mm' 鍗曚綅
let thicknessWithoutUnit = thicknessValue.replace('mm', '');
-
item.separation = thicknessWithoutUnit
-
sumWeight += item.width * item.height * item.quantity / 1000000 * item.separation * 2.5 * 1;
-
});
produceList.value[j].detail[0].weight = sumWeight
}
handleGetQRCode()
handleSummary()
// printFlowCard();
-
-
-
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
@@ -162,30 +116,20 @@
<table v-for="(item,id) in produceList" id="contentTable" :key="id">
<thead>
<tr v-for="(itemFlow,index) in item.detail" :key="index">
- <td v-if="like='1'" colspan="26">
+ <td colspan="29">
<div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px "/></div>
<div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
<div>{{ company.companyName }}</div>
<div>鐢熶骇娴佺▼鍗�</div>
- <div v-if="itemFlow.technologyNumber!=''" style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
+ <div v-if="itemFlow.technologyNumberMerge!=''" style="text-align: right;font-weight: bolder">
+ {{itemFlow.otherRemarks}}
+ 娴佺▼鍗″彿锛� {{
itemFlow.process_id
- }}/{{ itemFlow.technologyNumber }}
+ }}/{{ itemFlow.technologyNumberMerge }} 鍏� {{ flowCardCount }} 鏋�
</div>
- <div v-else style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
- itemFlow.process_id
- }}/{{ itemFlow.technologyNumber }}
- </div>
- </td>
- <td v-else colspan="24">
- <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px "/></div>
- <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
- <div>{{ company.companyName }}</div>
- <div>鐢熶骇娴佺▼鍗�</div>
- <div v-if="itemFlow.technologyNumber!=''" style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
- itemFlow.process_id
- }}/{{ itemFlow.technologyNumber }} 鍏� {{ flowCardCount }} 鏋�
- </div>
- <div v-else style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
+ <div v-else style="text-align: right;font-weight: bolder">
+ {{itemFlow.otherRemarks}}
+ 娴佺▼鍗″彿锛� {{
itemFlow.process_id
}}/{{ itemFlow.technologyNumber }} 鍏� {{ flowCardCount }} 鏋�
</div>
@@ -197,8 +141,7 @@
<td class="tdNowrap">椤圭洰鍚嶇О锛�</td>
<td colspan="2">{{ items.project }}</td>
<td class="tdNowrap">宸ヨ壓娴佺▼锛�</td>
- <td colspan="19" v-if="like='1'" style="width: 500px">{{ items.process }}</td>
- <td colspan="17" v-else style="width: 500px">{{ items.process }}</td>
+ <td colspan="22" style="width: 500px">{{ items.process }}</td>
</tr>
<tr v-for="(itemTr,index) in item.detail" :key="index">
<td class="tdNowrap">纾ㄨ竟绫诲瀷锛�</td>
@@ -206,16 +149,15 @@
<td class="tdNowrap">鍗曠墖鍚嶇О锛�</td>
<td colspan="2">{{ itemTr.glass_child }}</td>
<td class="tdNowrap">浜у搧鍚嶇О锛�</td>
- <td v-if="like=='1'" colspan="19">{{ itemTr.product_name }}</td>
- <td v-else colspan="17">{{ itemTr.product_name }}</td>
+ <td colspan="22">{{ itemTr.product_name }}</td>
</tr>
<tr>
<td rowspan='2'>搴忓彿</td>
- <td rowspan='2'>缂栧彿</td>
- <td v-if="like!=null" rowspan="2">灏忕墖椤哄簭</td>
- <td v-else style="display: none;" rowspan="2">灏忕墖椤哄簭</td>
- <td rowspan='2'>瀹�*楂�</td>
+ <!-- <td rowspan='2'>缂栧彿</td> -->
+ <td rowspan="2">灏忕墖椤哄簭</td>
+ <td rowspan='2' style="width: 90px">瀹�*楂�</td>
<td rowspan='2'>鏁伴噺</td>
+ <td rowspan='2'>钀芥灦</td>
<td rowspan='2'>闈㈢Н</td>
<td rowspan='2'>鍛ㄩ暱</td>
<td rowspan='2'>鍗婂緞</td>
@@ -223,7 +165,10 @@
<td v-for="(itemPr,index) in item.processList" :key="index" colspan="2">{{ itemPr.process }}</td>
</tr>
<tr>
-
+ <td>{{ company.printLabel.printFlowCard.patch }}</td>
+ <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
+ <td>{{ company.printLabel.printFlowCard.patch }}</td>
+ <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
<td>{{ company.printLabel.printFlowCard.patch }}</td>
<td>{{ company.printLabel.printFlowCard.lackOf }}</td>
<td>{{ company.printLabel.printFlowCard.patch }}</td>
@@ -243,20 +188,16 @@
</tr>
</thead>
<tbody>
-
<tr v-for="(itemDatile,index) in item.detailList" :key="index">
<td>{{ itemDatile.order_number }}</td>
- <td>{{ itemDatile.s01Value }}</td>
- <td v-if="like=='1'">{{ itemDatile.technology_number }}</td>
- <td v-else style="display: none"></td>
+ <!-- <td>{{ itemDatile.s01Value }}</td> -->
+ <td>{{ itemDatile.technology_number }}</td>
<td>{{ itemDatile.child_width }}</td>
<td class="item" style="width: 5%;height: 100%;">
- <!-- <el-input v-model="itemDatile.quantity" style="border: none" @keyup="handleSummary()"></el-input> -->
{{ itemDatile.quantity }}
+ <!-- <input v-model="itemDatile.quantity" style="width: 100%;height: 100%" @keyup="handleSummary()"/> -->
</td>
- <!-- <td class="item" style="width: 5%;height: 100%;">
- {{ itemDatile.quantity1 }}
- </td> -->
+ <td>{{ itemDatile.quantity1 }}</td>
<td>{{ itemDatile.total_area }}</td>
<td>{{ itemDatile.perimeter }}</td>
<td>{{ itemDatile.bend_radius }}</td>
@@ -277,31 +218,35 @@
<td></td>
<td></td>
<td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
</tr>
</tbody>
<tfoot>
<tr style="height: 14px">
- <td v-for="(itemsum,index) in item.detail" :key="index" colspan="26">
+ <td v-for="(itemsum,index) in item.detail" :key="index" colspan="29">
鏁伴噺锛�
<label>{{ itemsum.quantity }}</label>
+ 钀芥灦鏁伴噺锛�
+ <label>{{ itemsum.quantity1 }}</label>
闈㈢Н锛�
<label>{{ parseFloat(itemsum.gross_area.toFixed(2)) }}</label>
+ 钀芥灦闈㈢Н锛�
+ <label>{{ parseFloat(itemsum.gross_area1.toFixed(2)) }}</label>
閲嶉噺锛�
<label>{{ parseFloat(itemsum.weight.toFixed(2)) }}</label>
+ 钀芥灦閲嶉噺锛�
+ <label>{{ parseFloat(itemsum.weight1.toFixed(2)) }}</label>
</td>
</tr>
<tr v-for="(itemtextarea,index) in item.detail" :key="index">
- <td v-if="like='1'" colspan="4" rowspan="6" style="width: 480px;height: 100px ">
- <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{itemtextarea.otherRemarks}}</textarea>
- </div>
- </td>
- <td v-else colspan="6" rowspan="2" style="width: 480px;height: 100px ">
- <!-- <div style="width: 100%;height: 100%"><textarea style="height: 99%;width: 99%;font-size: 11px">{{ itemtextarea.processing_note }}</textarea>-->
- <!-- </div>-->
- <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{itemtextarea.otherRemarks}}</textarea>
- </div>
- </td>
- <td colspan="2">瀹屽伐绛惧悕</td>
+ <td>瀹屽伐绛惧悕</td>
+ <td colspan="2"></td>
+ <td colspan="2"></td>
+ <td colspan="2"></td>
+ <td colspan="2"></td>
<td colspan="2"></td>
<td colspan="2"></td>
<td colspan="2"></td>
@@ -314,7 +259,11 @@
<td colspan="2"></td>
</tr>
<tr>
- <td colspan="2">鐢熶骇鏃ユ湡</td>
+ <td>鐢熶骇鏃ユ湡</td>
+ <td colspan="2"></td>
+ <td colspan="2"></td>
+ <td colspan="2"></td>
+ <td colspan="2"></td>
<td colspan="2"></td>
<td colspan="2"></td>
<td colspan="2"></td>
@@ -327,7 +276,9 @@
<td colspan="2"></td>
</tr>
<tr>
- <td colspan="2">璐ㄦ绛惧悕</td>
+ <td>璐ㄦ绛惧悕</td>
+ <td colspan="2"></td>
+ <td colspan="2">鐢熶骇绛惧悕</td>
<td colspan="2"></td>
<td colspan="2"></td>
<td colspan="2"></td>
@@ -338,9 +289,15 @@
<td colspan="2"></td>
<td colspan="2"></td>
<td colspan="2"></td>
+ <td colspan="2"></td>
+ <td colspan="2"></td>
+ </tr>
+ <tr>
+ <td>鍘熺墖绠卞彿</td>
+ <td colspan="28"></td>
</tr>
<tr v-for="(qrCodeItem,index) in item.detail" :key="index">
- <td colspan="23">
+ <td colspan="29">
<span style="display: flex;">
<span v-for="(qrCodeItems,index) in qrCodeItem.qrcodeList" :key="index" style="display: flex;width: 35%">
<div class='qrCode' style="width: 80px;height: 80px;">
@@ -352,7 +309,12 @@
</span>
</span>
</td>
-
+ </tr>
+ <tr v-for="(itemtextareas,index) in item.detail" :key="index">
+ <td colspan="29" rowspan="6" style="width: 480px;height: 150px ">
+ <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px;overflow: hidden;">{{itemtextareas.processing_note}}</textarea>
+ </div>
+ </td>
</tr>
</tfoot>
</table>
@@ -364,81 +326,61 @@
padding: 0;
text-align: center;
}
-
-
#printFlowCard {
text-align: center;
-font-weight: bolder;
- height: 600px;
+//font-weight: bolder; height: 600px;
}
-
#contentTable {
border-collapse: collapse;
border: 1px solid black;
width: 100%;
}
-
#contentTable thead {
font-size: 13px;
font-weight: bolder;
}
-
#contentTable thead div {
font-size: 15px;
font-weight: bolder;
}
-
#contentTable tr td {
border: 1px solid black;
height: 18px;
font-weight: bolder;
}
-
#contentTable tbody {
- white-space: nowrap;
}
-
.tdNowrap {
- white-space: nowrap;
}
-
#contentTable tfoot {
font-size: 12px;
font-weight: bolder;
}
-
input{
- font-weight: bolder;
+ border: none;
+ background: none;
}
-
-
-@page {
- size: auto; /* auto is the initial value */
- margin: 10mm 2mm 10mm 1mm; /* this affects the margin in the printer settings */
-
-}
-
@media print {
+ @page {
+ size: auto;
+ margin: 4mm 5mm 5mm 5mm
+ }
table {
page-break-before: always;
page-break-inside: auto;
}
-
#contentTable thead {
display: table-header-group;
}
-
tfoot {
display: table-footer-group;
page-break-inside: avoid;
}
}
-
.qrCode img {
width: 100%;
height: 100%;
}
-
</style>
\ No newline at end of file
--
Gitblit v1.8.0