From cdd6aec25462fad925010537fbb7c25b9f649a26 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 27 八月 2024 09:54:29 +0800
Subject: [PATCH] 下片添加新增虚拟工位功能,大理片非钢玻璃按流程卡进片按流程卡出片
---
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 150 ++++++++++++++++++++++++++++++++++----------------
1 files changed, 102 insertions(+), 48 deletions(-)
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index fdfcfd0..d329c50 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -86,6 +86,11 @@
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;
let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
@@ -119,17 +124,25 @@
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) {
+ // 鎻愬彇鏂扮殑鐭╁舰ID
+ 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;
let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
@@ -163,17 +176,25 @@
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) {
+ // 鎻愬彇鏂扮殑鐭╁舰ID
+ 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;;
@@ -207,17 +228,25 @@
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;
@@ -254,24 +283,49 @@
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 updateRectColorsb() {
+ adjustedRectsb.value.forEach(rect => {
+ if (rect.glassId === glassId) {
+ rect.state = 8;
+ }
+ });
+}
+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;
}
});
}
@@ -283,7 +337,7 @@
return '#95d475';
case -1:
return '#CDAF95';
- case 5:
+ case 8:
return '#911005';
}
}
@@ -293,7 +347,7 @@
return '#eebe77';
case 4:
return '#CD6090';
- case 5:
+ case 8:
return '#911005';
}
}
@@ -364,13 +418,13 @@
glassId: currentGlassId.value,
// temperingFeedSequence: currenttemperingFeedSequence.value,
line: 4001,
- status: 2,
+ status: 8,
workingProcedure: '閽㈠寲',
})
if (response.code == 200) {
ElMessage.success(response.message);
blind1.value = false;
- updateRectColors();
+ updateRectColors1();
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
@@ -387,13 +441,13 @@
glassId: currentGlassId.value,
// temperingFeedSequence: currenttemperingFeedSequence.value,
line: 4001,
- status: 2,
+ status: 8,
workingProcedure: '閽㈠寲',
})
if (response.code == 200) {
ElMessage.success(response.message);
blind2.value = false;
- updateRectColors();
+ updateRectColors2();
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
@@ -410,13 +464,13 @@
glassId: currentGlassId.value,
// temperingFeedSequence: currenttemperingFeedSequence.value,
line: 4001,
- status: 2,
+ status: 8,
workingProcedure: '閽㈠寲',
})
if (response.code == 200) {
ElMessage.success(response.message);
blinda.value = false;
- updateRectColors();
+ updateRectColorsa();
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
@@ -433,13 +487,13 @@
glassId: currentGlassId.value,
// temperingFeedSequence: currenttemperingFeedSequence.value,
line: 4001,
- status: 2,
+ status: 8,
workingProcedure: '閽㈠寲',
})
if (response.code == 200) {
ElMessage.success(response.message);
blindb.value = false;
- updateRectColors();
+ updateRectColorsb();
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
@@ -447,7 +501,7 @@
}
catch (error) {
// 澶勭悊閿欒
- console.error(error);
+ // console.error(error);
}
}
onBeforeUnmount(() => {
@@ -479,12 +533,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>
@@ -507,12 +561,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>
@@ -538,9 +592,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>
@@ -566,9 +620,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>
@@ -584,7 +638,7 @@
<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
--
Gitblit v1.8.0