diff --git a/src/components/EvaluateTaskPersonnelSelector/EvaluateTaskPersonnelSelector.tsx b/src/components/EvaluateTaskPersonnelSelector/EvaluateTaskPersonnelSelector.tsx index 85cf062..44389f9 100644 --- a/src/components/EvaluateTaskPersonnelSelector/EvaluateTaskPersonnelSelector.tsx +++ b/src/components/EvaluateTaskPersonnelSelector/EvaluateTaskPersonnelSelector.tsx @@ -1,5 +1,6 @@ import React, { useState, useEffect, useCallback, useMemo } from 'react'; import { Table, Input, Button, Space, message } from 'antd'; +import type { TablePaginationConfig } from 'antd/es/table'; import { SearchOutlined } from '@ant-design/icons'; import { getUserList } from '@/servers/api/user'; import './EvaluateTaskPersonnelSelector.less'; @@ -52,6 +53,12 @@ const EvaluateTaskPersonnelSelector: React.FC(false); + const [pagination, setPagination] = useState({ + current: 1, + pageSize: 10, + total: 0, + }); + // 初始化时根据传入的selectedPersonnel设置选中状态 useEffect(() => { // 直接使用传入的selectedPersonnel更新选中状态 @@ -68,8 +75,8 @@ const EvaluateTaskPersonnelSelector: React.FC { // 根据选中的ID筛选出完整的人员数据 const selectedData = personnel.filter(item => selectedKeys.includes(item.id)); - // 回调传递给父组件 onSelect(selectedData); }; - + const handleTableChange = (newPagination: TablePaginationConfig) => { + setPagination(newPagination); + }; // 表格列定义 const columns = [ { @@ -187,6 +195,7 @@ const EvaluateTaskPersonnelSelector: React.FC
diff --git a/src/components/EvaluateTemplateTable/EvaluateTemplateTable.tsx b/src/components/EvaluateTemplateTable/EvaluateTemplateTable.tsx index 6cb4f72..4fe53b5 100644 --- a/src/components/EvaluateTemplateTable/EvaluateTemplateTable.tsx +++ b/src/components/EvaluateTemplateTable/EvaluateTemplateTable.tsx @@ -1,5 +1,6 @@ // 供应商评价 模板管理新增中的table import React, { useState, useEffect } from 'react'; +import { useIntl } from 'umi'; import { Table, Input, @@ -45,7 +46,7 @@ interface TableRowItem { subIndicator: string; ndScore: string; isStar: string; - desc?: string; + descScore?: string; orderBy?: number; ndOrderBy?: number; selected?: boolean; // 是否选中 @@ -59,6 +60,7 @@ const EvaluateTemplateTable: React.FC = ({ onSelect, defaultSelectedIds = [], }) => { + const intl = useIntl(); const [dataSource, setDataSource] = useState([]); const [form] = Form.useForm(); const [indicatorTypes, setIndicatorTypes] = useState([]); @@ -72,11 +74,11 @@ const EvaluateTemplateTable: React.FC = ({ if (res.success && res.data) { setIndicatorTypes(res.data); } else { - message.error('获取指标类型失败'); + message.error(intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.message.getTypeFailed' })); } } catch (error) { console.error('获取指标类型失败:', error); - message.error('获取指标类型失败'); + message.error(intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.message.getTypeFailed' })); } finally { setLoadingTypes(false); } @@ -116,7 +118,7 @@ const EvaluateTemplateTable: React.FC = ({ subIndicator: ndItem.subIndicator, ndScore: ndItem.score, isStar: ndItem.isStar || StarLevel.NO, - desc: ndItem.desc, + descScore: ndItem.descScore, orderBy: typeof stItem.orderBy === 'string' ? parseInt(stItem.orderBy) : stItem.orderBy, ndOrderBy: typeof ndItem.orderBy === 'string' ? parseInt(ndItem.orderBy) : ndItem.orderBy, selected: defaultSelectedIds.includes(ndItem.id) // 根据defaultSelectedIds设置选中状态 @@ -169,7 +171,7 @@ const EvaluateTemplateTable: React.FC = ({ score: item.ndScore || '0', isStar: item.isStar || StarLevel.NO, orderBy: item.ndOrderBy || ndIndex + 1, - desc: item.desc || '' + descScore: item.descScore || '' }; }) }; @@ -310,7 +312,7 @@ const EvaluateTemplateTable: React.FC = ({ // 检查是否有重复的baseIndicator const existingNames = newData.map((d) => d.baseIndicator).filter(Boolean); if (existingNames.includes(val)) { - message.warning('指标名称已存在,请使用不同的名称'); + message.warning(intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.message.duplicateName' })); return; } } @@ -363,7 +365,7 @@ const EvaluateTemplateTable: React.FC = ({ subIndicator: '', // 注意:二级指标需要为空字符串,不能为undefined ndScore: '0', isStar: StarLevel.NO, - desc: '', + descScore: '', orderBy: dataSource.length + 1, // 确保正确的排序 ndOrderBy: 1, // 设置二级指标初始排序 selected: false, // 默认未选中 @@ -416,7 +418,7 @@ const EvaluateTemplateTable: React.FC = ({ const parent = dataSource.find((item) => item.key === parentKey); if (!parent || !parent.baseIndicator) { - message.warning('请先填写一级指标名称'); + message.warning(intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.placeholder.baseIndicator' })); return; } @@ -429,7 +431,7 @@ const EvaluateTemplateTable: React.FC = ({ subIndicator: '', ndScore: '0', isStar: StarLevel.NO, - desc: '', + descScore: '', ndOrderBy: dataSource.filter(item => item.baseIndicator === parent.baseIndicator).length + 1, selected: false, // 默认未选中 }; @@ -501,10 +503,10 @@ const EvaluateTemplateTable: React.FC = ({ const columns = [ { - title: '一级指标', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.levelOne' }), children: [ { - title: '序号', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.index' }), dataIndex: 'index', align: 'center', key: 'index', @@ -514,7 +516,7 @@ const EvaluateTemplateTable: React.FC = ({ }, }, { - title: '类型', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.type' }), dataIndex: 'indicatorType', align: 'center', key: 'indicatorType', @@ -530,7 +532,7 @@ const EvaluateTemplateTable: React.FC = ({ handleInputChange(e.target.value, record, 'baseIndicator')} - placeholder="请输入基本指标" + placeholder={intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.placeholder.baseIndicator' })} /> ); }); }, }, { - title: '指标说明', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.indicatorDescription' }), align: 'center', dataIndex: 'descIndicator', key: 'descIndicator', @@ -580,14 +582,14 @@ const EvaluateTemplateTable: React.FC = ({ handleInputChange(e.target.value, record, 'descIndicator')} - placeholder="请输入指标说明" + placeholder={intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.placeholder.indicatorDescription' })} /> ); }); }, }, { - title: '分值', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.score' }), align: 'center', dataIndex: 'stScore', key: 'stScore', @@ -610,7 +612,7 @@ const EvaluateTemplateTable: React.FC = ({ }, }, { - title: '操作', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.action' }), key: 'level1Action', align: 'center', width: 100, @@ -625,19 +627,19 @@ const EvaluateTemplateTable: React.FC = ({ onClick={() => { addLevel1Indicator(record); }} - title="添加一级指标" + title={intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.button.addLevelOne' })} /> removeLevel1Indicator(record)} - okText="确定" - cancelText="取消" + okText={intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.confirm.ok' })} + cancelText={intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.confirm.cancel' })} >
@@ -647,10 +649,10 @@ const EvaluateTemplateTable: React.FC = ({ ].filter((col) => !(isDetail && col.key === 'level1Action')), }, { - title: '二级指标', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.levelTwo' }), children: [ { - title: '细分指标', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.subIndicator' }), dataIndex: 'subIndicator', key: 'subIndicator', align: 'center', @@ -663,13 +665,13 @@ const EvaluateTemplateTable: React.FC = ({ handleInputChange(e.target.value, record, 'subIndicator')} - placeholder="请输入细分指标" + placeholder={intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.placeholder.subIndicator' })} /> ); }, }, { - title: '分值', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.score' }), dataIndex: 'ndScore', key: 'ndScore', width: 80, @@ -690,7 +692,7 @@ const EvaluateTemplateTable: React.FC = ({ }, }, { - title: '星号项', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.star' }), dataIndex: 'isStar', key: 'isStar', align: 'center', @@ -712,10 +714,10 @@ const EvaluateTemplateTable: React.FC = ({ }, }, { - title: '评分说明', - dataIndex: 'desc', + title: intl.formatMessage({ id: 'supplierTemplateManage.evaluateTable.scoreDescription' }), + dataIndex: 'descScore', align: 'center', - key: 'desc', + key: 'descScore', render: (text: string, record: TableRowItem) => { if (isDetail) { return text || '-'; @@ -723,15 +725,15 @@ const EvaluateTemplateTable: React.FC = ({ return (