监管端 封闭区域 车辆人员进出记录接口调试
parent
ab9bd73f72
commit
2f800ef908
|
|
@ -7,12 +7,12 @@ export const enclosedPersonnelAndVehicleStatisticsList = declareRequest(
|
||||||
export const enclosedPersonnelAndVehicleStatisticsVehicleEntryAndExitRecordsList
|
export const enclosedPersonnelAndVehicleStatisticsVehicleEntryAndExitRecordsList
|
||||||
= declareRequest(
|
= declareRequest(
|
||||||
"enclosedPersonnelAndVehicleStatisticsLoading",
|
"enclosedPersonnelAndVehicleStatisticsLoading",
|
||||||
`Post > @/primeport/dahuaVehicleAccessRecord/list`,
|
`Post > @/primeport/closedArea/vehicleInOutRecord`,
|
||||||
);
|
);
|
||||||
export const enclosedPersonnelAndVehicleStatisticsPersonnelEntryAndExitRecordsList
|
export const enclosedPersonnelAndVehicleStatisticsPersonnelEntryAndExitRecordsList
|
||||||
= declareRequest(
|
= declareRequest(
|
||||||
"enclosedPersonnelAndVehicleStatisticsLoading",
|
"enclosedPersonnelAndVehicleStatisticsLoading",
|
||||||
`Post > @/primeport/`,
|
`Post > @/primeport/closedArea/personInOutRecord`,
|
||||||
);
|
);
|
||||||
export const eVehicleArrivalDepartureInfoList
|
export const eVehicleArrivalDepartureInfoList
|
||||||
= declareRequest(
|
= declareRequest(
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ const NeedToKnowModal = (props) => {
|
||||||
return (
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
open
|
open
|
||||||
title="安全进港须知"
|
title={props.title || "安全进港须知"}
|
||||||
width={800}
|
width={800}
|
||||||
maskClosable={false}
|
maskClosable={false}
|
||||||
onCancel={props.onCancel}
|
onCancel={props.onCancel}
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ console.log(urlState.parentId)
|
||||||
<Button
|
<Button
|
||||||
type="link"
|
type="link"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
props.history.push(`./vehicleEntryAndExitRecords?licenceNo=${record.licenceNo}`);
|
props.history.push(`./vehicleEntryAndExitRecords?closedAreaId=${record.id}`);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
车辆进出记录
|
车辆进出记录
|
||||||
|
|
@ -104,7 +104,7 @@ console.log(urlState.parentId)
|
||||||
<Button
|
<Button
|
||||||
type="link"
|
type="link"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
props.history.push(`./personnelEntryAndExitRecords??userCard=${record.userCard}`);
|
props.history.push(`./personnelEntryAndExitRecords??closedAreaId=${record.id}`);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
人员进出记录
|
人员进出记录
|
||||||
|
|
|
||||||
|
|
@ -15,32 +15,47 @@ function PersonnelEntryAndExitRecords(props) {
|
||||||
|
|
||||||
const { tableProps, getData } = useTable(props["enclosedPersonnelAndVehicleStatisticsPersonnelEntryAndExitRecordsList"], {
|
const { tableProps, getData } = useTable(props["enclosedPersonnelAndVehicleStatisticsPersonnelEntryAndExitRecordsList"], {
|
||||||
form,
|
form,
|
||||||
params: { id: query.id },
|
params: { closedAreaId: query.closedAreaId },
|
||||||
|
transform: values => ({
|
||||||
|
startTime: values.time?.[0] ? `${values.timeRange?.[0]} 00:00:00` : undefined,
|
||||||
|
endTime: values.time?.[1] ? `${values.timeRange?.[1]} 23:59:59` : undefined,
|
||||||
|
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page headerTitle="人员进出记录">
|
<Page headerTitle="人员进出记录">
|
||||||
<Search
|
<Search
|
||||||
options={[
|
options={[
|
||||||
{ name: "todo1", label: "人员姓名" },
|
{ name: "personName", label: "人员姓名" },
|
||||||
{ name: "todo2", label: "时间范围", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
{ name: "timeRange", label: "时间范围", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||||
{ name: "todo3", label: "人员类别", render: FORM_ITEM_RENDER_ENUM.SELECT },
|
|
||||||
]}
|
]}
|
||||||
form={form}
|
form={form}
|
||||||
onFinish={getData}
|
onFinish={getData}
|
||||||
/>
|
/>
|
||||||
<Table
|
<Table
|
||||||
|
options={false}
|
||||||
columns={[
|
columns={[
|
||||||
{ title: "姓名", dataIndex: "todo1" },
|
{ title: "姓名", dataIndex: "personName" },
|
||||||
{ title: "手机号", dataIndex: "todo2" },
|
{ title: "身份证号", dataIndex: "certificateNo", render: (_, record) => record.certificateNo ? atob(record.certificateNo) : "", },
|
||||||
|
{ title: "手机号", dataIndex: "phoneNo" },
|
||||||
{
|
{
|
||||||
title: "人员类别",
|
title: "门禁名称",
|
||||||
dataIndex: "todo3",
|
dataIndex: "doorName",
|
||||||
render: (_, record) => getLabelName({ list: CATEGORY_ENUM, status: record.todo3 }),
|
|
||||||
},
|
},
|
||||||
{ title: "口门名称", dataIndex: "todo4" },
|
{
|
||||||
{ title: "记录时间", dataIndex: "todo5" },
|
title: "门禁点所属区域编码",
|
||||||
{ title: "出入动作", dataIndex: "todo6" },
|
dataIndex: "doorRegionIndexCode",
|
||||||
|
},
|
||||||
|
{ title: "进出方向", dataIndex: "enterOrExit",render:(_, record) => (
|
||||||
|
record.enterOrExit === 1 ?"进":record.enterOrExit === 2 ?"出":""
|
||||||
|
) },
|
||||||
|
{
|
||||||
|
title: "卡号",
|
||||||
|
dataIndex: "cardNo",
|
||||||
|
},
|
||||||
|
{ title: "通行时间", dataIndex: "eventTime" },
|
||||||
|
|
||||||
]}
|
]}
|
||||||
{...tableProps}
|
{...tableProps}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -21,17 +21,17 @@ function VehicleEntryAndExitRecords(props) {
|
||||||
|
|
||||||
const { tableProps, getData } = useTable(props["enclosedPersonnelAndVehicleStatisticsVehicleEntryAndExitRecordsList"], {
|
const { tableProps, getData } = useTable(props["enclosedPersonnelAndVehicleStatisticsVehicleEntryAndExitRecordsList"], {
|
||||||
form,
|
form,
|
||||||
params: { id: query.id },
|
params: { closedAreaId: query.closedAreaId },
|
||||||
transform: values => ({
|
transform: values => ({
|
||||||
startVehicleArrivalTime: values.time?.[0] ? `${values.vehicleArrivalTime?.[0]} 00:00:00` : undefined,
|
arrivalStartTime: values.vehicleArrivalTime?.[0] ? `${values.vehicleArrivalTime?.[0]} 00:00:00` : undefined,
|
||||||
endVehicleArrivalTime: values.time?.[1] ? `${values.vehicleArrivalTime?.[1]} 23:59:59` : undefined,
|
arrivalEndTime: values.vehicleArrivalTime?.[1] ? `${values.vehicleArrivalTime?.[1]} 23:59:59` : undefined,
|
||||||
startVehicleDepartureTime: values.time?.[0] ? `${values.vehicleDepartureTime?.[0]} 00:00:00` : undefined,
|
departureStartTime: values.vehicleDepartureTime?.[0] ? `${values.vehicleDepartureTime?.[0]} 00:00:00` : undefined,
|
||||||
endVehicleDepartureTime: values.time?.[1] ? `${values.vehicleDepartureTime?.[1]} 23:59:59` : undefined,
|
departureEndTime: values.vehicleDepartureTime?.[1] ? `${values.vehicleDepartureTime?.[1]} 23:59:59` : undefined,
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page headerTitle="车辆进出记录1">
|
<Page headerTitle="车辆进出记录">
|
||||||
<Search
|
<Search
|
||||||
options={[
|
options={[
|
||||||
{ name: "vehiclePlateNumber", label: "车牌号" },
|
{ name: "vehiclePlateNumber", label: "车牌号" },
|
||||||
|
|
@ -43,16 +43,18 @@ function VehicleEntryAndExitRecords(props) {
|
||||||
onFinish={getData}
|
onFinish={getData}
|
||||||
/>
|
/>
|
||||||
<Table
|
<Table
|
||||||
|
options={false}
|
||||||
columns={[
|
columns={[
|
||||||
{ title: "车辆类型", dataIndex: "carTypeName" },
|
{ title: "车辆类型", dataIndex: "carTypeName" },
|
||||||
{ title: "进场车牌号", dataIndex: "carNum" },
|
{ title: "车牌号", dataIndex: "plateNo" },
|
||||||
{ title: "出场车牌号", dataIndex: "exitCarNum" },
|
{ title: "车辆类型", dataIndex: "carTypeName" },
|
||||||
{ title: "停车场名称", dataIndex: "parkingLotName" },
|
{ title: "通道名称", dataIndex: "laneName" },
|
||||||
{ title: "进场通道名称", dataIndex: "enterSluiceChannelName" },
|
{ title: "停车场名称", dataIndex: "parkName" },
|
||||||
{ title: "进场通道名称", dataIndex: "exitSluiceChannelName" },
|
{ title: "出入口名称", dataIndex: "entranceName" },
|
||||||
{ title: "进场时间", dataIndex: "enterTime" },
|
{ title: "进出方向", dataIndex: "enterOrExit",render:(_, record) => (
|
||||||
{ title: "出场时间", dataIndex: "exitTime" },
|
record.enterOrExit === 1 ?"进":record.enterOrExit === 2 ?"出":""
|
||||||
{ title: "出入动作", dataIndex: "todo8" },
|
) },
|
||||||
|
{ title: "通行时间", dataIndex: "eventTime" },
|
||||||
]}
|
]}
|
||||||
{...tableProps}
|
{...tableProps}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ function List(props) {
|
||||||
type="link"
|
type="link"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
// TODO
|
// TODO
|
||||||
props.history.push(`./personnelRecords?userCard=${record.id}`);
|
props.history.push(`./personnelRecords?userCard=${record.userId}`);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
人员进出记录
|
人员进出记录
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
import { Button, message } from "antd";
|
import { Button, message } from "antd";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useRef, useState } from "react";
|
||||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
||||||
|
|
@ -10,6 +10,7 @@ import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||||
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
||||||
import { ID_NUMBER, PHONE } from "zy-react-library/regular";
|
import { ID_NUMBER, PHONE } from "zy-react-library/regular";
|
||||||
import { getLabelName, validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils";
|
import { getLabelName, validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils";
|
||||||
|
import NeedToKnowModal from "~/components/NeedToKnowModal";
|
||||||
import { NS_APPROVER_USER, NS_FIRST_LEVEL_DOOR_INFO, NS_TEMPORARY_PERSONNEL } from "~/enumerate/namespace";
|
import { NS_APPROVER_USER, NS_FIRST_LEVEL_DOOR_INFO, NS_TEMPORARY_PERSONNEL } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -21,6 +22,9 @@ function Add(props) {
|
||||||
|
|
||||||
const [approvalUserListAll, setApprovalUserListAll] = useState([]);
|
const [approvalUserListAll, setApprovalUserListAll] = useState([]);
|
||||||
const [firstLevelDoorInfoListAll, setFirstLevelDoorInfoListAll] = useState([]);
|
const [firstLevelDoorInfoListAll, setFirstLevelDoorInfoListAll] = useState([]);
|
||||||
|
const [needToKnowModalVisible, setNeedToKnowModalVisible] = useState(false);
|
||||||
|
|
||||||
|
const signatureUrl = useRef("");
|
||||||
|
|
||||||
const getApprovalUserListAll = async () => {
|
const getApprovalUserListAll = async () => {
|
||||||
const { data } = await props["approvalUserListAll"]();
|
const { data } = await props["approvalUserListAll"]();
|
||||||
|
|
@ -42,6 +46,15 @@ function Add(props) {
|
||||||
}, [gateLevelAuthArea]);
|
}, [gateLevelAuthArea]);
|
||||||
|
|
||||||
const onSubmit = async (values) => {
|
const onSubmit = async (values) => {
|
||||||
|
if (!values.informSignFile) {
|
||||||
|
message.warning("请在《安全协议》中签字");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const { id: informSignId } = await uploadFile({
|
||||||
|
files: [{ originFileObj: values.informSignFile }],
|
||||||
|
single: false,
|
||||||
|
params: { foreignKey: "", type: UPLOAD_FILE_TYPE_ENUM[611] },
|
||||||
|
});
|
||||||
const { filePath: userFaceUrl } = await uploadFile({
|
const { filePath: userFaceUrl } = await uploadFile({
|
||||||
files: values.userFace,
|
files: values.userFace,
|
||||||
params: { type: UPLOAD_FILE_TYPE_ENUM[608] },
|
params: { type: UPLOAD_FILE_TYPE_ENUM[608] },
|
||||||
|
|
@ -50,6 +63,7 @@ function Add(props) {
|
||||||
const { success } = await props["temporaryPersonnelAdd"]({
|
const { success } = await props["temporaryPersonnelAdd"]({
|
||||||
...values,
|
...values,
|
||||||
personBelongType: 4,
|
personBelongType: 4,
|
||||||
|
informSignId,
|
||||||
personApplyList: [
|
personApplyList: [
|
||||||
{ userFaceUrl,
|
{ userFaceUrl,
|
||||||
employeePersonUserName: values.employeePersonUserName ,
|
employeePersonUserName: values.employeePersonUserName ,
|
||||||
|
|
@ -172,7 +186,7 @@ function Add(props) {
|
||||||
label: " ",
|
label: " ",
|
||||||
span: 24,
|
span: 24,
|
||||||
required: false,
|
required: false,
|
||||||
rules: [{ required: true, message: "请勾选" }],
|
rules: [{ required: true, message: "请勾选《安全协议》" }],
|
||||||
formItemProps: {
|
formItemProps: {
|
||||||
colon: false,
|
colon: false,
|
||||||
required: false,
|
required: false,
|
||||||
|
|
@ -186,13 +200,38 @@ function Add(props) {
|
||||||
name: (
|
name: (
|
||||||
<>
|
<>
|
||||||
我已阅读并同意
|
我已阅读并同意
|
||||||
<Button type="link" style={{ padding: 0 }}>《安全协议》</Button>
|
<Button
|
||||||
|
type="link"
|
||||||
|
style={{ padding: 0 }}
|
||||||
|
onClick={() => {
|
||||||
|
setNeedToKnowModalVisible(true);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
《安全协议》
|
||||||
|
</Button>
|
||||||
</>
|
</>
|
||||||
),
|
),
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
|
{ name: "informSignFile", label: "签字", onlyForLabel: true },
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
|
{
|
||||||
|
needToKnowModalVisible && (
|
||||||
|
<NeedToKnowModal
|
||||||
|
title="安全协议"
|
||||||
|
signatureUrl={signatureUrl.current}
|
||||||
|
onCancel={() => {
|
||||||
|
setNeedToKnowModalVisible(false);
|
||||||
|
}}
|
||||||
|
onOk={(values) => {
|
||||||
|
form.setFieldValue("informSignFile", values.file);
|
||||||
|
signatureUrl.current = values.base64;
|
||||||
|
setNeedToKnowModalVisible(false);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
</Page>
|
</Page>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
import { Button, message } from "antd";
|
import { Button, message } from "antd";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useRef, useState } from "react";
|
||||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
||||||
|
|
@ -10,6 +10,7 @@ import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||||
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
||||||
import { ID_NUMBER, LICENSE_PLATE_NUMBER, PHONE } from "zy-react-library/regular";
|
import { ID_NUMBER, LICENSE_PLATE_NUMBER, PHONE } from "zy-react-library/regular";
|
||||||
import { getLabelName, validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils";
|
import { getLabelName, validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils";
|
||||||
|
import NeedToKnowModal from "~/components/NeedToKnowModal";
|
||||||
import {
|
import {
|
||||||
NS_APPROVER_USER,
|
NS_APPROVER_USER,
|
||||||
NS_FIRST_LEVEL_DOOR_INFO,
|
NS_FIRST_LEVEL_DOOR_INFO,
|
||||||
|
|
@ -26,6 +27,9 @@ function Add(props) {
|
||||||
|
|
||||||
const [approvalUserListAll, setApprovalUserListAll] = useState([]);
|
const [approvalUserListAll, setApprovalUserListAll] = useState([]);
|
||||||
const [firstLevelDoorInfoListAll, setFirstLevelDoorInfoListAll] = useState([]);
|
const [firstLevelDoorInfoListAll, setFirstLevelDoorInfoListAll] = useState([]);
|
||||||
|
const [needToKnowModalVisible, setNeedToKnowModalVisible] = useState(false);
|
||||||
|
|
||||||
|
const signatureUrl = useRef("");
|
||||||
|
|
||||||
const getApprovalUserListAll = async () => {
|
const getApprovalUserListAll = async () => {
|
||||||
const { data } = await props["approvalUserListAll"]();
|
const { data } = await props["approvalUserListAll"]();
|
||||||
|
|
@ -47,10 +51,19 @@ function Add(props) {
|
||||||
}, [gateLevelAuthArea]);
|
}, [gateLevelAuthArea]);
|
||||||
|
|
||||||
const onSubmit = async (values) => {
|
const onSubmit = async (values) => {
|
||||||
|
if (!values.informSignFile) {
|
||||||
|
message.warning("请在《安全协议》中签字");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (values.drivingLicenseFile.length !== 2) {
|
if (values.drivingLicenseFile.length !== 2) {
|
||||||
message.error("请上传两张驾驶证");
|
message.error("请上传两张驾驶证");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const { id: informSignId } = await uploadFile({
|
||||||
|
files: [{ originFileObj: values.informSignFile }],
|
||||||
|
single: false,
|
||||||
|
params: { foreignKey: "", type: UPLOAD_FILE_TYPE_ENUM[606] },
|
||||||
|
});
|
||||||
const { id: drivingLicenseId } = await uploadFile({
|
const { id: drivingLicenseId } = await uploadFile({
|
||||||
single: false,
|
single: false,
|
||||||
files: values.drivingLicenseFile,
|
files: values.drivingLicenseFile,
|
||||||
|
|
@ -66,6 +79,7 @@ function Add(props) {
|
||||||
...values,
|
...values,
|
||||||
drivingLicenseId,
|
drivingLicenseId,
|
||||||
attachmentId,
|
attachmentId,
|
||||||
|
informSignId,
|
||||||
lsUserIdcard: btoa(values.lsUserIdcard),
|
lsUserIdcard: btoa(values.lsUserIdcard),
|
||||||
gateLevelAuthArea: JSON.stringify({ area: values.area }),
|
gateLevelAuthArea: JSON.stringify({ area: values.area }),
|
||||||
vehicleBelongType:6
|
vehicleBelongType:6
|
||||||
|
|
@ -252,7 +266,7 @@ function Add(props) {
|
||||||
label: " ",
|
label: " ",
|
||||||
span: 24,
|
span: 24,
|
||||||
required: false,
|
required: false,
|
||||||
rules: [{ required: true, message: "请勾选" }],
|
rules: [{ required: true, message: "请勾选《安全协议》" }],
|
||||||
formItemProps: { colon: false, required: false, style: { textAlign: "center" } },
|
formItemProps: { colon: false, required: false, style: { textAlign: "center" } },
|
||||||
render: FORM_ITEM_RENDER_ENUM.CHECKBOX,
|
render: FORM_ITEM_RENDER_ENUM.CHECKBOX,
|
||||||
items: [{
|
items: [{
|
||||||
|
|
@ -260,13 +274,38 @@ function Add(props) {
|
||||||
name: (
|
name: (
|
||||||
<>
|
<>
|
||||||
我已阅读并同意
|
我已阅读并同意
|
||||||
<Button type="link" style={{ padding: 0 }}>《安全协议》</Button>
|
<Button
|
||||||
|
type="link"
|
||||||
|
style={{ padding: 0 }}
|
||||||
|
onClick={() => {
|
||||||
|
setNeedToKnowModalVisible(true);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
《安全协议》
|
||||||
|
</Button>
|
||||||
</>
|
</>
|
||||||
),
|
),
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
|
{ name: "informSignFile", label: "签字", onlyForLabel: true },
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
|
{
|
||||||
|
needToKnowModalVisible && (
|
||||||
|
<NeedToKnowModal
|
||||||
|
title="安全协议"
|
||||||
|
signatureUrl={signatureUrl.current}
|
||||||
|
onCancel={() => {
|
||||||
|
setNeedToKnowModalVisible(false);
|
||||||
|
}}
|
||||||
|
onOk={(values) => {
|
||||||
|
form.setFieldValue("informSignFile", values.file);
|
||||||
|
signatureUrl.current = values.base64;
|
||||||
|
setNeedToKnowModalVisible(false);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
</Page>
|
</Page>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue