wangfei
6 天以前 da30bfc3795305f0bbd400d196bcf4c30612c37f
UI-Project/src/views/Returns/upreturns.vue
@@ -3,7 +3,6 @@
import { useRouter } from "vue-router"
import { ElMessage, ElMessageBox } from 'element-plus'
import { useI18n } from 'vue-i18n'
import { host, WebSocketHost } from '@/utils/constants'
import request from "@/utils/request"
import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService';
const router = useRouter()
@@ -18,12 +17,13 @@
const blindb = ref(false)
const blindbd = ref(false)
const ReportData = ref(true);
const isLoading = ref(true);
const canSelectProjecta = ref(true);
const canSelectProjectb = ref(true);
const canSelectProjectc = ref(false);
const tableDatax = ref([])
const tableDatad = ref([])
const upstatus = ref(t('basicData.machineaa'));
const upstatus = ref(t('basicData.machine'));
const cuttingMachineStatusColor = ref('#911005');
const tableDataa = ref<any[]>([]);
const tableDatab = ref<any[]>([]);
@@ -36,6 +36,19 @@
const titleSelectJson = ref({
  engineerId: [],
})
const selectGong = async () => {
  try {
    const response = await request.post('/loadGlass/loadglassdevicetaskhistory/queryAllMessage',{
  redisRequest: 'loadGlassRequestOne',
  stationCell: 5,
  tableName: 'LOAD_GLASS_DEVICE_ONE_TASK',
  webSocketName: 'loadGlassOne'
});
    if (response.code == 200) {
    }
  } catch (error) {
  }
};
request.post("/loadGlass/up-patten-usage/setUpPattenRequest", {
  state: null,
  stationCell: 5
@@ -59,6 +72,7 @@
};
onMounted(() => {
  socket = initializeWebSocket(socketUrl, handleMessage);
  selectGong()
});
onUnmounted(() => {
  if (socket) {
@@ -66,8 +80,9 @@
  }
});
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlassOne`;
const socketUrl = `ws://${window.ipConfig.serverUrl}/api/loadGlass/api/talk/loadGlassOne`;
const handleMessage = (data: any) => {
  isLoading.value = true;
  if (data.inkageState != null) {
    cuttingMachineStatusColor.value = data.inkageState[0] === 1 ? 'green' : '#911005';
  }
@@ -84,6 +99,7 @@
    tableDataa.value = []
  }
  if (data.upPattenUsages.length != 0) {
    isLoading.value = false;
    tableData.value = data.upPattenUsages[0]
    window.localStorage.setItem('engineeringIda', tableData.value[0].engineeringId)
    canSelectProjecta.value = false;
@@ -91,12 +107,13 @@
    canSelectProjectc.value = true;
  }
  else {
    isLoading.value = false;
    canSelectProjecta.value = true;
    canSelectProjectb.value = true;
    canSelectProjectc.value = false;
    tableData.value = [];
    window.localStorage.setItem('engineeringIda', '')
  }
  }
};
onBeforeUnmount(() => {
  closeWebSocket();
@@ -121,6 +138,14 @@
};
//选择工程预览确认
const handlesure = async () => {
   if (!selectedProjectNo.value) {
    ElMessage.error(t('basicData.plselectproject'))
    return
  }
   if (!filmRemove.value) {
    ElMessage.error(t('Mounting.removalmethod'))
    return
  }
  try {
    const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
      stationCell: 5,
@@ -159,7 +184,22 @@
        state: 1,
      })
      if (response.code == 200) {
        ElMessage.success(response.message);
        let timeoutId = setTimeout(() => {
          // 模拟按下确认按钮
          const confirmBtn = document.querySelector('.el-message-box__btns .el-button--primary');
          if (confirmBtn) {
            confirmBtn.click();
          }
        }, 5000)
        await ElMessageBox.alert(' ', t('basicData.sectionUpperSuccessful'), {
          confirmButtonText: t('searchOrder.sure'),
          type: 'success',
          center: true,
          customClass: 'center-message-box',
        });
        // 清除定时器
        clearTimeout(timeoutId);
        // 执行确认后的逻辑
        canSelectProjecta.value = false;
        canSelectProjectb.value = false;
        canSelectProjectc.value = true;
@@ -191,6 +231,10 @@
      if (response.code == 200) {
        ElMessage.success(response.message);
        blinda.value = false;
        canSelectProjecta.value = true;
        canSelectProjectb.value = true;
        canSelectProjectc.value = false;
        tableData.value = response.data;
      } else {
        ElMessage.error(response.message);
      }
@@ -395,11 +439,11 @@
function getStatusText2(filmRemove) {
  switch (filmRemove) {
    case 0:
      return t('Mounting.noremoval');//完成
    case 1:
      return t('Mounting.coarselyground');//新建
      return t('Mounting.noremoval');//不除膜
    // case 1:
      // return t('Mounting.coarselyground');
    case 2:
      return t('Mounting.finegrinding');//执行中
      return t('Mounting.removal');//除膜
  }
}
</script>
@@ -449,11 +493,12 @@
      </el-select>
      <el-button :disabled="!ReportData" type="primary" style="margin-left: 10px;" @click="selectReportData()">{{
        $t('Mounting.setparameters') }}</el-button>
  <div v-loading="isLoading" class="loading-container" :element-loading-text="$t('searchOrder.loadingText')" >
      <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;">
        <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
          <el-table height="400" ref="table" :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }"
            :data="tableData">
            <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="100" align="center" />
            <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="120" align="center" />
            <el-table-column prop="width" :label="$t('Mounting.width')" width="200" align="center" />
            <el-table-column prop="height" :label="$t('Mounting.height')" align="center" />
            <el-table-column prop="thickness" :label="$t('Mounting.thickness')" align="center" />
@@ -462,6 +507,7 @@
            <el-table-column align="center" :label="$t('Mounting.state')" min-width="80" prop="state">
              <template #default="scope">
                <el-tag :type="scope.row.state === 100 ? 'success' : 'warning'" @click="toggleEnableState(scope.row)">
                  <!-- 等待中:0  通过:100 -->
                  {{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
                </el-tag>
              </template>
@@ -469,21 +515,22 @@
          </el-table>
        </div>
      </el-card>
      <div style="display: flex;">
        <div style="width: 49%;float: left;margin-left: 300px;">
    </div>
      <div style="display: flex;margin-left:5%">
        <div style="width: 55%;float: left;margin-left: 300px;">
          <div style="display: flex;">
            <img src="../../assets/shangpianji.png" alt=""
              style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
            <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="500"
            <img src="/shangpianji.png" alt=""
              style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 3%;">
            <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="700"
              :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
              <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="50" />
              <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80" />
              <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80" />
              <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="65" />
              <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="75" />
              <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="75" />
              <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" />
              <el-table-column prop="remainQuantity" align="center" :label="$t('basicData.quantity')" min-width="80" />
              <el-table-column prop="patternThickness" align="center" :label="$t('basicData.thickness')"
                min-width="60" />
              <el-table-column fixed="right" :label="$t('film.operate')" align="center">
              <el-table-column fixed="right" :label="$t('film.operate')" align="center" width="100">
                <template #default="scope">
                  <el-button :disabled="(!scope.row.patternThickness)" type="text" plain
                    @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
@@ -568,8 +615,9 @@
        <el-form-item :label="$t('Mounting.removalmethoda')" :required="true">
          <el-select v-model="filmRemove" clearable :placeholder="$t('Mounting.removalmethod')">
            <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
            <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option>
            <el-option :label="$t('Mounting.finegrinding')" value="2"></el-option>
            <!-- 不除膜:0   除膜:2 -->
            <!-- <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option> -->
            <el-option :label="$t('Mounting.removal')" value="2"></el-option>
          </el-select>
        </el-form-item>
      </div>
@@ -583,8 +631,8 @@
      </template>
    </el-dialog>
    <!-- 历史任务 -->
    <el-dialog v-model="blindbd" top="10vh" width="71%">
      <iframe :src="iframeUrl" marginwidth="2000px" marginheight="2000px" width="100%" height="700px"
    <el-dialog v-model="blindbd" top="5vh" width="95%" @close="iframeUrl=''">
      <iframe :src="iframeUrl" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
        frameborder="0"></iframe>
    </el-dialog>
  </div>
@@ -632,4 +680,12 @@
  margin-top: 20px;
  margin-bottom: 10px;
}
.loading-container {
  position: relative;
  height: 100%;
}
/* 确保遮罩层在最顶层 */
.el-loading-mask {
  z-index: 2000 !important;
}
</style>