wu
2024-12-23 b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -1,15 +1,13 @@
<script setup lang="ts">
import {Search ,Delete, Upload,Edit} from "@element-plus/icons-vue";
import {reactive} from "vue";
import {nextTick, onBeforeUnmount, onMounted, ref} from "vue";
import request from "@/utils/request"
import { ref, onMounted, onBeforeUnmount,nextTick  } from 'vue';
import { WebSocketHost ,host} from '@/utils/constants'
import { ElMessage, ElMessageBox } from 'element-plus'
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
  import { useI18n } from 'vue-i18n'
  import { useRouter } from 'vue-router'
  const { t } = useI18n()
  let language = ref(localStorage.getItem('lang') || 'zh')
import {host, WebSocketHost} from '@/utils/constants'
import {ElMessage} from 'element-plus'
import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
import {useI18n} from 'vue-i18n'
import {useRouter} from 'vue-router'
const {t} = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
const dialogFormVisible = ref(false)
const dialogFormVisiblea = ref(true)
const dialogFormVisibleb = ref(false)
@@ -34,6 +32,7 @@
const adjustedRects2 = ref([]);
const adjustedRectsa = ref([]);
const adjustedRectsb = ref([]);
const currentPage = ref<number>(1);
const tableData = ref([])
const engineerId = ref('')
const router = useRouter()
@@ -52,7 +51,6 @@
      ElMessage.warning(response.message)
    }  
  } catch (error) {  
    // console.error('Error fetching rects :', error);
  }  
}); 
const selectReportData = async () => {
@@ -74,9 +72,7 @@
    type: 9,  
    workingProcedure: '钢化',  
    ...(engineerId.value !== '' && { engineerId: engineerId.value }),  
  };
  console.log(engineerId.value);
  };
  const response = await request.post("/loadGlass/damage/selectDamagePrintDetails", postData)
  if (response.code === 200) {
  dialogVisible.value = true;
@@ -91,125 +87,21 @@
  }
};
const printTable = () => {  
  // 这里可以添加一些CSS样式来优化打印效果
  // 例如,可以添加一个隐藏的打印样式表
  window.print();  
};  
// 方法定义
function handlePageChange(page: number) {
  currentPage.value = page;
}
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
const handleMessage = (data) => {  
  // 进炉中右
  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;
      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 = 5087 - (rect.yCoordinate + widtha);
    } else {
    adjustedWidth = heighta * scaleFactor;
    adjustedHeight = widtha * scaleFactorY;
    // adjustedWidtha = widtha;
    // adjustedHeighta = heighta;
    newX = 5087 - (rect.yCoordinate + heighta);
  }
        return {
        ...rect,
        xcoordinate: newX * scaleFactor,
        ycoordinate: 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)));
  }
  else if (data.intoGlass2 == null) {
    adjustedRects2.value = []
  }
  // 进炉中左
  if (data.intoGlass && data.intoGlass.length > 0) {
    console.log(data.intoGlass);
    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 = 5087 - (rect.yCoordinate + widtha);
    } else {
    adjustedWidth = heighta * scaleFactor;
    adjustedHeight = widtha * scaleFactorY;
    // adjustedWidtha = widtha;
    // adjustedHeighta = heighta;
    newX = 5087 - (rect.yCoordinate + heighta);
  }
        return {
        ...rect,
        xcoordinate: newX * scaleFactor,
        ycoordinate: 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)));
  }
  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/5190;
      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) {
@@ -224,13 +116,214 @@
    adjustedHeight = heighta * scaleFactorY;
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    newX = 5190 - (rect.yCoordinate + widtha);
    newX = 6000 - (rect.yCoordinate + widtha);
    } else {  
    adjustedWidth = heighta * scaleFactor;  
    adjustedHeight = widtha * scaleFactorY;  
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    newX = 5190 - (rect.yCoordinate + 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));
  //   // 过滤出已存在的矩形
  //   const existingRects = adjustedRects2.value.filter(rect => newGlassIds.has(rect.glassId));
  //   // 计算新的矩形
  //   const newRects = data.intoGlass2[0].map(rect => {
  //     const scaleFactor =  794.67/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 = 5087 - (rect.yCoordinate + widtha);
  //   } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 5087 - (rect.yCoordinate + heighta);
  // }
  //       return {
  //       ...rect,
  //       xcoordinate: newX * scaleFactor,
  //       ycoordinate: 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)));
  // }
  else if (data.intoGlass2 == null) {
    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 =  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;
        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);
  //   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 = 5087 - (rect.yCoordinate + widtha);
  //   } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 5087 - (rect.yCoordinate + heighta);
  // }
  //       return {
  //       ...rect,
  //       xcoordinate: newX * scaleFactor,
  //       ycoordinate: 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)));
  // }
  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 =  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;
        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, 
@@ -254,16 +347,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/5190;
      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;
@@ -274,39 +365,89 @@
      }
  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);  
      if (newRect) {  
        return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
      }  
      return oldRect; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
      return oldRect;
    }).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 = []
  }
@@ -559,12 +700,10 @@
      blind1.value = false;
      updateRectColors1();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
