zhoushihao
2025-03-13 bbbe207791b13ad5781ec6fcffff23ec5d9f999e
UI-Project/src/views/Returns/upreturns.vue
@@ -16,7 +16,7 @@
const blind = ref(false)
const blinda = ref(false)
const blindb = ref(false)
const dialoglea = ref(false)
const blindbd = ref(false)
const ReportData = ref(true);
const canSelectProjecta = ref(true);
const canSelectProjectb = ref(true);
@@ -27,6 +27,10 @@
const cuttingMachineStatusColor = ref('#911005');
const tableDataa = ref<any[]>([]);
const tableDatab = ref<any[]>([]);
const stationInfos = reactive({});
const buttonEnabledStatus = ref({});
const globalDate = inject('globalDate');
import { inject } from 'vue';
const tableData = ref([])
const titleSelectJson = ref({
  engineerId: [],
@@ -37,13 +41,9 @@
}).then((response) => {
          if (response.code == 200) {
          } else {
          ElMessage.warning(response.msg)
          // ElMessage.warning(response.msg)
          }
          });
const handlezhiban = () => {
  dialoglea.value = true;
  fetchFlowCardId();
};
const selectproject = () => {
  dialogFormVisible.value = true;
  selectgong();
@@ -70,18 +70,60 @@
    if (response.code === 200) {
      tableData.value = response.data
      // tableData.splice(0, tableData.length, ...response.data);
      ElMessage.error(response.message);
      // ElMessage.error(response.message);
     window.localStorage.setItem('engineeringIda', tableData[0].engineeringId)
}
  } catch (error) {
    ElMessage.error(response.message);
    // ElMessage.error(response.message);
  }
};
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
const handleMessage = (data: any) => {
  if (data.LoadOneState != null) {
    cuttingMachineStatusColor.value = data.LoadOneState[0] == 1 ? 'green' : '#911005';
  }
  if (data.list!=null) {
  tableDataa.value = data.list[0].slice(0, 2);
  if(data.loadTask1.length !=0){
  }else {
    tableDataa.value = ''
  }
  if (data.stationOne != null) {
    // data.stationOne[0].forEach(station => {
    //   stationInfos[station.slot] = {
    //     hasValidDimension: station.patternHeight !== null && station.patternHeight !== '' ||
    //                        station.patternThickness !== null && station.patternThickness !== ''
    //   };
    //   console.log(station);
    //   console.log(stationInfos[station.slot]);
    // });
    data.stationOne[0].forEach((station) => {
  stationInfos[station.patternHeight] = {
    hasPatternHeight: station.patternHeight !== null && station.patternHeight !== '',
  };
  // buttonEnabledStatus.value[workstationId] = hasValidDimension;
      console.log(station);
      console.log(stationInfos[station.patternHeight]);
});
  }
  // if (data.stationOne != null) {
  //   // 初始化按钮状态对象
  //   buttonEnabledStatus.value = {};
  //   data.stationOne[0].forEach((station, index) => {
  //     const workstationId = station.workstationId;
  //     const hasValidDimension = station.patternHeight !== null && station.patternHeight !== '' ||
  //                               station.patternThickness !== null && station.patternThickness !== '';
  //     buttonEnabledStatus.value[workstationId] = hasValidDimension;
  //     console.log(station.workstationId);
  //   });
  // }
  if(data.loadTask1!=null){
  tableData.value = data.loadTask1[0]
  window.localStorage.setItem('engineeringIda', tableData.value[0].engineeringId)
  canSelectProjecta.value = false;
@@ -94,6 +136,13 @@
  canSelectProjectc.value = false;
  tableData.value = '';
}
};
// 检查按钮是否可用
// const isButtonEnabled = (slot: string) => {
//   return buttonEnabledStatus.value[slot] || false;
// };
const isButtonEnabled = (patternHeight: string) => {
  return stationInfos[patternHeight]?.hasValidDimension ?? false;
};
onBeforeUnmount(() => {
  closeWebSocket();
@@ -110,7 +159,7 @@
    if (response.code == 200) {
      titleSelectJson.value.engineerId = response.data;
    } else {
      ElMessage.error(response.message);
      // ElMessage.error(response.message);
    }
  } catch (error) {
    console.error(error);
@@ -221,23 +270,6 @@
    ElMessage.error(response.message);
  }
};
// 值班信息
const fetchFlowCardId = async () => {
  try {
    const response = await request.post('/loadGlass/work_assignment/selectWorkAssignment', {
      line: 2001,
      workingProcedure: '冷加工'
    })
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDatax.value = response.data;
    } else {
      ElMessage.error(response.message);
    }
  } catch (error) {
    console.error(error);
  }
}
onMounted(fetchTableData);
// 开始上片
const handleBind = (row) => {
@@ -282,7 +314,7 @@
       glassId: row.glassId,
       line: 5,
       status: 1,
       type: 8,
       state: 8,
       workingProcedure: '上片',
    })
    if (response.code === 200) {
@@ -312,7 +344,7 @@
       glassId: row.glassId,
       line: 5,
       status: 1,
       type: 9,
       state: 9,
       workingProcedure: '上片',
    })
    if (response.code === 200) {
@@ -393,6 +425,12 @@
  } catch (error) {
  }
};
// 历史任务
const iframeUrl = ref('');
const handlehistorical = (row) => {
  blindbd.value = true;
  iframeUrl.value = `${window.location.origin}/#/Returns/upreturnhistory`;
};
function getStatusType2(filmRemove) {
  switch (filmRemove) {
    case 0:
@@ -437,7 +475,7 @@
    <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="deleteTask">{{ $t('searchOrder.deleteTask') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlehistorical">{{ $t('searchOrder.historicaltasks') }}</el-button>
    <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.oneloadingline')"
               style="margin-top: 5px;margin-left: 20px;">
      <el-option :label="$t('Mounting.all')" value="0"></el-option>
@@ -496,7 +534,7 @@
            <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80"/>
            <el-table-column fixed="right" :label="$t('film.operate')" align="center">
            <template #default="scope">
          <el-button size="mini" type="text" plain @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
          <el-button size="mini" :disabled="!isButtonEnabled(scope.row.patternHeight)" type="text" plain @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
            </template>
        </el-table-column>
          </el-table>
@@ -538,23 +576,6 @@
      </div>
    </template>
  </el-dialog>
  <!-- 值班信息 -->
    <el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
      <el-table ref="table" style="margin-top: 20px;height: 300px;"
                :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
        <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
        <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')"/>
        <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
        </el-table-column>
        <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
        </el-table-column>
        </el-table>
        <template #footer>
      <div id="dialog-footer">
        <el-button @click="dialoglea = false">{{ $t('large.close') }}</el-button>
      </div>
    </template>
</el-dialog>
  <el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
    <div style="margin-left: 50px;margin-bottom: 10px;">
    <el-form-item :label="$t('Mounting.loadingline')" :required="true">
@@ -617,6 +638,17 @@
      </div>
    </template>
  </el-dialog>
    <!-- 历史任务 -->
<el-dialog v-model="blindbd" top="10vh" width="90%">
     <iframe
     :src="iframeUrl"
     marginwidth="2000px"
     marginheight="2000px"
     width="100%"
     height="700px"
     frameborder="0"
     ></iframe>
  </el-dialog>
  </div>
</template>
<style scoped>