From 7eabe843d32744351d1e2d25f312f2ca5db745c5 Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Thu, 26 Mar 2026 11:39:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=96=B9=E7=AB=AF=E4=B8=80?= =?UTF-8?q?=E7=BA=A7=E5=8F=A3=E9=97=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- router.md | 30 +-- src/api/personnelApplication/index.js | 10 +- src/api/personnelPermissionRecords/index.js | 4 +- src/api/vehicleApplication/index.js | 18 -- src/enumerate/constant/index.js | 2 + src/enumerate/namespace/index.js | 1 - .../PersonalVehicle/Add/index.js | 2 +- .../PersonalVehicle/List/index.js | 2 +- .../PersonalVehicle/View/index.js | 2 +- .../VehicleManagement/Add/index.js | 2 +- .../VehicleManagement/List/index.js | 2 +- .../VehicleManagement/View/index.js | 2 +- .../VehicleBlacklist/List/index.js | 2 +- .../VehiclesViolation/List/index.js | 2 +- .../PersonnelApplication/Add/index.js | 146 +++++++++++-- .../PersonnelApplication/List/index.js | 134 +++++++----- .../PersonnelApplicationRecords/List/index.js | 195 +----------------- .../PersonnelPermissionRecords/List/index.js | 24 +-- .../ShareVehicles/index.js | 2 +- .../TemporaryPersonnelRecords/List/index.js | 7 + .../TemporaryPersonnelRecords/View/index.js | 7 + .../TemporaryPersonnelRecords/index.js | 5 + .../TemporaryVehicleRecords/List/index.js | 7 + .../TemporaryVehicleRecords/View/index.js | 7 + .../TemporaryVehicleRecords/index.js | 5 + .../VehicleApplication/Add/index.js | 183 +++++++++++++--- .../VehicleApplication/List/index.js | 161 +++++++++------ .../VehicleApplicationRecords/List/index.js | 187 +---------------- .../PersonalVehicle/Add/index.js | 2 +- .../PersonalVehicle/View/index.js | 2 +- .../StockPersonnelAndVehicles/List/index.js | 2 +- .../TemporaryPersonnel/Add/index.js | 2 +- .../TemporaryVehicle/Add/index.js | 2 +- .../TemporaryVehicle/List/index.js | 13 +- 34 files changed, 563 insertions(+), 611 deletions(-) delete mode 100644 src/api/vehicleApplication/index.js create mode 100644 src/pages/Container/Stakeholder/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnelRecords/List/index.js create mode 100644 src/pages/Container/Stakeholder/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnelRecords/View/index.js create mode 100644 src/pages/Container/Stakeholder/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryPersonnelRecords/index.js create mode 100644 src/pages/Container/Stakeholder/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicleRecords/List/index.js create mode 100644 src/pages/Container/Stakeholder/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicleRecords/View/index.js create mode 100644 src/pages/Container/Stakeholder/FirstLevelDoor/PortEntryApproval/TemporaryVisitor/TemporaryVehicleRecords/index.js diff --git a/router.md b/router.md index 28afc1a..3c9b906 100644 --- a/router.md +++ b/router.md @@ -134,31 +134,35 @@ ### 相关方端 #### 一级口门管理 -- 门禁审批人管理 +- 门禁审批人管理 ## `/primeport/container/stakeholder/firstLevelDoor/approverUser` -- 进港审批管理/长期车辆审批管理/车辆审批 +- 进港审批管理/长期车辆审批管理/车辆审批 ## `/primeport/container/stakeholder/firstLevelDoor/portEntryApproval/longTermVehicleApproval/shareVehicles` -- 进港审批管理/临时访客管理/临时人员管理 +- 进港审批管理/临时访客管理/临时人员管理 ## `/primeport/container/stakeholder/firstLevelDoor/portEntryApproval/temporaryVisitor/temporaryPersonnel/list` -- 进港审批管理/临时访客管理/临时车辆管理 +- 进港审批管理/临时访客管理/临时人员管理记录 ## + `/primeport/container/stakeholder/firstLevelDoor/portEntryApproval/temporaryVisitor/temporaryPersonnelRecords/list` +- 进港审批管理/临时访客管理/临时车辆管理 ## `/primeport/container/stakeholder/firstLevelDoor/portEntryApproval/temporaryVisitor/temporaryVehicle/list` -- 进出港信息管理/人员及车辆管理 +- 进港审批管理/临时访客管理/临时车辆管理记录 ## + `/primeport/container/stakeholder/firstLevelDoor/portEntryApproval/temporaryVisitor/temporaryVehicleRecords/list` +- 进出港信息管理/人员及车辆管理 ## `/primeport/container/stakeholder/firstLevelDoor/importAndExportPortInfo/stockPersonnelAndVehicles/list` -- 进出港信息管理/个人车辆管理 +- 进出港信息管理/个人车辆管理 ## `/primeport/container/stakeholder/firstLevelDoor/importAndExportPortInfo/personalVehicle/list` -- 进出港信息管理/车辆违规管理/车辆违规管理 +- 进出港信息管理/车辆违规管理/车辆违规管理 ## `/primeport/container/stakeholder/firstLevelDoor/importAndExportPortInfo/vehiclesViolation/vehiclesViolation/list` -- 进出港信息管理/车辆违规管理/车辆黑名单管理 +- 进出港信息管理/车辆违规管理/车辆黑名单管理 ## `/primeport/container/stakeholder/firstLevelDoor/importAndExportPortInfo/vehiclesViolation/vehicleBlacklist/list` -- 人员权限记录 +- 人员权限记录 ## `/primeport/container/stakeholder/firstLevelDoor/personnelPermissionRecords/list` -- 人员申请 +- 人员申请 ## `/primeport/container/stakeholder/firstLevelDoor/personnelApplication/list` -- 车辆申请 +- 车辆申请 ## `/primeport/container/stakeholder/firstLevelDoor/vehicleApplication/list` -- 人员申请记录 +- 人员申请记录 ## `/primeport/container/stakeholder/firstLevelDoor/personnelApplicationRecords/list` -- 车辆申请记录 +- 车辆申请记录 ## `/primeport/container/stakeholder/firstLevelDoor/vehicleApplicationRecords/list` #### 封闭区域管理 diff --git a/src/api/personnelApplication/index.js b/src/api/personnelApplication/index.js index d9b6c09..68ceb7f 100644 --- a/src/api/personnelApplication/index.js +++ b/src/api/personnelApplication/index.js @@ -2,17 +2,13 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; export const personnelApplicationList = declareRequest( "personnelApplicationLoading", - `Post > @/primeport/`, + `Post > @/primeport/personApply/xgfPersonApplyList`, ); export const personnelApplicationInfo = declareRequest( "personnelApplicationLoading", - `Post > @/primeport/`, -); -export const personnelApplicationRejectReason = declareRequest( - "personnelApplicationLoading", - `Post > @/primeport/`, + `Get > /primeport/personApply/xgfPersonApplyInfoById/{id}`, ); export const personnelApplicationAdd = declareRequest( "personnelApplicationLoading", - `Post > @/primeport/`, + `Post > @/primeport/personApply/xgfPersonSave`, ); diff --git a/src/api/personnelPermissionRecords/index.js b/src/api/personnelPermissionRecords/index.js index fa077f3..c611f4b 100644 --- a/src/api/personnelPermissionRecords/index.js +++ b/src/api/personnelPermissionRecords/index.js @@ -2,9 +2,9 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; export const personnelPermissionRecordsList = declareRequest( "personnelPermissionRecordsLoading", - `Post > @/primeport/`, + `Post > @/primeport/personApply/xgfPersonPermissionsList`, ); export const personnelPermissionRecordsInfo = declareRequest( "personnelPermissionRecordsLoading", - `Post > @/primeport/`, + `Get > /primeport/personApply/xgfPersonApplyInfoById/{id}`, ); diff --git a/src/api/vehicleApplication/index.js b/src/api/vehicleApplication/index.js deleted file mode 100644 index 944e126..0000000 --- a/src/api/vehicleApplication/index.js +++ /dev/null @@ -1,18 +0,0 @@ -import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; - -export const vehicleApplicationList = declareRequest( - "vehicleApplicationLoading", - `Post > @/primeport/`, -); -export const vehicleApplicationInfo = declareRequest( - "vehicleApplicationLoading", - `Post > @/primeport/`, -); -export const vehicleApplicationRejectReason = declareRequest( - "vehicleApplicationLoading", - `Post > @/primeport/`, -); -export const vehicleApplicationAdd = declareRequest( - "vehicleApplicationLoading", - `Post > @/primeport/`, -); diff --git a/src/enumerate/constant/index.js b/src/enumerate/constant/index.js index b6371b4..1765475 100644 --- a/src/enumerate/constant/index.js +++ b/src/enumerate/constant/index.js @@ -41,6 +41,8 @@ export const VEHICLE_TYPE_ENUM = [ { bianma: "5", name: "相关方车辆" }, { bianma: "6", name: "临时车辆" }, { bianma: "7", name: "检查部门车辆" }, + { bianma: "8", name: "驻港单位员工车辆" }, + { bianma: "9", name: "驻港单位公车" }, ]; // 车辆审核状态 diff --git a/src/enumerate/namespace/index.js b/src/enumerate/namespace/index.js index 2158e19..c9798c9 100644 --- a/src/enumerate/namespace/index.js +++ b/src/enumerate/namespace/index.js @@ -19,7 +19,6 @@ export const NS_VEHICLES_VIOLATION = defineNamespace("vehiclesViolation"); export const NS_VEHICLE_BLACKLIST = defineNamespace("vehicleBlacklist"); export const NS_PERSONNEL_PERMISSION_RECORDS = defineNamespace("personnelPermissionRecords"); export const NS_PERSONNEL_APPLICATION = defineNamespace("personnelApplication"); -export const NS_VEHICLE_APPLICATION = defineNamespace("vehicleApplication"); export const NS_ENCLOSED_AREA = defineNamespace("enclosedArea"); export const NS_ENCLOSED_AREA_PERSONNEL_APPLY = defineNamespace("enclosedAreaPersonnelApply"); export const NS_ENCLOSED_AREA_VEHICLE_APPLY = defineNamespace("enclosedAreaVehicleApply"); diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js index 25fd8b6..6824d83 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add/index.js @@ -1,7 +1,7 @@ import AddPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/Add"; function Add(props) { - return (); + return (); } export default Add; diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/List/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/List/index.js index 14e680e..f3e4401 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/List/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/List/index.js @@ -1,7 +1,7 @@ import ListPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/List"; function List(props) { - return (); + return (); } export default List; diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/View/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/View/index.js index 5dae756..d51edb2 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/View/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/View/index.js @@ -1,7 +1,7 @@ import ViewPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/PersonalVehicle/View"; function View(props) { - return (); + return (); } export default View; diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/Add/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/Add/index.js index ebb7b67..ae50455 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/Add/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/Add/index.js @@ -1,7 +1,7 @@ import AddPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/Add"; function Add(props) { - return (); + return (); } export default Add; diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/List/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/List/index.js index ebab2b3..471c8fc 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/List/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/List/index.js @@ -1,7 +1,7 @@ import ListPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/List"; function List(props) { - return (); + return (); } export default List; diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/View/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/View/index.js index 9b74d78..4251eef 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/View/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/View/index.js @@ -1,7 +1,7 @@ import ViewPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/View"; function View(props) { - return (); + return (); } export default View; diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehicleBlacklist/List/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehicleBlacklist/List/index.js index 4c9efd1..d9a2e7d 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehicleBlacklist/List/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehicleBlacklist/List/index.js @@ -1,7 +1,7 @@ import ListPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehicleBlacklist/List"; function List(props) { - return (); + return (); } export default List; diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehiclesViolation/List/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehiclesViolation/List/index.js index a63ee73..ca7fa93 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehiclesViolation/List/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehiclesViolation/List/index.js @@ -1,7 +1,7 @@ import ListPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/VehiclesViolation/VehiclesViolation/List"; function List(props) { - return (); + return (); } export default List; diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/PersonnelApplication/Add/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/PersonnelApplication/Add/index.js index 4c81a15..27e9fb2 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/PersonnelApplication/Add/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/PersonnelApplication/Add/index.js @@ -6,26 +6,57 @@ import Page from "zy-react-library/components/Page"; import DictionarySelect from "zy-react-library/components/Select/Dictionary"; import Table from "zy-react-library/components/Table"; 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 { getLabelName } from "zy-react-library/utils"; import NeedToKnowModal from "~/components/NeedToKnowModal"; -import { NS_FIRST_LEVEL_DOOR_INFO, NS_PERSONNEL_APPLICATION } from "~/enumerate/namespace"; +import { + NS_APPROVER_USER, + NS_ENCLOSED_AREA_PERSONNEL_APPLY, + NS_FIRST_LEVEL_DOOR_INFO, + NS_PERSONNEL_APPLICATION, +} from "~/enumerate/namespace"; function Add(props) { const [form] = FormBuilder.useForm(); const gateLevelAuthArea = FormBuilder.useWatch("gateLevelAuthArea", form); + const { loading: uploadFileLoading, uploadFile } = useUploadFile(); const [personnelList, setPersonnelList] = useState([]); const [addPersonnelModalVisible, setAddPersonnelModalVisible] = useState(false); const [needToKnowModalVisible, setNeedToKnowModalVisible] = useState(false); const [firstLevelDoorInfoListAll, setFirstLevelDoorInfoListAll] = useState([]); + const [xgfProjectListAll, setXgfProjectListAll] = useState([]); + const [approvalUserListAll, setApprovalUserListAll] = useState([]); + const [xgfProjectUser, setXgfProjectUser] = useState([]); const signatureUrl = useRef(""); + const getXgfProjectListAll = async () => { + const { data } = await props["xgfProjectListAll"](); + setXgfProjectListAll(data); + }; + + const getApprovalUserListAll = async () => { + const { data } = await props["approvalUserListAll"]({ personnelPermissionFlag: 1 }); + setApprovalUserListAll(data); + }; + + const getXgfProjectUserGetPeopleProject = async (id) => { + const { data } = await props["xgfProjectUserGetPeopleProject"]({ id }); + setXgfProjectUser(data); + }; + const getFirstLevelDoorInfoListAll = async () => { const { data } = await props["firstLevelDoorInfoListAll"]({ mkmjLevel: 1, hgAuthArea: gateLevelAuthArea }); setFirstLevelDoorInfoListAll(data); }; + useEffect(() => { + getXgfProjectListAll(); + getApprovalUserListAll(); + }, []); + useEffect(() => { if (gateLevelAuthArea) { getFirstLevelDoorInfoListAll(); @@ -33,13 +64,34 @@ function Add(props) { }, [gateLevelAuthArea]); const onSubmit = async (values) => { - if (!values.todo8) { + 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 { success } = await props["personnelApplicationAdd"]({ ...values, gateLevelAuthArea: JSON.stringify({ area: values.area }), + visitStartTime: values.visitTime[0], + visitEndTime: values.visitTime[1], + personApplyList: personnelList.map(item => ({ + personCorpId: item.corpId, + personCorpName: item.corpName, + personDepartmentId: item.deptId, + personDepartmentName: item.deptName, + employeePersonUserId: item.userId, + employeePersonUserName: item.userName, + userFaceUrl: item.userFaceUrl, + userPhone: item.phone, + userCard: item.userCard, + ...item, + })), + informSignId, + personBelongType: 3, }); if (success) { message.success("操作成功"); @@ -52,12 +104,51 @@ function Add(props) { { + const item = xgfProjectListAll.find(i => i.id === value) || {}; + form.setFieldValue("projectName", item.projectName); + if (value) { + getXgfProjectUserGetPeopleProject(value); + } + else { + setXgfProjectUser([]); + } + }, + }, + }, + { name: "projectName", label: "项目名称", onlyForLabel: true }, + { + name: "auditUserId", + label: "审核人员", + render: FORM_ITEM_RENDER_ENUM.SELECT, + items: approvalUserListAll, + itemsField: { labelKey: item => `${item.userName}(${item.corpName})(${item.deptName})`, valueKey: "userId" }, + componentProps: { + onChange: (value) => { + const item = approvalUserListAll.find(item => item.userId === value); + form.setFieldValue("auditUserName", item.userName); + form.setFieldValue("auditCorpId", item.corpId); + form.setFieldValue("auditCorpName", item.corpName); + form.setFieldValue("auditDeptId", item.deptId); + form.setFieldValue("auditDeptName", item.deptName); + }, + }, + }, + { name: "auditUserName", label: "审核人员名称", onlyForLabel: true }, + { name: "auditCorpId", label: "审核企业ID", onlyForLabel: true }, + { name: "auditCorpName", label: "审核企业名称", onlyForLabel: true }, + { name: "auditDeptId", label: "审核部门ID", onlyForLabel: true }, + { name: "auditDeptName", label: "审核部门名称", onlyForLabel: true }, + { name: "visitTime", label: "时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE }, { name: "gateLevelAuthArea", label: "访问港区", @@ -65,7 +156,7 @@ function Add(props) { { - const area = { value: option.dictLabel, bianma: option.dictValue }; + const area = [{ value: option.dictLabel, bianma: option.dictValue }]; form.setFieldValue("area", area); }} onChange={() => { @@ -102,7 +193,12 @@ function Add(props) {