From 9595358142665d5c18539e15a1c95376e09552e9 Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Wed, 1 Apr 2026 11:03:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E6=B5=8Bbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jsconfig.json | 3 +- src/api/vehicleApply/index.js | 4 +++ .../PersonnelApplication/Apply/index.js | 23 +++++++++++-- .../VehicleApplication/Add/index.js | 23 ++++++++++++- .../EnclosedArea/Apply/Vehicle/Add/index.js | 2 +- .../PersonalVehicle/Add/index.js | 2 +- .../TemporaryVehicle/Add/index.js | 32 +++++++++++++++++-- 7 files changed, 80 insertions(+), 9 deletions(-) diff --git a/jsconfig.json b/jsconfig.json index 4cf89dc..ed50d55 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -3,7 +3,8 @@ "baseUrl": "src", "paths": { "~/*": ["*"] - } + }, + "jsx": "react" }, "include": ["src"] } diff --git a/src/api/vehicleApply/index.js b/src/api/vehicleApply/index.js index dc39838..3501900 100644 --- a/src/api/vehicleApply/index.js +++ b/src/api/vehicleApply/index.js @@ -24,6 +24,10 @@ export const vehicleApplyCheckLicenceNo = declareRequest( "vehicleApplyLoading", `Get > /primeport/vehicleApply/check-licence-no`, ); +export const vehicleApplyCheckLicenceNoBlack = declareRequest( + "vehicleApplyLoading", + `Get > /primeport/check-licence-no-black `, +); export const vehicleApplyRecordsList = declareRequest( "vehicleApplyLoading", `Post > @/primeport/`, diff --git a/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js b/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js index 6fccad4..3268cd2 100644 --- a/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js +++ b/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js @@ -28,6 +28,7 @@ import { NS_ENCLOSED_AREA, NS_FIRST_LEVEL_DOOR_INFO, NS_MOBILE, + NS_VEHICLE_APPLY, } from "~/enumerate/namespace"; import "../../../index.less"; @@ -367,7 +368,25 @@ function Apply(props) { { + if (value) { + const { data } = await props["vehicleApplyCheckLicenceNoBlack"]({ + licenceNo: value, + }); + return data.available ? Promise.resolve() : Promise.reject(new Error(data.availableMessage)); + } + else { + Promise.resolve(); + } + }, + validateTrigger: "onBlur", + }, + ]} > @@ -869,4 +888,4 @@ const SafetyNoticeAndSignature = ({ checkboxRef, signatureUrl, setNoticePopupVis ); -export default Connect([NS_MOBILE, NS_FIRST_LEVEL_DOOR_INFO, NS_APPROVER_USER, NS_ENCLOSED_AREA], true)(Apply); +export default Connect([NS_MOBILE, NS_FIRST_LEVEL_DOOR_INFO, NS_APPROVER_USER, NS_ENCLOSED_AREA, NS_VEHICLE_APPLY], true)(Apply); diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/VehicleApplication/Add/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/VehicleApplication/Add/index.js index 3310bb7..3a31898 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/VehicleApplication/Add/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/VehicleApplication/Add/index.js @@ -228,7 +228,28 @@ function Add(props) { ), }, { name: "vehicleTypeName", label: "车辆类型名称", onlyForLabel: true }, - { name: "licenceNo", label: "车牌号", rules: [{ pattern: LICENSE_PLATE_NUMBER, message: "请输入正确的车牌号" }] }, + { + name: "licenceNo", + label: "车牌号", + rules: [ + { pattern: LICENSE_PLATE_NUMBER, message: "请输入正确的车牌号" }, + { + validator: async (_, value) => { + if (value) { + const { data } = await props["vehicleApplyCheckLicenceNoBlack"]({ + licenceNo: value, + }); + return data.available ? Promise.resolve() : Promise.reject(new Error(data.availableMessage)); + } + else { + Promise.resolve(); + } + }, + validateTrigger: "onBlur", + }, + ], + formItemProps: { validateTrigger: ["onChange", "onBlur"] }, + }, { name: "attachmentFile", label: "车辆照片", span: 24, render: () }, { name: "drivingLicenseFile", label: "行驶证照片", span: 24, render: () }, { diff --git a/src/pages/Container/Supervision/EnclosedArea/Apply/Vehicle/Add/index.js b/src/pages/Container/Supervision/EnclosedArea/Apply/Vehicle/Add/index.js index 51b958d..c9e1cf2 100644 --- a/src/pages/Container/Supervision/EnclosedArea/Apply/Vehicle/Add/index.js +++ b/src/pages/Container/Supervision/EnclosedArea/Apply/Vehicle/Add/index.js @@ -373,7 +373,7 @@ function Add(props) { const { data } = await props["vehicleApplyCheckLicenceNo"]({ licenceNo: value, }); - return data.available ? Promise.resolve() : Promise.reject(new Error("车牌号已存在")); + return data.available ? Promise.resolve() : Promise.reject(new Error(data.availableMessage)); } else { Promise.resolve(); 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 fbd8401..11cb228 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js @@ -184,7 +184,7 @@ function Add(props) { licenceNo: value, id: query.id, }); - return data.available ? Promise.resolve() : Promise.reject(new Error("车牌号已存在")); + return data.available ? Promise.resolve() : Promise.reject(new Error(data.availableMessage)); } else { Promise.resolve(); 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 f8678f4..9b8c68f 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 @@ -10,7 +10,12 @@ 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 { NS_APPROVER_USER, NS_FIRST_LEVEL_DOOR_INFO, NS_TEMPORARY_VEHICLE } from "~/enumerate/namespace"; +import { + NS_APPROVER_USER, + NS_FIRST_LEVEL_DOOR_INFO, + NS_TEMPORARY_VEHICLE, + NS_VEHICLE_APPLY, +} from "~/enumerate/namespace"; function Add(props) { const [form] = FormBuilder.useForm(); @@ -73,7 +78,28 @@ function Add(props) { { name: "employeeVehicleUserName", label: "访问人姓名" }, { name: "lsUserPhone", label: "手机号", rules: [{ pattern: PHONE, message: "请输入正确的手机号" }] }, { name: "lsUserIdcard", label: "身份证号", rules: [{ pattern: ID_NUMBER, message: "请输入正确的身份证号" }] }, - { name: "licenceNo", label: "车牌号", rules: [{ pattern: LICENSE_PLATE_NUMBER, message: "请输入正确的车牌号" }] }, + { + name: "licenceNo", + label: "车牌号", + rules: [ + { pattern: LICENSE_PLATE_NUMBER, message: "请输入正确的车牌号" }, + { + validator: async (_, value) => { + if (value) { + const { data } = await props["vehicleApplyCheckLicenceNoBlack"]({ + licenceNo: value, + }); + return data.available ? Promise.resolve() : Promise.reject(new Error(data.availableMessage)); + } + else { + Promise.resolve(); + } + }, + validateTrigger: "onBlur", + }, + ], + formItemProps: { validateTrigger: ["onChange", "onBlur"] }, + }, { name: "licenceType", label: "车牌类型", @@ -219,4 +245,4 @@ function Add(props) { ); } -export default Connect([NS_TEMPORARY_VEHICLE, NS_APPROVER_USER, NS_FIRST_LEVEL_DOOR_INFO], true)(Add); +export default Connect([NS_TEMPORARY_VEHICLE, NS_APPROVER_USER, NS_FIRST_LEVEL_DOOR_INFO, NS_VEHICLE_APPLY], true)(Add);