wangfei
2024-12-24 552cb03f753a5bad117b6228024b841673ea7b89
钢化模块进炉中四炉+全部拿走
2个文件已修改
510 ■■■■■ 已修改文件
UI-Project/src/lang/zh.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue 504 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js
@@ -268,9 +268,9 @@
          finedging:'已磨边',
      },
      processCard:{
          intofurnace:'进炉中',
          beforefurnace:'进炉前',
          outfurnace:'已出炉玻璃',
          intofurnace:'钢化炉',
          beforefurnace:'摆片台',
          outfurnace:'出片台',
          print:'拿走打印',
          printing:'打印',
          projectnumber:'请输入工程号',
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -14,6 +14,8 @@
const dialogFormVisiblec = ref(false)
const blind1 = ref(false)
const blind2 = ref(false)
const blind3 = ref(false)
const blind4 = ref(false)
const blinda = ref(false)
const blindb = ref(false)
const width = ref();
@@ -21,6 +23,8 @@
const currentRect = ref(null);
const canSelectProject1 = ref(true);
const canSelectProject2 = ref(true);
const canSelectProject3 = ref(true);
const canSelectProject4 = ref(true);
const canSelectProjecta = ref(true);
const cantakea = ref(true);
const cantakeb = ref(true);
@@ -30,6 +34,8 @@
const canSelectProjectb = ref(true);
const adjustedRects1 = ref([]);
const adjustedRects2 = ref([]);
const adjustedRects3 = ref([]);
const adjustedRects4 = ref([]);
const adjustedRectsa = ref([]);
const adjustedRectsb = ref([]);
const tableData = ref([])
@@ -79,8 +85,8 @@
    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;
      const scaleFactor =  845/5000;
      const scaleFactorY =  430/2750;
        let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
        let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
@@ -95,13 +101,13 @@
    adjustedHeight = heighta * scaleFactorY;
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;   
    newX = 5087 - (rect.yCoordinate + widtha);
    newX = 5000 - (rect.yCoordinate + widtha);
    } else {  
    adjustedWidth = heighta * scaleFactor;  
    adjustedHeight = widtha * scaleFactorY;  
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    newX = 5087 - (rect.yCoordinate + heighta);
    newX = 5000 - (rect.yCoordinate + heighta);
  } 
        return {  
        ...rect, 
@@ -125,15 +131,16 @@
  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));
  // 进炉中1
  if (data.intoGlass1 && data.intoGlass1.length > 0) {
    console.log(data.intoGlass1);
    const newGlassIds = new Set(data.intoGlass1[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;
    const newRects = data.intoGlass1[0].map(rect => {
      const scaleFactor =  845/5000;
      const scaleFactorY =  430/2750;
      // const scaleFactor =  600/5087;
      // const scaleFactorY =  200/2800;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
      let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
@@ -148,13 +155,13 @@
    adjustedHeight = heighta * scaleFactorY;
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    newX = 5087 - (rect.yCoordinate + widtha);
    newX = 5000 - (rect.yCoordinate + widtha);
    } else {  
    adjustedWidth = heighta * scaleFactor;  
    adjustedHeight = widtha * scaleFactorY;  
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    newX = 5087 - (rect.yCoordinate + heighta);
    newX = 5000 - (rect.yCoordinate + heighta);
  } 
        return {  
        ...rect, 
@@ -177,6 +184,112 @@
  }  
  else {
    adjustedRects1.value = []
  }
  // 进炉中3
  if (data.intoGlass3 && data.intoGlass3.length > 0) {
    console.log(data.intoGlass3);
    const newGlassIds = new Set(data.intoGlass3[0].map(rect => rect.glassId));
    const existingRects = adjustedRects3.value.filter(rect => newGlassIds.has(rect.glassId));
    const newRects = data.intoGlass3[0].map(rect => {
      const scaleFactor =  845/5000;
      const scaleFactorY =  430/2750;
      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 = 5000 - (rect.yCoordinate + widtha);
    } else {
    adjustedWidth = heighta * scaleFactor;
    adjustedHeight = widtha * scaleFactorY;
    // adjustedWidtha = widtha;
    // adjustedHeighta = heighta;
    newX = 5000 - (rect.yCoordinate + heighta);
  }
        return {
        ...rect,
        xcoordinate: newX * scaleFactor,
        ycoordinate: rect.xCoordinate * scaleFactorY,
        width: adjustedWidth,
        height: adjustedHeight,
        widtha: rect.width,
        heighta: rect.height,
      }
    });
    // 合并新旧矩形,并保留 isActive 状态
    adjustedRects3.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 {
    adjustedRects3.value = []
  }
  // 进炉中4
  if (data.intoGlass4 && data.intoGlass4.length > 0) {
    // 提取新的矩形ID
    const newGlassIds = new Set(data.intoGlass4[0].map(rect => rect.glassId));
    // 过滤出已存在的矩形
    const existingRects = adjustedRects4.value.filter(rect => newGlassIds.has(rect.glassId));
    // 计算新的矩形
    const newRects = data.intoGlass4[0].map(rect => {
      const scaleFactor =  845/5000;
      const scaleFactorY =  430/2750;
        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 = 5000 - (rect.yCoordinate + widtha);
    } else {
    adjustedWidth = heighta * scaleFactor;
    adjustedHeight = widtha * scaleFactorY;
    // adjustedWidtha = widtha;
    // adjustedHeighta = heighta;
    newX = 5000 - (rect.yCoordinate + heighta);
  }
        return {
        ...rect,
        xcoordinate: newX * scaleFactor,
        ycoordinate: rect.xCoordinate * scaleFactorY,
        width: adjustedWidth,
        height: adjustedHeight,
        widtha: rect.width,
        heighta: rect.height,
      }
    });
    // 合并新旧矩形,并保留 isActive 状态
    adjustedRects4.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.intoGlass4 == null) {
    adjustedRects4.value = []
  }
// 进炉前
  if (data.waitingGlass && data.waitingGlass.length > 0) {  
@@ -346,8 +459,22 @@
    }
  });  
}
function updateoutColors3() {
  adjustedRects3.value.forEach(rect => {
    if (rect.glassId === glassId) {
      rect.state = 9;
    }
  });
}
function updateoutColorsd() {
  adjustedRects2.value.forEach(rect => {  
    if (rect.glassId === glassId) {
      rect.state = 9;
    }
  });
}
function updateoutColors4() {
  adjustedRects4.value.forEach(rect => {
    if (rect.glassId === glassId) {  
      rect.state = 9;
    }
@@ -388,8 +515,22 @@
    }
  });
}  
function updateRectColors3() {
  adjustedRects3.value.forEach(rect => {
    if (rect.glassId === glassId) {
      rect.state = 8;
    }
  });
}
function updateRectColors2() {  
  adjustedRects2.value.forEach(rect => {  
    if (rect.glassId === glassId) {
      rect.state = 8;
    }
  });
}
function updateRectColors4() {
  adjustedRects4.value.forEach(rect => {
    if (rect.glassId === glassId) {  
      rect.state = 8;
    }
@@ -406,6 +547,26 @@
  }
function getRectColor2(state) {
  switch (state) {
    case 2:
      return 'lightblue';
    case 8:
      return '#911005';
    case 9:
      return '#4682B4';
  }
}
function getRectColor3(state) {
  switch (state) {
    case 2:
      return 'lightblue';
    case 8:
      return '#911005';
    case 9:
      return '#4682B4';
  }
}
function getRectColor4(state) {
  switch (state) {  
    case 2:  
      return 'lightblue';
@@ -467,6 +628,38 @@
  } else if (currentRect.value.state !== 9) {
    cantakea.value = true;
  } 
  if (currentRect.value.state > 5) {
    cantakeall.value = false;
  } else{
    cantakeall.value = true;
  }
}
function showDialog3(rect) {
  const index = adjustedRects3.value.findIndex(r => r.glassId === rect.glassId);
  if (index !== -1) {
    adjustedRects3.value[index].isActive = true;
  }
  currentGlassId.value = rect.glassId;
  currentengineerId.value = rect.engineerId;
  currenttemperingLayoutId.value = rect.temperingLayoutId;
  currenttemperingFeedSequence.value = rect.temperingFeedSequence;
  blind3.value = true;
  currentRect.value = rect;
  if (currentRect.value.state == 8) {
    canSelectProject3.value = false;
  } else if (currentRect.value.state !== 8) {
    canSelectProject3.value = true;
  }
  if (currentRect.value.state == 9) {
    alla.value = false;
  } else if (currentRect.value.state !== 9) {
    cantakea.value = true;
  }
  if (currentRect.value.state > 5) {
    cantakeall.value = false;
  } else{
    cantakeall.value = true;
  }
function showDialog2(rect) {
  const index = adjustedRects2.value.findIndex(r => r.glassId === rect.glassId);  
@@ -489,6 +682,38 @@
  } else if (currentRect.value.state !== 9) {
    cantakea.value = true;
  }
  if (currentRect.value.state > 5) {
    cantakeall.value = false;
  } else{
    cantakeall.value = true;
  }
}
function showDialog4(rect) {
  const index = adjustedRects4.value.findIndex(r => r.glassId === rect.glassId);
  if (index !== -1) {
    adjustedRects4.value[index].isActive = true;
  }
  currentGlassId.value = rect.glassId;
  currentengineerId.value = rect.engineerId;
  currenttemperingLayoutId.value = rect.temperingLayoutId;
  currenttemperingFeedSequence.value = rect.temperingFeedSequence;
  blind4.value = true;
  currentRect.value = rect;
  if (currentRect.value.state == 8) {
    canSelectProject4.value = false;
  } else if (currentRect.value.state !== 8) {
    canSelectProject4.value = true;
  }
  if (currentRect.value.state == 9) {
    cantakea.value = false;
  } else if (currentRect.value.state !== 9) {
    cantakea.value = true;
  }
  if (currentRect.value.state > 5) {
    cantakeall.value = false;
  } else{
    cantakeall.value = true;
  }
function showDialoga(rect) {
  const index = adjustedRectsa.value.findIndex(r => r.glassId === rect.glassId);  
@@ -548,6 +773,11 @@
  } else if (currentRect.value.state !== 3) {
    canonb.value = true;
  } 
  if (currentRect.value.state > 5) {
    cantakeall.value = false;
  } else{
    cantakeall.value = true;
  }
  const handleDialogClose1 = () => {  
  adjustedRects1.value.forEach(rect => {  
@@ -555,8 +785,20 @@
  });  
  blind1.value = false; 
};  
  const handleDialogClose3 = () => {
  adjustedRects3.value.forEach(rect => {
    rect.isActive = false;
  });
  blind1.value = false;
};
  const handleDialogClose2 = () => {  
  adjustedRects2.value.forEach(rect => {  
    rect.isActive = false;
  });
  blind2.value = false;
};
  const handleDialogClose4 = () => {
  adjustedRects4.value.forEach(rect => {
    rect.isActive = false;  
  });  
  blind2.value = false; 
@@ -609,6 +851,51 @@
      ElMessage.success('成功!');
      blind2.value = false;
      updateRectColors2();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
const handleDamage3 = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    // temperingFeedSequence: currenttemperingFeedSequence.value,
    line: 4001,
    status: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
      ElMessage.success('成功!');
      blind3.value = false;
      updateRectColors3();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
const handleDamage4 = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
      ElMessage.success('成功!');
      blind4.value = false;
      updateRectColors4();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
@@ -727,6 +1014,25 @@
    console.error(error);
  }
}
const handletakeall33 = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
    temperingLayoutId: currenttemperingLayoutId.value,
    engineerId: currentengineerId.value,
    state: 9,
    })
    if (response.code == 200) {
      ElMessage.success('成功!');
      blind3.value = false;
    } else {
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
const handletakeall2 = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
@@ -746,6 +1052,25 @@
    console.error(error);
  }
}
const handletakeall44 = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
    temperingLayoutId: currenttemperingLayoutId.value,
    engineerId: currentengineerId.value,
    state: 9,
    })
    if (response.code == 200) {
      ElMessage.success('成功!');
      blind4.value = false;
    } else {
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
const handletakeall4 = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
@@ -755,7 +1080,7 @@
    })
    if (response.code == 200) {
      ElMessage.success('成功!');
      blindb.value = false;
      blind4.value = false;
    } else {
      ElMessage.error(response.message);
    }
