| | |
| | | width="80%" |
| | | top="6vh" |
| | | destroy-on-close |
| | | title="流程步骤" |
| | | :title="t('pages.task.flowStepDialog.title')" |
| | | @update:model-value="emit('update:visible', $event)" |
| | | > |
| | | <div class="flex flex-col gap-4"> |
| | | <div class="rounded-xl border border-[var(--el-border-color-lighter)] bg-[var(--el-fill-color-blank)] px-4 py-3"> |
| | | <div class="text-sm text-[var(--art-gray-500)]">当前任务</div> |
| | | <div class="text-sm text-[var(--art-gray-500)]">{{ t('pages.task.flowStepDialog.currentTask') }}</div> |
| | | <div class="mt-1 flex flex-wrap items-center gap-x-6 gap-y-2 text-sm text-[var(--art-gray-900)]"> |
| | | <span>任务号:{{ taskRow?.taskCode || '--' }}</span> |
| | | <span>任务状态:{{ taskRow?.taskStatusLabel || '--' }}</span> |
| | | <span>任务类型:{{ taskRow?.taskTypeLabel || '--' }}</span> |
| | | <span>{{ t('pages.task.detail.taskCode') }}:{{ taskRow?.taskCode || '--' }}</span> |
| | | <span>{{ t('pages.task.detail.taskStatus') }}:{{ taskRow?.taskStatusLabel || '--' }}</span> |
| | | <span>{{ t('pages.task.detail.taskType') }}:{{ taskRow?.taskTypeLabel || '--' }}</span> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | |
| | | <script setup> |
| | | import { computed, reactive, ref, watch } from 'vue' |
| | | import { useI18n } from 'vue-i18n' |
| | | import { guardRequestWithMessage } from '@/utils/sys/requestGuard' |
| | | import { fetchFlowStepInstancePage } from '@/api/flow-step-instance' |
| | | import { normalizeFlowStepInstanceRow } from '@/views/system/flow-step-instance/flowStepInstancePage.helpers' |
| | |
| | | }) |
| | | |
| | | const emit = defineEmits(['update:visible']) |
| | | const { t } = useI18n() |
| | | |
| | | const loading = ref(false) |
| | | const rows = ref([]) |
| | |
| | | const columns = computed(() => [ |
| | | { |
| | | type: 'globalIndex', |
| | | label: '序号', |
| | | label: t('table.index'), |
| | | width: 72, |
| | | align: 'center' |
| | | }, |
| | | { |
| | | prop: 'flowInstanceNo', |
| | | label: '流程实例号', |
| | | label: t('pages.task.flowStepDialog.flowInstanceNo'), |
| | | minWidth: 160, |
| | | showOverflowTooltip: true |
| | | }, |
| | | { |
| | | prop: 'stepCode', |
| | | label: '步骤编码', |
| | | label: t('pages.task.flowStepDialog.stepCode'), |
| | | minWidth: 140, |
| | | showOverflowTooltip: true |
| | | }, |
| | | { |
| | | prop: 'stepName', |
| | | label: '步骤名称', |
| | | label: t('pages.task.flowStepDialog.stepName'), |
| | | minWidth: 180, |
| | | showOverflowTooltip: true |
| | | }, |
| | | { |
| | | prop: 'stepType', |
| | | label: '步骤类型', |
| | | label: t('pages.task.flowStepDialog.stepType'), |
| | | minWidth: 140, |
| | | showOverflowTooltip: true |
| | | }, |
| | | { |
| | | prop: 'executeResult', |
| | | label: '执行结果', |
| | | label: t('pages.task.flowStepDialog.executeResult'), |
| | | minWidth: 140, |
| | | showOverflowTooltip: true |
| | | }, |
| | | { |
| | | prop: 'statusText', |
| | | label: '状态', |
| | | label: t('table.status'), |
| | | width: 120, |
| | | showOverflowTooltip: true |
| | | }, |
| | | { |
| | | prop: 'startTimeText', |
| | | label: '开始时间', |
| | | label: t('pages.task.flowStepDialog.startTime'), |
| | | minWidth: 180, |
| | | showOverflowTooltip: true |
| | | }, |
| | | { |
| | | prop: 'endTimeText', |
| | | label: '结束时间', |
| | | label: t('pages.task.flowStepDialog.endTime'), |
| | | minWidth: 180, |
| | | showOverflowTooltip: true |
| | | } |
| | |
| | | current: pagination.current, |
| | | size: pagination.size |
| | | }, |
| | | { timeoutMessage: '流程步骤加载超时,已停止等待' } |
| | | { timeoutMessage: t('pages.task.flowStepDialog.timeout') } |
| | | ) |
| | | rows.value = Array.isArray(response?.records) |
| | | ? response.records.map((record) => normalizeFlowStepInstanceRow(record)) |