无人机管理后台前端(已迁走)
张含笑
2025-11-22 5a0378168bc36e9873c822ac36dbf9589147f65a
feat:更换批量审核按钮
2 files modified
57 ■■■■■ changed files
src/views/tickets/ticket.vue 55 ●●●●● patch | view | raw | blame | history
src/views/tickets/ticketComponent/TicketDetailDialog.vue 2 ●●● patch | view | raw | blame | history
src/views/tickets/ticket.vue
@@ -484,7 +484,6 @@
})
const dispatchDialogVisible = ref(false)
const stepInfos = ref([])
const fixedStatuses = ref(['2', '0', '3', '4'])
const userNameToIdMap = ref({})
const workType = ref(0)
const selections = ref([])
@@ -547,7 +546,7 @@
    addBtn: validData(permission.value.tickets_add, false),
    delBtn: validData(permission.value.tickets_delete, false),
    exportBtn: validData(permission.value.tickets_export, false),
    reviewBtn: validData(permission.value.tickets_review, false),
    reviewBtn: validData(permission.value.tickets_review_btn, false),
  }
})
// 计算默认激活的标签(无全部工单时优先激活待审核)
@@ -576,14 +575,6 @@
    .map(tab => String(tab.value));
});
const stepStatusList = computed(() => {
// “我发起的工单”tab用默认流程,其它tab用接口返回的stepInfos
  // if (activeTab.value === 'myTickets') {
  //   if (workType.value === 1) {
  //     return ['3', '4']
  //   }
  //   return fixedStatuses.value
  // }
   // 其它tab直接用接口返回的stepInfos
  return stepInfos.value.map(step => String(step.status))
})
const showIsReviewText = computed(() => (row) => {
@@ -972,63 +963,19 @@
}
async function getStepInfoData(val) {
  try {
    const orderNum = val
    const stepResponse = await getStepInfo(orderNum)
    const steps = Array.isArray(stepResponse.data.data)
      ? stepResponse.data.data
      : stepResponse.data.data?.steps || []
    console.log('steps',steps);
    const finishedStep = steps.find(s => String(s.status) === '4')
    totalTime.value = finishedStep && finishedStep.total_time ? finishedStep.total_time : ''
    // if (activeTab.value !== 'myTickets') {
    //   stepInfos.value = steps.map(step => ({
    //     status: String(step.status),
    //     name: step.name,
    //     time: step.time,
    //     create_time: step.create_time,
    //   }))
    // } else {
      // const statusArr = workType.value === 1 ? ['3', '4'] : fixedStatuses.value
      // stepInfos.value = statusArr.map(status => {
      //   const step = steps.find(s => String(s.status) === String(status))
      //   return {
      //     status,
      //     name: step ? step.name : '',
      //     time: step ? step.time : null,
      //     create_time: step ? step.create_time : null,
      //   }
      // })
    //     stepInfos.value = steps.map(step => ({
    //     status: String(step.status),
    //     name: step.name,
    //     time: step.time,
    //     create_time: step.create_time,
    //   }))
    // }
      stepInfos.value = steps.map(step => ({
        status: String(step.status),
        name: step.name,
        time: step.time,
        create_time: step.create_time,
      }))
    return true
  } catch (error) {
    console.error('获取步骤信息失败:', error)
    if (activeTab.value === 'myTickets') {
      const statusArr = workType.value === 1 ? ['3', '4'] : fixedStatuses.value
      stepInfos.value = statusArr.map(status => ({
        status,
        name: status === row.status ? row.handler || '未分配' : '未处理',
        time: status === row.status ? row.startTime || '未知时间' : null,
      }))
    } else {
      stepInfos.value = []
    }
    return false
  }
}
// 详情
async function handleViewDetail(row) {
src/views/tickets/ticketComponent/TicketDetailDialog.vue
@@ -641,7 +641,7 @@
const hasProcessedAndOverBtnPermission = () => {
  return props.permission && props.permission.tickets_view_processedAndOver === true;
};
// 通过不通过
const hasReviewBtnPermission = () => {
  return props.permission && props.permission.tickets_review_btn === true;
};