@@ -581,12 +720,10 @@
      blind2.value = false;
      updateRectColors2();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
@@ -604,12 +741,10 @@
      blinda.value = false;
      updateRectColorsa();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
@@ -627,12 +762,10 @@
      blinda.value = false;
      updateoutColorsa();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
@@ -650,12 +783,10 @@
      blinda.value = false;
      updateonColorsa();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
@@ -673,16 +804,14 @@
      blind1.value = false;
      updateoutColorsc();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
// 进炉zhong人工拿走
// 进炉中人工拿走
const takeoutd = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
@@ -696,12 +825,10 @@
      blind2.value = false;
      updateoutColorsd();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
@@ -719,13 +846,10 @@
      blindb.value = false;
      updateRectColorsb();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    // console.error(error);
  }
}
// 已出炉人工拿走
@@ -742,13 +866,10 @@
      blindb.value = false;
      updateoutColorsb();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    // console.error(error);
  }
}
// 已出炉放回
@@ -765,14 +886,11 @@
      blindb.value = false;
      updateonColorsb();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    // console.error(error);
  }
}
}
onBeforeUnmount(() => {
  console.log("关闭了")
@@ -780,18 +898,36 @@
});
</script>
<template>
  <div style="margin-top: 10px;">
     <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true;dialogFormVisible = false;dialogFormVisibleb = false;dialogFormVisiblec = false;" >{{ $t('processCard.beforefurnace') }}</el-button>
     <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true;dialogFormVisiblea = false;dialogFormVisibleb = false;dialogFormVisiblec = false;">{{ $t('processCard.intofurnace') }}</el-button>
    <el-button  id="searchButton" type="success" @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = false;dialogFormVisiblec = false;">{{ $t('processCard.outfurnace') }}</el-button>
    <el-button  id="searchButton" type="info" @click="dialogFormVisiblec = true;dialogFormVisibleb = false;dialogFormVisible = false;dialogFormVisiblea = false">{{ $t('processCard.print') }}</el-button>
<div v-if="dialogFormVisible" >
    <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading">
<div style="width: 49%;float: right;background-color: #f4f4f5;height: 430px;">
    <div v-if="adjustedRects1.length > 0">
      <!-- <div style="text-align: center;">炉号:{{ engineerIdDisplay }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}:{{ adjustedRects1[0].engineerId }}-{{ adjustedRects1[0].temperingLayoutId }} </div>
    <el-scrollbar height="430px" style="background-color: #e9e9eb;">
  <div style="height: 500px;">
    <div style="margin-top: 10px;">
      <el-button style="margin-left: 15px;" id="searchButton" type="primary"
                 @click="dialogFormVisiblea = true;dialogFormVisible = false;dialogFormVisibleb = false;dialogFormVisiblec = false;">
        {{ $t('processCard.beforefurnace') }}
      </el-button>
      <el-button style="margin-left: 15px;" id="searchButton" type="primary"
                 @click="dialogFormVisible = true;dialogFormVisiblea = false;dialogFormVisibleb = false;dialogFormVisiblec = false;">
        {{ $t('processCard.intofurnace') }}
      </el-button>
      <el-button id="searchButton" type="success"
                 @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = false;dialogFormVisiblec = false;">
        {{ $t('processCard.outfurnace') }}
      </el-button>
      <el-button id="searchButton" type="info"
                 @click="dialogFormVisiblec = true;dialogFormVisibleb = false;dialogFormVisible = false;dialogFormVisiblea = false">
        {{ $t('processCard.print') }}
      </el-button>
      <div v-if="dialogFormVisible">
        <!-- 进炉中右 -->
        <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
          <!-- <div style="width:900px;background-color: #f4f4f5;height: 420px;"> -->
            <!-- <div v-if="adjustedRects1.length > 0"> -->
              <div v-if="currentPage === 1 && adjustedRects1.length > 0">
              <!-- <div style="text-align: center;">炉号:{{ engineerIdDisplay }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
              <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}:{{
                  adjustedRects1[0].engineerId
                }}-{{ adjustedRects1[0].temperingLayoutId }}
              </div>
    <el-scrollbar height="750px" style="background-color: #e9e9eb;">
    <div  style="position: relative;max-width: 1400px;">  
      <div  
      v-for="(rect, index) in adjustedRects1"
@@ -799,8 +935,8 @@
      @click="showDialog1(rect)"  
      class="rect"
      :style="{ position: 'absolute', 
       top: `${rect.ycoordinate}px`,
       left: `${rect.xcoordinate}px`,
       top: `${rect.y}px`,
       left: `${rect.x}px`,
        width: `${rect.width}px`, 
        height: `${rect.height}px`,
        backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor1(rect.state) }">
@@ -813,12 +949,13 @@
   </div>
   </el-scrollbar>
   </div>
  </div>
<div style="width: 50%;float: left;background-color: #f4f4f5;height: 430px;">
    <div v-if="adjustedRects2.length > 0">
  <!-- </div> -->
  <!-- 进炉中左 -->
