| | |
| | | }) |
| | | const dispatchDialogVisible = ref(false) |
| | | const stepInfos = ref([]) |
| | | const fixedStatuses = ref(['2', '0', '3', '4']) |
| | | const userNameToIdMap = ref({}) |
| | | const workType = ref(0) |
| | | const selections = ref([]) |
| | |
| | | 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), |
| | | } |
| | | }) |
| | | // 计算默认激活的标签(无全部工单时优先激活待审核) |
| | |
| | | .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) => { |
| | |
| | | } |
| | | |
| | | 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) { |