import React, { useEffect, useState } from 'react'; import { Button, Checkbox, Descriptions, message, Modal, Spin } from 'antd'; import DescriptionsItem from 'antd/lib/descriptions/Item'; import ProTable from '@ant-design/pro-table'; import { getProId, getProMethod} from '@/utils/session'; import { fetchbidslist, fetchJuryMemInfo, pushRedirectRe } from '@/services/bidev'; import { ProColumns } from '@ant-design/pro-table/es'; import CommitmentModal from './CommitmentModal'; import { ExclamationCircleOutlined } from '@ant-design/icons'; import { getDefId } from './service'; interface ExpertCommitmentProps { //展开收起 modalVisible: boolean; //退出 onCancel: () => void; //当前行的数据传入 recordData?: any; //刷新方法 onRefresh: () => void; } const ExpertCommitment: React.FC = (props) => { const { modalVisible, onCancel, recordData,onRefresh } = props; //获取项目id const proId = recordData?.tpId; //获取roomId const roomId = recordData?.id; //获取采购方式 const proMethod: any = getProMethod(); //loading const [loading, setLoading] = useState(false); //专家信息存储 const [JuryInfo, setJuryInfo] = useState(); //供应商列表存储 const [supplierList, setSupplierList] = useState(); //页面投标人字体 const [roleName, setRoleName] = useState('供应商'); //页面评审 评标 谈判 const [sectionType, setSectionType] = useState('评审'); //专家承诺书勾选 const [checked, setChecked] = useState(false); //专家承诺书显示弹窗 const [commitmentVisible, setCommitmentVisible] = useState(false); const { confirm } = Modal; const bidscolumns: ProColumns[] = [ { title: '序号', dataIndex: 'id', width: '10%', align: 'center', render: (text: any, record: any, index: any) => { return index + 1; }, }, { title: `${roleName}名称`, dataIndex: 'companyName', align: 'center', width: '90%' }, ]; //checked状态存储 const onChange = (props: any) => { setChecked(props.target.checked); }; //打开专家承诺书 const modalOpen = () => { setCommitmentVisible(true) }; const onOk = async (code: any) => { setLoading(true) if (code == 1 && checked == false) { message.info('请您先阅读专家承诺书'); setLoading(false) } else { const params = { assessRoomId: roomId, attitude: code, juryMemberId: JuryInfo?.id, sectionId: recordData?.sectionId, }; //提交专家承诺书状态 -勾选确定或申请回避 await pushRedirectRe(params).then((res) => { if (res?.code == 200) { if (res.success == true) { //勾选确定 if (code == 1) { //获取流程id getDefId(getProId()).then(res => { if(res?.code == 200) { sessionStorage.setItem('defId', JSON.stringify(res?.data)); window.open('/EvaRoom'); } }) } else if (code == 2) { message.success("申请回避成功") onRefresh(); } setChecked(false) onCancel(); } } }).finally(() => { setLoading(false) }); } }; useEffect(() => { if(modalVisible) { //修改显示字段 if(proMethod == "procurement_mode_1" || proMethod == "procurement_mode_2") { setRoleName('投标人') setSectionType("评标") } const paramskt = { assessRoomId: roomId, projectId: proId, }; const params = { roomId: roomId, }; //获取供应商信息 fetchbidslist(paramskt).then(async (res) => { if (res?.code == 200) { const data = res.data; const e = ( ); setSupplierList(e); //获取专家数据 await fetchJuryMemInfo(params).then((response) => { if (response?.code == 200) { const data = response?.data; setJuryInfo(data); } }); } }); } }, [recordData?.id,modalVisible]); return ( { setChecked(false) onCancel() }} title="请阅读并同意承诺书协议或申请回避" width={"60%"} centered footer={[ , , , ]} >
专家信息
{JuryInfo?.name} {JuryInfo?.mobile} {JuryInfo?.certificate}
{roleName}信息
{supplierList}
我已阅读并同意了此承诺书 《承诺书协议》
setCommitmentVisible(false)}/>
); }; export default ExpertCommitment;