wu
2024-08-27 2bb5874750f30f1e7c8c5c2df66c24dcf78b9b9b
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' :{
@@ -33,6 +33,13 @@
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`; 
const handleMessage = (data) => {  
  if (data.overGlass && data.overGlass.length > 0) {  
    // 提取新的矩形ID
    const newGlassIds = new Set(data.overGlass[0].map(rect => rect.glassId));
    // 过滤出已存在的矩形
    const existingRects = adjustedRects.value.filter(rect => newGlassIds.has(rect.glassId));
    // 计算新的矩形
    const newRects = data.overGlass[0].map(rect => {  
      const scaleFactor =  1621.78/5190; 
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
@@ -61,19 +68,21 @@
    widtha: rect.width, 
    heighta: rect.height,
  }
    });
    });
  
    // 合并新旧矩形,保留 isActive 状态
    adjustedRects.value = adjustedRects.value.map(oldRect => {
    // 合并新旧矩形,并保留 isActive 状态
    adjustedRects.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 => !adjustedRects.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) {
    adjustedRects.value = []
  }
};
function updateRectColors() {  
  adjustedRects.value.forEach(rect => {  
    if (rect.glassId === glassId) {  
@@ -144,7 +153,7 @@
  closeWebSocket();
});
</script>
<template>
  <div style="margin-top: 10px;">
<div>
@@ -164,10 +173,9 @@
      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="margin-top: 25px;margin-left: -60px;">{{ 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>
@@ -181,9 +189,9 @@
        </el-button>
  </el-dialog> 
  </div>
</template>
<style scoped>
#boxa{
  border: 1px solid rgb(119, 116, 116);