ZengTao
2025-11-12 1449f79f342919f5b65003312b113a8dad229692
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -11,7 +11,6 @@
const dialogFormVisible = ref(false)
const dialogFormVisiblea = ref(true)
const dialogFormVisibleb = ref(false)
const dialogFormVisiblec = ref(false)
const blind1 = ref(false)
const blind2 = ref(false)
const blinda = ref(false)
@@ -46,54 +45,17 @@
    })
    if (response.code === 200) {  
          tableData.value = response.data
          console.log(response.data);
    } else {  
      ElMessage.warning(response.message)
    }  
  } catch (error) {  
  }  
}); 
const selectReportData = async () => {
  let postData = {
    type: 9,
    workingProcedure: '钢化',
    ...(engineerId.value !== '' && { engineerId: engineerId.value }),
  };
  const response = await request.post("/loadGlass/damage/selectDamagePrint", postData)
  if (response.code === 200) {
    tableData.value = response.data;
    ElMessage.success(response.message);
  } else {
    ElMessage.error(response.message);
  }
};
const printing = async () => {
  let postData = {
    type: 9,
    workingProcedure: '钢化',
    ...(engineerId.value !== '' && { engineerId: engineerId.value }),
  };
  const response = await request.post("/loadGlass/damage/selectDamagePrintDetails", postData)
  if (response.code === 200) {
  dialogVisible.value = true;
    tableData.value = response.data;
    await nextTick();
    // 延时 2 秒后打印(时间可以根据需要调整)
    setTimeout(() => {
      window.print();
    }, 2000);
} else {
    ElMessage.error(response.message);
  }
};
const printTable = () => {
  window.print();
};
// 方法定义
function handlePageChange(page: number) {
  currentPage.value = page;
}
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
const socketUrl = `ws://${window.ipConfig.serverUrl}/api/temperingGlass/api/talk/temperingGlass`;
const handleMessage = (data) => {  
  // 进炉中右
  if (data.intoGlass2 && data.intoGlass2.length > 0) {  
@@ -533,16 +495,20 @@
      return '#911005';
    case 9:
      return '#4682B4';
    default:
      return '#CDAF95';
  }
function getRectColor2(state) {
  switch (state) {  
    case 2:
    case 2:
      return 'lightblue';
    case 8:
      return '#911005';
    case 9:
      return '#4682B4';
    default:
      return '#CDAF95';
  }
}
function getRectColora(state) {
@@ -552,11 +518,13 @@
    case 1:
      return '#95d475';
    case -1:
      return '#CDAF95';
      return '#99BBFF';
    case 8:
      return '#911005';
    case 9:
      return '#4682B4';
    default:
      return '#CDAF95';
  }
}
function getRectColorb(state) {  
@@ -569,6 +537,8 @@
      return '#911005'; 
    case 9:
      return '#4682B4'; 
    default:
      return '#CDAF95';
  }  
}
function showDialog1(rect) {
@@ -692,7 +662,7 @@
    glassId: currentGlassId.value,
    // temperingFeedSequence: currenttemperingFeedSequence.value,
    line: 4001,
    status: 8,
    state: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -712,7 +682,7 @@
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 8,
    state: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -733,7 +703,7 @@
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 8,
    state: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -754,7 +724,7 @@
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 9,
    state: 9,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -775,7 +745,7 @@
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 1,
    state: 1,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -796,7 +766,7 @@
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 9,
    state: 9,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -817,7 +787,7 @@
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 9,
    state: 9,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -838,7 +808,7 @@
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 8,
    state: 8,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -858,7 +828,7 @@
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 9,
    state: 9,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -878,7 +848,7 @@
  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
    glassId: currentGlassId.value,
    line: 4001,
    status: 3,
    state: 3,
    workingProcedure: '钢化',
    })
    if (response.code == 200) {
@@ -893,7 +863,6 @@
}
}
onBeforeUnmount(() => {
  console.log("关闭了")
  closeWebSocket();
});
</script>
@@ -901,24 +870,20 @@
  <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;">
                 @click="dialogFormVisiblea = true;dialogFormVisible = false;dialogFormVisibleb = 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;">
                 @click="dialogFormVisible = true;dialogFormVisiblea = false;dialogFormVisibleb = false;">
        {{ $t('processCard.intofurnace') }}
      </el-button>
      <el-button id="searchButton" type="success"
                 @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = false;dialogFormVisiblec = false;">
                 @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = 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">
        <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;">
          <!-- <div style="width:900px;background-color: #f4f4f5;height: 420px;"> -->
            <!-- <div v-if="adjustedRects1.length > 0"> -->
              <div v-if="currentPage === 1 && adjustedRects1.length > 0">
