From 56fab901b298857ff4985b7429ef843c9a9d1471 Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期三, 28 八月 2024 16:20:02 +0800 Subject: [PATCH] 钢化模块打印功能,新增表格字段 --- UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 465 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 360 insertions(+), 105 deletions(-) diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue index 3cfd14e..fe85ccf 100644 --- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue +++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue @@ -1,5 +1,5 @@ -<script setup> -import {Search} from "@element-plus/icons-vue"; +<script setup lang="ts"> +import {Search ,Delete, Upload,Edit} from "@element-plus/icons-vue"; import {reactive} from "vue"; import request from "@/utils/request" import { ref, onMounted, onBeforeUnmount,nextTick } from 'vue'; @@ -21,6 +21,15 @@ const dialogVisible = ref(false) const width = ref(); const height = ref(); +const currentRect = ref(null); +const canSelectProject1 = ref(true); +const canSelectProject2 = ref(true); +const canSelectProjecta = ref(true); +const cantakea = ref(true); +const cantakeb = ref(true); +const canona = ref(true); +const canonb = ref(true); +const canSelectProjectb = ref(true); const adjustedRects1 = ref([]); const adjustedRects2 = ref([]); const adjustedRectsa = ref([]); @@ -85,9 +94,16 @@ }; const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`; const handleMessage = (data) => { + // 杩涚倝涓彸 if (data.intoGlass2 && data.intoGlass2.length > 0) { + // 鎻愬彇鏂扮殑鐭╁舰ID + const newGlassIds = new Set(data.intoGlass2[0].map(rect => rect.glassId)); + // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰� + const existingRects = adjustedRects2.value.filter(rect => newGlassIds.has(rect.glassId)); + // 璁$畻鏂扮殑鐭╁舰 const newRects = data.intoGlass2[0].map(rect => { const scaleFactor = 794.67/5087; + const scaleFactorY = 430/2800; let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; let newX = rect.yCoordinate; if (rect.width < rect.height) { @@ -99,13 +115,13 @@ } if (rect.angle === 0) { adjustedWidth = widtha * scaleFactor; - adjustedHeight = heighta * 0.1; + adjustedHeight = heighta * scaleFactorY; // adjustedWidtha = widtha; // adjustedHeighta = heighta; newX = 5087 - (rect.yCoordinate + widtha); } else { adjustedWidth = heighta * scaleFactor; - adjustedHeight = widtha * 0.1; + adjustedHeight = widtha * scaleFactorY; // adjustedWidtha = widtha; // adjustedHeighta = heighta; newX = 5087 - (rect.yCoordinate + heighta); @@ -113,25 +129,32 @@ return { ...rect, xcoordinate: newX * scaleFactor, - ycoordinate: rect.xCoordinate * 0.1, + ycoordinate: rect.xCoordinate * scaleFactorY, width: adjustedWidth, height: adjustedHeight, widtha: rect.width, heighta: rect.height, } - }); - // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵�� - adjustedRects2.value = adjustedRects2.value.map(oldRect => { + }); + // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵�� + adjustedRects2.value = existingRects.map(oldRect => { const newRect = newRects.find(r => r.glassId === oldRect.glassId); if (newRect) { return { ...oldRect, ...newRect, isActive: oldRect.isActive }; } - return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍� - }).concat(newRects.filter(r => !adjustedRects2.value.some(o => o.glassId === r.glassId))); + return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍� + }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId))); + } + else if (data.intoGlass2 == null) { + adjustedRects2.value = [] } + // 杩涚倝涓乏 if (data.intoGlass && data.intoGlass.length > 0) { + const newGlassIds = new Set(data.intoGlass[0].map(rect => rect.glassId)); + const existingRects = adjustedRects1.value.filter(rect => newGlassIds.has(rect.glassId)); const newRects = data.intoGlass[0].map(rect => { - const scaleFactor = 794.67/5087; + const scaleFactor = 810.89/5087; + const scaleFactorY = 430/2800; let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; let newX = rect.yCoordinate; if (rect.width < rect.height) { @@ -143,13 +166,13 @@ } if (rect.angle === 0) { adjustedWidth = widtha * scaleFactor; - adjustedHeight = heighta * 0.1; + adjustedHeight = heighta * scaleFactorY; // adjustedWidtha = widtha; // adjustedHeighta = heighta; newX = 5087 - (rect.yCoordinate + widtha); } else { adjustedWidth = heighta * scaleFactor; - adjustedHeight = widtha * 0.1; + adjustedHeight = widtha * scaleFactorY; // adjustedWidtha = widtha; // adjustedHeighta = heighta; newX = 5087 - (rect.yCoordinate + heighta); @@ -157,26 +180,32 @@ return { ...rect, xcoordinate: newX * scaleFactor, - ycoordinate: rect.xCoordinate * 0.1, + ycoordinate: rect.xCoordinate * scaleFactorY, width: adjustedWidth, height: adjustedHeight, widtha: rect.width, heighta: rect.height, } - }); - // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵�� - adjustedRects1.value = adjustedRects1.value.map(oldRect => { + }); + // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵�� + adjustedRects1.value = existingRects.map(oldRect => { const newRect = newRects.find(r => r.glassId === oldRect.glassId); if (newRect) { return { ...oldRect, ...newRect, isActive: oldRect.isActive }; } - return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍� - }).concat(newRects.filter(r => !adjustedRects1.value.some(o => o.glassId === r.glassId))); + return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍� + }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId))); + } + else if (data.overGlass == null) { + adjustedRects1.value = [] } if (data.waitingGlass && data.waitingGlass.length > 0) { + const newGlassIds = new Set(data.waitingGlass[0].map(rect => rect.glassId)); + const existingRects = adjustedRectsa.value.filter(rect => newGlassIds.has(rect.glassId)); const newRects = data.waitingGlass[0].map(rect => { - const scaleFactor = 1621.78/5190; - let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; + const scaleFactor = 1390/5190; + const scaleFactorY = 750/2800; + let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; let newX = rect.yCoordinate; if (rect.width < rect.height) { widtha = rect.height; @@ -187,13 +216,13 @@ } if (rect.angle === 0) { adjustedWidth = widtha * scaleFactor; - adjustedHeight = heighta * 0.16; + adjustedHeight = heighta * scaleFactorY; // adjustedWidtha = widtha; // adjustedHeighta = heighta; newX = 5190 - (rect.yCoordinate + widtha); } else { adjustedWidth = heighta * scaleFactor; - adjustedHeight = widtha * 0.16; + adjustedHeight = widtha * scaleFactorY; // adjustedWidtha = widtha; // adjustedHeighta = heighta; newX = 5190 - (rect.yCoordinate + heighta); @@ -201,26 +230,34 @@ return { ...rect, x: newX * scaleFactor, - y: rect.xCoordinate * 0.16, + y: rect.xCoordinate * scaleFactorY, width: adjustedWidth, height: adjustedHeight, widtha: rect.width, heighta: rect.height, } - }); - // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵�� - adjustedRectsa.value = adjustedRectsa.value.map(oldRect => { + }); + // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵�� + adjustedRectsa.value = existingRects.map(oldRect => { const newRect = newRects.find(r => r.glassId === oldRect.glassId); if (newRect) { return { ...oldRect, ...newRect, isActive: oldRect.isActive }; } - return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍� - }).concat(newRects.filter(r => !adjustedRectsa.value.some(o => o.glassId === r.glassId))); + return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍� + }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId))); + } + else if (data.waitingGlass == null) { + adjustedRectsa.value = [] } if (data.outGlass && data.outGlass.length > 0) { + // 鎻愬彇鏂扮殑鐭╁舰ID + const newGlassIds = new Set(data.outGlass[0].map(rect => rect.glassId)); + // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰� + const existingRects = adjustedRectsb.value.filter(rect => newGlassIds.has(rect.glassId)); + // 璁$畻鏂扮殑鐭╁舰 const newRects = data.outGlass[0].map(rect => { - const scaleFactor = 1621.78/5190; - const scaleFactory = 550/2800; + const scaleFactor = 1390/5190; + const scaleFactory = 750/2800; let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY; let newX = rect.yCoordinate; if (rect.width < rect.height) { @@ -254,37 +291,92 @@ widtha: rect.width, heighta: rect.height, } - }); - // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵�� - adjustedRectsb.value = adjustedRectsb.value.map(oldRect => { + }); + + // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵�� + adjustedRectsb.value = existingRects.map(oldRect => { const newRect = newRects.find(r => r.glassId === oldRect.glassId); if (newRect) { return { ...oldRect, ...newRect, isActive: oldRect.isActive }; } - return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍� - }).concat(newRects.filter(r => !adjustedRectsb.value.some(o => o.glassId === r.glassId))); + return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍� + }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId))); + } + else if (data.outGlass == null) { + adjustedRectsb.value = [] } }; onMounted(() => { initializeWebSocket(socketUrl, handleMessage); }); -function updateRectColors() { +function updateRectColorsa() { adjustedRectsa.value.forEach(rect => { if (rect.glassId === glassId) { - rect.state = 5; + rect.state = 8; + } + }); +} +function updateoutColorsa() { + adjustedRectsa.value.forEach(rect => { + if (rect.glassId === glassId) { + rect.state = 9; + } + }); +} +function updateonColorsa() { + adjustedRectsa.value.forEach(rect => { + if (rect.glassId === glassId) { + rect.state = 1; + } + }); +} +function updateRectColorsb() { + adjustedRectsb.value.forEach(rect => { + if (rect.glassId === glassId) { + rect.state = 8; + } + }); +} +function updateoutColorsb() { + adjustedRectsb.value.forEach(rect => { + if (rect.glassId === glassId) { + rect.state = 9; + } + }); +} +function updateonColorsb() { + adjustedRectsb.value.forEach(rect => { + if (rect.glassId === glassId) { + rect.state = 3; + } + }); +} +function updateRectColors1() { + adjustedRects1.value.forEach(rect => { + if (rect.glassId === glassId) { + rect.state = 8; + } + }); +} +function updateRectColors2() { + adjustedRects2.value.forEach(rect => { + if (rect.glassId === glassId) { + rect.state = 8; } }); } function getRectColora(state) { switch (state) { case 0: - return '#7AC5CD'; - case 1: + return '#7AC5CD'; + case 1: return '#95d475'; - case -1: - return '#CDAF95'; - case 5: - return '#911005'; + case -1: + return '#CDAF95'; + case 8: + return '#911005'; + case 9: + return '#4682B4'; } } function getRectColorb(state) { @@ -293,8 +385,10 @@ return '#eebe77'; case 4: return '#CD6090'; - case 5: - return '#911005'; + case 8: + return '#911005'; + case 9: + return '#4682B4'; } } function showDialog1(rect) { @@ -305,6 +399,12 @@ currentGlassId.value = rect.glassId; currenttemperingFeedSequence.value = rect.temperingFeedSequence; blind1.value = true; + currentRect.value = rect; + if (currentRect.value.state == 8) { + canSelectProject1.value = false; + } else if (currentRect.value.state !== 8) { + canSelectProject1.value = true; + } } function showDialog2(rect) { const index = adjustedRects2.value.findIndex(r => r.glassId === rect.glassId); @@ -314,6 +414,12 @@ currentGlassId.value = rect.glassId; currenttemperingFeedSequence.value = rect.temperingFeedSequence; blind2.value = true; + currentRect.value = rect; + if (currentRect.value.state == 8) { + canSelectProject2.value = false; + } else if (currentRect.value.state !== 8) { + canSelectProject2.value = true; + } } function showDialoga(rect) { const index = adjustedRectsa.value.findIndex(r => r.glassId === rect.glassId); @@ -322,7 +428,23 @@ } currentGlassId.value = rect.glassId; currenttemperingFeedSequence.value = rect.temperingFeedSequence; - blinda.value = true; + blinda.value = true; + currentRect.value = rect; + if (currentRect.value.state == 8) { + canSelectProjecta.value = false; + } else if (currentRect.value.state !== 8) { + canSelectProjecta.value = true; + } + if (currentRect.value.state == 9) { + cantakea.value = false; + } else if (currentRect.value.state !== 9) { + cantakea.value = true; + } + if (currentRect.value.state == 1) { + canona.value = false; + } else if (currentRect.value.state == 0) { + canona.value = true; + } } function showDialogb(rect) { const index = adjustedRectsb.value.findIndex(r => r.glassId === rect.glassId); @@ -332,6 +454,22 @@ currentGlassId.value = rect.glassId; currenttemperingFeedSequence.value = rect.temperingFeedSequence; blindb.value = true; + currentRect.value = rect; + if (currentRect.value.state == 8) { + canSelectProjectb.value = false; + } else if (currentRect.value.state !== 8) { + canSelectProjectb.value = true; + } + if (currentRect.value.state == 9) { + cantakeb.value = false; + } else if (currentRect.value.state !== 9) { + cantakeb.value = true; + } + if (currentRect.value.state == 3) { + canonb.value = false; + } else if (currentRect.value.state !== 3) { + canonb.value = true; + } } const handleDialogClose1 = () => { adjustedRects1.value.forEach(rect => { @@ -364,13 +502,13 @@ glassId: currentGlassId.value, // temperingFeedSequence: currenttemperingFeedSequence.value, line: 4001, - status: 2, + status: 8, workingProcedure: '閽㈠寲', }) if (response.code == 200) { - ElMessage.success(response.message); + ElMessage.success('鎴愬姛锛�'); blind1.value = false; - updateRectColors(); + updateRectColors1(); } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� ElMessage.error(response.message); @@ -385,15 +523,14 @@ try { const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', { glassId: currentGlassId.value, - // temperingFeedSequence: currenttemperingFeedSequence.value, line: 4001, - status: 2, + status: 8, workingProcedure: '閽㈠寲', }) if (response.code == 200) { - ElMessage.success(response.message); + ElMessage.success('鎴愬姛锛�'); blind2.value = false; - updateRectColors(); + updateRectColors2(); } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� ElMessage.error(response.message); @@ -404,19 +541,19 @@ console.error(error); } } +// 杩涚倝鍓嶇牬鎹� const handleDamagea = async () => { try { const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', { glassId: currentGlassId.value, - // temperingFeedSequence: currenttemperingFeedSequence.value, line: 4001, - status: 2, + status: 8, workingProcedure: '閽㈠寲', }) if (response.code == 200) { - ElMessage.success(response.message); + ElMessage.success('鎴愬姛锛�'); blinda.value = false; - updateRectColors(); + updateRectColorsa(); } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� ElMessage.error(response.message); @@ -427,19 +564,19 @@ console.error(error); } } -const handleDamageb = async () => { +// 杩涚倝鍓嶄汉宸ユ嬁璧� +const takeouta = async () => { try { const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', { glassId: currentGlassId.value, - // temperingFeedSequence: currenttemperingFeedSequence.value, line: 4001, - status: 2, + status: 9, workingProcedure: '閽㈠寲', }) if (response.code == 200) { - ElMessage.success(response.message); - blindb.value = false; - updateRectColors(); + ElMessage.success('鎴愬姛锛�'); + blinda.value = false; + updateoutColorsa(); } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� ElMessage.error(response.message); @@ -448,6 +585,98 @@ catch (error) { // 澶勭悊閿欒 console.error(error); + } +} +// 杩涚倝鍓嶆斁鍥� +const takeona = async () => { + try { + const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', { + glassId: currentGlassId.value, + line: 4001, + status: 1, + workingProcedure: '閽㈠寲', + }) + if (response.code == 200) { + ElMessage.success('鎴愬姛锛�'); + blinda.value = false; + updateonColorsa(); + } else { + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.message); + } +} +catch (error) { + // 澶勭悊閿欒 + console.error(error); + } +} +// 宸插嚭鐐夌牬鎹� +const handleDamageb = async () => { + try { + const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', { + glassId: currentGlassId.value, + line: 4001, + status: 8, + workingProcedure: '閽㈠寲', + }) + if (response.code == 200) { + ElMessage.success('鎴愬姛锛�'); + blindb.value = false; + updateRectColorsb(); + } else { + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.message); + } +} +catch (error) { + // 澶勭悊閿欒 + // console.error(error); + } +} +// 宸插嚭鐐変汉宸ユ嬁璧� +const takeoutb = async () => { + try { + const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', { + glassId: currentGlassId.value, + line: 4001, + status: 9, + workingProcedure: '閽㈠寲', + }) + if (response.code == 200) { + ElMessage.success('鎴愬姛锛�'); + blindb.value = false; + updateoutColorsb(); + } else { + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.message); + } +} +catch (error) { + // 澶勭悊閿欒 + // console.error(error); + } +} +// 宸插嚭鐐夋斁鍥� +const takeonb = async () => { + try { + const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', { + glassId: currentGlassId.value, + line: 4001, + status: 3, + workingProcedure: '閽㈠寲', + }) + if (response.code == 200) { + ElMessage.success('鎴愬姛锛�'); + blindb.value = false; + updateonColorsb(); + } else { + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.message); + } +} +catch (error) { + // 澶勭悊閿欒 + // console.error(error); } } onBeforeUnmount(() => { @@ -463,11 +692,11 @@ <el-button id="searchButton" type="info" @click="dialogFormVisiblec = true;dialogFormVisibleb = false;dialogFormVisible = false;dialogFormVisiblea = false">{{ $t('processCard.print') }}</el-button> <div v-if="dialogFormVisible" > <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading"> -<div style="width: 49%;float: left;background-color: #f4f4f5;height: 550px;"> +<div style="width: 50%;float: left;background-color: #f4f4f5;height: 430px;"> <div v-if="adjustedRects1.length > 0"> <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplay }}-{{ adjustedRects[0].temperingLayoutId }}</div> --> <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRects1[0].engineerId }}-{{ adjustedRects1[0].temperingLayoutId }} </div> - <el-scrollbar height="550px" style="background-color: #e9e9eb;"> + <el-scrollbar height="430px" style="background-color: #e9e9eb;"> <div style="position: relative;max-width: 1400px;"> <div v-for="(rect, index) in adjustedRects1" @@ -479,23 +708,23 @@ left: `${rect.xcoordinate}px`, width: `${rect.width}px`, height: `${rect.height}px`, - backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#911005' : 'lightblue' }" + backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 8 ? '#911005' : 'lightblue' }" > <div class="centered-text"> - <div >{{ rect.glassId }}</div> - <div >{{ rect.flowCardId }}</div> - <div>{{ rect.widtha }}*{{ rect.heighta }}</div> + <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div> + <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div> + <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div> </div> </div> </div> </el-scrollbar> </div> </div> -<div style="width: 49%;float: right;background-color: #f4f4f5;height: 550px;"> +<div style="width: 49%;float: right;background-color: #f4f4f5;height: 430px;"> <div v-if="adjustedRects2.length > 0"> <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRects2[0].engineerId }}-{{ adjustedRects2[0].temperingLayoutId }} </div> <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplay2 }}-{{ adjustedRects[0].temperingLayoutId }}</div> --> - <el-scrollbar height="550px" style="background-color: #e9e9eb;"> + <el-scrollbar height="430px" style="background-color: #e9e9eb;"> <div style="position: relative;max-width: 1400px;"> <div v-for="(rect, index) in adjustedRects2" @@ -507,12 +736,12 @@ left: `${rect.xcoordinate}px`, width: `${rect.width}px`, height: `${rect.height}px`, - backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#911005' : 'lightblue' }" + backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 8 ? '#911005' : 'lightblue' }" > <div class="centered-text"> - <div >{{ rect.glassId }}</div> - <div >{{ rect.flowCardId }}</div> - <div>{{ rect.widtha }}*{{ rect.heighta }}</div> + <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div> + <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div> + <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div> </div> </div> </div> @@ -523,11 +752,11 @@ </div> <div v-if="dialogFormVisiblea"> <!-- 杩涚倝鍓� --> - <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading"> + <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading"> <div v-if="adjustedRectsa.length > 0"> <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRectsa[0].engineerId }}-{{ adjustedRectsa[0].temperingLayoutId }} </div> <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplaya }}-{{ adjustedRects[0].temperingLayoutId }}</div> --> - <el-scrollbar height="550px" style="background-color: #e9e9eb;"> + <el-scrollbar height="750px" style="background-color: #e9e9eb;"> <div style="position: relative;max-width: 1400px;"> <div v-for="(rect, index) in adjustedRectsa" @@ -538,9 +767,9 @@ width: `${rect.width}px`, height: `${rect.height}px`, backgroundColor: rect.isActive ? '#ADFF2F' : getRectColora(rect.state) }"> <div class="centered-text"> - <div>{{ rect.glassId }}</div> - <div >{{ rect.flowCardId }}</div> - <div>{{ rect.widtha }}*{{ rect.heighta }}</div> + <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div> + <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div> + <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div> </div> </div> </div> @@ -550,11 +779,11 @@ </div> <div v-if="dialogFormVisibleb"> <!-- 宸插嚭鐐� --> - <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading"> + <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading"> <div v-if="adjustedRectsb.length > 0"> <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRectsb[0].engineerId }}-{{ adjustedRectsb[0].temperingLayoutId }} </div> <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplayb }}-{{ adjustedRects[0].temperingLayoutId }}</div> --> - <el-scrollbar height="550px" style="background-color: #e9e9eb;"> + <el-scrollbar height="750px" style="background-color: #e9e9eb;"> <div style="position: relative;max-width: 1400px;"> <div v-for="(rect, index) in adjustedRectsb" @@ -566,9 +795,9 @@ backgroundColor: rect.isActive ? '#ADFF2F' : getRectColorb(rect.state) }"> <!-- backgroundColor: rect.state === 4 ? '#911005' : '#f8e3c5' }"> --> <div class="centered-text"> - <div >{{ rect.glassId }}</div> - <div >{{ rect.flowCardId }}</div> - <div>{{ rect.widtha }}*{{ rect.heighta }}</div> + <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div> + <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div> + <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div> </div> </div> </div> @@ -578,68 +807,91 @@ </div> <div v-if="dialogFormVisiblec"> <!-- 鎵撳嵃 --> - <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading"> + <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading"> <div style="display: flex; flex-direction: row; align-items: center; margin-top: 5px;margin-left: 10px;"> <el-input :placeholder="$t('processCard.projectnumber')" v-model="engineerId" autocomplete="off" style="width: 300px;"/> <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('processCard.inquire') }}</el-button> <el-button type="info" style="margin-left: 10px;" @click="printing()">{{ $t('processCard.printing') }}</el-button> </div> - + <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading"> <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;"> <el-table - height="350" + height="600" ref="table" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" :data="tableData" > <el-table-column prop="engineerId" :label="$t('processCard.project')" width="200" align="center"/> - <el-table-column prop="workingProcedure" :label="$t('processCard.awayprocess')" align="center"/> - <el-table-column prop="deviceName" :label="$t('processCard.awayequipment')" align="center"/> - <el-table-column prop="teamsGroupsName" :label="$t('processCard.awayteam')" align="center"/> + <el-table-column prop="temperingLayoutId" :label="$t('processCard.layoutID')" align="center"/> + <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center"/> + <el-table-column prop="glassId" :label="$t('processCard.glassID')" align="center"/> + <el-table-column prop="width" :label="$t('processCard.width')" align="center"/> + <el-table-column prop="height" :label="$t('processCard.height')" align="center"/> + <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center"/> </el-table> </div> </el-card> </el-card> </div> +<!-- 杩涚倝涓� --> <el-dialog v-model="blind1" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose1"> - <el-button type="warning" plain :icon="Delete" @click="handleDamage1" style="width: 140px;margin-left: 10px;"> + <el-button :disabled="!canSelectProject1" type="warning" plain :icon="Delete" @click="handleDamage1" style="width: 150px;margin-left: 10px;"> {{ $t('order.dilapidation') }} </el-button> </el-dialog> <el-dialog v-model="blind2" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose2"> - <el-button type="warning" plain :icon="Delete" @click="handleDamage2" style="width: 140px;margin-left: 10px;"> + <el-button :disabled="!canSelectProject2" type="warning" plain :icon="Delete" @click="handleDamage2" style="width: 150px;margin-left: 10px;"> {{ $t('order.dilapidation') }} </el-button> </el-dialog> + <!-- 杩涚倝鍓� --> <el-dialog v-model="blinda" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClosea"> - <el-button type="warning" plain :icon="Delete" @click="handleDamagea" style="width: 140px;margin-left: 10px;"> + <el-button type="warning" plain :icon="Delete" @click="handleDamagea" :disabled="!canSelectProjecta" style="width: 150px;margin-left: 10px;"> {{ $t('order.dilapidation') }} + </el-button> + <el-button :disabled="!cantakea" type="danger" plain @click="takeouta" style="width: 150px;margin-left: 10px;margin-top: 10px;"> + <el-icon class="el-icon--right"><Upload /></el-icon> + {{ $t('order.takeaway') }} + </el-button> + <el-button type="success" plain :icon="Edit" @click="takeona" :disabled="!canona" style="width: 150px;margin-left: 10px;margin-top: 10px;"> + {{ $t('order.takeon') }} </el-button> </el-dialog> + <!-- 宸插嚭鐐� --> <el-dialog v-model="blindb" top="30vh" width="15%" style="text-align: center;" @close="handleDialogCloseb"> - <el-button type="warning" plain :icon="Delete" @click="handleDamageb" style="width: 140px;margin-left: 10px;"> + <el-button :disabled="!canSelectProjectb" type="warning" plain :icon="Delete" @click="handleDamageb" style="width: 150px;margin-left: 10px;"> {{ $t('order.dilapidation') }} </el-button> + <el-button :disabled="!cantakeb" type="danger" plain @click="takeoutb" style="width: 150px;margin-left: 10px;margin-top: 10px;"> + <el-icon class="el-icon--right"><Upload /></el-icon> + {{ $t('order.takeaway') }} + </el-button> + <!-- <el-button type="success" plain :icon="Edit" @click="takeonb" :disabled="!canonb" style="width: 150px;margin-left: 10px;margin-top: 10px;"> + {{ $t('order.takeon') }} + </el-button> --> </el-dialog> <el-dialog v-model="dialogVisible" width="100%" - :title="$t('processCard.glasstakeout')" top="0vh" + :show-close="false" > + <div class="custom-title" style="text-align: center; margin-bottom: 20px;"> + {{ $t('processCard.glasstakeout') }} + </div> <el-table :data="tableData" - style="width: 100%;height: 860px" + style="width: 100%;height: 760px" > <el-table-column prop="flowCardId" :label="$t('processCard.flowcard')" width="140" align="center"/> - <el-table-column prop="layer" :label="$t('processCard.layer')" align="center" width="80"/> + <el-table-column prop="layer" :label="$t('processCard.layer')" align="center" width="52"/> <el-table-column prop="engineerId" :label="$t('processCard.project')" align="center" width="110"/> - <el-table-column prop="temperingLayoutId" :label="$t('processCard.temperinglayout')" align="center" width="80"/> - <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center" width="80"/> + <el-table-column prop="temperingLayoutId" :label="$t('processCard.temperinglayout')" align="center" width="52"/> + <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center" width="52"/> <el-table-column prop="width" :label="$t('processCard.width')" align="center" width="80"/> <el-table-column prop="height" :label="$t('processCard.height')" align="center" width="80"/> - <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center" width="80"/> + <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center" width="52"/> </el-table> </el-dialog> </div> @@ -668,7 +920,7 @@ border: 1px solid black; background-color: #337ecc; display:flex; - align-items:center; + align-items:center; justify-content:center; } #home-card { @@ -711,11 +963,10 @@ } .rect { border: 1px solid black; /* 璁剧疆鐭╁舰鐨勮竟妗� */ - background-color: lightblue; /* 璁剧疆鐭╁舰鐨勮儗鏅壊 */ + /* background-color: lightblue; 璁剧疆鐭╁舰鐨勮儗鏅壊 */ } #rect { position: relative; /* 纭繚绠ご鍙互鐩稿浜庣煩褰㈠畾浣� */ - /* 鍏朵粬鏍峰紡 */ } .centered-text { /* 璁剧疆鏂囧瓧灞呬腑鏍峰紡 */ @@ -725,4 +976,8 @@ height: 100%; /* 纭繚div鍗犳嵁鏁翠釜鐭╁舰鐨勯珮搴� */ /* font-size: small; */ } +.custom-title { + font-size: 20px; + font-weight: bold; +} </style> \ No newline at end of file -- Gitblit v1.8.0