wangfei
2024-07-22 0d8edc55b0001c0cdd441b894aea5fcf2f880118
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -21,47 +21,55 @@
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
const handleMessage = (data) => {
// 进炉中
  adjustedRects.value =  data.intoGlass[0].map(rect => ({
  if(data.intoGlass!=null){
    adjustedRects.value =  data.intoGlass[0].map(rect => ({
        ...rect, 
        xcoordinate: rect.xCoordinate * 0.3,
        ycoordinate: rect.ycoordinate * 0.3,
        ycoordinate: rect.yCoordinate * 0.3,
        width: rect.width * 0.2,
        height: rect.height * 0.2,
        widtha: rect.width,
        heighta: rect.height,
      })); 
  adjustedRects2.value =  data.intoGlass2[0].map(rect => ({
    }
  if(data.intoGlass2!=null){
    adjustedRects2.value =  data.intoGlass2[0].map(rect => ({
        ...rect, 
        xcoordinate: rect.xCoordinate * 0.3,
        ycoordinate: rect.ycoordinate * 0.3,
        ycoordinate: rect.yCoordinate * 0.3,
        width: rect.width * 0.2,
        height: rect.height * 0.2,
        widtha: rect.width,
        heighta: rect.height,
      })); 
      console.log(data.intoGlass[0]);
    }
  // 进炉前
      adjustedRectsa.value = data.waitingGlass[0].map(rect => ({
  if(data.waitingGlass!=null){
    adjustedRectsa.value = data.waitingGlass[0].map(rect => ({
        ...rect, // 复制原始对象的其他属性  
        xcoordinate: rect.xCoordinate * 0.5,
        ycoordinate: rect.ycoordinate * 0.5,
        x: rect.xCoordinate * 0.4,
        y: rect.yCoordinate * 0.4,
        width: rect.width * 0.4,
        height: rect.height * 0.4,
        widtha: rect.width,
        heighta: rect.height,
        state: rect.state,
      }));
    }
    // 已出炉
  if(data.outGlass!=null){
    adjustedRectsb.value = data.outGlass[0].map(rect => ({
        ...rect, // 复制原始对象的其他属性
        x: rect.xCoordinate * 0.4,
        y: rect.yCoordinate * 0.4,
        width: rect.width * 0.4,
        height: rect.height * 0.4,
        widtha: rect.width,
        heighta: rect.height,
        state: rect.state
      }));
    // 已出炉
      adjustedRectsb.value = data.outGlass[0].map(rect => ({
        ...rect, // 复制原始对象的其他属性
        xcoordinate: rect.xCoordinate * 0.5,
        ycoordinate: rect.ycoordinate * 0.5,
        width: rect.width * 0.4,
        height: rect.height * 0.4,
        widtha: rect.width,
        heighta: rect.height,
        state: rect.state
      }));
      console.log(data.outGlass[0]);
    }
};
onMounted(() => {
  initializeWebSocket(socketUrl, handleMessage);
@@ -79,7 +87,9 @@
<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: left;background-color: #f4f4f5;height: 550px;">
  <el-scrollbar height="630px">
    <div v-if="adjustedRects.length > 0">
      <div style="text-align: center;">流程卡: {{ adjustedRects[0].flowCardId }}</div>
    <el-scrollbar height="630px">
    <div  style="position: relative;width: 1400px;">  
      <div  
      v-for="(rect, index) in adjustedRects"
@@ -88,15 +98,18 @@
      :style="{ position: 'absolute',  top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`, width: `${rect.width}px`, height: `${rect.height}px`  }"  
    >
     <div  class="centered-text">
    <div >{{ rect.flowcardId }}</div>
    <div >{{ rect.glassId }}</div>
    <div style="text-align: center;">{{ rect.widtha }}*{{ rect.heighta }}</div>  
  </div>
  </div>
   </div>
   </el-scrollbar>
   </div>
  </div>
<div style="width: 49%;float: right;background-color: #f4f4f5;height: 550px;">
  <el-scrollbar height="550px">
    <div v-if="adjustedRects2.length > 0">
      <div style="text-align: center;">流程卡: {{ adjustedRects2[0].flowCardId }}</div>
    <el-scrollbar height="550px">
    <div  style="position: relative;width: 1400px;">  
      <div  
      v-for="(rect, index) in adjustedRects2"
@@ -105,55 +118,62 @@
      :style="{ position: 'absolute',  top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`, width: `${rect.width}px`, height: `${rect.height}px`  }"  
    >
     <div  class="centered-text">
    <div >{{ rect.flowcardId }}</div>
    <div >{{ rect.glassId }}</div>
    <div style="text-align: center;">{{ rect.widtha }}*{{ rect.heighta }}</div>  
  </div>
  </div>
   </div>
   </el-scrollbar>
   </div>
</div>
   </el-card>
    </div>
<div v-if="dialogFormVisiblea">
  <!-- 进炉前 -->
  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading">
    <div v-if="adjustedRectsa.length > 0">
    <div style="text-align: center;">流程卡: {{ adjustedRectsa[0].flowCardId }}</div>
      <el-scrollbar height="550px">
    <div  style="position: relative;width: 1400px;">
      <div  style="position: relative;width: 100%;height: 100%;">
      <div  
      v-for="(rect, index) in adjustedRectsa"  
      :key="index"  
      class="rect"  
      :style="{ position: 'absolute',  top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`,
      :style="{ position: 'absolute',  top: `${rect.y}px`, left: `${rect.x}px`,
       width: `${rect.width}px`, height: `${rect.height}px`,
       backgroundColor: rect.state === 0 ? '#dedfe0' : '#d1edc4' }">
     <div  class="centered-text">
    <div >{{ rect.flowcardId }}</div>
    <div style="text-align: center;">{{ rect.widtha }}*{{ rect.heighta }}</div>
    <div  class="centered-text">
    <div>{{ rect.glassId }}</div>
    <div>{{ rect.widtha }}*{{ rect.heighta }}</div>
  </div>
  </div> 
   </div>
   </el-scrollbar>
   </div>
   </el-card>
</div>
<div v-if="dialogFormVisibleb">
  <!-- 已出炉 -->
  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading">
      <div v-if="adjustedRectsb.length > 0">
        <div style="text-align: center;">流程卡: {{ adjustedRectsb[0].flowCardId }}</div>
      <el-scrollbar height="550px">
    <div  style="position: relative;width: 1400px;">  
      <div  
      v-for="(rect, index) in adjustedRectsb"  
      :key="index"  
      class="rect"  
      :style="{ position: 'absolute',  top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`,
      :style="{ position: 'absolute',  top: `${rect.y}px`, left: `${rect.x}px`,
       width: `${rect.width}px`, height: `${rect.height}px`,
       backgroundColor: rect.state === 4 ? '#911005' : '#f8e3c5' }">
     <div  class="centered-text">
    <div >{{ rect.flowcardId }}</div>
    <div >{{ rect.glassId }}</div>
    <div style="text-align: center;">{{ rect.widtha }}*{{ rect.heighta }}</div>  
  </div>
  </div> 
   </div>
   </el-scrollbar>
   </div>
   </el-card>
</div>
  </div>
@@ -233,9 +253,11 @@
}  
.centered-text {
  /* 设置文字居中样式 */  
  display: flex;
  /* display: flex; */
  justify-content: center;  
  align-items: center;
  text-align: center;
  align-items: center;
  height: 100%; /* 确保div占据整个矩形的高度 */  
  margin-top: 60%
</style>