From 91451bfddfcb156100e2879e0a0f59606fcce4ac Mon Sep 17 00:00:00 2001
From: LiuJiaNan <15703339975@163.com>
Date: Wed, 15 Apr 2026 16:33:16 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=A7=8B=E6=97=B6=E9=97=B4=E5=92=8C?=
=?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4=E5=A2=9E=E5=8A=A0=E9=AA=8C?=
=?UTF-8?q?=E8=AF=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 2 +-
.../PersonnelApplication/Apply/index.js | 79 ++++++++++---------
.../InspectDepartmentVehicles/List/index.js | 24 +++++-
.../PersonalVehicle/Add/index.js | 16 +++-
.../TemporaryPersonnel/Add/index.js | 17 +++-
.../TemporaryPersonnel/List/index.js | 4 +-
.../TemporaryVehicle/Add/index.js | 17 +++-
.../TemporaryVehicle/List/index.js | 4 +-
8 files changed, 108 insertions(+), 55 deletions(-)
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",