@@ -788,7 +1113,53 @@
    console.error(error);
  }
}
// 进炉zhong人工拿走
// 进炉中人工拿走3
const takeout3 = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 9,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
      ElMessage.success('成功!');
      blind3.value = false;
      updateoutColors3();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
// 进炉中人工拿走4
const takeout4 = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 9,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
      ElMessage.success('成功!');
      blind4.value = false;
      updateoutColors4();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
// 进炉中人工拿走
const takeoutd = async () => {
  try  {
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
@@ -905,17 +1276,14 @@
        {{ $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;"
        <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 1000px;"
                 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>
 <div style="width: 845px;float: right;background-color: #f4f4f5;height: 430px;">
   <div v-if="adjustedRects1.length > 0">
              <!-- <div style="text-align: center;">炉号1:{{ 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="position: relative;max-width: 1400px;">
    <div  style="position: relative;">
      <div  
      v-for="(rect, index) in adjustedRects1"
      :key="index"  
@@ -936,11 +1304,11 @@
   </div>
   </el-scrollbar>
   </div>
  </div>
<div style="width: 50%;float: left;background-color: #f4f4f5;height: 430px;">
    </div>
     <div style="width: 845px;float: left;background-color: #f4f4f5;height: 430px;">
    <div v-if="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>   -->
    <!-- <div style="text-align: center;">炉号2:{{ engineerIdDisplay2 }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
    <el-scrollbar height="430px" style="background-color: #e9e9eb;">
    <div  style="position: relative;max-width: 1400px;">  
      <div  
@@ -963,7 +1331,61 @@
   </div>
   </el-scrollbar>
   </div>
</div>
        </div>
   <div style="width: 845px;float: right;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
     <div v-if="adjustedRects3.length > 0">
       <!-- <div style="text-align: center;">炉号3:{{ engineerIdDisplay }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
       <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}:{{ adjustedRects3[0].engineerId }}-{{ adjustedRects3[0].temperingLayoutId }} </div>
    <el-scrollbar height="430px" style="background-color: #e9e9eb;">
    <div  style="position: relative;max-width: 1400px;">
      <div
      v-for="(rect, index) in adjustedRects3"
      :key="index"
      @click="showDialog3(rect)"
      class="rect"
      :style="{ position: 'absolute',
       top: `${rect.ycoordinate}px`,
       left: `${rect.xcoordinate}px`,
        width: `${rect.width}px`,
        height: `${rect.height}px`,
        backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor3(rect.state) }">
     <div  class="centered-text">
    <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>
   </el-scrollbar>
   </div>
          </div>
        <div style="width: 845px;float: left;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
    <div v-if="adjustedRects4.length > 0">
    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}:{{ adjustedRects4[0].engineerId }}-{{ adjustedRects4[0].temperingLayoutId }} </div>
    <!-- <div style="text-align: center;">炉号4:{{ engineerIdDisplay2 }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
    <el-scrollbar height="430px" style="background-color: #e9e9eb;">
    <div  style="position: relative;max-width: 1400px;">
      <div
      v-for="(rect, index) in adjustedRects4"
      :key="index"
      @click="showDialog4(rect)"
      class="rect"
      :style="{ position: 'absolute',
       top: `${rect.ycoordinate}px`,
       left: `${rect.xcoordinate}px`,
       width: `${rect.width}px`,
       height: `${rect.height}px`,
        backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor4(rect.state) }">
     <div  class="centered-text">
    <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>
   </el-scrollbar>
   </div>
        </div>
   </el-card>
    </div>
<div v-if="dialogFormVisiblea">
@@ -1074,6 +1496,30 @@
          {{ $t('order.takeall') }}
        </el-button>
  </el-dialog>  
<el-dialog v-model="blind3" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose3">
        <el-button :disabled="!canSelectProject3" type="warning" plain :icon="Delete" @click="handleDamage3"  style="width: 150px;margin-left: 10px;">
          {{ $t('order.dilapidation') }}
        </el-button>
        <el-button :disabled="!cantakea" type="danger" plain @click="takeout3"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
          <el-icon class="el-icon--right"><Upload /></el-icon>
          {{ $t('order.takeaway') }}
        </el-button>
        <el-button type="info" plain @click="handletakeall33" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
          {{ $t('order.takeall') }}
        </el-button>
  </el-dialog>
<el-dialog v-model="blind4" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose4">
        <el-button :disabled="!canSelectProject4" type="warning" plain :icon="Delete" @click="handleDamage4"  style="width: 150px;margin-left: 10px;">
          {{ $t('order.dilapidation') }}
        </el-button>
        <el-button :disabled="!cantakea" type="danger" plain @click="takeout4"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
          <el-icon class="el-icon--right"><Upload /></el-icon>
          {{ $t('order.takeaway') }}
        </el-button>
        <el-button type="info" plain @click="handletakeall44" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
          {{ $t('order.takeall') }}
        </el-button>
  </el-dialog>
  <!-- 进炉前 -->
<el-dialog v-model="blinda" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClosea">
  <el-button type="warning" plain :icon="Delete" @click="handleDamagea" :disabled="!canSelectProjecta" style="width: 150px;margin-left: 10px;">