diff --git a/package.json b/package.json index 566a1e6..86659da 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-signature-canvas": "^1.1.0-alpha.2", - "zy-react-library": "^1.2.15" + "zy-react-library": "^1.2.35" }, "devDependencies": { "@antfu/eslint-config": "^5.4.1", diff --git a/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js b/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js index 3268cd2..91a735e 100644 --- a/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js +++ b/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js @@ -21,7 +21,7 @@ import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj"; import useDictionary from "zy-react-library/hooks/useDictionary"; import useUploadFile from "zy-react-library/hooks/useUploadFile"; import { ID_NUMBER, LICENSE_PLATE_NUMBER, PHONE } from "zy-react-library/regular"; -import { getLabelName, validatorEndTime } from "zy-react-library/utils"; +import { getLabelName, validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils"; import SignatureH5 from "~/components/SignatureH5"; import { NS_APPROVER_USER, @@ -570,43 +570,46 @@ const BasicInfoFields = () => ( ); // 公共访问时间组件 -const VisitTime = ({ form }) => ( - <> - { - pickerRef.current?.open(); - }} - getValueFromEvent={value => dayjs(value).format("YYYY-MM-DD")} - getValueProps={value => dayjs(value)} - > - - {value => value ? dayjs(value).format("YYYY-MM-DD") : "请选择访问起始时间"} - - - validatorEndTime(form.getFieldValue("visitStartTime")))()]} - trigger="onConfirm" - onClick={(_, pickerRef) => { - pickerRef.current?.open(); - }} - getValueFromEvent={value => dayjs(value).format("YYYY-MM-DD")} - getValueProps={value => dayjs(value)} - > - - {value => value ? dayjs(value).format("YYYY-MM-DD") : "请选择访问结束时间"} - - - -); +const VisitTime = ({ form }) => { + const visitStartTime = Form.useWatch("visitStartTime", form); + return ( + <> + { + pickerRef.current?.open(); + }} + getValueFromEvent={value => dayjs(value).format("YYYY-MM-DD")} + getValueProps={value => dayjs(value)} + > + + {value => value ? dayjs(value).format("YYYY-MM-DD") : "请选择访问起始时间"} + + + { + pickerRef.current?.open(); + }} + getValueFromEvent={value => dayjs(value).format("YYYY-MM-DD")} + getValueProps={value => dayjs(value)} + > + + {value => value ? dayjs(value).format("YYYY-MM-DD") : "请选择访问结束时间"} + + + + ); +}; // 公共地点字段组件 const LocationFields = ({ diff --git a/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/InspectDepartmentVehicles/List/index.js b/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/InspectDepartmentVehicles/List/index.js index aa892a0..9f2a541 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/InspectDepartmentVehicles/List/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/InspectDepartmentVehicles/List/index.js @@ -11,6 +11,7 @@ import Table from "zy-react-library/components/Table"; import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; import useTable from "zy-react-library/hooks/useTable"; import { LICENSE_PLATE_NUMBER } from "zy-react-library/regular"; +import { validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils"; import { NS_VEHICLE_APPLY } from "~/enumerate/namespace"; function List(props) { @@ -155,6 +156,7 @@ const AddModalComponent = (props) => { const { info } = props; const isEdit = !!info.id; const [form] = FormBuilder.useForm(); + const inspectCarList = FormBuilder.useWatch("inspectCarList", form); const onSubmit = async (values) => { let outsideSuccess = false; @@ -189,11 +191,11 @@ const AddModalComponent = (props) => { width={600} onCancel={props.onCancel} onOk={form.submit} - confirmLoading={props.vehicleApply.vehicleApplyLoading} + // confirmLoading={props.vehicleApply.vehicleApplyLoading} > { formListUniqueProps: { showAddButton: !isEdit, showRemoveButton: !isEdit, - options: field => ([ + options: (field, fieldIndex) => ([ { name: [field.name, "licenceType"], label: "车牌类型", @@ -236,7 +238,6 @@ const AddModalComponent = (props) => { label: "车牌号", rules: [{ pattern: LICENSE_PLATE_NUMBER, message: "请输入正确的车牌号" }], }, - { name: [field.name, "vehicleTypeName"], label: "车辆类型名称", onlyForLabel: true }, { name: [field.name, "vehicleType"], label: "车辆类型", @@ -249,6 +250,19 @@ const AddModalComponent = (props) => { /> ), }, + { name: [field.name, "vehicleTypeName"], label: "车辆类型名称", onlyForLabel: true }, + { + name: [field.name, "visitStartTime"], + label: "访问开始时间", + render: FORM_ITEM_RENDER_ENUM.DATE, + rules: [validatorTimeGECurrentDay({ type: "date" })], + }, + { + name: [field.name, "visitEndTime"], + label: "访问结束时间", + render: FORM_ITEM_RENDER_ENUM.DATE, + rules: [validatorEndTime({ startTime: inspectCarList?.[fieldIndex]?.visitStartTime })], + }, ]), }, }, @@ -290,6 +304,8 @@ const ViewModalComponent = (props) => { { label: "车牌类型", children: info.licenceTypeName }, { label: "车牌号", children: info.licenceNo }, { label: "车辆类型", children: info.vehicleTypeName }, + { label: "访问开始时间", children: info.visitStartTime }, + { label: "访问结束时间", children: info.visitEndTime }, ]} /> diff --git a/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js b/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js index fe64197..9398d2b 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js @@ -13,6 +13,7 @@ import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; import useGetUserInfo from "zy-react-library/hooks/useGetUserInfo"; import useUploadFile from "zy-react-library/hooks/useUploadFile"; import { LICENSE_PLATE_NUMBER } from "zy-react-library/regular"; +import { validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils"; import { VEHICLE_TYPE_ENUM } from "~/enumerate/constant"; import { NS_APPROVER_USER, NS_VEHICLE_APPLY } from "~/enumerate/namespace"; @@ -20,6 +21,7 @@ function Add(props) { const query = useGetUrlQuery(); const { getUserInfo } = useGetUserInfo(); const [form] = FormBuilder.useForm(); + const visitStartTime = FormBuilder.useWatch("visitStartTime", form); const { loading: uploadFileLoading, uploadFile } = useUploadFile(); const { loading: deleteFileLoading, deleteFile } = useDeleteFile(); const { loading: getFileLoading, getFile } = useGetFile(); @@ -223,8 +225,18 @@ function Add(props) { ), }, { name: "area", label: "访问港区", onlyForLabel: true }, - { name: "visitStartTime", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATETIME }, - { name: "visitEndTime", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATETIME }, + { + name: "visitStartTime", + label: "访问开始时间", + render: FORM_ITEM_RENDER_ENUM.DATE, + rules: [validatorTimeGECurrentDay({ type: "date" })], + }, + { + name: "visitEndTime", + label: "访问结束时间", + render: FORM_ITEM_RENDER_ENUM.DATE, + rules: [validatorEndTime({ startTime: visitStartTime })], + }, { name: "drivingLicenseFile", label: "行驶证照片", diff --git a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnel/Add/index.js b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnel/Add/index.js index 823f7af..7b8632f 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnel/Add/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnel/Add/index.js @@ -9,12 +9,13 @@ import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj"; import useUploadFile from "zy-react-library/hooks/useUploadFile"; import { ID_NUMBER, PHONE } from "zy-react-library/regular"; -import { getLabelName } from "zy-react-library/utils"; +import { getLabelName, validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils"; import { NS_APPROVER_USER, NS_FIRST_LEVEL_DOOR_INFO, NS_TEMPORARY_PERSONNEL } from "~/enumerate/namespace"; function Add(props) { const [form] = FormBuilder.useForm(); const gateLevelAuthArea = FormBuilder.useWatch("gateLevelAuthArea", form); + const visitStartTime = FormBuilder.useWatch("visitStartTime", form); const { loading: uploadFileLoading, uploadFile } = useUploadFile(); const [approvalUserListAll, setApprovalUserListAll] = useState([]); @@ -72,8 +73,18 @@ function Add(props) { { name: "employeePersonUserName", label: "访问人姓名", span: 24 }, { name: "userPhone", label: "手机号", rules: [{ pattern: PHONE, message: "请输入正确的手机号" }] }, { name: "userCard", label: "身份证号", rules: [{ pattern: ID_NUMBER, message: "请输入正确的身份证号" }] }, - { name: "visitStartTime", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE }, - { name: "visitEndTime", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE }, + { + name: "visitStartTime", + label: "访问开始时间", + render: FORM_ITEM_RENDER_ENUM.DATE, + rules: [validatorTimeGECurrentDay({ type: "date" })], + }, + { + name: "visitEndTime", + label: "访问结束时间", + render: FORM_ITEM_RENDER_ENUM.DATE, + rules: [validatorEndTime({ startTime: visitStartTime })], + }, { name: "gateLevelAuthArea", label: "访问港区", diff --git a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnel/List/index.js b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnel/List/index.js index 4777d21..39ded24 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnel/List/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnel/List/index.js @@ -53,8 +53,8 @@ function List(props) { onFinish={getData} options={[ { name: "employeePersonUserName", label: "访问人姓名" }, - { name: "visitStartTime", label: "访问开始时间" }, - { name: "visitEndTime", label: "访问结束时间" }, + { name: "visitStartTime", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "visitEndTime", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE }, { name: "auditFlag", label: "审批状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: STATUS_ENUM }, { name: "mkmjId", diff --git a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicle/Add/index.js b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicle/Add/index.js index 9b8c68f..a474316 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicle/Add/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicle/Add/index.js @@ -9,7 +9,7 @@ import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj"; import useUploadFile from "zy-react-library/hooks/useUploadFile"; import { ID_NUMBER, LICENSE_PLATE_NUMBER, PHONE } from "zy-react-library/regular"; -import { getLabelName } from "zy-react-library/utils"; +import { getLabelName, validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils"; import { NS_APPROVER_USER, NS_FIRST_LEVEL_DOOR_INFO, @@ -20,6 +20,7 @@ import { function Add(props) { const [form] = FormBuilder.useForm(); const gateLevelAuthArea = FormBuilder.useWatch("gateLevelAuthArea", form); + const visitStartTime = FormBuilder.useWatch("visitStartTime", form); const { loading: uploadFileLoading, uploadFile } = useUploadFile(); const [approvalUserListAll, setApprovalUserListAll] = useState([]); @@ -122,8 +123,18 @@ function Add(props) { ), }, { name: "vehicleTypeName", label: "车辆类型", onlyForLabel: true }, - { name: "visitStartTime", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE }, - { name: "visitEndTime", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE }, + { + name: "visitStartTime", + label: "访问开始时间", + render: FORM_ITEM_RENDER_ENUM.DATE, + rules: [validatorTimeGECurrentDay({ type: "date" })], + }, + { + name: "visitEndTime", + label: "访问结束时间", + render: FORM_ITEM_RENDER_ENUM.DATE, + rules: [validatorEndTime({ startTime: visitStartTime })], + }, { name: "gateLevelAuthArea", label: "访问港区", diff --git a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicle/List/index.js b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicle/List/index.js index fcc8ae0..39cd37e 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicle/List/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicle/List/index.js @@ -47,8 +47,8 @@ function List(props) { options={[ { name: "employeeVehicleUserName", label: "访问人姓名" }, { name: "licenceNo", label: "车牌号" }, - { name: "visitStartTime", label: "访问开始时间" }, - { name: "visitEndTime", label: "访问结束时间" }, + { name: "visitStartTime", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "visitEndTime", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE }, { name: "auditStatus", label: "审批状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: VEHICLE_AUDIT_STATUS_ENUM }, { name: "todo6",