zhoushihao
2025-04-01 d119fe276b711994b6df568c88592c9eac503aa9
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -1,7 +1,7 @@
<template>
  <div style="height: 500px;">
    <div style="display: flex;">
      <el-input v-model="engineerId" style="margin-left: 15px;margin-top: 10px;width: 240px" :placeholder="$t('order.projectnumber')" @blur="handleBlur"/>
      <el-input v-model="engineerId" style="margin-left: 15px;margin-top: 10px;width: 240px" :placeholder="$t('order.projectnumber')"/>
          <el-button type="primary" style="margin-left: 10px;margin-top: 10px;" @click="sethistorical()">{{$t('reportmanage.inquire')}}</el-button>
       <el-pagination
          v-model:current-page="currentPage"
@@ -14,7 +14,7 @@
          style="margin-top: 10px;"
      />
      </div>
    <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;">
      <el-scrollbar height="750px" width="1400px" style="background-color: #e9e9eb;">
  <div style="position: relative;">  
    <div
@@ -37,7 +37,7 @@
      </el-scrollbar>
      <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose">
        <el-button :disabled="currentGlassRect?.state === 8 || currentGlassRect?.state === 9" type="warning"
                   plain :icon="Delete" @click="handleDamage(currentGlassId)" style="width: 140px;margin-left: 10px;">
                   plain @click="handleDamage(currentGlassId)" style="width: 140px;margin-left: 10px;">
          {{ $t('order.dilapidation') }}
        </el-button>
        <el-button :disabled="currentGlassRect?.state === 9 || currentGlassRect?.state === 8" type="danger"
@@ -62,7 +62,7 @@
const blind = ref(false)
const engineerId = ref();
const currentGlassId = ref(null); 
const currentstate = ref(null);
const temperingLayoutId = ref(null);
const adjustedRects = ref([]);
const raw = ref([]);
let webSocket: WebSocket | null = null;  
@@ -74,9 +74,9 @@
const rawData = ref([]);
// 显示对话框并设置当前 glassId  
const currentGlassRect = computed(() => {
  return adjustedRects.value.find(rect => rect.glassId === currentGlassId.value);
  return adjustedRects.value.find(rect => rect.glassId === currentGlassId.value);
}); 
function showDialog(glassId: number) {
  function showDialog(glassId: number) {
  currentGlassId.value = glassId;  
  blind.value = true;  
  adjustedRects.value = adjustedRects.value.map(rect =>  
@@ -97,11 +97,13 @@
      line: 4001,
      state: 8,
      workingProcedure: '钢化',
      temperingLayoutId: currentPage.value,
      engineerId: engineerId.value,
    })
    if (response.code == 200) {
      ElMessage.success(response.message);
      blind.value = false;
      updateRectStatus(currentGlassId.value, 8);
      updateRectstate(currentGlassId.value, 8);
    } else {
      ElMessage.error(response.msg);
    }
@@ -119,11 +121,13 @@
      line: 4001,
      state: 9,
      workingProcedure: '钢化',
      temperingLayoutId: currentPage.value,
      engineerId: engineerId.value,
    })
    if (response.code == 200) {
      ElMessage.success(response.message);
      blind.value = false;
      updateRectStatus(currentGlassId.value, 9);
      updateRectstate(currentGlassId.value, 9);
  } else {
      ElMessage.error(response.msg);
    }
@@ -145,7 +149,6 @@
    totalPages.value = response.data.id;
}
  } catch (error) {
    ElMessage.error(response.message);
  }
};
const search = async () => {
@@ -193,8 +196,6 @@
};
const handleCurrentChange = async(val: number) => {  
  currentPage.value = val;
  console.log(currentPage.value);
    const response = await request.post('/temperingGlass/temperingGlassInfo/selectTemperingGlass', {
      engineerId: engineerId.value,
      temperingLayoutId: currentPage.value
@@ -238,29 +239,31 @@
};
function getRectColor(state: number): string {
  switch (state) {
    case -1:
      return '#CDAF95';
    case 0:
      return '#7AC5CD';
    case 1:
      return '#95d475';
    case 2:
      return 'lightblue';
    case 3:
      return '#eebe77';
    // case -1:
    //   return '#CDAF95';
    // case 0:
    //   return '#7AC5CD';
    // case 1:
    //   return '#95d475';
    // case 2:
    //   return 'lightblue';
    // case 3:
    //   return '#eebe77';
    case 4:
      return '#CD6090';
    case 8:
      return '#911005';
    case 9:
      return '#4682B4';
    default:
      return '#CDAF95';
  }
}
// 更新矩形状态  
function updateRectStatus(glassId: string, status: number) {
function updateRectstate(glassId: string, state: number) {
  adjustedRects.value.forEach(rect => {  
    if (rect.glassId === glassId) {  
      rect.state = status; // 更新矩形的状态
      rect.state = state; // 更新矩形的状态
    }  
  });  
}