From cf8e9d08202b86b8617c8629d5f92bb66532a48e Mon Sep 17 00:00:00 2001 From: linxd <544554903@qq.com> Date: Thu, 3 Jul 2025 10:21:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/router.config.ts | 2 +- .../CategorySelector/CategorySelector.tsx | 15 +- .../EvaluateTaskPersonnelSelector.tsx | 28 ++-- .../ScoreEvaluationTable.tsx | 28 ++-- .../SupplierSelector/SupplierSelector.tsx | 40 ++--- src/locales/en-US.ts | 12 ++ src/locales/en-US/dataStatistics.ts | 53 ++++++ src/locales/en-US/supplierAnnualResult.ts | 75 +++++++++ src/locales/en-US/supplierAnnualReview.ts | 67 ++++++++ src/locales/en-US/supplierAnnualTaskManage.ts | 1 + .../en-US/supplierAnnualTemplateManage.ts | 82 +++++++++ src/locales/en-US/supplierEvaluateResult.ts | 75 +++++++++ src/locales/en-US/supplierEvaluateScore.ts | 97 +++++++++++ src/locales/en-US/supplierTaskManage.ts | 156 +++++++++++++++++- src/locales/zh-CN.ts | 16 +- src/locales/zh-CN/dataStatistics.ts | 53 ++++++ src/locales/zh-CN/supplierAnnualResult.ts | 75 +++++++++ src/locales/zh-CN/supplierAnnualReview.ts | 67 ++++++++ src/locales/zh-CN/supplierAnnualTaskManage.ts | 1 + .../zh-CN/supplierAnnualTemplateManage.ts | 82 +++++++++ src/locales/zh-CN/supplierEvaluateResult.ts | 75 +++++++++ src/locales/zh-CN/supplierEvaluateScore.ts | 97 +++++++++++ src/locales/zh-CN/supplierTaskManage.ts | 148 +++++++++++++++++ .../supplierAnnualStatistics.tsx | 73 ++++---- .../supplierEvaluateStatistics.tsx | 86 +++++----- .../supplierExitStatistics.tsx | 46 +++--- ...supplierQualificationWarningStatistics.tsx | 69 ++++---- .../supplierAnnualResult.tsx | 46 +++--- .../supplierAnnualResultDetail.tsx | 41 ++--- .../supplierAnnualResultQuery.tsx | 51 +++--- .../supplierAnnualResultQuery2.tsx | 62 +++---- ...nualQuery.tsx => supplierAnnualReview.tsx} | 49 +++--- .../supplierAnnualScore.tsx | 70 ++++---- .../supplierAnnualScoreDetail.tsx | 53 +++--- .../supplierAnnualTemplateManage.tsx | 87 +++++----- .../supplierAnnualTemplateManageAdd.tsx | 117 +++++++------ .../supplierAnnualTemplateManageDetail.tsx | 49 +++--- .../supplierEvaluateResult.tsx | 78 +++++---- .../supplierEvaluateResultByZb.tsx | 22 ++- .../supplierEvaluateResultInfo.tsx | 52 +++--- .../supplierEvaluateResultScoreByList.tsx | 56 ++++--- .../supplierEvaluateResultScoreDetail.tsx | 18 +- .../supplierEvaluateScore.tsx | 89 +++++----- .../supplierEvaluateScoreDetail.tsx | 82 +++++---- .../components/BasicInfoStep.tsx | 53 +++--- .../components/Detail/BasicInfo.tsx | 23 +-- .../components/Detail/EvaluatorInfo.tsx | 24 ++- .../components/Detail/EvaluatorModal.tsx | 12 +- .../components/Detail/IndicatorModal.tsx | 14 +- .../components/Detail/SupplierInfo.tsx | 21 ++- .../components/Detail/WeightInfo.tsx | 11 +- .../components/DivisionStep.tsx | 84 +++++----- .../BatchEvaluatorModal.tsx | 7 +- .../SupplierEvaluatorModal.tsx | 22 ++- .../EvaluatorComponents/SupplierTable.tsx | 55 +++--- .../WeightSettingModal.tsx | 9 +- .../components/EvaluatorSelectStep.tsx | 15 +- .../components/SupplierSelectStep.tsx | 5 +- .../supplierTaskManage/supplierTaskManage.tsx | 2 +- .../supplierTaskManageAdd.tsx | 57 ++++--- .../supplierTaskManageDetail.tsx | 27 +-- 61 files changed, 2246 insertions(+), 836 deletions(-) create mode 100644 src/locales/en-US/dataStatistics.ts create mode 100644 src/locales/en-US/supplierAnnualResult.ts create mode 100644 src/locales/en-US/supplierAnnualReview.ts create mode 100644 src/locales/en-US/supplierAnnualTaskManage.ts create mode 100644 src/locales/en-US/supplierAnnualTemplateManage.ts create mode 100644 src/locales/en-US/supplierEvaluateResult.ts create mode 100644 src/locales/en-US/supplierEvaluateScore.ts create mode 100644 src/locales/zh-CN/dataStatistics.ts create mode 100644 src/locales/zh-CN/supplierAnnualResult.ts create mode 100644 src/locales/zh-CN/supplierAnnualReview.ts create mode 100644 src/locales/zh-CN/supplierAnnualTaskManage.ts create mode 100644 src/locales/zh-CN/supplierAnnualTemplateManage.ts create mode 100644 src/locales/zh-CN/supplierEvaluateResult.ts create mode 100644 src/locales/zh-CN/supplierEvaluateScore.ts rename src/pages/supplierAnnualManage/supplierAnnualReview/{supplierAnnualQuery.tsx => supplierAnnualReview.tsx} (77%) diff --git a/config/router.config.ts b/config/router.config.ts index 1313f42..a893390 100644 --- a/config/router.config.ts +++ b/config/router.config.ts @@ -230,7 +230,7 @@ export default [ name: '年度审查', path: 'supplierAnnualReview', icon: 'icon-liebiaomoshi', - component: '@/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualQuery', + component: '@/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualReview', }, { name: '年审打分', diff --git a/src/components/CategorySelector/CategorySelector.tsx b/src/components/CategorySelector/CategorySelector.tsx index 50f2ffd..e4c6831 100644 --- a/src/components/CategorySelector/CategorySelector.tsx +++ b/src/components/CategorySelector/CategorySelector.tsx @@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react'; import { TreeSelect, message, Spin } from 'antd'; import { getCategoryTree } from '@/servers/api/supplierEvaluate'; import './CategorySelector.less'; +import { useIntl } from 'umi'; /** * CategorySelector组件的属性接口 @@ -57,14 +58,18 @@ const CategorySelector: React.FC = ({ onChange, disabled = false, multiple = true, - placeholder = '请选择品类', + placeholder, style = { width: '100%' } }) => { + const intl = useIntl(); // 树形数据状态 const [treeData, setTreeData] = useState([]); // 加载状态 const [loading, setLoading] = useState(false); + // 如果没有提供placeholder,使用国际化的默认值 + const defaultPlaceholder = intl.formatMessage({ id: 'supplierTaskManage.placeholder.selectCategory' }); + /** * 将后端返回的品类数据格式化为TreeSelect需要的格式 * @param {any[]} data - 后端返回的原始品类数据 @@ -79,7 +84,7 @@ const CategorySelector: React.FC = ({ // 类型为1的节点是叶子节点,只有叶子节点可选 const isLeaf = item.type === '1'; const node: TreeSelectNode = { - title: item.categoryName || '未命名', + title: item.categoryName || intl.formatMessage({ id: 'supplierTaskManage.categoryName.unnamed' }), key: item.id || `key-${Math.random()}`, value: item.id || `value-${Math.random()}`, isLeaf: isLeaf, @@ -111,11 +116,11 @@ const CategorySelector: React.FC = ({ setTreeData(formattedTreeData); } else { console.error('获取品类数据格式错误:', response); - message.error('获取品类数据失败'); + message.error(intl.formatMessage({ id: 'supplierTaskManage.message.fetchCategoryFailed' })); } }).catch(error => { console.error('获取品类数据失败:', error); - message.error('获取品类数据失败'); + message.error(intl.formatMessage({ id: 'supplierTaskManage.message.fetchCategoryFailed' })); }).finally(() => { setLoading(false); }); @@ -153,7 +158,7 @@ const CategorySelector: React.FC = ({ value={value} onChange={handleChange} style={style} - placeholder={placeholder} + placeholder={placeholder || defaultPlaceholder} disabled={disabled} allowClear showSearch diff --git a/src/components/EvaluateTaskPersonnelSelector/EvaluateTaskPersonnelSelector.tsx b/src/components/EvaluateTaskPersonnelSelector/EvaluateTaskPersonnelSelector.tsx index f7eee81..186f1ce 100644 --- a/src/components/EvaluateTaskPersonnelSelector/EvaluateTaskPersonnelSelector.tsx +++ b/src/components/EvaluateTaskPersonnelSelector/EvaluateTaskPersonnelSelector.tsx @@ -4,6 +4,7 @@ import type { TablePaginationConfig } from 'antd/es/table'; import { SearchOutlined } from '@ant-design/icons'; import { getUserList } from '@/servers/api/user'; import './EvaluateTaskPersonnelSelector.less'; +import { useIntl } from 'umi'; const { Search } = Input; @@ -41,6 +42,7 @@ const EvaluateTaskPersonnelSelector: React.FC { + const intl = useIntl(); // 搜索关键词 const [keyword, setKeyword] = useState(''); @@ -100,15 +102,15 @@ const EvaluateTaskPersonnelSelector: React.FC
}>搜索} + enterButton={} />
- 已选择: {selectedKeys.length} 人 + {intl.formatMessage({ id: 'supplierTaskManage.text.selectedCount' }, { count: selectedKeys.length })}
({ - // 如果 isSelected = true 则禁用勾选 disabled: record.isSelected === true, }), }} @@ -199,9 +199,9 @@ const EvaluateTaskPersonnelSelector: React.FC
- +
diff --git a/src/components/ScoreEvaluationTable/ScoreEvaluationTable.tsx b/src/components/ScoreEvaluationTable/ScoreEvaluationTable.tsx index 48c262c..06f9fb1 100644 --- a/src/components/ScoreEvaluationTable/ScoreEvaluationTable.tsx +++ b/src/components/ScoreEvaluationTable/ScoreEvaluationTable.tsx @@ -9,6 +9,7 @@ import { Typography, Tooltip, } from 'antd'; +import { useIntl } from 'umi'; import './ScoreEvaluationTable.less'; const { Text } = Typography; @@ -63,6 +64,7 @@ const ScoreEvaluationTable: React.FC = ({ isDetail = false, loading = false, }) => { + const intl = useIntl(); // 表格数据源 const [dataSource, setDataSource] = useState([]); @@ -196,10 +198,10 @@ const ScoreEvaluationTable: React.FC = ({ const columns = [ { - title: '一级指标', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.level1' }), children: [ { - title: '序号', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.index' }), dataIndex: 'index', align: 'center' as const, key: 'index', @@ -209,7 +211,7 @@ const ScoreEvaluationTable: React.FC = ({ }, }, { - title: '基本指标', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.baseIndicator' }), align: 'center' as const, dataIndex: 'baseIndicator', key: 'baseIndicator', @@ -234,7 +236,7 @@ const ScoreEvaluationTable: React.FC = ({ }, }, { - title: '指标说明', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.indicatorDesc' }), align: 'center' as const, dataIndex: 'descIndicator', key: 'descIndicator', @@ -259,7 +261,7 @@ const ScoreEvaluationTable: React.FC = ({ }, }, { - title: '分值', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.score' }), align: 'center' as const, dataIndex: 'stScore', key: 'stScore', @@ -286,10 +288,10 @@ const ScoreEvaluationTable: React.FC = ({ ], }, { - title: '二级指标', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.level2' }), children: [ { - title: '细分指标', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.subIndicator' }), dataIndex: 'subIndicator', key: 'subIndicator', align: 'center' as const, @@ -297,7 +299,7 @@ const ScoreEvaluationTable: React.FC = ({ render: (text: string) => text || '-', }, { - title: '分值', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.subScore' }), dataIndex: 'ndScore', key: 'ndScore', width: 80, @@ -305,7 +307,7 @@ const ScoreEvaluationTable: React.FC = ({ render: (text: string) => text || '0', }, { - title: '评分', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.actualScore' }), dataIndex: 'score', key: 'score', width: 100, @@ -321,13 +323,13 @@ const ScoreEvaluationTable: React.FC = ({ value={text ? parseFloat(String(text)) : undefined} onChange={(val) => handleInputChange(val, record, 'score')} style={{ width: '100%' }} - placeholder="请输入评分" + placeholder={intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.placeholder.score' })} /> ); }, }, { - title: '评分说明', + title: intl.formatMessage({ id: 'supplierEvaluateScore.scoreTable.remark' }), dataIndex: 'remark', key: 'remark', width: 200, @@ -343,7 +345,7 @@ const ScoreEvaluationTable: React.FC = ({