wangfei
2024-12-09 983e243fd1c090bb36b7ccd68065409da755d612
钢化模块进炉前、已出炉算法更改
1个文件已修改
201 ■■■■ 已修改文件
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue 201 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -97,6 +97,53 @@
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
const handleMessage = (data) => {  
  // 进炉中右
  // if (data.intoGlass2 && data.intoGlass2.length > 0) {
  //   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 =  810.89/5087;
  //     const scaleFactorY =  430/2800;
  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
  // let newX = rect.yCoordinate;
  //     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 * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 6000 - (rect.yCoordinate + widtha);
  //   } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 6000 - (rect.yCoordinate + heighta);
  // }
  // return {
  //   ...rect,
  //   x: newX * scaleFactor,
  //   y: rect.xCoordinate * scaleFactorY,
  //   width: adjustedWidth,
  //   height: adjustedHeight,
  //   widtha: rect.width,
  //   heighta: rect.height,
  // }
  //   });
  //   // 合并新旧矩形,并保留 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; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));
  // }
  if (data.intoGlass2 && data.intoGlass2.length > 0) {  
    // 提取新的矩形ID  
    const newGlassIds = new Set(data.intoGlass2[0].map(rect => rect.glassId));  
@@ -151,6 +198,53 @@
    adjustedRects2.value = []
  }
  // 进炉中左
  // if (data.intoGlass && data.intoGlass.length > 0) {
  //   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 =  810.89/5087;
  //     const scaleFactorY =  430/2800;
  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
  // let newX = rect.yCoordinate;
  //     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 * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 6000 - (rect.yCoordinate + widtha);
  //   } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 6000 - (rect.yCoordinate + heighta);
  // }
  // return {
  //   ...rect,
  //   x: newX * scaleFactor,
  //   y: rect.xCoordinate * scaleFactorY,
  //   width: adjustedWidth,
  //   height: adjustedHeight,
  //   widtha: rect.width,
  //   heighta: rect.height,
  // }
  //   });
  //   // 合并新旧矩形,并保留 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; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));
  // }
  if (data.intoGlass && data.intoGlass.length > 0) {
    console.log(data.intoGlass);
    
@@ -203,12 +297,13 @@
  else {
    adjustedRects1.value = []
  }
  // 进炉前
  if (data.waitingGlass && data.waitingGlass.length > 0) {  
    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 =  1390/6200;
      const scaleFactorY =  750/2800;
      const scaleFactor =  1621.78/6000;
      const scaleFactorY =  700/2800;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
  let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
@@ -253,16 +348,14 @@
  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 =  1390/6000;
      const scaleFactory =  750/2800;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
      const scaleFactor =  1621.78/6000;
      const scaleFactorY =  700/2800;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
  let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
        widtha = rect.height;
@@ -273,30 +366,27 @@
      }
  if (rect.angle === 0) {  
    adjustedWidth = widtha * scaleFactor;  
    adjustedHeight = heighta * scaleFactory;
    adjustedHeight = heighta * scaleFactorY;
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    // newX = 5190 - (rect.yCoordinate + widtha);
    newY = 2800 - (rect.xCoordinate + heighta);
  } else {
    newX = 6000 - (rect.yCoordinate + widtha);
    } else {
    adjustedWidth = heighta * scaleFactor;  
    adjustedHeight = widtha * scaleFactory;
    // adjustedWidtha = heighta;
    // adjustedHeighta = widtha;
    // newX = 5190 - (rect.yCoordinate + heighta);
    newY = 2800 - (rect.xCoordinate + widtha);
    adjustedHeight = widtha * scaleFactorY;
    // adjustedWidtha = widtha;
    // adjustedHeighta = heighta;
    newX = 6000 - (rect.yCoordinate + heighta);
  }  
  return {  
        ...rect, // 复制原始对象的其他属性
        x: newX * scaleFactor,
        y: newY * scaleFactory,
        width: adjustedWidth,
        height: adjustedHeight,
        widtha: rect.width,
        heighta: rect.height,
    ...rect,
    x: newX * scaleFactor,
    y: rect.xCoordinate * scaleFactorY,
    width: adjustedWidth,
    height: adjustedHeight,
    widtha: rect.width,
    heighta: rect.height,
  }
    });
    });
    // 合并新旧矩形,并保留 isActive 状态  
    adjustedRectsb.value = existingRects.map(oldRect => {  
      const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
@@ -305,7 +395,60 @@
      }  
      return oldRect; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样  
    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
  }
  }
  // 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 =  1390/6000;
  //     const scaleFactory =  750/2800;
  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
  // let newX = rect.yCoordinate;
  //     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 * scaleFactory;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   // newX = 5190 - (rect.yCoordinate + widtha);
  //   newY = 2800 - (rect.xCoordinate + heighta);
  // } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * scaleFactory;
  //   // adjustedWidtha = heighta;
  //   // adjustedHeighta = widtha;
  //   // newX = 5190 - (rect.yCoordinate + heighta);
  //   newY = 2800 - (rect.xCoordinate + widtha);
  // }
  // return {
  //       ...rect, // 复制原始对象的其他属性
  //       x: newX * scaleFactor,
  //       y: newY * scaleFactory,
  //       width: adjustedWidth,
  //       height: adjustedHeight,
  //       widtha: rect.width,
  //       heighta: rect.height,
  // }
  //   });
  //   // 合并新旧矩形,并保留 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; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));
  // }
  else if (data.outGlass == null) {
    adjustedRectsb.value = []
  }
@@ -867,7 +1010,7 @@
    <!-- <div style="text-align: center;">炉号:{{ engineerIdDisplaya }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
      <el-scrollbar height="750px" style="background-color: #e9e9eb;">
    <div  style="position: relative;max-width: 1400px;">  
      <div
      <div
      v-for="(rect, index) in adjustedRectsa"  
      :key="index"  
      @click="showDialoga(rect)"  
@@ -893,7 +1036,7 @@
    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}:{{ adjustedRectsb[0].engineerId }}-{{ adjustedRectsb[0].temperingLayoutId }} </div>
    <!-- <div style="text-align: center;">炉号:{{ engineerIdDisplayb }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
      <el-scrollbar height="750px" style="background-color: #e9e9eb;">
    <div  style="position: relative;max-width: 1400px;">
    <div  style="position: relative;max-width: 1400px;">
      <div  
      v-for="(rect, index) in adjustedRectsb"  
      :key="index"