This commit is contained in:
孙景学
2025-07-16 16:42:53 +08:00
25 changed files with 69 additions and 24 deletions

View File

@ -251,7 +251,7 @@ const SupplierSelector: React.FC<SupplierSelectorProps> = ({
ellipsis: true,
render: (supplierName: string, record: SupplierItem) => (
<Tooltip placement="topLeft" title={supplierName}>
<Button type="link" onClick={() => supplierDetailModal?.(record.id)}>{supplierName}</Button>
<a onClick={() => supplierDetailModal?.(record.id)}>{supplierName}</a>
</Tooltip>
),
},

View File

@ -97,6 +97,7 @@ const supplierAnnualTaskManage: SupplierTaskModelType = {
id: item.supplierId,
name: item.supplierName,
evaluators: item.userList,
unifiedCode: item.socialCreditCode
})),
// 供应商IDs与用户IDs

View File

@ -97,6 +97,7 @@ const SupplierTaskModel: SupplierTaskModelType = {
id: item.supplierId,
name: item.supplierName,
evaluators: item.userList,
unifiedCode: item.socialCreditCode
})),
// 指标列表

View File

@ -117,7 +117,7 @@ const SupplierAnnualStatistics: React.FC = () => {
},
render: (text: string, record: DataStatistics.AnnualReviewStatisticsRecord) => (
<Tooltip placement="topLeft" title={text}>
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},

View File

@ -129,7 +129,7 @@ const SupplierAnnualStatistics: React.FC = () => {
},
render: (text: string, record: DataStatistics.AnnualReviewStatisticsRecord) => (
<Tooltip placement="topLeft" title={text}>
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},

View File

@ -149,7 +149,7 @@ const SupplierEvaluateStatistics: React.FC = () => {
},
render: (text: string, record: DataStatistics.EvaluateStatisticsRecord) => (
<Tooltip placement="topLeft" title={text}>
<Button type="link" onClick={() => supplierDetailModal?.(record.id)}>{text}</Button>
<a onClick={() => supplierDetailModal?.(record.id)}>{text}</a>
</Tooltip>
),
},

View File

@ -121,7 +121,7 @@ const SupplierExitStatistics: React.FC = () => {
},
render: (text: string, record: DataStatistics.ExitStatisticsRecord) => (
<Tooltip placement="topLeft" title={text}>
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},

View File

@ -149,7 +149,7 @@ const SupplierQualificationWarningStatistics: React.FC = () => {
},
render: (text: string, record: DataStatistics.QualificationExpireRecord) => (
<Tooltip placement="topLeft" title={text}>
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},

View File