<!-- <div style="width: 750px;float: left;background-color: #f4f4f5;height: 350px;"> -->
    <!-- <div v-if="adjustedRects2.length > 0"> -->
      <div v-else-if="currentPage === 2 && adjustedRects2.length > 0">
    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}:{{ adjustedRects2[0].engineerId }}-{{ adjustedRects2[0].temperingLayoutId }} </div>
    <!-- <div style="text-align: center;">炉号:{{ engineerIdDisplay2 }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
    <el-scrollbar height="430px" style="background-color: #e9e9eb;">
    <el-scrollbar height="750px" style="background-color: #e9e9eb;">
    <div  style="position: relative;max-width: 1400px;">  
      <div  
      v-for="(rect, index) in adjustedRects2"
@@ -826,8 +963,8 @@
      @click="showDialog2(rect)"  
      class="rect"
      :style="{ position: 'absolute', 
       top: `${rect.ycoordinate}px`,
       left: `${rect.xcoordinate}px`,
       top: `${rect.y}px`,
       left: `${rect.x}px`,
       width: `${rect.width}px`, 
       height: `${rect.height}px`,
        backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor2(rect.state) }">
@@ -840,8 +977,17 @@
   </div>
   </el-scrollbar>
   </div>
</div>
<!-- </div> -->
   </el-card>
   <div style="display: flex;margin-left: 40%;margin-bottom: 10px;">
    <el-pagination
        size="small"
        background
        layout="prev, pager, next"
        :total="20"
        @current-change="handlePageChange"
      />
  </div>
    </div>
<div v-if="dialogFormVisiblea">
  <!-- 进炉前 -->
@@ -851,7 +997,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)"  
@@ -877,7 +1023,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"  
@@ -906,9 +1052,8 @@
    <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('processCard.inquire') }}</el-button>
    <el-button type="info" style="margin-left: 10px;" @click="printing()">{{ $t('processCard.printing') }}</el-button>
  </div>
    <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
  <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
    <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
    <el-table
    height="600"
     ref="table" 
@@ -984,17 +1129,18 @@
      <el-table  
        :data="tableData"  
        style="width: 100%;height: 760px"  
      >
      <el-table-column prop="flowCardId" :label="$t('processCard.flowcard')" width="140" align="center"/>
      <el-table-column prop="layer" :label="$t('processCard.layer')" align="center" width="52"/>
      <el-table-column prop="engineerId" :label="$t('processCard.project')" align="center" width="110"/>
      <el-table-column prop="temperingLayoutId" :label="$t('processCard.temperinglayout')" align="center" width="52"/>
      <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center" width="52"/>
      <el-table-column prop="width" :label="$t('processCard.width')" align="center" width="80"/>
      <el-table-column prop="height" :label="$t('processCard.height')" align="center" width="80"/>
      <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center" width="52"/>
      </el-table>
    </el-dialog>
      >
        <el-table-column prop="flowCardId" :label="$t('processCard.flowcard')" width="140" align="center"/>
        <el-table-column prop="layer" :label="$t('processCard.layer')" align="center" width="52"/>
        <el-table-column prop="engineerId" :label="$t('processCard.project')" align="center" width="110"/>
        <el-table-column prop="temperingLayoutId" :label="$t('processCard.temperinglayout')" align="center" width="52"/>
        <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center" width="52"/>
        <el-table-column prop="width" :label="$t('processCard.width')" align="center" width="80"/>
        <el-table-column prop="height" :label="$t('processCard.height')" align="center" width="80"/>
        <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center" width="52"/>
      </el-table>
  </el-dialog>
    </div>
  </div>
</template>
<style scoped>
@@ -1013,42 +1159,42 @@
  /* display:flex; */
  text-align: center;
  display: inline-block;
    align-items:center;
    justify-content:center;
  align-items:center;
  justify-content:center;
  margin-left: 20px;
}
#box{
  border: 1px solid black;
  background-color:  #337ecc;
  display:flex;
    align-items:center;
    justify-content:center;
  align-items:center;
  justify-content:center;
}
#home-card {
    width: 100%;
    overflow: hidden;
    padding: 10px 0px;
  width: 100%;
  overflow: hidden;
  padding: 10px 0px;
  display: flex;
  flex-wrap: wrap;
  #home-item {
    border-style: solid;
    border-width: 1px;
    border-color: #E4E4E4;
    width: calc(34% - 20px);
    padding: 20px 0px 20px 20px;
    margin-right: 10px;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    #home-item {
      border-style: solid;
      border-width: 1px;
      border-color: #E4E4E4;
      width: calc(34% - 20px);
      padding: 20px 0px 20px 20px;
      margin-right: 10px;
      margin-bottom: 10px;
      display: flex;
      justify-content: center;
      /* align-items: center; */
      background: #fff;
      #home-img {
        display: inline-block;
        width: 160px;
        height: 60px;
        margin: 0;
        padding: 0;
      }
    justify-content: center;
    /* align-items: center; */
    background: #fff;
    #home-img {
      display: inline-block;
      width: 160px;
      height: 60px;
      margin: 0;
      padding: 0;
    }
      #home-right {
        display: flex;
        flex-direction: column;