From 8a76767b0a7ad271c8487a02063590b956deb5df Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期四, 25 七月 2024 14:30:30 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- UI-Project/src/views/PurchaseReturn/purchaseStorage.vue | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 101 insertions(+), 19 deletions(-) diff --git a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue index d987eb8..742ba24 100644 --- a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue +++ b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue @@ -2,14 +2,19 @@ import {Search} from "@element-plus/icons-vue"; import {reactive} from "vue"; import {useRouter} from "vue-router" +import { ElMessage, ElMessageBox } from 'element-plus' +import request from "@/utils/request" import { ref, onMounted, onBeforeUnmount } 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) { @@ -25,21 +30,85 @@ } } -const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`; +const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`; // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺 const handleMessage = (data) => { // 鏇存柊 tableData 鐨勬暟鎹� - adjustedRects.value = data.overGlass[0].map(rect => ({ - ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬� - xcoordinate: rect.xCoordinate * 0.5, // 灏唜鍊奸櫎浠�3 - ycoordinate: rect.ycoordinate * 0.5, - width: rect.width * 0.4, - height: rect.height * 0.4, - widtha: rect.width, - heighta: rect.height, - })); - console.log(adjustedRects.value); + if(data.overGlass!=null){ + adjustedRects.value = data.overGlass[0].map(rect => { + let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta; + let newX = rect.yCoordinate; + if (rect.angle === 0) { + adjustedWidth = rect.width * 0.24; + adjustedHeight = rect.height * 0.16; + adjustedWidtha = rect.width; + adjustedHeighta = rect.height; + newX = 5190 - (rect.yCoordinate + rect.width); + } else { + adjustedWidth = rect.height * 0.24; + adjustedHeight = rect.width * 0.16; + adjustedWidtha = rect.height; + adjustedHeighta = rect.width; + newX = 5190 - (rect.yCoordinate + rect.height); + } + return { + ...rect, + xcoordinate: newX * 0.24, + ycoordinate: rect.xCoordinate * 0.16, + width: adjustedWidth, + height: adjustedHeight, + widtha: adjustedWidtha, + heighta: adjustedHeighta, + }; +}); + } }; +function updateRectColors() { + adjustedRectsa.value.forEach(rect => { + if (rect.glassId === glassId) { + rect.state = 5; + } + }); +} +function getRectColora(state) { + switch (state) { + case 3: + return '#f8e3c5'; + case 4: + return '#F0F8FF'; + case 5: + return '#911005'; + } +} +function showDialog(rect) { + currentGlassId.value = rect.glassId; + currenttemperingFeedSequence.value = rect.temperingFeedSequence; + blind.value = true; +} +// 鐮存崯 +const handleDamage = 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); + blind.value = false; + updateRectColors(); + } else { + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.message); + } +} +catch (error) { + // 澶勭悊閿欒 + console.error(error); + } +} onMounted(() => { // fetchFlowCardId(); // fetchTableData(); // 鑾峰彇鏁版嵁 @@ -55,25 +124,37 @@ <template> <div style="margin-top: 10px;"> <div> - <el-card style="margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading"> - <el-scrollbar height="600px"> - <div style="position: relative;width: 1400px;"> + <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading"> + <!-- <el-card style="margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading"> --> + <div v-if="adjustedRects.length > 0"> + <div style="text-align: center;">鐐夊彿锛歿{ adjustedRects[0].engineerId }}-{{ adjustedRects[0].temperingLayoutId }}</div> + <el-scrollbar height="550px" width="1200px" style="background-color: #e9e9eb;"> + <div style="position: relative;"> <div v-for="(rect, index) in adjustedRects" :key="index" + @click="showDialog(rect)" class="rect" :style="{ position: 'absolute', top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`, width: `${rect.width}px`, height: `${rect.height}px`, - backgroundColor: rect.state === 4 ? '#d1edc4' : '#f8e3c5' }"> + backgroundColor: getRectColora(rect.state) }"> <div class="centered-text"> - <div >{{ rect.flowcardId }}</div> - <div style="margin-top: 50px;margin-left: -50px;">{{ rect.widtha }}*{{ rect.heighta }}</div> + <div >{{ rect.glassId }}</div> + <div >{{ rect.flowCardId }}</div> + <div>{{ rect.widtha }}*{{ rect.heighta }}</div> + <!-- <div style="margin-top: 25px;margin-left: -60px;">{{ rect.widtha }}*{{ rect.heighta }}</div> --> </div> </div> </div> </el-scrollbar> + </div> </el-card> </div> + <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;"> + <el-button type="warning" plain :icon="Delete" @click="handleDamage" style="width: 140px;margin-left: 10px;"> + {{ $t('order.dilapidation') }} + </el-button> + </el-dialog> </div> </template> @@ -94,9 +175,10 @@ } .centered-text { /* 璁剧疆鏂囧瓧灞呬腑鏍峰紡 */ - display: flex; + /* display: flex; */ justify-content: center; - align-items: center; + align-items: center; height: 100%; /* 纭繚div鍗犳嵁鏁翠釜鐭╁舰鐨勯珮搴� */ + font-size: small; } </style> \ No newline at end of file -- Gitblit v1.8.0