UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -85,7 +85,61 @@
};  
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
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) {
  //       widtha = rect.height;
  //       heighta = rect.width;
  //     }else {
  //       widtha = rect.width;
  //       heighta = rect.height;
  //     }
  //     if (rect.angle === 0) {
  //   adjustedWidth = widtha * scaleFactor;
  //   adjustedHeight = heighta * 0.1;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 5087 - (rect.yCoordinate + widtha);
  //   } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * 0.1;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 5087 - (rect.yCoordinate + heighta);
  // }
  //       return {
  //       ...rect,
  //       xcoordinate: newX * scaleFactor,
  //       ycoordinate: rect.xCoordinate * 0.1,
  //       width: adjustedWidth,
  //       height: adjustedHeight,
  //       widtha: rect.width,
  //       heighta: rect.height,
  //     }
  //   });
  //   // 合并新旧矩形,保留 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)));
  // }
  // else {
  //   adjustedRects2.value = ''
  // }
  if (data.intoGlass2 && data.intoGlass2.length > 0) {  
    // 提取新的矩形ID
    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 =  794.67/5087; 
        let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
@@ -120,16 +174,78 @@
        heighta: rect.height,
      }
    });  
    // 合并新旧矩形,保留 isActive 状态
    adjustedRects2.value = adjustedRects2.value.map(oldRect => {
    // 合并新旧矩形,并保留 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; // 如果旧矩形在新数据中不存在,则保留原样
    }).concat(newRects.filter(r => !adjustedRects2.value.some(o => o.glassId === r.glassId)));
      return oldRect; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));
  }
  else if (data.intoGlass2 == null) {
    adjustedRects2.value = []
  }
  // 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) {
  //       widtha = rect.height;
  //       heighta = rect.width;
  //     }else {
  //       widtha = rect.width;
  //       heighta = rect.height;
  //     }
  //     if (rect.angle === 0) {
  //   adjustedWidth = widtha * scaleFactor;
  //   adjustedHeight = heighta * 0.1;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 5087 - (rect.yCoordinate + widtha);
  //   } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * 0.1;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 5087 - (rect.yCoordinate + heighta);
  // }
  //       return {
  //       ...rect,
  //       xcoordinate: newX * scaleFactor,
  //       ycoordinate: rect.xCoordinate * 0.1,
  //       width: adjustedWidth,
  //       height: adjustedHeight,
  //       widtha: rect.width,
  //       heighta: rect.height,
  //     }
  //   });
  //   // 合并新旧矩形,保留 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)));
  // }
  // else {
  //   adjustedRects1.value = ''
  // }
  if (data.intoGlass && data.intoGlass.length > 0) {  
    // 提取新的矩形ID
    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 =  794.67/5087; 
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
@@ -164,16 +280,79 @@
        heighta: rect.height,
      }
    });  
    // 合并新旧矩形,保留 isActive 状态
    adjustedRects1.value = adjustedRects1.value.map(oldRect => {
    // 合并新旧矩形,并保留 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; // 如果旧矩形在新数据中不存在,则保留原样
    }).concat(newRects.filter(r => !adjustedRects1.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) {
    adjustedRects1.value = []
  }
  // 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) {
  //       widtha = rect.height;
  //       heighta = rect.width;
  //     }else {
  //       widtha = rect.width;
  //       heighta = rect.height;
  //     }
  // if (rect.angle === 0) {
  //   adjustedWidth = widtha * scaleFactor;
  //   adjustedHeight = heighta * 0.16;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 5190 - (rect.yCoordinate + widtha);
  //   } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * 0.16;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 5190 - (rect.yCoordinate + heighta);
  // }
  // return {
  //   ...rect,
  //   x: newX * scaleFactor,
  //   y: rect.xCoordinate * 0.16,
  //   width: adjustedWidth,
  //   height: adjustedHeight,
  //   widtha: rect.width,
  //   heighta: rect.height,
  // }
  //   });
  //   // 合并新旧矩形,保留 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)));
  // }
  // else {
  //   adjustedRectsa.value = ''
  // }
  if (data.waitingGlass && data.waitingGlass.length > 0) {  
    // 提取新的矩形ID
    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 =  1621.78/5190; 
  let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
@@ -208,16 +387,27 @@
    heighta: rect.height,
  }
    });  
    // 合并新旧矩形,保留 isActive 状态
    adjustedRectsa.value = adjustedRectsa.value.map(oldRect => {
    // 合并新旧矩形,并保留 isActive 状态
    adjustedRectsa.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 => !adjustedRectsa.value.some(o => o.glassId === r.glassId)));
      return oldRect; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));
  }
  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 =  1621.78/5190; 
      const scaleFactory =  550/2800; 
@@ -255,14 +445,18 @@
        heighta: rect.height,
  }
    });  
    // 合并新旧矩形,保留 isActive 状态
    adjustedRectsb.value = adjustedRectsb.value.map(oldRect => {
    // 合并新旧矩形,并保留 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; // 如果旧矩形在新数据中不存在,则保留原样
    }).concat(newRects.filter(r => !adjustedRectsb.value.some(o => o.glassId === r.glassId)));
      return oldRect; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));
  }
  else if (data.outGlass == null) {
    adjustedRectsb.value = []
  }
}; 
onMounted(() => {
@@ -364,7 +558,7 @@
    glassId: currentGlassId.value,
    // temperingFeedSequence: currenttemperingFeedSequence.value,
    line: 4001,
    status: 2,
    status: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -387,7 +581,7 @@
    glassId: currentGlassId.value,
    // temperingFeedSequence: currenttemperingFeedSequence.value,
    line: 4001,
    status: 2,
    status: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -410,7 +604,7 @@
    glassId: currentGlassId.value,
    // temperingFeedSequence: currenttemperingFeedSequence.value,
    line: 4001,
    status: 2,
    status: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -433,7 +627,7 @@
    glassId: currentGlassId.value,
    // temperingFeedSequence: currenttemperingFeedSequence.value,
    line: 4001,
    status: 2,
    status: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -482,9 +676,9 @@
        backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#911005' : 'lightblue' }"
    >
     <div  class="centered-text">
    <div >{{ rect.glassId }}</div>
    <div >{{ rect.flowCardId }}</div>
    <div>{{ 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>
@@ -510,9 +704,9 @@
       backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#911005' : 'lightblue' }"
       >
     <div  class="centered-text">
    <div >{{ rect.glassId }}</div>
    <div >{{ rect.flowCardId }}</div>
    <div>{{ 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>
@@ -538,9 +732,9 @@
       width: `${rect.width}px`, height: `${rect.height}px`,
      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="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>
@@ -566,9 +760,9 @@
      backgroundColor: rect.isActive ? '#ADFF2F' : getRectColorb(rect.state) }">
       <!-- backgroundColor: rect.state === 4 ? '#911005' : '#f8e3c5' }"> -->
     <div  class="centered-text">
    <div >{{ rect.glassId }}</div>
    <div >{{ rect.flowCardId }}</div>
    <div>{{ 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>