@@ -991,7 +956,7 @@
    </div>
<div v-if="dialogFormVisiblea">
  <!-- 进炉前 -->
  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;">
    <div v-if="adjustedRectsa.length > 0">
    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}:{{ adjustedRectsa[0].engineerId }}-{{ adjustedRectsa[0].temperingLayoutId }} </div>
    <!-- <div style="text-align: center;">炉号:{{ engineerIdDisplaya }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
@@ -1018,7 +983,7 @@
</div>
<div v-if="dialogFormVisibleb">
  <!-- 已出炉 -->
  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;">
      <div v-if="adjustedRectsb.length > 0">
    <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>   -->
@@ -1044,37 +1009,9 @@
   </div>
   </el-card>
</div>
<div v-if="dialogFormVisiblec">
  <!-- 打印 -->
  <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
    <div style="display: flex; flex-direction: row; align-items: center; margin-top: 5px;margin-left: 10px;">
    <el-input :placeholder="$t('processCard.projectnumber')" v-model="engineerId" autocomplete="off" style="width: 300px;"/>
    <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-table
    height="600"
     ref="table"
     :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
      :data="tableData"
    >
      <el-table-column prop="engineerId" :label="$t('processCard.project')" width="200" align="center"/>
      <el-table-column prop="temperingLayoutId" :label="$t('processCard.layoutID')" align="center"/>
      <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center"/>
      <el-table-column prop="glassId" :label="$t('processCard.glassID')" align="center"/>
      <el-table-column prop="width" :label="$t('processCard.width')" align="center"/>
      <el-table-column prop="height" :label="$t('processCard.height')" align="center"/>
      <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center"/>
    </el-table>
      </div>
      </el-card>
   </el-card>
</div>
<!-- 进炉中 -->
<el-dialog v-model="blind1" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose1">
        <el-button :disabled="!canSelectProject1" type="warning" plain :icon="Delete" @click="handleDamage1"  style="width: 150px;margin-left: 10px;">
        <el-button :disabled="!canSelectProject1" type="warning" plain @click="handleDamage1"  style="width: 150px;margin-left: 10px;">
          {{ $t('order.dilapidation') }}
        </el-button>
        <el-button :disabled="!cantakea" type="danger" plain @click="takeoutc"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
@@ -1083,7 +1020,7 @@
        </el-button>
  </el-dialog>  
<el-dialog v-model="blind2" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose2">
        <el-button :disabled="!canSelectProject2" type="warning" plain :icon="Delete" @click="handleDamage2"  style="width: 150px;margin-left: 10px;">
        <el-button :disabled="!canSelectProject2" type="warning" plain @click="handleDamage2"  style="width: 150px;margin-left: 10px;">
          {{ $t('order.dilapidation') }}
        </el-button>
        <el-button :disabled="!cantakea" type="danger" plain @click="takeoutd"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
@@ -1093,27 +1030,27 @@
  </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;">
  <el-button type="warning" plain @click="handleDamagea" :disabled="!canSelectProjecta" style="width: 150px;margin-left: 10px;">
          {{ $t('order.dilapidation') }}
        </el-button>
        <el-button :disabled="!cantakea" type="danger" plain @click="takeouta"  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="success" plain :icon="Edit" @click="takeona" :disabled="!canona" style="width: 150px;margin-left: 10px;margin-top: 10px;">
        <el-button type="success" plain @click="takeona" :disabled="!canona" style="width: 150px;margin-left: 10px;margin-top: 10px;">
          {{ $t('order.takeon') }}
        </el-button>
  </el-dialog>  
  <!-- 已出炉 -->
<el-dialog v-model="blindb" top="30vh" width="15%" style="text-align: center;" @close="handleDialogCloseb">
        <el-button :disabled="!canSelectProjectb" type="warning" plain :icon="Delete" @click="handleDamageb"  style="width: 150px;margin-left: 10px;">
        <el-button :disabled="!canSelectProjectb" type="warning" plain  @click="handleDamageb"  style="width: 150px;margin-left: 10px;">
          {{ $t('order.dilapidation') }}
        </el-button>
        <el-button :disabled="!cantakeb" type="danger" plain @click="takeoutb"  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="success" plain :icon="Edit" @click="takeonb" :disabled="!canonb" style="width: 150px;margin-left: 10px;margin-top: 10px;">
        <!-- <el-button type="success" plain  @click="takeonb" :disabled="!canonb" style="width: 150px;margin-left: 10px;margin-top: 10px;">
          {{ $t('order.takeon') }}
        </el-button> -->
  </el-dialog>