云
9 天以前 a241b66efcc41e973290a6722fb7a4d79b833ea1
src/views/mes/pd/project/detail/index.vue
@@ -1,4 +1,6 @@
<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';
@@ -86,10 +88,17 @@
  loading.value = true;
  try {
    project.value = await getPdProject(projectId.value);
    if (isPendingUpload.value) {
    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;
@@ -98,7 +107,7 @@
function handleBack() {
  tabs.closeCurrentTab();
  router.push({ path: '/mes/pd/project' });
  router.back();
}
function handleEdit() {
@@ -130,8 +139,15 @@
/** 提交审批 - 先获取流程列表 */
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) {
@@ -139,6 +155,7 @@
      return;
    }
    // 打开流程选择弹窗
    processModalApi.setData({ id: projectId.value, processList }).open();
  } catch {
    hideLoading();