From cbec6e3f120344f6f2d69808aaabb447bb52a693 Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期四, 22 八月 2024 09:45:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- UI-Project/src/views/PurchaseReturn/purchaseStorage.vue | 88 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 79 insertions(+), 9 deletions(-) diff --git a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue index 8f28ec9..7f51276 100644 --- a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue +++ b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue @@ -4,18 +4,18 @@ import {useRouter} from "vue-router" import { ElMessage, ElMessageBox } from 'element-plus' import request from "@/utils/request" - + import { ref, onMounted, onBeforeUnmount,onUnmounted } from 'vue'; import { WebSocketHost ,host} from '@/utils/constants' import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; const adjustedRects = ref([]); const currentGlassId = ref(null); const currenttemperingFeedSequence = ref(null); - + const dialogFormVisible = ref(true) const dialogFormVisiblea = ref(false) const blind = ref(false) - + const getTableRow = (row,type) =>{ switch (type) { case 'edit' :{ @@ -39,6 +39,7 @@ 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; @@ -67,17 +68,79 @@ height: adjustedHeight, widtha: rect.width, heighta: rect.height, + // isActive: false, }; }); } }; +// const handleMessage = (data) => { +// // 鍋囪 data.overGlass[0] 鏄煩褰㈡暟缁� +// const newRects = data.overGlass[0].map(newRect => ({ +// ...newRect, +// const scaleFactor = 1621.78 / 5190; +// let widtha, heighta, adjustedWidth, adjustedHeight; + +// // 浜ゆ崲瀹藉害鍜岄珮搴︼紙濡傛灉鐭╁舰鏄�滄í鍚戔�濈殑锛� +// if (rect.width < rect.height) { +// widtha = rect.height; +// heighta = rect.width; +// } else { +// widtha = rect.width; +// heighta = rect.height; +// } + +// // 鏍规嵁瑙掑害璋冩暣瀹藉害鍜岄珮搴� +// if (rect.angle === 0) { +// adjustedWidth = widtha * scaleFactor; +// adjustedHeight = heighta * 0.16; +// } else { +// adjustedWidth = heighta * scaleFactor; +// adjustedHeight = widtha * 0.16; +// } + +// // 娉ㄦ剰锛氳繖閲屽彲鑳介渶瑕侀噸鏂拌�冭檻 newX 鐨勮绠楁柟寮� +// // 鏆傛椂淇濈暀涓哄師濮� yCoordinate 鐨勫鐞嗭紝浣嗛�氬父 x 鍧愭爣涓嶅簲鏉ヨ嚜 y 鍧愭爣 +// let newX = rect.yCoordinate; // 鍙兘鏄釜閿欒锛岄櫎闈炴湁鐗瑰畾鐢ㄩ�� + +// // 杩斿洖鏂扮殑鐭╁舰瀵硅薄 +// return { +// ...rect, // 澶嶅埗鍘熷鐭╁舰鐨勬墍鏈夊睘鎬� +// xcoordinate: newX * scaleFactor, // 娉ㄦ剰锛氳繖閲岀殑 newX 鍙兘闇�瑕佽皟鏁� +// ycoordinate: rect.xCoordinate * 0.16, +// width: adjustedWidth, +// height: adjustedHeight, +// widtha, +// heighta, +// isActive: false, // 榛樿涓洪潪婵�娲荤姸鎬� +// // 鍙互娣诲姞鍏朵粬闇�瑕佺殑灞炴�� +// } +// })); + + // 浣跨敤鏂版暟鎹洿鏂� adjustedRects + // 娉ㄦ剰锛氳繖閲屾垜浠亣璁� adjustedRects.value 涓殑鐭╁舰涔熸湁 id 灞炴�� +// adjustedRects.value = adjustedRects.value.map(oldRect => { +// const updatedRect = newRects.find(newRect => newRect.id === oldRect.id); +// if (updatedRect) { +// // 濡傛灉鎵惧埌浜嗗搴旂殑鐭╁舰锛屽垯鍚堝苟灞炴�у拰淇濈暀鍘熷婵�娲荤姸鎬侊紙濡傛灉闇�瑕佺殑璇濓級 +// // 浣嗗湪杩欎釜渚嬪瓙涓紝鎴戜滑鎬绘槸灏� isActive 璁剧疆涓� false +// return { +// ...oldRect, +// ...updatedRect, // 鍚堝苟鏂扮煩褰㈢殑灞炴�э紝浣嗕細瑕嗙洊 isActive +// isActive: false, // 鎬绘槸璁剧疆涓� false锛岄櫎闈炴偍鏈夋洿澶嶆潅鐨勯�昏緫 +// }; +// } +// // 濡傛灉娌℃湁鎵惧埌瀵瑰簲鐨勭煩褰紝鍒欎繚鐣欏師鏍� +// return oldRect; +// }).concat(newRects.filter(newRect => !adjustedRects.value.some(oldRect => oldRect.id === newRect.id))); +// // concat 鐢ㄤ簬娣诲姞閭d簺鍦� adjustedRects.value 涓笉瀛樺湪鐨勬柊鐭╁舰 +// }; function updateRectColors() { adjustedRects.value.forEach(rect => { if (rect.glassId === glassId) { rect.state = 8; } }); -} +} function getRectColora(state) { switch (state) { case 3: @@ -89,10 +152,16 @@ } } function showDialog(rect) { + rect.isActive = true; currentGlassId.value = rect.glassId; currenttemperingFeedSequence.value = rect.temperingFeedSequence; blind.value = true; } +const handleDialogClose = () => { + adjustedRects.value.forEach(rect => { + rect.isActive = false; // 鍏抽棴瀵硅瘽妗嗘椂閲嶇疆鎵�鏈夌煩褰㈢殑 isActive 鐘舵�� + }); +}; // 鐮存崯 const handleDamage = async () => { try { @@ -130,7 +199,7 @@ closeWebSocket(); }); </script> - + <template> <div style="margin-top: 10px;"> <div> @@ -147,7 +216,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,15 +230,15 @@ </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> </el-dialog> </div> - + </template> - + <style scoped> #boxa{ border: 1px solid rgb(119, 116, 116); -- Gitblit v1.8.0