@ -135,7 +135,7 @@ const SupplierAnnualResultDetail: React.FC = () => {
<Card title={intl.formatMessage({ id: 'supplierAnnualResult.detail.basicInfo' })} bordered={false} className={styles['detail-card']}>
<Descriptions column={2} bordered>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualResult.detail.supplierName' })}>
<Button type="link" onClick={() => supplierDetailModal?.(reviewDetail.supplierId)}>{supplierName || reviewDetail.name}</Button>
<a onClick={() => supplierDetailModal?.(reviewDetail.supplierId)}>{supplierName || reviewDetail.name}</a>
</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualResult.detail.annualTheme' })}>
{annualTheme}

View File

@ -11,6 +11,7 @@ import {
Select,
Typography,
DatePicker,
Tooltip,
} from 'antd';
import { ArrowLeftOutlined, SearchOutlined, DeleteOutlined } from '@ant-design/icons';
import { getAnnualResultSupplierList } from '@/servers/api/supplierAnnual';
@ -165,7 +166,9 @@ const SupplierAnnualResultQuery: React.FC = () => {
dataIndex: 'name',
key: 'name',
render: (text: string, record: supplierAnnualResult.SupplierRecord) => (
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<Tooltip placement="topLeft" title={text}>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},
{

View File

@ -11,7 +11,8 @@ import {
Select,
Typography,
Tag,
DatePicker
DatePicker,
Tooltip,
} from 'antd';
import { ArrowLeftOutlined, SearchOutlined, DeleteOutlined } from '@ant-design/icons';
import { getAnnualResultReviewList } from '@/servers/api/supplierAnnual';
@ -187,7 +188,9 @@ const SupplierAnnualResultQuery2: React.FC = () => {
dataIndex: 'name',
key: 'name',
render: (text: string, record: supplierAnnualResult.ReviewRecord) => (
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<Tooltip placement="topLeft" title={text}>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},
{

View File

@ -185,7 +185,7 @@ const SupplierAnnualReview: React.FC = () => {
},
render: (text: string, record: supplierAnnualReview.ReviewRecord) => (
<Tooltip placement="topLeft" title={text}>
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},

View File

@ -189,7 +189,7 @@ const SupplierAnnualReviewScore: React.FC = () => {
{reviewDetail.annualreviewTheme}
</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.supplierName' })}>
<Button type="link" onClick={() => supplierDetailModal?.(reviewDetail.supplierId)}>{reviewDetail.name}</Button>
<a onClick={() => supplierDetailModal?.(reviewDetail.supplierId)}>{reviewDetail.name}</a>
</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.department' })}>
{reviewDetail.deptName || '-'}

View File

@ -153,7 +153,7 @@ const SupplierAnnualReviewDetail: React.FC = () => {
{reviewDetail.annualreviewTheme}
</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.supplierName' })}>
<Button type="link" onClick={() => supplierDetailModal?.(reviewDetail.supplierId)}>{reviewDetail.name}</Button>
<a onClick={() => supplierDetailModal?.(reviewDetail.supplierId)}>{reviewDetail.name}</a>
</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.department' })}>
{reviewDetail.deptName || '-'}

View File

@ -1,5 +1,5 @@
import React from 'react';
import { Card, Table, Button, message } from 'antd';
import { Card, Table, Button, message, Tooltip } from 'antd';
import { useIntl, FormattedMessage } from 'umi';
import styles from '../../supplierAnnualTaskManageDetail.less';
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
@ -37,7 +37,9 @@ const SupplierInfo: React.FC<SupplierInfoProps> = ({ taskData, onViewEvaluators
dataIndex: 'supplierName',
key: 'supplierName',
render: (text: string, record: any) => (
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<Tooltip placement="topLeft" title={text}>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},
{

View File

@ -1,6 +1,7 @@
import React from 'react';
import { Table, Space, Button, Modal, Tooltip } from 'antd';
import { useIntl, FormattedMessage } from 'umi';
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
interface SupplierTableProps {
suppliers: supplierAnnualTaskManage.SupplierItem[]; // 供应商数据列表
@ -22,7 +23,7 @@ const SupplierTable: React.FC<SupplierTableProps> = ({
mode,
}) => {
const intl = useIntl();
const supplierDetailModal = useSupplierDetailModal();
// 表格行选择配置
const rowSelection = {
selectedRowKeys,
@ -62,16 +63,24 @@ const SupplierTable: React.FC<SupplierTableProps> = ({
title: <FormattedMessage id="supplierAnnualTaskManage.supplierTable.supplierName" />,
dataIndex: 'supplierName',
key: 'supplierName',
ellipsis: true,
render: (supplierName: string, record: supplierAnnualTaskManage.SupplierItem) => (
<Tooltip placement="topLeft" title={supplierName}>
<a onClick={() => supplierDetailModal?.(record.id)}>{supplierName}</a>
</Tooltip>
),
},
{
title: <FormattedMessage id="supplierAnnualTaskManage.supplierTable.socialCreditCode" />,
dataIndex: 'socialCreditCode',
key: 'socialCreditCode',
ellipsis: true,
},
{
title: <FormattedMessage id="supplierAnnualTaskManage.supplierTable.categoryName" />,
dataIndex: 'categoryName',
key: 'categoryName',
ellipsis: true,
render: (categoryName: string) => (
<Tooltip placement="topLeft" title={categoryName}>
{categoryName || '-'}
@ -82,16 +91,19 @@ const SupplierTable: React.FC<SupplierTableProps> = ({
title: <FormattedMessage id="supplierAnnualTaskManage.supplierTable.deptName" />,
dataIndex: 'deptName',
key: 'deptName',
ellipsis: true,
},
{
title: <FormattedMessage id="supplierAnnualTaskManage.supplierTable.evaluatorCount" />,
align: 'center' as const,
dataIndex: 'evaluatorCount',
key: 'evaluatorCount',
},
{
title: <FormattedMessage id="supplierAnnualTaskManage.supplierTable.action" />,
key: 'action',
width: 250,
align: 'center' as const,
ellipsis: true,
render: (_: any, record: supplierAnnualTaskManage.SupplierItem) => (
<Space>
<Button

View File

@ -74,6 +74,7 @@ const SupplierEvaluateResult: React.FC = () => {
pageNo: current,
pageSize: pageSize,
},
selectBy: "create",
};
// 添加搜索条件

View File

@ -205,7 +205,7 @@ const SupplierEvaluateResultInfo: React.FC = () => {
},
render: (supplierName: string, record: SupplierEvaluateResult.EvaluateSupplierItem) => (
<Tooltip placement="topLeft" title={supplierName}>
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{supplierName}</Button>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{supplierName}</a>
</Tooltip>
),
},

View File

@ -210,9 +210,9 @@ const SupplierEvaluateResultScoreByList: React.FC = () => {
},
render: (supplierName: string, rowData: SupplierEvaluateResult.ScoreDataItem) => (
<Tooltip placement="topLeft" title={supplierName}>
<Button type="link" onClick={() => supplierDetailModal?.(rowData.supplierId)}>
<a onClick={() => supplierDetailModal?.(rowData.supplierId)}>
{supplierName}
</Button>
</a>
</Tooltip>
),
},

View File

@ -11,6 +11,7 @@ import {
DatePicker,
Select,
Table,
Tooltip,
} from 'antd';
import { SearchOutlined, DeleteOutlined } from '@ant-design/icons';
import { history, useIntl } from 'umi';
@ -79,6 +80,7 @@ status状态
pageNo: pagination.current,
pageSize: pagination.pageSize,
},
selectBy:"user",
evaluateTheme: values.name || undefined,
status: values.status || undefined,
};
@ -268,7 +270,9 @@ status状态
dataIndex: 'name',
key: 'name',
render: (text: string, record: any) => (
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<Tooltip placement="topLeft" title={text}>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},
{

View File

@ -1,5 +1,5 @@
import React from 'react';
import { Card, Table, Button, message } from 'antd';
import { Card, Table, Button, message, Tooltip } from 'antd';
import styles from '../../supplierTaskManageDetail.less';
import { useIntl } from 'umi';
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
@ -54,7 +54,9 @@ const SupplierInfo: React.FC<SupplierInfoProps> = ({ taskData, onViewEvaluators
dataIndex: 'supplierName',
key: 'supplierName',
render: (text: string, record: any) => (
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
<Tooltip placement="topLeft" title={text}>
<a onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</a>
</Tooltip>
),
},
{

View File

@ -1,6 +1,7 @@
import React, { useEffect } from 'react';
import { Table, Space, Button, Tag, Modal, Tooltip } from 'antd';
import { useIntl } from 'umi';
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
interface SupplierTableProps {
suppliers: SupplierTaskManage.SupplierItem[]; // 供应商数据列表
@ -22,7 +23,7 @@ const SupplierTable: React.FC<SupplierTableProps> = ({
mode,
}) => {
const intl = useIntl();
const supplierDetailModal = useSupplierDetailModal();
// 表格行选择配置
const rowSelection = {
selectedRowKeys,
@ -53,16 +54,24 @@ const SupplierTable: React.FC<SupplierTableProps> = ({
title: intl.formatMessage({ id: 'supplierTaskManage.column.supplierName' }),
dataIndex: 'supplierName',
key: 'supplierName',
ellipsis: true,
render: (supplierName: string, record: SupplierTaskManage.SupplierItem) => (
<Tooltip placement="topLeft" title={supplierName}>
<a onClick={() => supplierDetailModal?.(record.id)}>{supplierName}</a>
</Tooltip>
),
},
{
title: intl.formatMessage({ id: 'supplierTaskManage.column.socialCreditCode' }),
dataIndex: 'socialCreditCode',
key: 'socialCreditCode',
ellipsis: true,
},
{
title: intl.formatMessage({ id: 'supplierTaskManage.column.categoryName' }),
dataIndex: 'categoryName',
key: 'categoryName',
ellipsis: true,
render: (categoryName: string) => (
<Tooltip placement="topLeft" title={categoryName}>
{categoryName || '-'}
@ -73,6 +82,7 @@ const SupplierTable: React.FC<SupplierTableProps> = ({
title: intl.formatMessage({ id: 'supplierTaskManage.column.deptName' }),
dataIndex: 'deptName',
key: 'deptName',
ellipsis: true,
},
{
title: intl.formatMessage({ id: 'supplierTaskManage.column.evaluatorCount' }),
@ -83,6 +93,9 @@ const SupplierTable: React.FC<SupplierTableProps> = ({
{
title: intl.formatMessage({ id: 'supplierTaskManage.column.action' }),
key: 'action',
align: 'center' as const,
width: 250,
ellipsis: true,
render: (_: any, record: SupplierTaskManage.SupplierItem) => (
<Space>
<Button

View File

@ -14,6 +14,7 @@ declare namespace SupplierEvaluateResult {
status?: string;
startTime?: string;
endTime?: string;
selectBy?: string;
[key: string]: any;
}

View File

@ -111,6 +111,7 @@ declare namespace SupplierEvaluateScore {
endTime?: string;
evaluateTheme?: string;
evaluateYear?: string;
selectBy?: string;
}
interface TaskPageResponse {

View File

@ -131,6 +131,7 @@ declare namespace SupplierTaskManage {
deptName: string;
supplierId: string;
supplierName: string;
socialCreditCode?: string; // api返回数据的统一社会信用代码
userList: PersonnelItem[];
}[],
[property: string]: any;