From 78809560f4315777e770acec0e24cb42e2ca97a7 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 10 七月 2024 08:06:48 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue | 112 ++++++++++++++++++++++++++++---------------------------
1 files changed, 57 insertions(+), 55 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
similarity index 81%
rename from north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue
rename to north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
index 4b92532..25cf76e 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -22,10 +22,15 @@
printList: []
})
+let props = defineProps({
+ printList:null,
+ printMerge:null
+})
+
const {currentRoute} = useRouter()
const route = currentRoute.value
-const printMerge = route.query.printMerge
-data.value.printList = JSON.parse(route.query.printList)
+const printMerge = props.printMerge
+data.value.printList = JSON.parse(props.printList)
let flowCardCount = data.value.printList.length
onMounted(() => {
// if (id === null || id === undefined || id === '') {
@@ -35,14 +40,33 @@
request.post(`/processCard/getSelectPrinting`, data.value).then((res) => {
if (res.code == 200) {
produceList.value = deepClone(res.data.data)
+ //澶勭悊鍗曠墖鍘氬害
+
+ for (let j = 0; j < produceList.value.length; j++) {
+ let sumWeight = 0
+ 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
+ }
//澶勭悊鍚堝苟鎵撳嵃
if (printMerge !== null && printMerge !== undefined && printMerge !== "") {
produceList.value.forEach(item => {
item.detail[0].technologyNumber = printMerge;
});
-
-
//鍚堝苟鎵撳嵃宸ヨ壓娴佺▼澶勭悊
let process = produceList.value[0].detail[0].process
@@ -123,66 +147,43 @@
};
-// 鎵撳嵃鏂规硶
-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{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);
+//鏍规嵁杈撳叆鐨勬暟閲忛噸鏂版眹鎬�
+const handleSummary = () => {
+ for (let i = 0; i < produceList.value.length; i++) {
+ //鏁伴噺
+ let totalQuantity = 0;
+ //闈㈢Н
+ let totalArea = 0;
+ //閲嶉噺
+ let totalWeight = 0;
+ // 瀵规瘡涓泦鍚堜腑鐨� detailList 杩涜璁$畻
+ produceList.value[i].detailList.forEach(collection => {
+ totalQuantity += collection.quantity*1;
+ //姣忎釜搴忓彿闈㈢Н
+ collection.total_area=parseFloat((collection.width*collection.height*collection.quantity/1000000).toFixed(2))
+ totalArea += collection.total_area*1;
+ totalWeight += collection.width*collection.height*collection.quantity/1000000*collection.separation*2.5*1;
+ //姣忎釜搴忓彿鍛ㄩ暱
+ collection.perimeter= (collection.width*2+collection.height*2)*collection.quantity/1000
+ });
+ // 杈撳嚭姣忎釜闆嗗悎涓殑鎬绘暟閲�
+ produceList.value[i].detail[0].quantity=totalQuantity
+ produceList.value[i].detail[0].gross_area=totalArea
+ produceList.value[i].detail[0].weight=totalWeight
+ }
}
-// 鐩戝惉鎵撳嵃瀹屾垚浜嬩欢
-window.addEventListener('afterprint', function() {
- //淇敼鎵撳嵃
- let printState=1
- request.post(`/processCard/updatePrintState/${printState}`, data.value).then((res) => {
- if (res.code == 200 && res.data === true) {
- } else {
-
- ElMessage.warning(t('basicData.msg.saveFail'))
-
- }
- })
-});
</script>
<template>
- <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button>
+<!-- <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button>-->
<div id="printFlowCard">
<table v-for="(item,id) in produceList" id="contentTable" :key="id">
<thead>
<tr v-for="(itemFlow,index) in item.detail" :key="index">
<td colspan="24">
+ <div style="float: left;"><input style="border: none;font-size: 28px;width: 40px "/></div>
<div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
<div>{{company.companyName}}</div>
<div>鐢熶骇娴佺▼鍗�</div>
@@ -249,7 +250,7 @@
<td>{{ itemDatile.order_number }}</td>
<td>{{itemDatile.s01Value}}</td>
<td>{{ itemDatile.child_width }}</td>
- <td class="item">{{ itemDatile.quantity }}</td>
+ <td class="item" style="width: 5%;height: 100%;"><el-input @keyup="handleSummary()" style="border: none" v-model="itemDatile.quantity"></el-input></td>
<td>{{ itemDatile.total_area }}</td>
<td>{{ itemDatile.perimeter }}</td>
<td>{{ itemDatile.bend_radius }}</td>
@@ -287,7 +288,7 @@
<td colspan="6" rowspan="6" 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%;font-size: 11px">{{company.printLabel.printFlowCard.processingNote(itemtextarea)}}</textarea>
+ <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{company.printLabel.printFlowCard.processingNote(itemtextarea)}}</textarea>
</div>
</td>
<td>瀹屽伐绛惧悕</td>
@@ -353,6 +354,7 @@
* {
margin: 0;
padding: 0;
+ text-align: center;
}
#printButton {
--
Gitblit v1.8.0