From ed3ce5c8f6e1f7ac1aad3218ab5e518fc95cdb0f Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 10 九月 2024 10:26:54 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue |  265 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 265 insertions(+), 0 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
new file mode 100644
index 0000000..628e4d1
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
@@ -0,0 +1,265 @@
+<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";
+//璇█鑾峰彇
+const {t} = useI18n()
+let router = useRouter()
+let produceList = ref([])
+let labelList = ref([])
+let projectNo = ref([])
+let type = ref([])
+let orderId = ref([])
+const data = ref({
+  printList: []
+})
+
+
+
+
+const {currentRoute} = useRouter()
+const route = currentRoute.value
+projectNo.value = route.query.projectNo
+type.value = route.query.type
+onMounted(() => {
+  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)
+    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")
+      }
+    })
+  }
+
+
+
+}
+
+)
+
+
+
+
+// 鎵撳嵃鏂规硶
+  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: 13mm 4mm 0mm 4mm; " +
+        "  }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" >
+<!--    <div id="entirety" v-for="(items,id) in produceList" >
+      <div v-for="(item,index) in items.data" :key="index">
+        <div class="row1">{{ item.customer_name }}</div>
+        <div  class="row2">
+          <span>{{ item.order_id }}</span>
+          <span>{{ item.type_name }}</span>
+        </div>
+        <div class="row3">{{item.child_width}}*{{item.child_height}}={{item.quantity}}</div>
+        <div class="row5">
+          <span>{{item.project}}</span>
+          <span>{{ item.remarks }}</span>
+        </div>
+        <div class="row6">
+          <span>{{item.glass_child}}</span>
+          <span>{{item.processing_note}}</span>
+        </div>
+      </div>
+    </div>-->
+    <div id="entirety" v-for="(item,id) in labelList" >
+        <div class="row1">
+
+          <div class="cell" v-if="item.heat_layout_id!=null">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>
+          <span>{{ item.customer_name }}</span>&nbsp;
+          <span>{{ item.order_id }}</span>&nbsp;
+          <span v-if="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="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">{{JSON.parse(item.other_columns).S02}}={{item.quantity}}</div>
+        <div class="row3" v-else>{{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}</div>
+        <div class="row5">
+          <span>{{item.project}}</span>&nbsp;
+          <span>{{ item.building_number }}</span>
+          <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span>
+        </div>
+        <div class="row6">
+          <span>{{item.glass_child}}</span>&nbsp;
+          <span>{{item.processing_note}}</span>
+        </div>
+    </div>
+  </div>
+
+</template>
+
+<style scoped>
+* {
+  margin: 0;
+  padding: 0;
+}
+
+#printButton {
+  margin-top: -20px;
+  width: 100px;
+}
+
+#printFlowCard {
+  display: flex;
+  justify-content: left;
+  flex-wrap: wrap;
+  margin-left: 5px;
+}
+
+#entirety{
+  text-align: center;
+  width: 180px;
+  height: 87px;
+  margin-bottom: 10px;
+  margin-right: 5px;
+  overflow: hidden;
+  white-space: nowrap;
+}
+
+.row1 {
+  font-size: 8pt;
+  font-weight: bold;
+  height: 20px;
+}
+.row1 span {
+  font-size: 8pt;
+  font-weight: bold;
+}
+
+.row2 {
+  font-size: 8pt;
+  font-weight: bold;
+  height: 20px;
+}
+span {
+  font-size: 10pt;
+  font-weight: bold;
+}
+
+
+
+
+
+
+
+
+.row3 {
+  margin-top: -5px;
+  height: 25px;
+  font-size: 15pt;
+  font-weight: bolder;
+}
+
+.row5 {
+  height: 20px;
+  font-weight: bold;
+  font-size: 8pt;
+}
+.row5 span {
+  font-size: 10pt;
+  font-weight: bold;
+}
+
+.row6 {
+  height: 20px;
+  font-weight: bold;
+  font-size: 8pt;
+}
+.row6 span {
+  font-size: 10pt;
+  font-weight: bold;
+}
+.cell{
+  position: absolute;
+  font-weight: bold;
+  margin-left: 5px;
+  margin-top: 0px;
+}
+
+
+
+
+
+@media print {
+  div {
+    page-break-inside: avoid;
+  }
+  @page {
+    size: auto;  /* auto is the initial value */
+    margin: 13mm 4mm 0mm 4mm;  /* this affects the margin in the printer settings */
+
+  }
+}
+
+</style>
\ No newline at end of file

--
Gitblit v1.8.0