| | |
| | | <script lang="ts" setup> |
| | | import { automaticApproval } from '#/store/audit-policy'; |
| | | import { submitPdProjectApproval } from '#/api/mes/pd/project'; |
| | | import type { FormType } from '../data'; |
| | | import type { MesPdProjectApi } from '#/api/mes/pd/project'; |
| | | |
| | |
| | | loading.value = true; |
| | | try { |
| | | project.value = await getPdProject(projectId.value); |
| | | if (route.query.tab === 'audit') { |
| | | // 从列表页「审核文件」按钮进入,直接定位到资料审核 Tab |
| | | if (route.query.tab === 'audit' && isPendingAudit.value) { |
| | | // 从列表页「审核文件」按钮进入,且当前确实处于待审核状态时,才定位到资料审核 Tab |
| | | activeTab.value = 'audit'; |
| | | } else if (isPendingUpload.value) { |
| | | activeTab.value = 'material'; |
| | | } else if (isPendingAudit.value) { |
| | | activeTab.value = 'audit'; |
| | | } else { |
| | | // 审批中/待归档/已归档等状态:重置到「设计资料」页签, |
| | | // 避免 activeTab 仍指向随状态变化而移除的「资料审核」页签,导致下方内容空白 |
| | | activeTab.value = 'material'; |
| | | } |
| | | } finally { |
| | | loading.value = false; |
| | |
| | | |
| | | /** 提交审批 - 先获取流程列表 */ |
| | | async function handleSubmit() { |
| | | const hideLoading = message.loading({ content: '获取审批流程...', duration: 0 }); |
| | | const hideLoading = message.loading({ content: automaticApproval.value ? '正在提交生效...' : '获取审批流程...', duration: 0 }); |
| | | try { |
| | | if (automaticApproval.value) { |
| | | await submitPdProjectApproval(projectId.value, 'pd_project_approve'); |
| | | hideLoading(); |
| | | message.success('已提交生效'); |
| | | await loadProjectDetail(); |
| | | return; |
| | | } |
| | | const processList = await getPdProjectApproveProcessList(); |
| | | hideLoading(); |
| | | if (!processList || processList.length === 0) { |
| | |
| | | return; |
| | | } |
| | | // 打开流程选择弹窗 |
| | | |
| | | processModalApi.setData({ id: projectId.value, processList }).open(); |
| | | } catch { |
| | | hideLoading(); |