From 2d1a6389b3d613570b968101e4e58057bc7a7558 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期五, 22 八月 2025 14:00:53 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizationRectPrint.vue |   66 ++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 26 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizationRectPrint.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizationRectPrint.vue
index 5d2970e..9ce1126 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizationRectPrint.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizationRectPrint.vue
@@ -3,7 +3,23 @@
     <el-button id="button" type="primary" @click="handlePrint" style="position: fixed; top: 90px; right: 20px; padding: 20px; background: #4CAF50; color: white; border: none; border-radius: 5px; cursor: pointer;">
       鎵撳嵃
     </el-button>
-    
+
+    <div style="display: flex; align-items: center; gap: 20px; margin-bottom: 20px;">
+      <span>宸ョ▼缂栧彿锛�</span>
+      <el-input readonly placeholder="" style="width: 150px" v-model="processId"></el-input>&nbsp;
+      <el-checkbox v-model="config.plain">
+        鍒囨潗鐜�
+      </el-checkbox>
+      <div style="margin-right: 30px;"></div>
+      <span>甯冨眬閫夋嫨锛�</span>
+      <el-select v-model="config.type"  style="width: 120px;">
+        <el-option v-for="type in linkTypes" :key="type" :value="type" />
+      </el-select>
+      <el-button id="button" type="primary" @click="handlePrint" style="background: #4CAF50; color: white; border: none; cursor: pointer;">
+        棰勮
+      </el-button>
+    </div>
+
     <div ref="printContainer" style="position: relative;">
       <RectRenderer 
         ref="rectRenderer"
@@ -21,29 +37,11 @@
       />
     </div>
   </div>
-  <div style="width: 400px;margin: auto;">
-    <h1 style="margin: auto;text-align: center;">涓婃捣鍖楃幓鑷姩鍖�</h1>
-    <h2 style="margin: auto;text-align: center;">浼樺寲鎶ュ憡</h2>
-    浼樺寲鎶ュ伐
-    <el-table :data="layoutDetails">
-      <el-table-column prop="avgCutRate" label="鍒囪鐜�"></el-table-column>
-      <el-table-column prop="validCutRate" label="鏈夋晥鍒囧壊"></el-table-column>
-      <el-table-column prop="lastCutRate" label="灏剧墖"></el-table-column>
-      <el-table-column prop="" label="鍘熺墖绫诲瀷"></el-table-column>
-      <el-table-column prop="totalQuantity" label="鐗堥潰鏁伴噺"></el-table-column>
-    </el-table>
-    <br>
-    鐗╂枡淇℃伅
-    <el-table :data="materialDetails">
-      <el-table-column prop="width" label="鍘熺墖瀹�"></el-table-column>
-      <el-table-column prop="height" label="鍘熺墖楂�"></el-table-column>
-      <el-table-column prop="processingQuantity" label="鏁伴噺"></el-table-column>
-    </el-table>
-  </div>
+
 </template>
 
 <script setup>
-import { ref, onMounted, watch } from 'vue';
+import { ref, onMounted, watch, reactive, inject } from 'vue';
 import RectRenderer from './page/RectRenderer.vue';
 import request from "@/utils/request";
 
@@ -54,11 +52,14 @@
 const printLayout = ref('2rows-2cols');
 const rectRenderer = ref(null);
 const savedProjectNo = localStorage.getItem('projectNo');
-let processId = null;
+const processId = ref('');
 const layoutData = ref();
 const dataLoaded = ref(false);
 const materialDetails = ref();
+const injectedProjectNo = inject('projectNo', null);
 const state = ref();
+const linkTypes = ['涓�鍒�', '涓ゅ垪', '涓夊垪']
+
 // 瀹氫箟涓嶅悓甯冨眬瀵瑰簲鐨勫昂瀵�
 const layoutDimensions = {
   '4rows-2cols': { width: 1000, height: 1000 },
@@ -74,7 +75,7 @@
 const currentPrintHeight = ref(layoutDimensions[printLayout.value].height);
 
 const selectLayout = () => {
-  request.post(`/glassOptimize/selectOptimizeResult/${processId}`)
+  request.post(`/glassOptimize/selectOptimizeResult/${processId.value}`)
     .then((res) => {
       if (res.code == 200) {
         try {
@@ -93,10 +94,23 @@
     });
 };
 
+const config = reactive({
+  type: '涓ゅ垪',
+  plain: true,
+})
+
 onMounted(() => {
-  if (props.project) {
-    processId=props.project.projectNumber;
-    state.value=props.state;
+  // 浼樺厛浣跨敤娉ㄥ叆鐨� projectNo锛屽叾娆′娇鐢� props锛屾渶鍚庝娇鐢� localStorage
+  if (injectedProjectNo) {
+    processId.value = injectedProjectNo.value || injectedProjectNo;
+  } else if (props.project) {
+    processId.value = props.project.projectNumber || '';
+    state.value = props.state;
+  } else if (savedProjectNo) {
+    processId.value = savedProjectNo;
+  }
+
+  if (processId.value) {
     selectLayout();
   }
 });

--
Gitblit v1.8.0