From 2540d86f0dbd77f654f558c3bf9d5ddbe7422f16 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 03 七月 2026 17:22:09 +0800
Subject: [PATCH] fix: 完成设计项目和归档台账接口对接,功能联调

---
 src/views/mes/pd/project/modules/document-list.vue |   44 +++++++++++++++++++++-----------------------
 1 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/src/views/mes/pd/project/modules/document-list.vue b/src/views/mes/pd/project/modules/document-list.vue
index cfb129f..71c10d8 100644
--- a/src/views/mes/pd/project/modules/document-list.vue
+++ b/src/views/mes/pd/project/modules/document-list.vue
@@ -7,7 +7,7 @@
 import { computed, watch } from 'vue';
 
 import { useVbenModal } from '#/packages/effects/common-ui/src';
-import { MesPdDocumentTypeEnum } from '#/packages/constants/src';
+import { MesPdDocumentTypeEnum, MesPdProjectStatusEnum } from '#/packages/constants/src';
 
 import { message } from 'ant-design-vue';
 
@@ -29,6 +29,7 @@
     formType: FormType;
     gridHeight?: number | string;
     projectId: number;
+    projectStatus?: number;
     tableTitle?: string;
     version?: string;
   }>(),
@@ -38,8 +39,11 @@
   },
 );
 
-const isEditable = computed(() =>
-  ['create', 'update'].includes(props.formType),
+/** 鏄惁鍏佽鏂板/缂栬緫/鍒犻櫎璧勬枡 */
+const canEdit = computed(() =>
+  props.projectStatus === undefined ||
+  props.projectStatus === MesPdProjectStatusEnum.PENDING_PUBLISH ||
+  props.projectStatus === MesPdProjectStatusEnum.PENDING_UPLOAD,
 );
 
 const [DocumentFormModal, documentFormModalApi] = useVbenModal({
@@ -66,21 +70,15 @@
 
 async function handleDelete(row: MesPdDocumentApi.Document) {
   const hideLoading = message.loading({
-    content: $t('ui.actionMessage.deleting', [row.name]),
+    content: $t('ui.actionMessage.deleting', [row.documentName]),
     duration: 0,
   });
   try {
     await deletePdDocument(row.id!);
-    message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
+    message.success($t('ui.actionMessage.deleteSuccess', [row.documentName]));
     handleRefresh();
   } finally {
     hideLoading();
-  }
-}
-
-function handlePreview(row: MesPdDocumentApi.Document) {
-  if (row.fileUrl) {
-    window.open(row.fileUrl, '_blank');
   }
 }
 
@@ -97,7 +95,7 @@
             pageNo: page.currentPage,
             pageSize: page.pageSize,
             projectId: props.projectId,
-            version: props.version,
+            documentVersion: props.version,
             ...formValues,
           });
         },
@@ -119,11 +117,11 @@
 <template>
   <DocumentFormModal @success="handleRefresh" />
   <Grid :table-title="tableTitle">
-    <template v-if="isEditable" #toolbar-tools>
+    <template v-if="canEdit" #toolbar-tools>
       <TableAction
         :actions="[
           {
-            label: '涓婁紶闄勪欢',
+            label: '涓婁紶璧勬枡',
             type: 'primary',
             icon: ACTION_ICON.ADD,
             onClick: handleCreate,
@@ -131,20 +129,20 @@
         ]"
       />
     </template>
+    <template #file="{ row }">
+      <a v-if="row.fileUrl" :href="row.fileUrl" target="_blank" class="text-primary">
+        {{ row.fileName || '鏌ョ湅鏂囦欢' }}
+      </a>
+      <span v-else class="text-gray-400">-</span>
+    </template>
     <template #actions="{ row }">
       <TableAction
         :actions="[
           {
-            label: '棰勮',
-            type: 'link',
-            ifShow: !!row.fileUrl,
-            onClick: handlePreview.bind(null, row),
-          },
-          {
             label: $t('common.edit'),
             type: 'link',
             icon: ACTION_ICON.EDIT,
-            ifShow: isEditable,
+            ifShow: canEdit,
             onClick: handleEdit.bind(null, row),
           },
           {
@@ -152,9 +150,9 @@
             type: 'link',
             danger: true,
             icon: ACTION_ICON.DELETE,
-            ifShow: isEditable,
+            ifShow: canEdit,
             popConfirm: {
-              title: $t('ui.actionMessage.deleteConfirm', [row.name]),
+              title: $t('ui.actionMessage.deleteConfirm', [row.documentName]),
               confirm: handleDelete.bind(null, row),
             },
           },

--
Gitblit v1.9.3