9.9 重评预约评标室,地图轮播tooltip
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import { Col, DatePicker, Descriptions, Form, Input, message, Modal, Row } from 'antd';
|
import { Col, DatePicker, Descriptions, Form, Input, message, Modal, Row, Spin } from 'antd';
|
||||||
import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table';
|
import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table';
|
||||||
import { getBidEvalRoom, saveAppointmentEdit } from './service';
|
import { getBidEvalRoom, handleTakeEffectReserve, saveAppointmentEdit } from './service';
|
||||||
import { dateFormat, disabledDate, disabledDateTime, validateMessages } from './MeetingReservation';
|
import { dateFormat, disabledDate, disabledDateTime, validateMessages } from './MeetingReservation';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { dateTimeFormatter } from '@/utils/DateUtils';
|
import { dateTimeFormatter } from '@/utils/DateUtils';
|
||||||
@ -13,7 +13,7 @@ interface BidEvalAppointmentProps {
|
|||||||
onSubmit: (value: any) => void;
|
onSubmit: (value: any) => void;
|
||||||
reload: () => void;
|
reload: () => void;
|
||||||
values: any;
|
values: any;
|
||||||
type: string; //0-选择评标室 1-修改预约
|
type: string; //0-选择评标室 1-修改预约 2-重评预约评标室
|
||||||
}
|
}
|
||||||
|
|
||||||
export const proviceEnum = {
|
export const proviceEnum = {
|
||||||
@ -63,6 +63,8 @@ const BidEvalAppointment: React.FC<BidEvalAppointmentProps> = (props) => {
|
|||||||
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
|
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
|
||||||
//当前选择行数据
|
//当前选择行数据
|
||||||
const [selectedRecord, setSelectedRecord] = useState<any>();
|
const [selectedRecord, setSelectedRecord] = useState<any>();
|
||||||
|
//loading
|
||||||
|
const [loading, setLoading] = useState<boolean>(false);
|
||||||
const columns: ProColumns<any>[] = [
|
const columns: ProColumns<any>[] = [
|
||||||
{
|
{
|
||||||
valueType: 'index',
|
valueType: 'index',
|
||||||
@ -128,7 +130,7 @@ const BidEvalAppointment: React.FC<BidEvalAppointmentProps> = (props) => {
|
|||||||
value["contactTel"] = selectedRecord.contactTel;
|
value["contactTel"] = selectedRecord.contactTel;
|
||||||
value["areaNumber"] = selectedRecord.areaNumber;
|
value["areaNumber"] = selectedRecord.areaNumber;
|
||||||
onSubmit(value);
|
onSubmit(value);
|
||||||
} else {//修改预约
|
} else if (type == "1") {//修改预约
|
||||||
const params = {
|
const params = {
|
||||||
...values,
|
...values,
|
||||||
areaId: selectedRecord.id,
|
areaId: selectedRecord.id,
|
||||||
@ -138,12 +140,34 @@ const BidEvalAppointment: React.FC<BidEvalAppointmentProps> = (props) => {
|
|||||||
reserveBy: value.reserveBy,
|
reserveBy: value.reserveBy,
|
||||||
reserveContactNumber: value.reserveContactNumber,
|
reserveContactNumber: value.reserveContactNumber,
|
||||||
}
|
}
|
||||||
|
setLoading(true);
|
||||||
saveAppointmentEdit(params).then(res => {
|
saveAppointmentEdit(params).then(res => {
|
||||||
if (res?.code == 200) {
|
if (res?.code == 200) {
|
||||||
message.success("预约成功");
|
message.success("预约成功");
|
||||||
onCancel();
|
onCancel();
|
||||||
reload();
|
reload();
|
||||||
}
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
setLoading(false);
|
||||||
|
})
|
||||||
|
} else {//重评保存预约
|
||||||
|
const params = {
|
||||||
|
areaId: selectedRecord.id,
|
||||||
|
placeId: selectedRecord.placeId,
|
||||||
|
reserveStartDate: moment(value.reserveStartDate).format(dateTimeFormatter),
|
||||||
|
reserveEndDate: moment(value.reserveEndDate).format(dateTimeFormatter),
|
||||||
|
reserveBy: value.reserveBy,
|
||||||
|
reserveContactNumber: value.reserveContactNumber,
|
||||||
|
}
|
||||||
|
setLoading(true);
|
||||||
|
handleTakeEffectReserve(values?.id, params).then(res => {
|
||||||
|
if (res?.code == 200) {
|
||||||
|
message.success("操作成功");
|
||||||
|
onCancel();
|
||||||
|
reload();
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
setLoading(false);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -169,128 +193,130 @@ const BidEvalAppointment: React.FC<BidEvalAppointmentProps> = (props) => {
|
|||||||
className="confirm table-no-alert"
|
className="confirm table-no-alert"
|
||||||
centered
|
centered
|
||||||
>
|
>
|
||||||
{values?.areaId && (
|
<Spin spinning={loading}>
|
||||||
<>
|
{values?.areaId && (
|
||||||
<h3 className='first-title'>{type == "0" ? "已选择评标室" : "已预约评标室"}</h3>
|
<>
|
||||||
<Descriptions size="middle">
|
<h3 className='first-title'>{type == "0" ? "已选择评标室" : "已预约评标室"}</h3>
|
||||||
<Descriptions.Item label="评标室名称">{values?.areaName}</Descriptions.Item>
|
<Descriptions size="middle">
|
||||||
{values?.contactName && <Descriptions.Item label="联系人">{values?.contactName}</Descriptions.Item>}
|
<Descriptions.Item label="评标室名称">{values?.areaName}</Descriptions.Item>
|
||||||
{values?.contactTel && <Descriptions.Item label="联系电话">{values?.contactTel}</Descriptions.Item>}
|
{values?.contactName && <Descriptions.Item label="联系人">{values?.contactName}</Descriptions.Item>}
|
||||||
<Descriptions.Item label="可容纳人数">{values?.areaNumber ? values?.areaNumber : values?.numberInMeeting}</Descriptions.Item>
|
{values?.contactTel && <Descriptions.Item label="联系电话">{values?.contactTel}</Descriptions.Item>}
|
||||||
<Descriptions.Item label="预计评标开始时间">{moment(values?.reserveStartDate).format(dateTimeFormatter)}</Descriptions.Item>
|
<Descriptions.Item label="可容纳人数">{values?.areaNumber ? values?.areaNumber : values?.numberInMeeting}</Descriptions.Item>
|
||||||
<Descriptions.Item label="预计评标结束时间">{moment(values?.reserveEndDate).format(dateTimeFormatter)}</Descriptions.Item>
|
<Descriptions.Item label="预计评标开始时间">{moment(values?.reserveStartDate).format(dateTimeFormatter)}</Descriptions.Item>
|
||||||
</Descriptions>
|
<Descriptions.Item label="预计评标结束时间">{moment(values?.reserveEndDate).format(dateTimeFormatter)}</Descriptions.Item>
|
||||||
<h3 className='first-title'>选择评标室</h3>
|
</Descriptions>
|
||||||
</>
|
<h3 className='first-title'>选择评标室</h3>
|
||||||
)}
|
</>
|
||||||
<ProTable<any>
|
|
||||||
columns={columns}
|
|
||||||
actionRef={actionRef}
|
|
||||||
bordered={false}
|
|
||||||
request={async (params: any) => {
|
|
||||||
return await getBidEvalRoom(params).then(res => {
|
|
||||||
if (res?.code == 200) {
|
|
||||||
return {
|
|
||||||
data: res?.data.records,
|
|
||||||
success: res?.success,
|
|
||||||
total: res?.data.total,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return {
|
|
||||||
data: [],
|
|
||||||
success: false,
|
|
||||||
total: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}}
|
|
||||||
rowKey="id"
|
|
||||||
search={{
|
|
||||||
labelWidth: 'auto',
|
|
||||||
}}
|
|
||||||
options={false}
|
|
||||||
pagination={{
|
|
||||||
size: "small",
|
|
||||||
defaultPageSize: 10,
|
|
||||||
showSizeChanger: true,
|
|
||||||
}}
|
|
||||||
rowSelection={{
|
|
||||||
type: "radio",
|
|
||||||
selectedRowKeys,
|
|
||||||
onChange: (selectedRowKeys, selectedRows) => {
|
|
||||||
setSelectedRowKeys(selectedRowKeys);
|
|
||||||
setSelectedRecord(selectedRows[0]);
|
|
||||||
},
|
|
||||||
}}
|
|
||||||
dateFormatter="string"
|
|
||||||
toolBarRender={false}
|
|
||||||
/>
|
|
||||||
<Form
|
|
||||||
name="basic"
|
|
||||||
form={form}
|
|
||||||
labelCol={{ span: 8 }}
|
|
||||||
wrapperCol={{ span: 16 }}
|
|
||||||
preserve={false}
|
|
||||||
validateMessages={validateMessages}
|
|
||||||
>
|
|
||||||
<Form.Item
|
|
||||||
label="是否预约评标室"
|
|
||||||
name="reserveStatus"
|
|
||||||
initialValue={"1"}
|
|
||||||
hidden
|
|
||||||
>
|
|
||||||
<Input />
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
label="项目id"
|
|
||||||
name="projectId"
|
|
||||||
initialValue={proId}
|
|
||||||
hidden
|
|
||||||
>
|
|
||||||
<Input />
|
|
||||||
</Form.Item>
|
|
||||||
{selectedRowKeys.length > 0 && (
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Form.Item
|
|
||||||
label="预计评标开始时间"
|
|
||||||
name="reserveStartDate"
|
|
||||||
rules={[{ required: true, message: '请选择' }]}
|
|
||||||
extra={<span style={{ color: "#b30000" }}>预约时间范围 7:00 ~ 18:00</span>}
|
|
||||||
>
|
|
||||||
<DatePicker showTime={{ defaultValue: moment().hour(7) }} showNow={false} disabledDate={disabledDate} disabledTime={disabledDateTime} showMinute={false} showSecond={false} format={dateFormat} style={{ width: '100%' }} />
|
|
||||||
</Form.Item>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<Form.Item
|
|
||||||
label="预计评标结束时间"
|
|
||||||
name="reserveEndDate"
|
|
||||||
rules={[{ required: true, message: '请选择' }]}
|
|
||||||
>
|
|
||||||
<DatePicker showTime={{ defaultValue: moment().hour(7) }} showNow={false} disabledDate={disabledDate} disabledTime={disabledDateTime} showMinute={false} showSecond={false} format={dateFormat} style={{ width: '100%' }} />
|
|
||||||
</Form.Item>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<Form.Item
|
|
||||||
label="预约人"
|
|
||||||
name="reserveBy"
|
|
||||||
rules={[{ required: true }]}
|
|
||||||
>
|
|
||||||
<Input maxLength={20} placeholder="预约人姓名" />
|
|
||||||
</Form.Item>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<Form.Item
|
|
||||||
label="预约人联系方式"
|
|
||||||
name="reserveContactNumber"
|
|
||||||
rules={[{ required: true }]}
|
|
||||||
>
|
|
||||||
<Input type="number" maxLength={20} placeholder="预约人手机号" />
|
|
||||||
</Form.Item>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
)}
|
)}
|
||||||
</Form>
|
<ProTable<any>
|
||||||
|
columns={columns}
|
||||||
|
actionRef={actionRef}
|
||||||
|
bordered={false}
|
||||||
|
request={async (params: any) => {
|
||||||
|
return await getBidEvalRoom(params).then(res => {
|
||||||
|
if (res?.code == 200) {
|
||||||
|
return {
|
||||||
|
data: res?.data.records,
|
||||||
|
success: res?.success,
|
||||||
|
total: res?.data.total,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
data: [],
|
||||||
|
success: false,
|
||||||
|
total: 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}}
|
||||||
|
rowKey="id"
|
||||||
|
search={{
|
||||||
|
labelWidth: 'auto',
|
||||||
|
}}
|
||||||
|
options={false}
|
||||||
|
pagination={{
|
||||||
|
size: "small",
|
||||||
|
defaultPageSize: 10,
|
||||||
|
showSizeChanger: true,
|
||||||
|
}}
|
||||||
|
rowSelection={{
|
||||||
|
type: "radio",
|
||||||
|
selectedRowKeys,
|
||||||
|
onChange: (selectedRowKeys, selectedRows) => {
|
||||||
|
setSelectedRowKeys(selectedRowKeys);
|
||||||
|
setSelectedRecord(selectedRows[0]);
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
dateFormatter="string"
|
||||||
|
toolBarRender={false}
|
||||||
|
/>
|
||||||
|
<Form
|
||||||
|
name="basic"
|
||||||
|
form={form}
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
wrapperCol={{ span: 16 }}
|
||||||
|
preserve={false}
|
||||||
|
validateMessages={validateMessages}
|
||||||
|
>
|
||||||
|
<Form.Item
|
||||||
|
label="是否预约评标室"
|
||||||
|
name="reserveStatus"
|
||||||
|
initialValue={"1"}
|
||||||
|
hidden
|
||||||
|
>
|
||||||
|
<Input />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="项目id"
|
||||||
|
name="projectId"
|
||||||
|
initialValue={proId}
|
||||||
|
hidden
|
||||||
|
>
|
||||||
|
<Input />
|
||||||
|
</Form.Item>
|
||||||
|
{selectedRowKeys.length > 0 && (
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Form.Item
|
||||||
|
label="预计评标开始时间"
|
||||||
|
name="reserveStartDate"
|
||||||
|
rules={[{ required: true, message: '请选择' }]}
|
||||||
|
extra={<span style={{ color: "#b30000" }}>预约时间范围 7:00 ~ 18:00</span>}
|
||||||
|
>
|
||||||
|
<DatePicker showTime={{ defaultValue: moment().hour(7) }} showNow={false} disabledDate={disabledDate} disabledTime={disabledDateTime} showMinute={false} showSecond={false} format={dateFormat} style={{ width: '100%' }} />
|
||||||
|
</Form.Item>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<Form.Item
|
||||||
|
label="预计评标结束时间"
|
||||||
|
name="reserveEndDate"
|
||||||
|
rules={[{ required: true, message: '请选择' }]}
|
||||||
|
>
|
||||||
|
<DatePicker showTime={{ defaultValue: moment().hour(7) }} showNow={false} disabledDate={disabledDate} disabledTime={disabledDateTime} showMinute={false} showSecond={false} format={dateFormat} style={{ width: '100%' }} />
|
||||||
|
</Form.Item>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<Form.Item
|
||||||
|
label="预约人"
|
||||||
|
name="reserveBy"
|
||||||
|
rules={[{ required: true }]}
|
||||||
|
>
|
||||||
|
<Input maxLength={20} placeholder="预约人姓名" />
|
||||||
|
</Form.Item>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<Form.Item
|
||||||
|
label="预约人联系方式"
|
||||||
|
name="reserveContactNumber"
|
||||||
|
rules={[{ required: true }]}
|
||||||
|
>
|
||||||
|
<Input type="number" maxLength={20} placeholder="预约人手机号" />
|
||||||
|
</Form.Item>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
)}
|
||||||
|
</Form>
|
||||||
|
</Spin>
|
||||||
</Modal>
|
</Modal>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -74,4 +74,15 @@ export async function getCameraList(params: any) {
|
|||||||
method: 'GET',
|
method: 'GET',
|
||||||
params: params,
|
params: params,
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重新评标生效(预约评标室)
|
||||||
|
* @method POST
|
||||||
|
*/
|
||||||
|
export async function handleTakeEffectReserve(params: any, data: any) {
|
||||||
|
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation/achieve/" + params, {
|
||||||
|
method: "POST",
|
||||||
|
data: data,
|
||||||
|
})
|
||||||
}
|
}
|
@ -178,6 +178,25 @@ const GraphChart = (props: { type: string, chartData: any[] }) => {
|
|||||||
};
|
};
|
||||||
var dataValue = dealWithData();
|
var dataValue = dealWithData();
|
||||||
var data1 = dataValue.splice(0, 3);
|
var data1 = dataValue.splice(0, 3);
|
||||||
|
var index = 0;
|
||||||
|
const autoTooltip = () => {
|
||||||
|
const dataLength = data1.length;
|
||||||
|
setTimeout(() => {
|
||||||
|
myChart.dispatchAction({
|
||||||
|
type: 'showTip',
|
||||||
|
seriesIndex: 2,
|
||||||
|
dataIndex: index,
|
||||||
|
position: (point: number[], params: any, dom: any, rect: any, size: { contentSize: number[] }) => {
|
||||||
|
return [point[0] + 20, point[1] - size.contentSize[1] + 45];
|
||||||
|
},
|
||||||
|
});
|
||||||
|
index++;
|
||||||
|
if (index >= dataLength) {
|
||||||
|
index = 0;
|
||||||
|
}
|
||||||
|
autoTooltip();
|
||||||
|
}, 10000);
|
||||||
|
}
|
||||||
const pieOption: EChartsOption = {
|
const pieOption: EChartsOption = {
|
||||||
legend: {
|
legend: {
|
||||||
orient: 'vertical',
|
orient: 'vertical',
|
||||||
@ -376,6 +395,7 @@ const GraphChart = (props: { type: string, chartData: any[] }) => {
|
|||||||
const resize = () => {
|
const resize = () => {
|
||||||
myChart && myChart.resize();
|
myChart && myChart.resize();
|
||||||
};
|
};
|
||||||
|
type == "map" && autoTooltip();//地图自动轮播tooltip
|
||||||
window.addEventListener("resize", debounce(() => resize(), 100));
|
window.addEventListener("resize", debounce(() => resize(), 100));
|
||||||
return () => {
|
return () => {
|
||||||
window.removeEventListener("resize", debounce(() => resize(), 100));
|
window.removeEventListener("resize", debounce(() => resize(), 100));
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
|
import BidEvalAppointment from '@/components/ElecBidEvaluation/BidEvalAppointment';
|
||||||
import { btnAuthority } from '@/utils/authority';
|
import { btnAuthority } from '@/utils/authority';
|
||||||
import { checkObjectId } from '@/utils/DownloadUtils';
|
import { checkObjectId } from '@/utils/DownloadUtils';
|
||||||
import { getProMethod } from '@/utils/session';
|
import { getProMethod } from '@/utils/session';
|
||||||
|
import { InfoCircleOutlined } from '@ant-design/icons';
|
||||||
import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table';
|
import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table';
|
||||||
import { Button, Drawer, message, Popconfirm } from 'antd';
|
import { Button, Drawer, message, Modal, Popconfirm } from 'antd';
|
||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import {
|
import {
|
||||||
checkedAddAfresh,
|
checkedAddAfresh,
|
||||||
@ -23,6 +25,7 @@ interface MoreEvaluationProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const drawerWidth = window.innerWidth - 208;
|
const drawerWidth = window.innerWidth - 208;
|
||||||
|
const { confirm } = Modal;
|
||||||
|
|
||||||
const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||||
const { title, drawerVisible, onCancel, values } = props;
|
const { title, drawerVisible, onCancel, values } = props;
|
||||||
@ -42,6 +45,8 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
|||||||
const [sectionType, setSectionType] = useState<any>('评审');
|
const [sectionType, setSectionType] = useState<any>('评审');
|
||||||
//loading
|
//loading
|
||||||
const [loading, setLoading] = useState<boolean>(false);
|
const [loading, setLoading] = useState<boolean>(false);
|
||||||
|
//电子评标室-评标室预约选择 2022.9.8 zhoujianlong
|
||||||
|
const [selectEvalVisible, setSelectEvalVisible] = useState<boolean>(false);
|
||||||
|
|
||||||
const toAdd = async () => {
|
const toAdd = async () => {
|
||||||
await checkedAddAfresh(values.id).then((res) => {
|
await checkedAddAfresh(values.id).then((res) => {
|
||||||
@ -81,6 +86,24 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
|||||||
setLoading(false);
|
setLoading(false);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
//是否预约评标室
|
||||||
|
const isReserve = async (record: any) => {
|
||||||
|
confirm({
|
||||||
|
title: '是否预约评标室?',
|
||||||
|
icon: <InfoCircleOutlined />,
|
||||||
|
okText: '不预约',
|
||||||
|
cancelText: '预约',
|
||||||
|
okType: 'danger',
|
||||||
|
centered: true,
|
||||||
|
onOk() {
|
||||||
|
toTakeEffect(record);
|
||||||
|
},
|
||||||
|
onCancel() {
|
||||||
|
setRecordData(record);
|
||||||
|
setSelectEvalVisible(true);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//生效
|
//生效
|
||||||
const toTakeEffect = async (record: any) => {
|
const toTakeEffect = async (record: any) => {
|
||||||
@ -209,7 +232,7 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
|||||||
<a
|
<a
|
||||||
key="3"
|
key="3"
|
||||||
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])}
|
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])}
|
||||||
onClick={() => toTakeEffect(record)}
|
onClick={() => isReserve(record)}
|
||||||
>
|
>
|
||||||
生效
|
生效
|
||||||
</a>
|
</a>
|
||||||
@ -340,6 +363,8 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
|||||||
values={values}
|
values={values}
|
||||||
data={recordData}
|
data={recordData}
|
||||||
/>
|
/>
|
||||||
|
{/**电子评标室-评标室预约选择 */}
|
||||||
|
<BidEvalAppointment modalVisible={selectEvalVisible} onCancel={() => { setSelectEvalVisible(false), setRecordData(undefined) }} onSubmit={() => { }} values={recordData} type={"2"} reload={() => { actionRef.current?.reload?.(); }} />
|
||||||
</Drawer>
|
</Drawer>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user