From fc4787359ce96b1fde4158c9b777b0579147d082 Mon Sep 17 00:00:00 2001
From: linxd <544554903@qq.com>
Date: Thu, 17 Jul 2025 08:59:31 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E5=81=9C=E7=94=A8/?=
=?UTF-8?q?=E5=90=AF=E7=94=A8=20=E6=8C=89=E9=92=AE=E5=AF=B9=E6=A8=A1?=
=?UTF-8?q?=E6=9D=BF=E7=8A=B6=E6=80=81=E8=BF=9B=E8=A1=8C=E6=93=8D=E4=BD=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/dicts/supplierAnnualDict.ts | 6 +-
.../supplierAnnualTemplateManage.tsx | 22 +-----
.../supplierTemplateManage.tsx | 79 ++++++++++++++++++-
src/servers/api/supplierEvaluate.ts | 4 +-
4 files changed, 85 insertions(+), 26 deletions(-)
diff --git a/src/dicts/supplierAnnualDict.ts b/src/dicts/supplierAnnualDict.ts
index c676cad..406723a 100644
--- a/src/dicts/supplierAnnualDict.ts
+++ b/src/dicts/supplierAnnualDict.ts
@@ -16,7 +16,7 @@ export const AnnualTemplateStatusText = {
// 年度模板状态颜色
export const AnnualTemplateStatusColor = {
- [AnnualTemplateStatus.DRAFT]: 'processing',
- [AnnualTemplateStatus.ENABLED]: 'success',
- [AnnualTemplateStatus.DISABLED]: 'default',
+ [AnnualTemplateStatus.DRAFT]: 'default',
+ [AnnualTemplateStatus.ENABLED]: 'green',
+ [AnnualTemplateStatus.DISABLED]: 'red',
};
diff --git a/src/pages/supplierAnnualManage/supplierAnnualTemplateManage/supplierAnnualTemplateManage.tsx b/src/pages/supplierAnnualManage/supplierAnnualTemplateManage/supplierAnnualTemplateManage.tsx
index 28a98d4..5c38843 100644
--- a/src/pages/supplierAnnualManage/supplierAnnualTemplateManage/supplierAnnualTemplateManage.tsx
+++ b/src/pages/supplierAnnualManage/supplierAnnualTemplateManage/supplierAnnualTemplateManage.tsx
@@ -283,29 +283,15 @@ const SupplierAnnualTemplateManage: React.FC = () => {
{intl.formatMessage({ id: 'supplierAnnualTemplateManage.common.view' })}
- {/* 草稿状态显示启用按钮 */}
- {record.status === AnnualTemplateStatus.DRAFT && (
+ {/* 禁用状态显示启用按钮 草稿状态显示启用按钮 */}
+ {(record.status === AnnualTemplateStatus.DISABLED || record.status === AnnualTemplateStatus.DRAFT) && (
)}
- {/* 草稿状态显示禁用按钮 */}
- {record.status === AnnualTemplateStatus.DRAFT && (
-
- )}
-
- {/* 禁用状态显示启用按钮 */}
- {record.status === AnnualTemplateStatus.DISABLED && (
-
- )}
-
- {/* 启用状态显示禁用按钮 */}
- {record.status === AnnualTemplateStatus.ENABLED && (
+ {/* 启用状态显示禁用按钮 草稿状态显示禁用按钮 */}
+ {(record.status === AnnualTemplateStatus.ENABLED || record.status === AnnualTemplateStatus.DRAFT) && (
diff --git a/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManage.tsx b/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManage.tsx
index 6ca3bf5..e5eff94 100644
--- a/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManage.tsx
+++ b/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManage.tsx
@@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react';
import { history, useIntl } from 'umi';
-import { Button, Table, Space, message, Input, Select, Form, Tooltip, Tag } from 'antd';
+import { Button, Table, Space, message, Input, Select, Form, Tooltip, Tag, Modal } from 'antd';
import type { TablePaginationConfig } from 'antd';
import { PlusOutlined, DeleteOutlined, SearchOutlined } from '@ant-design/icons';
import {
@@ -8,7 +8,7 @@ import {
TemplateStatusColor,
TemplateStatus,
} from '@/dicts/supplierTemplateDict';
-import { getTemplateList } from '@/servers/api/supplierEvaluate';
+import { getTemplateList, enableTemplate, disableTemplate } from '@/servers/api/supplierEvaluate';
import CategorySelector from '@/components/CategorySelector/CategorySelector';
const { Option } = Select;
@@ -124,7 +124,59 @@ const SupplierTemplateManage: React.FC = () => {
const handleTableChange = (newPagination: TablePaginationConfig) => {
fetchTemplateList(newPagination.current, newPagination.pageSize, searchParams);
};
+// 处理启用模板
+const handleEnableTemplate = (id: string) => {
+ Modal.confirm({
+ title: intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.enableConfirmTitle' }),
+ content: intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.enableConfirmContent' }),
+ okText: intl.formatMessage({ id: 'supplierAnnualTemplateManage.common.confirm' }),
+ cancelText: intl.formatMessage({ id: 'supplierAnnualTemplateManage.common.cancel' }),
+ onOk: async () => {
+ try {
+ setLoading(true);
+ const res = await enableTemplate(id);
+ if (res.success) {
+ message.success(intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.enableSuccess' }));
+ fetchTemplateList(pagination.current, pagination.pageSize, searchParams);
+ } else {
+ message.error(res.message || intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.enableFailed' }));
+ }
+ } catch (error) {
+ console.error('启用模板失败:', error);
+ message.error(intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.enableFailed' }));
+ } finally {
+ setLoading(false);
+ }
+ }
+ });
+};
+// 处理禁用模板
+const handleDisableTemplate = (id: string) => {
+ Modal.confirm({
+ title: intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.disableConfirmTitle' }),
+ content: intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.disableConfirmContent' }),
+ okText: intl.formatMessage({ id: 'supplierAnnualTemplateManage.common.confirm' }),
+ cancelText: intl.formatMessage({ id: 'supplierAnnualTemplateManage.common.cancel' }),
+ onOk: async () => {
+ try {
+ setLoading(true);
+ const res = await disableTemplate(id);
+ if (res.success) {
+ message.success(intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.disableSuccess' }));
+ fetchTemplateList(pagination.current, pagination.pageSize, searchParams);
+ } else {
+ message.error(res.message || intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.disableFailed' }));
+ }
+ } catch (error) {
+ console.error('禁用模板失败:', error);
+ message.error(intl.formatMessage({ id: 'supplierAnnualTemplateManage.modal.disableFailed' }));
+ } finally {
+ setLoading(false);
+ }
+ }
+ });
+};
const columns = [
{
title: intl.formatMessage({ id: 'supplierTemplateManage.column.index' }),
@@ -188,7 +240,7 @@ const SupplierTemplateManage: React.FC = () => {
{
title: intl.formatMessage({ id: 'supplierTemplateManage.column.action' }),
key: 'action',
- width: 150,
+ width: 200,
align: 'center' as const,
render: (_: unknown, record: SupplierTemplateManage.TemplateItem) => (
@@ -201,6 +253,27 @@ const SupplierTemplateManage: React.FC = () => {
+
+ {/* 禁用状态显示启用按钮 草稿状态显示启用按钮 */}
+ {(record.status === TemplateStatus.DISABLED ||
+ record.status === TemplateStatus.DRAFT) && (
+
+ )}
+
+ {/* 启用状态显示禁用按钮 草稿状态显示禁用按钮 */}
+ {(record.status === TemplateStatus.ENABLED ||
+ record.status === TemplateStatus.DRAFT) && (
+
+ )}
),
},
diff --git a/src/servers/api/supplierEvaluate.ts b/src/servers/api/supplierEvaluate.ts
index 13ea062..63b4e66 100644
--- a/src/servers/api/supplierEvaluate.ts
+++ b/src/servers/api/supplierEvaluate.ts
@@ -76,7 +76,7 @@ export async function deleteTemplate(id: string) {
* @returns Promise
*/
export async function enableTemplate(id: string) {
- return request>('/coscoEvaluate/template/enable', {
+ return request>('/coscoEvaluate/template/up', {
method: 'POST',
data: { id },
});
@@ -88,7 +88,7 @@ export async function enableTemplate(id: string) {
* @returns Promise
*/
export async function disableTemplate(id: string) {
- return request>('/coscoEvaluate/template/disable', {
+ return request>('/coscoEvaluate/template/down', {
method: 'POST',
data: { id },
});