添加供应商点击弹框

This commit is contained in:
linxd
2025-07-16 09:26:08 +08:00
parent b8f9763f4a
commit aebb615fb6
16 changed files with 277 additions and 86 deletions

View File

@ -26,6 +26,7 @@ import {
} from '@/dicts/supplierAnnualReviewDict';
import { getDictList } from '@/servers/api/dicts';
import type { DictItem } from '@/servers/api/dicts';
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
const { Option } = Select;
const { RangePicker } = DatePicker;
@ -40,6 +41,7 @@ interface AnnualReviewSearchParams {
const SupplierAnnualReview: React.FC = () => {
const intl = useIntl();
const supplierDetailModal = useSupplierDetailModal();
const [loading, setLoading] = useState<boolean>(false);
const [form] = Form.useForm();
const [reviewStatus, setReviewStatus] = useState<DictItem[]>([]);
@ -181,9 +183,9 @@ const SupplierAnnualReview: React.FC = () => {
ellipsis: {
showTitle: false,
},
render: (text: string) => (
render: (text: string, record: supplierAnnualReview.ReviewRecord) => (
<Tooltip placement="topLeft" title={text}>
{text}
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
</Tooltip>
),
},

View File

@ -26,6 +26,7 @@ import {
ExamineResultText,
} from '@/dicts/supplierAnnualReviewDict';
import styles from './supplierAnnualReview.less';
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
const { Title } = Typography;
const { TextArea } = Input;
@ -41,6 +42,7 @@ interface ScoreFormItem {
const SupplierAnnualReviewScore: React.FC = () => {
const intl = useIntl();
const supplierDetailModal = useSupplierDetailModal();
const [form] = Form.useForm();
const [loading, setLoading] = useState<boolean>(false);
const [submitting, setSubmitting] = useState<boolean>(false);
@ -186,7 +188,9 @@ const SupplierAnnualReviewScore: React.FC = () => {
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.reviewTheme' })}>
{reviewDetail.annualreviewTheme}
</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.supplierName' })}>{reviewDetail.name}</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.supplierName' })}>
<Button type="link" onClick={() => supplierDetailModal?.(reviewDetail.supplierId)}>{reviewDetail.name}</Button>
</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.department' })}>
{reviewDetail.deptName || '-'}
</Descriptions.Item>

View File

@ -23,6 +23,7 @@ import {
ExamineResultColor,
} from '@/dicts/supplierAnnualReviewDict';
import styles from './supplierAnnualReview.less';
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
const { Title } = Typography;
@ -36,6 +37,7 @@ interface ScoreResult {
const SupplierAnnualReviewDetail: React.FC = () => {
const intl = useIntl();
const supplierDetailModal = useSupplierDetailModal();
const [loading, setLoading] = useState<boolean>(false);
const [reviewDetail, setReviewDetail] = useState<supplierAnnualReview.ReviewRecord | null>(null);
const [scoreResults, setScoreResults] = useState<ScoreResult[]>([]);
@ -151,7 +153,7 @@ const SupplierAnnualReviewDetail: React.FC = () => {
{reviewDetail.annualreviewTheme}
</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.supplierName' })}>
{reviewDetail.name}
<Button type="link" onClick={() => supplierDetailModal?.(reviewDetail.supplierId)}>{reviewDetail.name}</Button>
</Descriptions.Item>
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualReview.list.department' })}>
{reviewDetail.deptName || '-'}