ZengTao
2025-11-04 63100c0391d3a4f1d41ac5e580625913b2edd265
UI-Project/src/views/Returns/upreturns2.vue
@@ -15,6 +15,7 @@
const dialogFormVisible = ref(false)
const blind = ref(false)
const blinda = ref(false)
const isLoading = ref(true);
const ReportData = ref(true);
const blindb = ref(false)
const blindbd = ref(false)
@@ -30,6 +31,19 @@
const titleSelectJson = ref({
  engineerId: [],
})
const selectGong = async () => {
  try {
    const response = await request.post('/loadGlass/loadglassdevicetaskhistory/queryAllMessage',{
  redisRequest: 'loadGlassRequestTwo',
  stationCell: 6,
  tableName: 'LOAD_GLASS_DEVICE_TWO_TASK',
  webSocketName: 'loadGlassTwo'
});
    if (response.code == 200) {
    }
  } catch (error) {
  }
};
request.post("/loadGlass/up-patten-usage/setUpPattenRequest",{
  state: null,
  stationCell: 6
@@ -53,6 +67,7 @@
};
onMounted(() => {
  socket = initializeWebSocket(socketUrl, handleMessage);
  selectGong()
});
onUnmounted(() => {
  if (socket) {
@@ -73,6 +88,8 @@
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlassTwo`;
const handleMessage = (data: any) => {
  isLoading.value = true;
  if (data.stationList.length != 0) {
    const processedData = [...data.stationList[0]];
 if (processedData.length > 0) {
@@ -89,6 +106,7 @@
    cuttingMachineStatusColor.value = data.inkageState[0] === 1 ? 'green' : '#911005';
  }
  if (data.upPattenUsages.length != 0) {
  isLoading.value = false;
  tableData.value = data.upPattenUsages[0]
  window.localStorage.setItem('engineeringIda', tableData.value[0].engineeringId)
  canSelectProjecta.value = false;
@@ -96,6 +114,7 @@
  canSelectProjectc.value = true;
}
else {
  isLoading.value = false;
  tableData.value = [];
  canSelectProjecta.value = true;
  canSelectProjectb.value = true;
@@ -159,6 +178,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: 6,
@@ -221,17 +248,32 @@
// 开始上片
const handleon = async () => {
  let filmRemove = window.localStorage.getItem('filmRemove')
  let engineeringIda = window.localStorage.getItem('engineeringIda')
  let engineeringId = window.localStorage.getItem('engineeringIda')
  if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
    try {
      const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
        stationCell: 6,
        stationCell: 5,
        filmRemove: filmRemove,
        engineerId: engineeringIda,
        engineerId: engineeringId,
        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;
@@ -263,6 +305,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);
      }
@@ -401,11 +447,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>
@@ -445,6 +491,7 @@
      <el-option :label="$t('Mounting.pass')" value="100"></el-option>
    </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
@@ -470,6 +517,7 @@
                :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>
@@ -477,10 +525,11 @@
        </el-table>
      </div>
    </el-card>
    </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=""
          <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'}" >
@@ -594,8 +643,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>
@@ -635,4 +685,12 @@
  margin-top: 20px;
  margin-bottom: 10px;
}
.loading-container {
  position: relative;
  height: 100%;
}
/* 确保遮罩层在最顶层 */
.el-loading-mask {
  z-index: 2000 !important;
}
</style>