From fafb2cda4430452ea24fa43bae4d2eb12af49e5d Mon Sep 17 00:00:00 2001
From: linxd <544554903@qq.com>
Date: Wed, 2 Jul 2025 17:05:50 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=97=E8=A1=A8=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../supplierAnnualResult.tsx | 36 +++++++----
.../supplierAnnualResultQuery.tsx | 64 +++++++++----------
.../supplierAnnualResultQuery2.tsx | 43 ++++++++-----
.../supplierAnnualQuery.tsx | 18 +++---
.../supplierAnnualTaskManage.tsx | 40 ++++++++----
5 files changed, 120 insertions(+), 81 deletions(-)
diff --git a/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResult.tsx b/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResult.tsx
index aab0e41..c59b690 100644
--- a/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResult.tsx
+++ b/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResult.tsx
@@ -29,16 +29,14 @@ const SupplierAnnualResult: React.FC = () => {
const [searchParams, setSearchParams] = useState({});
// 获取年度结果列表
- const fetchList = async (params: any = {}) => {
+ const fetchList = async () => {
try {
setLoading(true);
- const { current, pageSize, ...restParams } = params;
const res = await getAnnualResultTaskList({
basePageRequest: {
- pageNo: current,
- pageSize,
+ pageNo: pagination.current,
+ pageSize: pagination.pageSize,
},
- ...restParams,
...searchParams,
});
@@ -46,8 +44,6 @@ const SupplierAnnualResult: React.FC = () => {
setData(res.data?.records || []);
setPagination({
...pagination,
- current,
- pageSize,
total: res.data?.total || 0,
});
} else {
@@ -61,14 +57,15 @@ const SupplierAnnualResult: React.FC = () => {
}
};
- // 首次加载获取数据
+ // 监听搜索参数和分页变化,自动请求数据
useEffect(() => {
- fetchList({ current: 1, pageSize: 10 });
- }, []);
+ fetchList();
+ }, [searchParams, pagination.current, pagination.pageSize]);
// 表格变化处理
const handleTableChange = (paginationParams: any) => {
- fetchList({
+ setPagination({
+ ...pagination,
current: paginationParams.current,
pageSize: paginationParams.pageSize,
});
@@ -85,15 +82,28 @@ const SupplierAnnualResult: React.FC = () => {
delete params.reviewTime;
}
+ // 更新分页到第一页
+ setPagination({
+ ...pagination,
+ current: 1,
+ });
+
+ // 更新搜索参数,会触发useEffect重新请求
setSearchParams(params);
- fetchList({ current: 1, pageSize: pagination.pageSize, ...params });
};
// 重置搜索
const handleReset = () => {
form.resetFields();
+
+ // 更新分页到第一页
+ setPagination({
+ ...pagination,
+ current: 1,
+ });
+
+ // 清空搜索参数,会触发useEffect重新请求
setSearchParams({});
- fetchList({ current: 1, pageSize: pagination.pageSize });
};
// 查看年度统计
diff --git a/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery.tsx b/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery.tsx
index 35e1e19..cc71121 100644
--- a/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery.tsx
+++ b/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery.tsx
@@ -10,7 +10,7 @@ import {
Form,
Select,
Typography,
- DatePicker
+ DatePicker,
} from 'antd';
import { ArrowLeftOutlined, SearchOutlined, DeleteOutlined } from '@ant-design/icons';
import { getAnnualResultSupplierList } from '@/servers/api/supplierAnnual';
@@ -44,17 +44,17 @@ const SupplierAnnualResultQuery: React.FC = () => {
const { taskId, annualTheme } = history.location.state as { taskId: string; annualTheme: string };
// 获取供应商列表
- const fetchList = async (params: any = {}) => {
+ const fetchList = async () => {
+ if (!taskId) return;
+
try {
setLoading(true);
- const { current, pageSize, ...restParams } = params;
const res = await getAnnualResultSupplierList({
annualreviewTaskId: taskId,
basePageRequest: {
- pageNo: current,
- pageSize,
+ pageNo: pagination.current,
+ pageSize: pagination.pageSize,
},
- ...restParams,
...searchParams,
});
@@ -62,8 +62,6 @@ const SupplierAnnualResultQuery: React.FC = () => {
setData(res.data?.records || []);
setPagination({
...pagination,
- current,
- pageSize,
total: res.data?.total || 0,
});
} else {
@@ -77,19 +75,20 @@ const SupplierAnnualResultQuery: React.FC = () => {
}
};
- // 首次加载获取数据
+ // 监听任务ID变化,初始化数据
useEffect(() => {
if (taskId) {
- fetchList({ current: 1, pageSize: 10 });
+ fetchList();
} else {
message.error('任务ID不存在,无法获取详情');
history.goBack();
}
- }, [taskId]);
+ }, [taskId, searchParams, pagination.current, pagination.pageSize]);
// 表格变化处理
const handleTableChange = (paginationParams: any) => {
- fetchList({
+ setPagination({
+ ...pagination,
current: paginationParams.current,
pageSize: paginationParams.pageSize,
});
@@ -106,15 +105,28 @@ const SupplierAnnualResultQuery: React.FC = () => {
delete params.reviewTime;
}
+ // 更新分页到第一页
+ setPagination({
+ ...pagination,
+ current: 1,
+ });
+
+ // 更新搜索参数,会触发useEffect重新请求
setSearchParams(params);
- fetchList({ current: 1, pageSize: pagination.pageSize, ...params });
};
// 重置搜索
const handleReset = () => {
form.resetFields();
+
+ // 更新分页到第一页
+ setPagination({
+ ...pagination,
+ current: 1,
+ });
+
+ // 清空搜索参数,会触发useEffect重新请求
setSearchParams({});
- fetchList({ current: 1, pageSize: pagination.pageSize });
};
// 返回列表页
@@ -142,7 +154,8 @@ const SupplierAnnualResultQuery: React.FC = () => {
dataIndex: 'index',
key: 'index',
width: 80,
- render: (_: any, __: any, index: number) => index + 1 + (pagination.current - 1) * pagination.pageSize,
+ render: (_: any, __: any, index: number) =>
+ index + 1 + (pagination.current - 1) * pagination.pageSize,
},
{
title: '供应商名称',
@@ -191,18 +204,13 @@ const SupplierAnnualResultQuery: React.FC = () => {
-
-
+
} onClick={() => form.submit()}>
搜索
- }
- onClick={handleReset}
- >
+ } onClick={handleReset}>
重置
diff --git a/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery2.tsx b/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery2.tsx
index a1820f1..654349c 100644
--- a/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery2.tsx
+++ b/src/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery2.tsx
@@ -55,18 +55,18 @@ const SupplierAnnualResultQuery2: React.FC = () => {
};
// 获取供应商审查列表
- const fetchList = async (params: any = {}) => {
+ const fetchList = async () => {
+ if (!supplierId) return;
+
try {
setLoading(true);
- const { current, pageSize, ...restParams } = params;
const res = await getAnnualResultReviewList({
basePageRequest: {
- pageNo: current,
- pageSize,
+ pageNo: pagination.current,
+ pageSize: pagination.pageSize,
},
- supplierId, // 使用userId参数传递supplierId
+ userId: supplierId, // 使用userId参数传递supplierId
annualreviewTaskId,
- ...restParams,
...searchParams,
});
@@ -74,8 +74,6 @@ const SupplierAnnualResultQuery2: React.FC = () => {
setData(res.data?.records || []);
setPagination({
...pagination,
- current,
- pageSize,
total: res.data?.total || 0,
});
} else {
@@ -89,19 +87,20 @@ const SupplierAnnualResultQuery2: React.FC = () => {
}
};
- // 首次加载获取数据
+ // 监听supplierId和搜索参数、分页变化获取数据
useEffect(() => {
if (supplierId) {
- fetchList({ current: 1, pageSize: 10 });
+ fetchList();
} else {
message.error('供应商ID不存在,无法获取详情');
history.goBack();
}
- }, [supplierId]);
+ }, [supplierId, searchParams, pagination.current, pagination.pageSize]);
// 表格变化处理
const handleTableChange = (paginationParams: any) => {
- fetchList({
+ setPagination({
+ ...pagination,
current: paginationParams.current,
pageSize: paginationParams.pageSize,
});
@@ -118,15 +117,28 @@ const SupplierAnnualResultQuery2: React.FC = () => {
delete params.reviewTime;
}
+ // 更新分页到第一页
+ setPagination({
+ ...pagination,
+ current: 1,
+ });
+
+ // 更新搜索参数,会触发useEffect重新请求
setSearchParams(params);
- fetchList({ current: 1, pageSize: pagination.pageSize, ...params });
};
// 重置搜索
const handleReset = () => {
form.resetFields();
+
+ // 更新分页到第一页
+ setPagination({
+ ...pagination,
+ current: 1,
+ });
+
+ // 清空搜索参数,会触发useEffect重新请求
setSearchParams({});
- fetchList({ current: 1, pageSize: pagination.pageSize });
};
// 返回列表页
@@ -163,7 +175,8 @@ const SupplierAnnualResultQuery2: React.FC = () => {
dataIndex: 'index',
key: 'index',
width: 80,
- render: (_: any, __: any, index: number) => index + 1 + (pagination.current - 1) * pagination.pageSize,
+ render: (_: any, __: any, index: number) =>
+ index + 1 + (pagination.current - 1) * pagination.pageSize,
},
{
title: '供应商名称',
diff --git a/src/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualQuery.tsx b/src/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualQuery.tsx
index defff62..7ec7233 100644
--- a/src/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualQuery.tsx
+++ b/src/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualQuery.tsx
@@ -11,16 +11,12 @@ import {
Tooltip,
Tag,
DatePicker,
- Row,
- Col,
Card,
} from 'antd';
import type { TablePaginationConfig } from 'antd';
import {
SearchOutlined,
DeleteOutlined,
- EyeOutlined,
- EditOutlined,
} from '@ant-design/icons';
import { getAnnualReviewList } from '@/servers/api/supplierAnnual';
import {
@@ -28,7 +24,8 @@ import {
AnnualReviewStatusText,
AnnualReviewStatusColor,
} from '@/dicts/supplierAnnualReviewDict';
-import styles from './supplierAnnualReview.less';
+import { getDictList } from '@/servers/api/dicts';
+import type { DictItem } from '@/servers/api/dicts';
const { Option } = Select;
const { RangePicker } = DatePicker;
@@ -44,7 +41,7 @@ interface AnnualReviewSearchParams {
const SupplierAnnualReview: React.FC = () => {
const [loading, setLoading] = useState
(false);
const [form] = Form.useForm();
-
+ const [reviewStatus, setReviewStatus] = useState([]);
const [reviewData, setReviewData] = useState([]);
const [pagination, setPagination] = useState({
current: 1,
@@ -114,6 +111,11 @@ const SupplierAnnualReview: React.FC = () => {
// 首次加载获取数据
useEffect(() => {
fetchReviewList(pagination.current, pagination.pageSize, {});
+ getDictList('project_status ').then((res) => {
+ if (res.success) {
+ setReviewStatus(res.data);
+ }
+ });
}, []);
// 处理查看
@@ -282,8 +284,8 @@ const SupplierAnnualReview: React.FC = () => {
diff --git a/src/pages/supplierAnnualManage/supplierAnnualTaskManage/supplierAnnualTaskManage.tsx b/src/pages/supplierAnnualManage/supplierAnnualTaskManage/supplierAnnualTaskManage.tsx
index 8d81fe1..204f37d 100644
--- a/src/pages/supplierAnnualManage/supplierAnnualTaskManage/supplierAnnualTaskManage.tsx
+++ b/src/pages/supplierAnnualManage/supplierAnnualTaskManage/supplierAnnualTaskManage.tsx
@@ -44,17 +44,16 @@ const SupplierAnnualTaskManage: React.FC = () => {
});
const [searchParams, setSearchParams] = useState({});
const [evaluateStatus, setEvaluateStatus] = useState([]);
+
// 获取年度任务列表
- const fetchList = async (params: any = {}) => {
+ const fetchList = async () => {
try {
setLoading(true);
- const { current, pageSize, ...restParams } = params;
const res = await getAnnualTaskList({
basePageRequest: {
- pageNo: current,
- pageSize,
+ pageNo: pagination.current,
+ pageSize: pagination.pageSize,
},
- ...restParams,
...searchParams,
});
@@ -62,8 +61,6 @@ const SupplierAnnualTaskManage: React.FC = () => {
setData(res.data?.records || []);
setPagination({
...pagination,
- current,
- pageSize,
total: res.data?.total || 0,
});
} else {
@@ -77,20 +74,24 @@ const SupplierAnnualTaskManage: React.FC = () => {
}
};
- // 首次加载获取数据
+ // 获取状态字典
useEffect(() => {
- fetchList({ current: 1, pageSize: 10 });
getDictList('project_status').then((res) => {
if (res.success) {
setEvaluateStatus(res.data);
}
});
- // eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
+ // 监听搜索参数和分页变化,自动请求数据
+ useEffect(() => {
+ fetchList();
+ }, [searchParams, pagination.current, pagination.pageSize]);
+
// 表格变化处理
const handleTableChange = (paginationParams: any) => {
- fetchList({
+ setPagination({
+ ...pagination,
current: paginationParams.current,
pageSize: paginationParams.pageSize,
});
@@ -107,15 +108,28 @@ const SupplierAnnualTaskManage: React.FC = () => {
delete params.timeRange;
}
+ // 更新分页到第一页
+ setPagination({
+ ...pagination,
+ current: 1,
+ });
+
+ // 更新搜索参数,会触发useEffect重新请求
setSearchParams(params);
- fetchList({ current: 1, pageSize: pagination.pageSize, ...params });
};
// 重置搜索
const handleReset = () => {
form.resetFields();
+
+ // 更新分页到第一页
+ setPagination({
+ ...pagination,
+ current: 1,
+ });
+
+ // 清空搜索参数,会触发useEffect重新请求
setSearchParams({});
- fetchList({ current: 1, pageSize: pagination.pageSize });
};
// 新增任务