添加供应商点击弹框
This commit is contained in:
@ -19,11 +19,13 @@ import {
|
||||
ExamineResultColor,
|
||||
} from '@/dicts/supplierAnnualReviewDict';
|
||||
import styles from './supplierAnnualResult.less';
|
||||
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
|
||||
|
||||
const { Title } = Typography;
|
||||
|
||||
const SupplierAnnualResultDetail: React.FC = () => {
|
||||
const intl = useIntl();
|
||||
const supplierDetailModal = useSupplierDetailModal();
|
||||
const [loading, setLoading] = useState<boolean>(false);
|
||||
const [reviewDetail, setReviewDetail] = useState<supplierAnnualResult.ReviewDetailData | null>(null);
|
||||
const [scoreResults, setScoreResults] = useState<supplierAnnualResult.TaskIndicatorVo[]>([]);
|
||||
@ -133,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' })}>
|
||||
{supplierName || reviewDetail.name}
|
||||
<Button type="link" onClick={() => supplierDetailModal?.(reviewDetail.supplierId)}>{supplierName || reviewDetail.name}</Button>
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'supplierAnnualResult.detail.annualTheme' })}>
|
||||
{annualTheme}
|
||||
|
@ -15,6 +15,7 @@ import {
|
||||
import { ArrowLeftOutlined, SearchOutlined, DeleteOutlined } from '@ant-design/icons';
|
||||
import { getAnnualResultSupplierList } from '@/servers/api/supplierAnnual';
|
||||
import styles from './supplierAnnualResult.less';
|
||||
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
|
||||
|
||||
const { Title } = Typography;
|
||||
const { Option } = Select;
|
||||
@ -28,6 +29,7 @@ const resultOptions = [
|
||||
|
||||
const SupplierAnnualResultQuery: React.FC = () => {
|
||||
const intl = useIntl();
|
||||
const supplierDetailModal = useSupplierDetailModal();
|
||||
const [form] = Form.useForm();
|
||||
const [loading, setLoading] = useState<boolean>(false);
|
||||
const [data, setData] = useState<supplierAnnualResult.SupplierRecord[]>([]);
|
||||
@ -162,6 +164,9 @@ const SupplierAnnualResultQuery: React.FC = () => {
|
||||
title: intl.formatMessage({ id: 'supplierAnnualResult.supplier.supplierName' }),
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
render: (text: string, record: supplierAnnualResult.SupplierRecord) => (
|
||||
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: intl.formatMessage({ id: 'supplierAnnualResult.supplier.category' }),
|
||||
|
@ -20,6 +20,7 @@ import {
|
||||
AnnualReviewStatusText,
|
||||
AnnualReviewStatusColor
|
||||
} from '@/dicts/supplierAnnualReviewDict';
|
||||
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
|
||||
|
||||
const { Title } = Typography;
|
||||
const { Option } = Select;
|
||||
@ -33,6 +34,7 @@ const resultOptions = [
|
||||
|
||||
const SupplierAnnualResultQuery2: React.FC = () => {
|
||||
const intl = useIntl();
|
||||
const supplierDetailModal = useSupplierDetailModal();
|
||||
const [form] = Form.useForm();
|
||||
const [loading, setLoading] = useState<boolean>(false);
|
||||
const [data, setData] = useState<supplierAnnualResult.ReviewRecord[]>([]);
|
||||
@ -66,6 +68,7 @@ const SupplierAnnualResultQuery2: React.FC = () => {
|
||||
pageNo: pagination.current,
|
||||
pageSize: pagination.pageSize,
|
||||
},
|
||||
userId: '',
|
||||
annualreviewTaskId,
|
||||
...searchParams,
|
||||
});
|
||||
@ -182,6 +185,9 @@ const SupplierAnnualResultQuery2: React.FC = () => {
|
||||
title: intl.formatMessage({ id: 'supplierAnnualResult.review.supplierName' }),
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
render: (text: string, record: supplierAnnualResult.ReviewRecord) => (
|
||||
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: intl.formatMessage({ id: 'supplierAnnualResult.review.category' }),
|
||||
|
@ -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>
|
||||
),
|
||||
},
|
||||
|
@ -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>
|
||||
|
@ -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 || '-'}
|
||||
|
@ -2,6 +2,7 @@ import React from 'react';
|
||||
import { Card, Table, Button, message } from 'antd';
|
||||
import { useIntl, FormattedMessage } from 'umi';
|
||||
import styles from '../../supplierAnnualTaskManageDetail.less';
|
||||
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
|
||||
|
||||
interface SupplierInfoProps {
|
||||
taskData: supplierAnnualTaskManage.TaskDetailData;
|
||||
@ -10,7 +11,7 @@ interface SupplierInfoProps {
|
||||
|
||||
const SupplierInfo: React.FC<SupplierInfoProps> = ({ taskData, onViewEvaluators }) => {
|
||||
const intl = useIntl();
|
||||
|
||||
const supplierDetailModal = useSupplierDetailModal();
|
||||
// 查看供应商评价人员
|
||||
const handleViewSupplierEvaluators = (record: supplierAnnualTaskManage.TaskDetailData) => {
|
||||
if (record.userList && record.userList.length > 0) {
|
||||
@ -35,6 +36,9 @@ const SupplierInfo: React.FC<SupplierInfoProps> = ({ taskData, onViewEvaluators
|
||||
title: <FormattedMessage id="supplierAnnualTaskManage.supplierInfo.supplierName" />,
|
||||
dataIndex: 'supplierName',
|
||||
key: 'supplierName',
|
||||
render: (text: string, record: any) => (
|
||||
<Button type="link" onClick={() => supplierDetailModal?.(record.supplierId)}>{text}</Button>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: <FormattedMessage id="supplierAnnualTaskManage.supplierInfo.dept" />,
|
||||
|
Reference in New Issue
Block a user