import React, { useEffect, useState } from 'react'; import { Form, Input, Modal, Spin, Skeleton } from 'antd'; import { fetchJuryMemInfo, getCheckedByRoomId, updateJuryMemInfo, validateVerificationCode, } from '@/services/bidev'; import ExpertCommitment from './ExpertCommitment'; import { getProId, getProMethod } from '@/utils/session'; import { getDefId } from './service'; interface ExpertEnterProps { //专家角色行数据传入 recordData?: any; //展开关闭状态 modalVisible?: boolean; //退出 onCancel: () => void; //刷新方法 onRefresh: () => void; } const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 13 }, }; const validateMessages = { required: '请填写${label}', }; const ExpertEnter: React.FC = (props) => { const { recordData, modalVisible, onCancel , onRefresh } = props; const FormItem = Form.Item; const [form] = Form.useForm(); //获取采购方式 const proMethod: any = getProMethod(); //判断是否是第一次进入系统参数 const [display, setDisplay] = useState(false); //显示专家承诺书 const [commitVisible, setCommitVisible] = useState(false); //专家信息存储 // const [JuryInfo, setJuryInfo] = useState(''); //初始化显示字段 const [sectionType, setSectionType] = useState('评审'); //loading const [spin, spinSet] = useState(false); //Skeleton loading const [skeletonLoading, setSkeletonLoading] = useState(false); //提交表单 const onOk = () => { form.submit(); }; // 校验验证码及修改用户信息 const onFinish = async (formData: any) => { spinSet(true); const params = { name: formData.name, mobile: formData.mobile, id: formData.id, }; const paramst = { id: recordData?.id, verificationCode: formData.verificationCode, }; //保存评委数据 await updateJuryMemInfo(params); //校验验证码 await validateVerificationCode(paramst).then((res) => { if (res?.code == 200 && res?.data == true) { onCancel(); if (display == true) { //获取流程id getDefId(getProId()).then(res => { if(res?.code == 200) { sessionStorage.setItem('defId', JSON.stringify(res?.data)); window.open('/EvaRoom'); } }) } else { //打开专家承诺书界面 setCommitVisible(true); } } }).finally(() => { spinSet(false); }); }; useEffect(() => { if (modalVisible) { //修改显示字段 if (proMethod == 'procurement_mode_1' || proMethod == 'procurement_mode_2') { setSectionType('评标'); } else if (proMethod == 'procurement_mode_5' || proMethod == 'procurement_mode_6') { setSectionType('谈判'); } setSkeletonLoading(true) if (recordData == undefined) { } else { getInfo(); } } }, [recordData?.id, modalVisible]); //获取数据 const getInfo = async() => { const params = { roomId: recordData?.id, }; const roomId = { assessRoomId: recordData?.id, }; //获取承诺书状态 await getCheckedByRoomId(roomId).then((res) => { if (res?.code == 200) { setDisplay(!res?.data); //获取专家数据 fetchJuryMemInfo(params).then((response) => { if (response?.code == 200) { const data = response.data; // setJuryInfo(data); form.setFieldsValue({ id: data?.id, name: data?.name, mobile: data?.mobile, certificate: data?.certificate, }); } }); } }).finally(() => { setSkeletonLoading(false) }); } return ( <>

专家信息确认

{sectionType}室校验码

setCommitVisible(false)} recordData={recordData} onRefresh={onRefresh} /> ); }; export default ExpertEnter;