9.7 还原重评,多轮招募
This commit is contained in:
@ -1,11 +1,10 @@
|
|||||||
import { echoDateTimeFormatter, saveDateTimeFormatter } from '@/utils/DateUtils';
|
import { echoDateTimeFormatter, saveDateTimeFormatter } from '@/utils/DateUtils';
|
||||||
import ExtendUpload from '@/utils/ExtendUpload';
|
import ExtendUpload from '@/utils/ExtendUpload';
|
||||||
import { getProMethod } from '@/utils/session';
|
import { getProMethod } from '@/utils/session';
|
||||||
import { Button, DatePicker, Form, Input, message, Modal, Radio, Spin } from 'antd';
|
import { DatePicker, Form, Input, message, Modal, Radio, Spin } from 'antd';
|
||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { isEmpty } from '@/utils/CommonUtils';
|
import { isEmpty } from '@/utils/CommonUtils';
|
||||||
import BidEvalAppointment from '@/components/ElecBidEvaluation/BidEvalAppointment';
|
|
||||||
interface AddEvaluationItemsProps {
|
interface AddEvaluationItemsProps {
|
||||||
title?: string;
|
title?: string;
|
||||||
modalVisible?: boolean;
|
modalVisible?: boolean;
|
||||||
@ -47,12 +46,6 @@ const AddEvaluationItems: React.FC<AddEvaluationItemsProps> = (props) => {
|
|||||||
const [sectionType, setSectionType] = useState<any>('评审');
|
const [sectionType, setSectionType] = useState<any>('评审');
|
||||||
//loading
|
//loading
|
||||||
const [saveLoading, setSaveLoading] = useState<boolean>(false);
|
const [saveLoading, setSaveLoading] = useState<boolean>(false);
|
||||||
//电子评标室-评标室预约选择 2022.8.26 zhoujianlong
|
|
||||||
const [selectEvalVisible, setSelectEvalVisible] = useState<boolean>(false);
|
|
||||||
//电子评标室-评标室预约选择不可选状态控制 true-不可填写 false-可填写 2022.8.26 zhoujianlong
|
|
||||||
const [selectEvalDisabled, setSelectEvalDisabled] = useState<boolean>(true);
|
|
||||||
//电子评标室-评标室预约选择-数据 2022.8.26 zhoujianlong
|
|
||||||
const [selectEvalData, setSelectEvalData] = useState<any>();
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
//名称确定
|
//名称确定
|
||||||
if (MethodDict == 'procurement_mode_1' || MethodDict == 'procurement_mode_2') {
|
if (MethodDict == 'procurement_mode_1' || MethodDict == 'procurement_mode_2') {
|
||||||
@ -108,28 +101,7 @@ const AddEvaluationItems: React.FC<AddEvaluationItemsProps> = (props) => {
|
|||||||
form.submit();
|
form.submit();
|
||||||
};
|
};
|
||||||
|
|
||||||
//评标室预约回调
|
|
||||||
const returnEvalData = (value: any) => {
|
|
||||||
console.log('value', value)
|
|
||||||
setSelectEvalVisible(false);
|
|
||||||
setSelectEvalDisabled(false);
|
|
||||||
setSelectEvalData(value);
|
|
||||||
form.setFieldsValue({
|
|
||||||
evaluationStartTime: value.reserveStartDate,
|
|
||||||
evaluationEndTime: value.reserveEndDate,
|
|
||||||
evaluationPlace: value.areaAddress,
|
|
||||||
reserveBy: value.reserveBy,
|
|
||||||
reserveContactNumber: value.reserveContactNumber,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
//评标室预约-选择评标室
|
|
||||||
const selectEvalClick = () => {
|
|
||||||
setSelectEvalVisible(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
|
||||||
<Modal
|
<Modal
|
||||||
destroyOnClose
|
destroyOnClose
|
||||||
title={title}
|
title={title}
|
||||||
@ -163,20 +135,6 @@ const AddEvaluationItems: React.FC<AddEvaluationItemsProps> = (props) => {
|
|||||||
<Form.Item label={`重新${sectionType}原因`} name="reason" rules={[{ required: true }, { max: 500, message: "最大不能超过500字" }]}>
|
<Form.Item label={`重新${sectionType}原因`} name="reason" rules={[{ required: true }, { max: 500, message: "最大不能超过500字" }]}>
|
||||||
<TextArea rows={4} maxLength={1000} placeholder={`请填写重新${sectionType}原因`} />
|
<TextArea rows={4} maxLength={1000} placeholder={`请填写重新${sectionType}原因`} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item label={`重新${sectionType}地点`} style={{ marginBottom: 0 }} required>
|
|
||||||
<Form.Item
|
|
||||||
name="evaluationPlace"
|
|
||||||
rules={[{ required: true }, { max: 100, message: "最大不能超过100字" }]}
|
|
||||||
style={{ display: 'inline-block', width: 'calc(60% - 8px)' }}
|
|
||||||
>
|
|
||||||
<Input placeholder={`请填写重新${sectionType}地点`} maxLength={200} />
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
style={{ display: 'inline-block', width: 'calc(40% - 8px)', margin: '0 8px' }}
|
|
||||||
>
|
|
||||||
<Button type='primary' onClick={() => selectEvalClick()}>选择评标室</Button>
|
|
||||||
</Form.Item>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={`预计重新${sectionType}开始时间`}
|
label={`预计重新${sectionType}开始时间`}
|
||||||
name="evaluationStartTime"
|
name="evaluationStartTime"
|
||||||
@ -205,18 +163,11 @@ const AddEvaluationItems: React.FC<AddEvaluationItemsProps> = (props) => {
|
|||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
name="reserveBy"
|
label={`重新${sectionType}地点`}
|
||||||
label="预约人"
|
name="evaluationPlace"
|
||||||
rules={[{ required: !selectEvalDisabled, message: `请录入预约人` }, { max: 100, message: '内容超长' }]}
|
rules={[{ required: true }, { max: 100, message: "最大不能超过100字" }]}
|
||||||
>
|
>
|
||||||
<Input disabled={selectEvalDisabled} />
|
<Input placeholder={`请填写重新${sectionType}地点`} maxLength={200} />
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
name="reserveContactNumber"
|
|
||||||
label="预约人联系方式"
|
|
||||||
rules={[{ required: !selectEvalDisabled, message: `请录入预约人联系方式` }, { max: 100, message: '内容超长' }]}
|
|
||||||
>
|
|
||||||
<Input type="number" disabled={selectEvalDisabled} />
|
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={`${sectionType}专家是否与上次一致`}
|
label={`${sectionType}专家是否与上次一致`}
|
||||||
@ -243,9 +194,6 @@ const AddEvaluationItems: React.FC<AddEvaluationItemsProps> = (props) => {
|
|||||||
</Form>
|
</Form>
|
||||||
</Spin>
|
</Spin>
|
||||||
</Modal>
|
</Modal>
|
||||||
{/**电子评标室-评标室预约选择 */}
|
|
||||||
<BidEvalAppointment modalVisible={selectEvalVisible} onCancel={() => setSelectEvalVisible(false)} onSubmit={(value: any) => returnEvalData(value)} values={selectEvalData} />
|
|
||||||
</>
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
export default AddEvaluationItems;
|
export default AddEvaluationItems;
|
||||||
|
@ -12,6 +12,10 @@ import { UploadOutlined } from '@ant-design/icons';
|
|||||||
import { btnAuthority } from '@/utils/authority';
|
import { btnAuthority } from '@/utils/authority';
|
||||||
import RiskPrevention from '@/utils/RiskPrevention';
|
import RiskPrevention from '@/utils/RiskPrevention';
|
||||||
import { history } from 'umi';
|
import { history } from 'umi';
|
||||||
|
import { downloadFile } from '@/utils/DownloadUtils';
|
||||||
|
import ExpertPhotoUpload from '@/components/ElecBidEvaluation/ExpertPhotoUpload';
|
||||||
|
import { getUserPhoto } from '@/pages/Tender/ProjectManager/JudgingPanel/List/service';
|
||||||
|
import BidEvalAppointment from '@/components/ElecBidEvaluation/BidEvalAppointment';
|
||||||
|
|
||||||
const JudgingPanel: React.FC<{}> = () => {
|
const JudgingPanel: React.FC<{}> = () => {
|
||||||
const modalHeight = window.innerHeight * 96 / 100;
|
const modalHeight = window.innerHeight * 96 / 100;
|
||||||
@ -40,6 +44,11 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
const [manNum, manNumSet] = useState<number>(5);//人数
|
const [manNum, manNumSet] = useState<number>(5);//人数
|
||||||
const [riskVisible, setRiskVisible] = useState<boolean>(false);//风控弹窗 2021.9.7 zhoujianlong
|
const [riskVisible, setRiskVisible] = useState<boolean>(false);//风控弹窗 2021.9.7 zhoujianlong
|
||||||
const [riskData, setRiskData] = useState<any[]>([]);//风控数据 2021.9.7 zhoujianlong
|
const [riskData, setRiskData] = useState<any[]>([]);//风控数据 2021.9.7 zhoujianlong
|
||||||
|
const [selectEvalVisible, setSelectEvalVisible] = useState<boolean>(false);//电子评标室-评标室预约选择 2022.8.26 zhoujianlong
|
||||||
|
const [selectEvalDisabled, setSelectEvalDisabled] = useState<boolean>(true);//电子评标室-评标室预约选择不可选状态控制 true-不可填写 false-可填写 2022.8.26 zhoujianlong
|
||||||
|
const [selectEvalData, setSelectEvalData] = useState<any>();//电子评标室-评标室预约选择-数据 2022.8.26 zhoujianlong
|
||||||
|
// const [userPhotoId, setUserPhotoId] = useState<string>("");//电子评标室-录入外部专家-相片id 2022.8.29 zhoujianlong
|
||||||
|
const [appoType, setAppoType] = useState<string>("0");//电子评标室-预约框状态 2022.8.29 zhoujianlong
|
||||||
function getShouName() {
|
function getShouName() {
|
||||||
const method = getDefId();
|
const method = getDefId();
|
||||||
let num = 3;
|
let num = 3;
|
||||||
@ -137,6 +146,11 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
memberCountSet(memberCount + 1);
|
memberCountSet(memberCount + 1);
|
||||||
setMemberVis(true);
|
setMemberVis(true);
|
||||||
}}>成员管理</Button>
|
}}>成员管理</Button>
|
||||||
|
{record.elecEvalRoomReserve && (record.elecEvalRoomReserve.status == -1 || record.elecEvalRoomReserve.status == 0) && <Button type='text' onClick={() => {
|
||||||
|
setSelectEvalData(record.elecEvalRoomReserve)
|
||||||
|
setAppoType("1");
|
||||||
|
setSelectEvalVisible(true);
|
||||||
|
}}>修改预约</Button>}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@ -244,14 +258,19 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
useEffect(() => {//给表单赋值
|
useEffect(() => {//给表单赋值
|
||||||
|
if (updateData?.reserveStatus == 1) {
|
||||||
|
setSelectEvalDisabled(false);
|
||||||
|
}
|
||||||
form.setFieldsValue({
|
form.setFieldsValue({
|
||||||
juryType: updateData != undefined ? updateData.juryType : null,
|
juryType: updateData != undefined ? updateData.juryType : null,
|
||||||
representativeNumber: updateData != undefined ? updateData.representativeNumber : null,
|
representativeNumber: updateData != undefined ? updateData.representativeNumber : null,
|
||||||
expertNumber: updateData != undefined ? updateData.expertNumber : null,
|
expertNumber: updateData != undefined ? updateData.expertNumber : null,
|
||||||
startTime: updateData != undefined ? moment(updateData.startTime, 'yyyy-MM-DD HH:mm:ss') : null,
|
startTime: updateData != undefined ? updateData.reserveStatus == 1 ? moment(updateData.elecEvalRoomReserve.reserveStartDate, 'yyyy-MM-DD HH:mm:ss') : moment(updateData.startTime, 'yyyy-MM-DD HH:mm:ss') : null,
|
||||||
endTime: updateData != undefined ? moment(updateData.endTime, 'yyyy-MM-DD HH:mm:ss') : null,
|
endTime: updateData != undefined ? updateData.reserveStatus == 1 ? moment(updateData.elecEvalRoomReserve.reserveEndDate, 'yyyy-MM-DD HH:mm:ss') : moment(updateData.endTime, 'yyyy-MM-DD HH:mm:ss') : null,
|
||||||
evalLocation: updateData != undefined ? updateData.evalLocation : null,
|
evalLocation: updateData != undefined ? updateData.evalLocation : null,
|
||||||
description: updateData != undefined ? updateData.description : null,
|
description: updateData != undefined ? updateData.description : null,
|
||||||
|
reserveBy: updateData?.reserveStatus == 1 ? updateData.elecEvalRoomReserve.reserveBy : null,
|
||||||
|
reserveContactNumber: updateData?.reserveStatus == 1 ? updateData.elecEvalRoomReserve.reserveContactNumber : null,
|
||||||
})
|
})
|
||||||
}, [updateData]);
|
}, [updateData]);
|
||||||
|
|
||||||
@ -359,12 +378,20 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
if (verify) {
|
if (verify) {
|
||||||
verify = checkMan(count, parseInt(formVals.expertNumber));
|
verify = checkMan(count, parseInt(formVals.expertNumber));
|
||||||
}
|
}
|
||||||
const st = formVals.startTime.format('yyyy-MM-DD HH:mm:ss');
|
const st = moment(formVals.startTime).format('yyyy-MM-DD HH:mm:ss');
|
||||||
const et = formVals.endTime.format('yyyy-MM-DD HH:mm:ss');
|
const et = moment(formVals.endTime).format('yyyy-MM-DD HH:mm:ss');
|
||||||
if (st > et || st == et) {//校验时间
|
if (st > et || st == et) {//校验时间
|
||||||
verify = false;
|
verify = false;
|
||||||
message.error("预计开始时间应早于预计结束时间")
|
message.error("预计开始时间应早于预计结束时间")
|
||||||
}
|
}
|
||||||
|
if (selectEvalData?.reserveStatus == "1") {//预约了评标室
|
||||||
|
const selectStartTime = moment(selectEvalData.reserveStartDate).format('yyyy-MM-DD HH:mm:ss');
|
||||||
|
const selectEndTime = moment(selectEvalData.reserveEndDate).format('yyyy-MM-DD HH:mm:ss');
|
||||||
|
if (selectStartTime != st || selectEndTime != et) {
|
||||||
|
verify = false;
|
||||||
|
message.error("预约时间需与选择评标室中的预约时间相等");
|
||||||
|
}
|
||||||
|
}
|
||||||
if (verify) {
|
if (verify) {
|
||||||
activeKeySet('2');
|
activeKeySet('2');
|
||||||
}
|
}
|
||||||
@ -634,8 +661,29 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
>
|
>
|
||||||
<Input style={{ width: "90%" }} disabled={disabled} />
|
<Input style={{ width: "90%" }} disabled={disabled} />
|
||||||
</FormItem></Col>
|
</FormItem></Col>
|
||||||
</Row>
|
<Col span={12}>
|
||||||
<Row>
|
<Form.Item label="评审地点" style={{ marginBottom: 0 }} required>
|
||||||
|
<FormItem
|
||||||
|
name="evalLocation"
|
||||||
|
rules={[...rule('评审地点'), { type: 'string', message: '请输入正确内容' }, { max: 100, message: '内容超长' }]}
|
||||||
|
style={{ display: 'inline-block', width: 'calc(60% - 8px)' }}
|
||||||
|
>
|
||||||
|
<Input style={{ width: "100%" }} disabled={disabled || !selectEvalDisabled} />
|
||||||
|
</FormItem>
|
||||||
|
<Form.Item
|
||||||
|
style={{ display: 'inline-block', width: 'calc(40% - 8px)', margin: '0 8px' }}
|
||||||
|
>
|
||||||
|
<Button type='primary' onClick={() => selectEvalClick()} disabled={disabled}>选择评标室</Button>
|
||||||
|
</Form.Item>
|
||||||
|
</Form.Item>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}><FormItem
|
||||||
|
name="description"
|
||||||
|
label="申请要求"
|
||||||
|
rules={[{ type: 'string', message: '请输入正确内容' }, { max: 100, message: '内容超长' }]}
|
||||||
|
>
|
||||||
|
<Input style={{ width: "90%" }} disabled={disabled} />
|
||||||
|
</FormItem></Col>
|
||||||
<Col span={12}><FormItem
|
<Col span={12}><FormItem
|
||||||
name="startTime"
|
name="startTime"
|
||||||
label="预计评审开始时间"
|
label="预计评审开始时间"
|
||||||
@ -647,6 +695,7 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
showTime={{ defaultValue: moment('00:00:00', 'HH:mm:ss') }}
|
showTime={{ defaultValue: moment('00:00:00', 'HH:mm:ss') }}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
showNow={false}
|
showNow={false}
|
||||||
|
style={{ width: "90%" }}
|
||||||
/>
|
/>
|
||||||
</FormItem></Col>
|
</FormItem></Col>
|
||||||
<Col span={12}><FormItem
|
<Col span={12}><FormItem
|
||||||
@ -660,22 +709,22 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
showTime={{ defaultValue: moment('00:00:00', 'HH:mm:ss') }}
|
showTime={{ defaultValue: moment('00:00:00', 'HH:mm:ss') }}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
showNow={false}
|
showNow={false}
|
||||||
|
style={{ width: "90%" }}
|
||||||
/>
|
/>
|
||||||
</FormItem></Col>
|
</FormItem></Col>
|
||||||
</Row>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}><FormItem
|
<Col span={12}><FormItem
|
||||||
name="evalLocation"
|
name="reserveBy"
|
||||||
label="评审地点"
|
label="预约人"
|
||||||
rules={rule('评审地点')}
|
rules={[{ required: !selectEvalDisabled, message: `请录入预约人` }, { max: 100, message: '内容超长' }]}
|
||||||
>
|
>
|
||||||
<Input style={{ width: "90%" }} disabled={disabled} />
|
<Input style={{ width: "90%" }} disabled={disabled || selectEvalDisabled} />
|
||||||
</FormItem></Col>
|
</FormItem></Col>
|
||||||
<Col span={12}><FormItem
|
<Col span={12}><FormItem
|
||||||
name="description"
|
name="reserveContactNumber"
|
||||||
label="申请要求"
|
label="预约人联系方式"
|
||||||
|
rules={[{ required: !selectEvalDisabled, message: `请录入预约人联系方式` }, { max: 100, message: '内容超长' }]}
|
||||||
>
|
>
|
||||||
<Input style={{ width: "90%" }} disabled={disabled} />
|
<Input type="number" style={{ width: "90%" }} disabled={disabled || selectEvalDisabled} />
|
||||||
</FormItem></Col>
|
</FormItem></Col>
|
||||||
</Row>
|
</Row>
|
||||||
</Form>
|
</Form>
|
||||||
@ -754,7 +803,7 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
// const formValsCq = formCq.getFieldsValue();
|
// const formValsCq = formCq.getFieldsValue();
|
||||||
formVals.startTime != undefined ? formVals.startTime = formVals.startTime.format('yyyy-MM-DD HH:mm:ss') : null;
|
formVals.startTime != undefined ? formVals.startTime = formVals.startTime.format('yyyy-MM-DD HH:mm:ss') : null;
|
||||||
formVals.endTime != undefined ? formVals.endTime = formVals.endTime.format('yyyy-MM-DD HH:mm:ss') : null;
|
formVals.endTime != undefined ? formVals.endTime = formVals.endTime.format('yyyy-MM-DD HH:mm:ss') : null;
|
||||||
let params = { ...formVals, projectId: proId, juryCategoryVOList: cqData, roomId: roomId, juryRoomList: juryRoomList, };
|
let params = { ...formVals, projectId: proId, juryCategoryVOList: cqData, roomId: roomId, juryRoomList: juryRoomList, reserveStatus: 0 };
|
||||||
if (updateData != undefined) {
|
if (updateData != undefined) {
|
||||||
params['id'] = updateData.id;
|
params['id'] = updateData.id;
|
||||||
}
|
}
|
||||||
@ -766,6 +815,16 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
pass = false;
|
pass = false;
|
||||||
message.error(`抽取数量不等于设置的专家数量(${count})`);
|
message.error(`抽取数量不等于设置的专家数量(${count})`);
|
||||||
}
|
}
|
||||||
|
if (selectEvalData?.reserveStatus == "1") {//预约了评标室
|
||||||
|
params.reserveStatus = 1;
|
||||||
|
const evalRoomReserveVO = {
|
||||||
|
...selectEvalData,
|
||||||
|
reserveStartDate: params.startTime,
|
||||||
|
reserveEndDate: params.endTime,
|
||||||
|
reserveSectionList: juryRoomList.map((item: any) => ({ sectionId: item.sectionId, assessRoomId: item.roomId })),
|
||||||
|
}
|
||||||
|
params["evalRoomReserveVO"] = evalRoomReserveVO;
|
||||||
|
}
|
||||||
if (pass) {
|
if (pass) {
|
||||||
const success = await saveG(params);
|
const success = await saveG(params);
|
||||||
if (success) {
|
if (success) {
|
||||||
@ -827,6 +886,16 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
{ title: '工作单位', dataIndex: 'workunit', },
|
{ title: '工作单位', dataIndex: 'workunit', },
|
||||||
{ title: '通知状态', dataIndex: 'status', },
|
{ title: '通知状态', dataIndex: 'status', },
|
||||||
{ title: '通知结果备注', dataIndex: 'remark', },
|
{ title: '通知结果备注', dataIndex: 'remark', },
|
||||||
|
{
|
||||||
|
title: '照片',
|
||||||
|
dataIndex: 'faceId',
|
||||||
|
render: (_, record) => {
|
||||||
|
if (record.faceId) {
|
||||||
|
return <a onClick={() => downloadFile({ uid: record.faceId })}>{record.name}</a>
|
||||||
|
};
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '操作', dataIndex: 'option', width: 180,
|
title: '操作', dataIndex: 'option', width: 180,
|
||||||
valueType: 'option',
|
valueType: 'option',
|
||||||
@ -1148,7 +1217,7 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
onClose={() => {
|
onClose={() => {
|
||||||
setAdd(false);
|
setAdd(false);
|
||||||
changeBtnSet(true);
|
changeBtnSet(true);
|
||||||
formMem.resetFields();
|
// formMem.resetFields();
|
||||||
}}
|
}}
|
||||||
visible={add}
|
visible={add}
|
||||||
getContainer={false}
|
getContainer={false}
|
||||||
@ -1215,6 +1284,19 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
>
|
>
|
||||||
<Input style={{ width: "60%" }} />
|
<Input style={{ width: "60%" }} />
|
||||||
</FormItem></Col></Row>
|
</FormItem></Col></Row>
|
||||||
|
<Form.Item label="照片" style={{ marginBottom: 0 }}>
|
||||||
|
<Form.Item
|
||||||
|
name="faceId"
|
||||||
|
style={{ display: 'inline-block', width: '60%' }}
|
||||||
|
>
|
||||||
|
<ExpertPhotoUpload maxSize={60} />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
style={{ display: 'inline-block', width: '40%', position: "relative", right: '24%' }}
|
||||||
|
>
|
||||||
|
<Button type='primary' onClick={() => getExpertPhoto()}>获取照片</Button>
|
||||||
|
</Form.Item>
|
||||||
|
</Form.Item>
|
||||||
{/* <Row><Col span={24}><FormItem
|
{/* <Row><Col span={24}><FormItem
|
||||||
name="type"
|
name="type"
|
||||||
label="通知方式"
|
label="通知方式"
|
||||||
@ -1536,6 +1618,41 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
memberCountSet(memberCount + 1);
|
memberCountSet(memberCount + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//评标室预约回调
|
||||||
|
const returnEvalData = (value: any) => {
|
||||||
|
setSelectEvalVisible(false);
|
||||||
|
setSelectEvalDisabled(false);
|
||||||
|
setSelectEvalData(value);
|
||||||
|
form.setFieldsValue({
|
||||||
|
startTime: value.reserveStartDate,
|
||||||
|
endTime: value.reserveEndDate,
|
||||||
|
evalLocation: value.areaAddress,
|
||||||
|
reserveBy: value.reserveBy,
|
||||||
|
reserveContactNumber: value.reserveContactNumber,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//评标室预约-选择评标室
|
||||||
|
const selectEvalClick = () => {
|
||||||
|
setAppoType("0");
|
||||||
|
setSelectEvalVisible(true);
|
||||||
|
}
|
||||||
|
//录入外部专家-获取照片
|
||||||
|
const getExpertPhoto = () => {
|
||||||
|
formMem.validateFields(["certificate"]).then(value => {
|
||||||
|
getUserPhoto(value.certificate).then(res => {//获取照片
|
||||||
|
if (res?.code == 200) {
|
||||||
|
const data = res?.data;
|
||||||
|
if (data) {
|
||||||
|
formMem.setFieldsValue({ faceId: data });
|
||||||
|
message.info("获取专家照片成功");
|
||||||
|
} else {
|
||||||
|
message.info("当前专家无照片,请上传");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='bgCWhite' style={{ padding: '24px' }}>
|
<div className='bgCWhite' style={{ padding: '24px' }}>
|
||||||
<Spin spinning={spin}>
|
<Spin spinning={spin}>
|
||||||
@ -1546,6 +1663,7 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
setModalVis(true);
|
setModalVis(true);
|
||||||
// form.resetFields();
|
// form.resetFields();
|
||||||
reset();
|
reset();
|
||||||
|
setSelectEvalData(null);
|
||||||
disabledSet(false); readOnlySet(false);
|
disabledSet(false); readOnlySet(false);
|
||||||
}}>创建评审小组</Button>
|
}}>创建评审小组</Button>
|
||||||
<Button style={{ marginLeft: '10px' }} onClick={() => { history.push(getRoomReturnURL()) }}>返回</Button>
|
<Button style={{ marginLeft: '10px' }} onClick={() => { history.push(getRoomReturnURL()) }}>返回</Button>
|
||||||
@ -1607,6 +1725,8 @@ const JudgingPanel: React.FC<{}> = () => {
|
|||||||
}}
|
}}
|
||||||
data={riskData}
|
data={riskData}
|
||||||
/>}
|
/>}
|
||||||
|
{/**电子评标室-评标室预约选择 */}
|
||||||
|
<BidEvalAppointment modalVisible={selectEvalVisible} onCancel={() => setSelectEvalVisible(false)} onSubmit={(value: any) => returnEvalData(value)} values={selectEvalData} type={appoType} reload={() => actionRef.current?.reload()} />
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user