From df751d889379e025237eb51e7764fa69e886f4a9 Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期二, 20 八月 2024 10:18:10 +0800 Subject: [PATCH] 掰片/识别、钢化模块点击弹出时玻璃变色提示 --- UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 290 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 196 insertions(+), 94 deletions(-) diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue index 3d790cf..53f6d84 100644 --- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue +++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue @@ -13,7 +13,10 @@ const dialogFormVisible = ref(false) const dialogFormVisiblea = ref(true) const dialogFormVisibleb = ref(false) -const blind = ref(false) +const blind1 = ref(false) +const blind2 = ref(false) +const blinda = ref(false) +const blindb = ref(false) const width = ref(); const height = ref(); const adjustedRects1 = ref([]); @@ -23,12 +26,10 @@ const currentGlassId = ref(null); const currenttemperingFeedSequence = ref(null); const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`; -const handleMessage = (data) => { -// 杩涚倝涓� - if(data.intoGlass2!=null){ - adjustedRects2.value = data.intoGlass2[0].map(rect => { - isActive: false - const scaleFactor = 794.67/5087; +const handleMessage = (data) => { + if (data.intoGlass2 && data.intoGlass2.length > 0) { + const newRects = data.intoGlass2[0].map(rect => { + const scaleFactor = 794.67/5087; let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; let newX = rect.yCoordinate; if (rect.width < rect.height) { @@ -59,15 +60,20 @@ height: adjustedHeight, widtha: rect.width, heighta: rect.height, - }; - }); - }else{ - adjustedRects1.value = '' } - if(data.intoGlass!=null){ - adjustedRects1.value = data.intoGlass[0].map(rect => { - isActive: false - const scaleFactor = 794.67/5087; + }); + // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵�� + adjustedRects2.value = adjustedRects2.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 => !adjustedRects2.value.some(o => o.glassId === r.glassId))); + } + if (data.intoGlass && data.intoGlass.length > 0) { + const newRects = data.intoGlass[0].map(rect => { + const scaleFactor = 794.67/5087; let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; let newX = rect.yCoordinate; if (rect.width < rect.height) { @@ -98,16 +104,20 @@ height: adjustedHeight, widtha: rect.width, heighta: rect.height, - }; - }); - }else{ - adjustedRects2.value = '' } - // 杩涚倝鍓� - if(data.waitingGlass!=null){ - adjustedRectsa.value = data.waitingGlass[0].map(rect => { - isActive: false - const scaleFactor = 1621.78/5190; + }); + // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵�� + adjustedRects1.value = adjustedRects1.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 => !adjustedRects1.value.some(o => o.glassId === r.glassId))); + } + if (data.waitingGlass && data.waitingGlass.length > 0) { + const newRects = data.waitingGlass[0].map(rect => { + const scaleFactor = 1621.78/5190; let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; let newX = rect.yCoordinate; if (rect.width < rect.height) { @@ -138,16 +148,20 @@ height: adjustedHeight, widtha: rect.width, heighta: rect.height, - }; -}); - }else{ - adjustedRectsa.value = '' - } - // 宸插嚭鐐� - if(data.outGlass!=null){ - adjustedRectsb.value = data.outGlass[0].map(rect => { - isActive: false - const scaleFactor = 1621.78/5190; + } + }); + // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵�� + adjustedRectsa.value = adjustedRectsa.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 => !adjustedRectsa.value.some(o => o.glassId === r.glassId))); + } + if (data.outGlass && data.outGlass.length > 0) { + const newRects = data.outGlass[0].map(rect => { + const scaleFactor = 1621.78/5190; const scaleFactory = 550/2800; let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY; let newX = rect.yCoordinate; @@ -181,12 +195,18 @@ height: adjustedHeight, widtha: rect.width, heighta: rect.height, - }; -}); - }else{ - adjustedRectsb.value = '' - } -}; + } + }); + // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵�� + adjustedRectsb.value = adjustedRectsb.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 => !adjustedRectsb.value.some(o => o.glassId === r.glassId))); + } +}; onMounted(() => { initializeWebSocket(socketUrl, handleMessage); }); @@ -219,70 +239,68 @@ return '#911005'; } } -// if (adjustedRectsb[0].engineerId != null) { -// engineerIdDisplayb = adjustedRectsb[0].engineerId -// } -// if (adjustedRectsa[0].engineerId != null) { -// engineerIdDisplaya = adjustedRectsa[0].engineerId -// } -// if (adjustedRects2[0].engineerId != null) { -// engineerIdDisplay2 = adjustedRects2[0].engineerId -// } -// if (adjustedRects[0].engineerId != null) { -// engineerIdDisplay = adjustedRects[0].engineerId -// } -function showDialog1(rect) { +function showDialog1(rect) { + const index = adjustedRects1.value.findIndex(r => r.glassId === rect.glassId); + if (index !== -1) { + adjustedRects1.value[index].isActive = true; + } currentGlassId.value = rect.glassId; currenttemperingFeedSequence.value = rect.temperingFeedSequence; - blind.value = true; - adjustedRects1.value = adjustedRects1.value.map(rect => - rect.glass_id === glassId ? { ...rect, isActive: true } : rect - ); + blind1.value = true; } -function showDialog2(rect) { +function showDialog2(rect) { + const index = adjustedRects2.value.findIndex(r => r.glassId === rect.glassId); + if (index !== -1) { + adjustedRects2.value[index].isActive = true; + } currentGlassId.value = rect.glassId; currenttemperingFeedSequence.value = rect.temperingFeedSequence; - blind.value = true; - adjustedRects2.value = adjustedRects2.value.map(rect => - rect.glass_id === glassId ? { ...rect, isActive: true } : rect - ); + blind2.value = true; } -function showDialoga(rect) { +function showDialoga(rect) { + const index = adjustedRectsa.value.findIndex(r => r.glassId === rect.glassId); + if (index !== -1) { + adjustedRectsa.value[index].isActive = true; + } currentGlassId.value = rect.glassId; currenttemperingFeedSequence.value = rect.temperingFeedSequence; - blind.value = true; - adjustedRectsa.value = adjustedRectsa.value.map(rect => - rect.glass_id === glassId ? { ...rect, isActive: true } : rect - ); + blinda.value = true; } -function showDialogb(rect) { +function showDialogb(rect) { + const index = adjustedRectsb.value.findIndex(r => r.glassId === rect.glassId); + if (index !== -1) { + adjustedRectsb.value[index].isActive = true; + } currentGlassId.value = rect.glassId; currenttemperingFeedSequence.value = rect.temperingFeedSequence; - blind.value = true; - adjustedRectsb.value = adjustedRectsb.value.map(rect => - rect.glass_id === glassId ? { ...rect, isActive: true } : rect - ); + blindb.value = true; } -const handleDialogClose = () => { - adjustedRects1.value = adjustedRects1.value.map(rect => ({ - ...rect, - isActive: false - })); - // adjustedRects2.value = adjustedRects2.value.map(rect => ({ - // ...rect, - // isActive: false - // })); - // adjustedRectsa.value = adjustedRectsa.value.map(rect => ({ - // ...rect, - // isActive: false - // })); - adjustedRectsb.value = adjustedRectsb.value.map(rect => ({ - ...rect, - isActive: false - })); -} + const handleDialogClose1 = () => { + adjustedRects1.value.forEach(rect => { + rect.isActive = false; + }); + blind1.value = false; +}; + const handleDialogClose2 = () => { + adjustedRects2.value.forEach(rect => { + rect.isActive = false; + }); + blind2.value = false; +}; + const handleDialogClosea = () => { + adjustedRectsa.value.forEach(rect => { + rect.isActive = false; + }); + blinda.value = false; +}; + const handleDialogCloseb = () => { + adjustedRectsb.value.forEach(rect => { + rect.isActive = false; + }); + blindb.value = false; +}; // 鐮存崯 -const handleDamage = async () => { +const handleDamage1 = async () => { try { const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', { glassId: currentGlassId.value, @@ -293,7 +311,76 @@ }) if (response.code == 200) { ElMessage.success(response.message); - blind.value = false; + blind1.value = false; + updateRectColors(); + } else { + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.message); + } +} +catch (error) { + // 澶勭悊閿欒 + console.error(error); + } +} +const handleDamage2 = async () => { + try { + const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', { + glassId: currentGlassId.value, + // temperingFeedSequence: currenttemperingFeedSequence.value, + line: 4001, + status: 2, + workingProcedure: '閽㈠寲', + }) + if (response.code == 200) { + ElMessage.success(response.message); + blind2.value = false; + updateRectColors(); + } else { + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.message); + } +} +catch (error) { + // 澶勭悊閿欒 + 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, + workingProcedure: '閽㈠寲', + }) + if (response.code == 200) { + ElMessage.success(response.message); + blinda.value = false; + updateRectColors(); + } 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, + // temperingFeedSequence: currenttemperingFeedSequence.value, + line: 4001, + status: 2, + workingProcedure: '閽㈠寲', + }) + if (response.code == 200) { + ElMessage.success(response.message); + blindb.value = false; updateRectColors(); } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� @@ -431,8 +518,23 @@ </el-card> </div> -<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;"> +<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;"> + {{ $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;"> + {{ $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;"> + {{ $t('order.dilapidation') }} + </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;"> {{ $t('order.dilapidation') }} </el-button> </el-dialog> -- Gitblit v1.8.0