ZengTao
2025-09-11 924ce82faeec6d896fcdc360b279215e84b69fb9
UI-Project/src/views/Slicecage/slicecage.vue
@@ -18,6 +18,7 @@
const dialogFormVisibleb = ref(false)
const dialogFormVisiblec = ref(false)
const dialogFormVisibles = ref(false)
const dialogFormVisibleq = ref(false)
const tableData = ref([])
const tableDatagh = ref([])
const tableDatab = ref([])
@@ -27,6 +28,7 @@
const tableDatae = ref([])
const tableDatax = ref([])
const tableDatas = ref([])
const tableDataq = ref([])
const carPosition = ref([])
const ganghua = ref('')
const adjustedRects = ref([]);
@@ -602,8 +604,8 @@
    console.error('发生错误:', error);
  }
};
// 完成任务
const finish = async (row) => {
// 修改任务
const finish = async (type,row,state) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.fin'),
@@ -614,13 +616,24 @@
        type: 'warning',
      }
    );
    row.taskState=state;
    if (confirmResult === 'confirm') {
      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/finishBigStorageCageDetails", row)
      if (response.code === 200) {
        ElMessage.success(response.message);
      } else {
        ElMessage.error(response.message);
      if(type==1){
          const response = await request.post("/cacheVerticalGlass/bigStorageCageFeedTask/updateBigStorageCageFeedTask", row)
        if (response.code === 200) {
          ElMessage.success(response.message);
        } else {
          ElMessage.error(response.message);
        }
      }else{
        const response = await request.post("/cacheVerticalGlass/bigStorageCageOutTask/updatebigStorageCageOutTask", row)
        if (response.code === 200) {
          ElMessage.success(response.message);
        } else {
          ElMessage.error(response.message);
        }
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
@@ -693,6 +706,19 @@
    const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectFlowCardByCache');
    if (response.code === 200) {
      tableDatas.value = response.data
    } else {
      ElMessage.warning(response.msg)
    }
  } catch (error) {
    // console.error('Error fetching rects :', error);
  }
}
const fetchFlowss = async () => {
  try {
    const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectFlowCardCount');
    if (response.code === 200) {
      tableDataq.value = response.data
    } else {
      ElMessage.warning(response.msg)
    }
@@ -1003,16 +1029,28 @@
      $t('searchOrder.dutyinformation') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info"
      @click="dialogFormVisibles = true; fetchFlows()">{{ $t('searchOrder.searchlayout') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info"
      @click="dialogFormVisibleq = true; fetchFlowss()">{{ $t('searchOrder.processcardinquiry') }}</el-button>
    <el-switch style="margin-top: 5px;margin-left: 10px;" v-model="ganghua" class="mb-2"
      :inactive-text="$t('searchOrder.temperedswitch')" @change="handleChange" />
    <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
    <!-- <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
      @click="dialogFormVisibleaDownGlasss = true">标签打印
    </el-button>
    </el-button> -->
    <div style="display: flex;">
      <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
        <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 240px;">
          <el-table height="240px" ref="table" :data="tableDatac"
            :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
            <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.operate')"
              min-width="200" >
              <template #default="scope">
                <el-button size="mini" type="text" plain @click="finish(0,scope.row.bigStorageCageOutTask,3)">{{ $t('searchOrder.completetask') }}</el-button>
                <el-button size="mini" type="text" plain @click="finish(0,scope.row.bigStorageCageOutTask,8)">{{ $t('searchOrder.breakage') }}</el-button>
                <el-button size="mini" type="text" plain @click="finish(0,scope.row.bigStorageCageOutTask,9)">{{ $t('searchOrder.takeout') }}</el-button>
              </template>
            </el-table-column>
            <el-table-column prop="bigStorageCageOutTask.glassId" align="center"
              :label="$t('searchOrder.outputglassID')" min-width="140" />
            <el-table-column prop="bigStorageCageOutTask.startSlot" align="center"
@@ -1052,6 +1090,14 @@
        <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 240px;">
          <el-table height="240px" ref="table" @selection-change="handleSelectionChange" :data="tableDatad"
            :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
            <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.operate')"
              min-width="200" >
              <template #default="scope">
                <el-button size="mini" type="text" plain @click="finish(1,scope.row.bigStorageCageFeedTask,4)">{{ $t('searchOrder.completetask') }}</el-button>
                <el-button size="mini" type="text" plain @click="finish(1,scope.row.bigStorageCageFeedTask,8)">{{ $t('searchOrder.breakage') }}</el-button>
                <el-button size="mini" type="text" plain @click="finish(1,scope.row.bigStorageCageFeedTask,9)">{{ $t('searchOrder.takeout') }}</el-button>
              </template>
            </el-table-column>
            <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')"
              min-width="140" />
            <el-table-column prop="bigStorageCageFeedTask.targetSlot" align="center"
@@ -1060,9 +1106,9 @@
            <el-table-column prop="bigStorageCageFeedTask.taskState" align="center"
              :label="$t('searchOrder.taskstatus')" min-width="120">
              <template #default="scope">
                <el-tag type="success">{{ scope.row.bigStorageCageFeedTask.taskState == 0 ? $t('searchOrder.filmenter')
                  :
                  $t('searchOrder.infilm') }}</el-tag>
                <el-tag type="success">{{ scope.row.bigStorageCageFeedTask.taskState == 1 ? $t('searchOrder.filmenter')
                  :scope.row.bigStorageCageFeedTask.taskState == 2?$t('searchOrder.filmwait')
                  :$t('searchOrder.infilm') }}</el-tag>
              </template>
            </el-table-column>
            <el-table-column prop="bigStorageCageFeedTask.line" align="center" :label="$t('searchOrder.line')"
@@ -1427,11 +1473,11 @@
              <el-table-column prop="gap" align="center" :label="$t('searchOrder.glassgaps')" min-width="80" />
              <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" min-width="220">
                <template #default="scope">
                  <el-button size="mini" type="text" plain @click="broke(scope.row)">{{ $t('searchOrder.breakage')
                  <el-button size="mini" type="text" plain :disabled="(scope.row.state != 100 )?true:false" @click="broke(scope.row)">{{ $t('searchOrder.breakage')
                    }}</el-button>
                  <el-button size="mini" type="text" plain @click="brokec(scope.row)">{{ $t('searchOrder.takeout')
                  <el-button size="mini" type="text" plain :disabled="(scope.row.state != 100 )?true:false" @click="brokec(scope.row)">{{ $t('searchOrder.takeout')
                    }}</el-button>
                  <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('searchOrder.delete')
                  <el-button size="mini" type="text" plain :disabled="(scope.row.state != 100 )?true:false" @click="opena(scope.row)">{{ $t('searchOrder.delete')
                    }}</el-button>
                  <el-button size="mini" type="text"
                    :disabled="!((props.row.bigStorageCageDetails[0].state !== 102 && scope.$index == 0) || (props.row.bigStorageCageDetails[(scope.$index - 1) < 0 ? 0 : scope.$index - 1].state == 102) && (scope.row.state != 102))"
@@ -1645,7 +1691,19 @@
      </el-table-column>
    </el-table>
  </el-dialog>
  <el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" :title="$t('人工下片信息')">
  <el-dialog v-model="dialogFormVisibleq" top="5vh" width="85%" :title="$t('searchOrder.processcardqueriesa')">
    <el-table ref="table" style="margin-top: 20px;height: 500px;" :data="tableDataq"
      :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
      <el-table-column prop="engineerId" fixed align="center" :label="$t('searchOrder.projectnumber')" />
      <el-table-column prop="flowCardIdCount" align="center" :label="$t('searchOrder.cardnumber')" />
      <el-table-column prop="totalTemper" align="center" :label="$t('searchOrder.totalTemper')" />
      <el-table-column prop="glassTotalArea" align="center" :label="$t('searchOrder.totalAreas')" />
      <el-table-column prop="cageTemper" align="center" :label="$t('searchOrder.cageTemper')" />
      <el-table-column prop="cageArea" align="center" :label="$t('searchOrder.cageArea')" />
    </el-table>
  </el-dialog>
  <el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" title="人工下片信息">
    <div style="display:flex;justify-content: space-around;">
      <el-card
        style="display: flex; justify-content: center; align-items: center; width: 800px; height: 800px;position: relative;">