wangfei
2025-03-10 70f3eaaff56713687a9fcf96910548fed6553da5
原片仓储新增历史任务弹窗及功能
4个文件已修改
198 ■■■■■ 已修改文件
UI-Project/src/lang/en.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/py.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/GlassStorage/rawfilmstorage.vue 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/en.js
@@ -134,6 +134,8 @@
      searchOrder:{
          successfullyprocessed:'任务成功处理',
          psuccessfullyprocessed:'是否进行任务成功处理?',
          taskfailure:'任务失败处理',
          ptaskfailure:'是否进行任务失败处理?',
          totallogarithms:'总对数',
          numberpairs:'配对数',
          numberoccupied:'占用格子数',
UI-Project/src/lang/py.js
@@ -133,6 +133,8 @@
    searchOrder: {
        successfullyprocessed:'任务成功处理',
        psuccessfullyprocessed:'是否进行任务成功处理?',
        taskfailure:'任务失败处理',
        ptaskfailure:'是否进行任务失败处理?',
        totallogarithms:'总对数',
        numberpairs:'配对数',
        numberoccupied:'占用格子数',
UI-Project/src/lang/zh.js
@@ -133,6 +133,8 @@
      searchOrder:{
          successfullyprocessed:'任务成功处理',
          psuccessfullyprocessed:'是否进行任务成功处理?',
          taskfailure:'任务失败处理',
          ptaskfailure:'是否进行任务失败处理?',
          totallogarithms:'总对数',
          numberpairs:'配对数',
          numberoccupied:'占用格子数',
UI-Project/src/views/GlassStorage/rawfilmstorage.vue
@@ -11,15 +11,19 @@
const router = useRouter()
const tableDataa = ref([])
const tableDatab = ref([])
const tableDatad = ref([])
const {t} = useI18n()
const add = ref(false)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
const dialogFormVisiblec = ref(false)
const dialogFormVisiblee = ref(false)
const blindb = ref(false)
const Edit = ref(false)
const timeRange = ref([])
const timeRangea = ref([])
const selectValuesa = reactive([]);
const selectValuesb = reactive([]);
const patternWidth = ref('');
const patternHeight = ref('');
const patternThickness = ref('');
@@ -63,6 +67,7 @@
  console.log(formatTimestamp(oneWeekAgo));
  console.log(oneWeekAgo);
  timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)];
  timeRangea.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)];
  window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
}
  onMounted(() => {
@@ -242,6 +247,34 @@
    ElMessage.error(response.message);
  }
};
// 历史任务查询
const sethistorical = async () => {
  let celllista=[]
  let stateLista=[]
  if(selectValuesb[0]!=null&&selectValuesb[0]!='undefined'){
    if(selectValuesb[0]!=""){
      celllista=[selectValuesb[0]];
    }
  }
  if(selectValuesb[1]!=null&&selectValuesb[1]!='undefined'){
    if(selectValuesb[1]!=""){
      stateLista=[selectValuesb[1]];
    }
  }
      const response = await request.post("/glassStorage/rawGlassStorageTask/queryRawGlassHistoryTask", {
        beginDate: (timeRangea.value && timeRangea.value[0]) || '',
        endDate: (timeRangea.value && timeRangea.value[1]) || '',
        taskState: celllista,
        taskType: stateLista
  })
  if (response.code === 200) {
    tableDatad.value = response.data;
    ElMessage.success(response.message);
  }
  else {
    ElMessage.error(response.message);
  }
};
// 是否禁用
const toggleEnableState = async (row: any) => {
  if (!row.deviceId) {  
@@ -305,6 +338,93 @@
  const seconds = String(date.getSeconds()).padStart(2, '0');
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
// 历史任务
const handlehistorical = (row) => {
  blindb.value = true;
  historical()
};
// 历史任务
const historical = async () => {
  try {
  let celllista=[]
  let stateLista=[]
  if(selectValuesb[0]!=null&&selectValuesb[0]!='undefined'){
    if(selectValuesb[0]!=""){
      celllista=[selectValuesb[0]];
    }
  }
  if(selectValuesb[1]!=null&&selectValuesb[1]!='undefined'){
    if(selectValuesb[1]!=""){
      stateLista=[selectValuesb[1]];
    }
  }
      const response = await request.post("/glassStorage/rawGlassStorageTask/queryRawGlassHistoryTask", {
        beginDate: (timeRangea.value && timeRangea.value[0]) || '',
        endDate: (timeRangea.value && timeRangea.value[1]) || '',
        taskState: [],
        taskType: []
  })
      if (response.code == 200) {
        ElMessage.success(response.message);
        tableDatad.value = response.data;
      } else {
        ElMessage.error(response.message);
    }
}
catch (error) {
    console.error(error);
  }
}
// 任务成功处理
const successfull = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.psuccessfullyprocessed'),
      t('workOrder.prompt'),
      {
        confirmButtonText: t('workOrder.yes'),
        cancelButtonText: t('workOrder.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
  var url="/glassStorage/rawGlassStorageTask/taskSuccess?taskId="+ row.id;
      const response = await request.post(url)
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
// 任务失败处理
const handleptask = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.ptaskfailure'),
      t('workOrder.prompt'),
      {
        confirmButtonText: t('workOrder.yes'),
        cancelButtonText: t('workOrder.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
  var url="/glassStorage/rawGlassStorageTask/taskError?taskId="+ row.id;
      const response = await request.post(url)
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
function getStatusType1(taskType) {  
switch (taskType) {  
  case 1:  
@@ -350,7 +470,7 @@
  case 2:  
    return t('film.fail');//失败
  case 1:  
  return t('film.finish');//完成
    return t('film.finish');//完成
}  
}
onBeforeUnmount(() => {
@@ -371,6 +491,10 @@
      </el-button>
      <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handleBinde">{{
          $t('film.pwareout')
        }}
      </el-button>
      <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handlehistorical">{{
          $t('searchOrder.historicaltasks')
        }}
      </el-button>
      <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="datetimerange"
@@ -466,6 +590,72 @@
        </el-table-column>
        </el-table>
</el-dialog>
<!-- 历史任务 -->
<el-dialog v-model="blindb" top="10vh" width="90%">
  <div style="display: flex;">
    <el-date-picker style="margin-left: 10px;" v-model="timeRangea" type="datetimerange"
        format="YYYY/MM/DD HH:mm:ss"
        value-format="YYYY-MM-DD HH:mm:ss"
        :start-placeholder="$t('film.starttime')"
        :end-placeholder="$t('film.endtime')"
        :default-time="defaultTime" />
    <el-select v-model="selectValuesb[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-left: 10px;" >
      <el-option :label="$t('film.built')" value="0"></el-option>
      <el-option :label="$t('film.finish')" value="1"></el-option>
      <el-option :label="$t('film.fail')" value="2"></el-option>
    </el-select>
    <el-select v-model="selectValuesb[1]" clearable :placeholder="$t('film.tasktype')" style="margin-left: 10px;" >
      <el-option :label="$t('sorter.advancetask')" value="1"></el-option>
      <el-option :label="$t('sorter.outputtasks')" value="2"></el-option>
      <el-option :label="$t('sorter.schedulingtasks')" value="3"></el-option>
      <el-option :label="$t('sorter.advancerequests')" value="4"></el-option>
      <el-option :label="$t('sorter.releaserequest')" value="5"></el-option>
    </el-select>
          <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="sethistorical()">{{
        $t('reportmanage.inquire')
      }}</el-button>
      </div>
    <el-table ref="table" style="margin-top: 20px;height: 650px;" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
      <el-table-column prop="id" align="center" :label="$t('film.enableid')"/>
          <el-table-column prop="startSlot" align="center" :label="$t('film.originateslot')"/>
          <el-table-column prop="endSlot" align="center" :label="$t('film.endslot')"/>
          <el-table-column prop="patternQuantity" align="center" :label="$t('film.patternquantity')"/>
          <el-table-column
          align="center"
          :label="$t('film.enabletype')"
          prop="taskType"
        >
        <template #default="scope">
      <el-tag :type="getStatusType1(scope.row.taskType)">
        {{ getStatusText1(scope.row.taskType) }}
      </el-tag>
    </template>
        </el-table-column>
        <el-table-column
          align="center"
          :label="$t('film.taskstatus')"
          prop="taskState"
        >
        <template #default="scope">
      <el-tag :type="getStatusType2(scope.row.taskState)">
        {{ getStatusText2(scope.row.taskState) }}
      </el-tag>
    </template>
        </el-table-column>
          <el-table-column prop="createTime" align="center" :label="$t('film.createtime')" />
          <el-table-column fixed="right" :label="$t('film.operate')" align="center">
            <template #default="scope">
          <el-button size="mini" :disabled="!scope.row.taskState == 0" type="text" plain @click="successfull(scope.row)">{{ $t('searchOrder.successfullyprocessed') }}</el-button>
          <el-button size="mini" :disabled="!scope.row.taskState == 0" type="text" plain @click="handleptask(scope.row)">{{ $t('searchOrder.taskfailure') }}</el-button>
            </template>
        </el-table-column>
        </el-table>
        <template #footer>
      <div id="dialog-footer">
        <el-button @click="blindb = false">{{ $t('large.close') }}</el-button>
      </div>
    </template>
  </el-dialog>
<el-dialog v-model="dialogFormVisibleb" top="23vh" width="55%" :title="$t('film.addglass')" >
    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
            <el-form  size="mini" label-width="150px">