From 74173fd310569a79104bfe1beb97e73890c4cda9 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 20 八月 2024 14:10:28 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes
---
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue | 51 +++++++++++++++++++++++++++++++++------------------
1 files changed, 33 insertions(+), 18 deletions(-)
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
index 8f28ec9..075ed55 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -31,14 +31,13 @@
}
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- if(data.overGlass!=null){
- adjustedRects.value = data.overGlass[0].map(rect => {
+const handleMessage = (data) => {
+ if (data.overGlass && data.overGlass.length > 0) {
+ const newRects = data.overGlass[0].map(rect => {
const scaleFactor = 1621.78/5190;
let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
let newX = rect.yCoordinate;
+
if (rect.width < rect.height) {
widtha = rect.height;
heighta = rect.width;
@@ -49,15 +48,9 @@
if (rect.angle === 0) {
adjustedWidth = widtha * scaleFactor;
adjustedHeight = heighta * 0.16;
- // adjustedWidtha = widtha;
- // adjustedHeighta = heighta;
- // newX = 5190 - (rect.yCoordinate + rect.width);
} else {
adjustedWidth = heighta * scaleFactor;
adjustedHeight = widtha * 0.16;
- // adjustedWidtha = heighta;
- // adjustedHeighta = widtha;
- // newX = 5190 - (rect.yCoordinate + rect.height);
}
return {
...rect,
@@ -67,17 +60,27 @@
height: adjustedHeight,
widtha: rect.width,
heighta: rect.height,
- };
-});
}
-};
+ });
+
+ // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��
+ adjustedRects.value = adjustedRects.value.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 => !adjustedRects.value.some(o => o.glassId === r.glassId)));
+ }
+};
+
function updateRectColors() {
adjustedRects.value.forEach(rect => {
if (rect.glassId === glassId) {
rect.state = 8;
}
});
-}
+}
function getRectColora(state) {
switch (state) {
case 3:
@@ -88,11 +91,22 @@
return '#911005';
}
}
-function showDialog(rect) {
+function showDialog(rect) {
+ const index = adjustedRects.value.findIndex(r => r.glassId === rect.glassId);
+ if (index !== -1) {
+ adjustedRects.value[index].isActive = true;
+ }
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
blind.value = true;
}
+
+const handleDialogClose = () => {
+ adjustedRects.value.forEach(rect => {
+ rect.isActive = false;
+ });
+ blind.value = false;
+};
// 鐮存崯
const handleDamage = async () => {
try {
@@ -147,7 +161,8 @@
class="rect"
:style="{ position: 'absolute', top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`,
width: `${rect.width}px`, height: `${rect.height}px`,
- backgroundColor: getRectColora(rect.state) }">
+ backgroundColor: rect.isActive ? '#ADFF2F' : getRectColora(rect.state)
+ }">
<div class="centered-text">
<div >{{ rect.glassId }}</div>
<div >{{ rect.flowCardId }}</div>
@@ -160,7 +175,7 @@
</div>
</el-card>
</div>
- <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;">
+ <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose">
<el-button type="warning" plain :icon="Delete" @click="handleDamage" style="width: 140px;margin-left: 10px;">
{{ $t('order.dilapidation') }}
</el-button>
--
Gitblit v1.8.0