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/views/pp/processCard/PrintCustomLabelSemi2.vue | 300 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 300 insertions(+), 0 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue
new file mode 100644
index 0000000..a6e3674
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue
@@ -0,0 +1,300 @@
+<script setup>
+import request from "@/utils/request"
+import {ElDatePicker, ElMessage} from "element-plus"
+import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
+import {Search} from "@element-plus/icons-vue"
+import {useRouter} from 'vue-router'
+import {changeFilterEvent, filterChanged} from "@/hook"
+import {useI18n} from 'vue-i18n'
+import deepClone from "@/utils/deepClone";
+import companyInfo from "@/stores/sd/companyInfo"
+
+const company = companyInfo()
+//璇█鑾峰彇
+const {t} = useI18n()
+let router = useRouter()
+let produceList = ref([])
+let labelList = ref([])
+let titleList = ref([])
+let dataList = ref([])
+let list = ref([])
+let lastList=ref([])
+let projectNo = ref([])
+let type = ref([])
+
+let filterData = ref({})
+
+const data = ref({
+ printList: []
+})
+
+
+
+const {currentRoute} = useRouter()
+const route = currentRoute.value
+const faceOrientation = route.query.faceOrientation
+const lableType = route.query.lableType
+const printType=route.query.printType
+projectNo.value = route.query.projectNo
+type.value = route.query.type
+
+onMounted(() => {
+ if (localStorage.getItem('hasRefreshed')=="false") {
+ localStorage.setItem('hasRefreshed', 'true');
+ location.reload();
+ }else{
+ localStorage.setItem('hasRefreshed', 'false');
+ }
+ //宸ョ▼鎵撳嵃鎴愬搧鏍囩
+ if(projectNo.value!=null){
+ request.post(`/processCard/getSelectPrintLabel/${projectNo.value}/${type.value}`).then((res) => {
+ if (res.code == 200) {
+ labelList.value = deepClone(res.data.data)
+ } else {
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ })
+
+ }else{
+ data.value.printList = JSON.parse(route.query.printList)
+ //娴佺▼鍗$紪杈戞墦鍗版爣绛� 甯稿窞
+ if (printType == 1) {
+ request.post(`/processCard/getSelectPrintLabel1`, data.value).then((res) => {
+ if (res.code == 200) {
+ produceList.value = deepClone(res.data.data)
+ for (let i = 0; i < produceList.value.length; i++) {
+ let count = produceList.value[i].data.length
+ for (let j = 0; j < count; j++) {
+ for (let k = 0; k < produceList.value[i].data[j].quantity; k++) {
+ labelList.value.push(produceList.value[i].data[j])
+ }
+
+ }
+ }
+ } else {
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ })
+
+ }
+ //鏄庣粏鍒嗘灦鎵撳嵃鏍囩 甯稿窞
+ else if(printType==2){
+ request.post(`/processCard/getSelectPrintLabelDetails`, data.value).then((res) => {
+ if (res.code == 200) {
+ produceList.value = deepClone(res.data.data)
+ for (let i = 0; i < produceList.value.length; i++) {
+ let count = produceList.value[i].data.length
+ for (let j = 0; j < count; j++) {
+ for (let k = 0; k < produceList.value[i].data[j].quantity; k++) {
+ labelList.value.push(produceList.value[i].data[j])
+ }
+
+ }
+ }
+ } else {
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ })
+ }
+ }
+
+
+})
+
+
+// 鎵撳嵃鏂规硶
+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: 2mm 2mm 2mm 2mm; " +
+ " }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);
+}
+</script>
+
+<template>
+ <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button>
+ <div id="printFlowCard" >
+ <template v-for="(item,id) in labelList">
+ <div id="entirety" >
+
+ <div class="row1" v-if="item.customer_name!==undefined">
+ <span>{{ item.customer_name }}</span>
+ <span>{{ item.order_id }}</span>
+ <span v-if="item.process.includes('澶硅兌')||item.process.includes('澶瑰眰')">鑳剁墖</span>
+ <span v-else-if="item.process.includes('涓┖')">涓┖</span>
+ <span v-else-if="item.process.includes('鐧惧彾')">鐧惧彾</span>
+ <span v-else></span>
+ </div>
+
+
+
+ <div class="row2" v-if="item.customer_name!==undefined">
+ <span>{{item.project}}</span>
+ <span>{{ item.building_number }}</span>
+ <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span>
+ </div>
+ <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">
+ <span v-if="item.heat_layout_id!==undefined && company.showDeliveryCreator" style="font-size: 7pt;">
+ ({{ item.stock_id }}) {{ item.heat_layout_id }}/{{ item.heat_layout_sort }}
+ </span>
+ <span v-if="item.stock_id!==undefined && !company.showDeliveryCreator" style="font-size: 7pt">
+ {{ item.stock_id }}/{{ item.polys_id }}
+ </span>
+ {{JSON.parse(item.other_columns).S02}}={{item.quantity}}
+
+ </div>
+ <div class="row3" v-else>
+ <span v-if="item.heat_layout_id!==undefined && company.showDeliveryCreator" style="font-size: 7pt;">
+ ({{ item.stock_id }}) {{ item.heat_layout_id }}/{{ item.heat_layout_sort }}
+ </span>
+ <span v-if="item.stock_id!==undefined && !company.showDeliveryCreator" style="font-size: 7pt">
+ {{ item.stock_id }}/{{ item.polys_id }}
+ </span>
+ {{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}
+ </div>
+ <div class="row5" v-if="item.customer_name!==undefined">
+ <span>{{item.glass_child}}</span>
+ <span>{{item.processing_note}}</span>
+ </div>
+ </div>
+ <div style="width: 19px" v-if="id%2===0"></div>
+ <div class="element-to-break-after" style="width: 1px" v-if="id%2===1"></div>
+ </template>
+ </div>
+
+</template>
+
+<style scoped>
+* {
+ margin: 0;
+ padding: 0;
+}
+
+#printButton {
+ /*margin-top: -20px;*/
+ width: 100px;
+}
+
+#printFlowCard {
+ display: flex;
+ justify-content: left;
+ flex-wrap: wrap;
+ width: 500px;
+}
+
+#entirety{
+ text-align: center;
+ width: 48%;
+ height: 160px;
+ border: black 1px;
+ word-wrap: break-word;
+}
+
+.row1 {
+ font-size: 12pt;
+ font-weight: bold;
+ height: 35px;
+}
+.row1 span {
+ font-size: 14pt;
+}
+.row2 {
+ font-size: 12pt;
+ font-weight: bold;
+ height: 35px;
+}
+.row2 span {
+ font-size: 17pt;
+}
+span {
+ font-size: 12pt;
+ font-weight: bold;
+}
+
+.row3 {
+ margin-top: -5px;
+ height: 35px;
+ font-size: 20pt;
+ font-weight: bolder;
+ line-height: 35px;
+}
+.row3 span{
+ font-size: 24pt;
+}
+
+.row5 {
+ height: 50px;
+ font-weight: bold;
+ font-size: 14pt;
+}
+.row5 span {
+ font-size: 16pt;
+}
+
+.row6 {
+ height: 25px;
+ font-weight: bold;
+ font-size: 10pt;
+}
+.row6 span {
+ font-size: 16pt;
+}
+
+.cell{
+ position: absolute;
+ font-weight: bold;
+ margin-left: 5px;
+ margin-top: 0px;
+}
+
+.cell1{
+ position: absolute;
+ font-weight: bold;
+ margin-left: 225px;
+ margin-top: -30px;
+}
+
+
+.element-to-break-after {
+ page-break-after: always;
+}
+
+
+
+</style>
\ No newline at end of file
--
Gitblit v1.8.0