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