From 8de6f12667039e3993706c99992d151cf391a0f5 Mon Sep 17 00:00:00 2001
From: LiuJiaNan <15703339975@163.com>
Date: Mon, 23 Mar 2026 17:31:29 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E9=97=AD=E5=8C=BA=E5=9F=9F=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=EF=BC=9A=E5=B0=81=E9=97=AD=E5=8C=BA=E5=9F=9F=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E3=80=81=E5=B0=81=E9=97=AD=E5=8C=BA=E5=9F=9F=E5=8F=A3?=
=?UTF-8?q?=E9=97=A8=E7=AE=A1=E7=90=86=E3=80=81=E4=BA=BA=E5=91=98=E5=B0=81?=
=?UTF-8?q?=E9=97=AD=E5=8C=BA=E5=9F=9F=E7=94=B3=E8=AF=B7=E3=80=81=E8=BD=A6?=
=?UTF-8?q?=E8=BE=86=E5=B0=81=E9=97=AD=E5=8C=BA=E5=9F=9F=E7=94=B3=E8=AF=B7?=
=?UTF-8?q?=E3=80=81=E4=BA=BA=E5=91=98=E5=B0=81=E9=97=AD=E5=8C=BA=E5=9F=9F?=
=?UTF-8?q?=E7=94=B3=E8=AF=B7=E8=AE=B0=E5=BD=95=E3=80=81=E8=BD=A6=E8=BE=86?=
=?UTF-8?q?=E5=B0=81=E9=97=AD=E5=8C=BA=E5=9F=9F=E7=94=B3=E8=AF=B7=E8=AE=B0?=
=?UTF-8?q?=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 2 +-
router.md | 30 +-
src/api/enclosedArea/index.js | 2 +-
src/api/enclosedAreaPersonnelApply/index.js | 20 +-
src/api/enclosedAreaVehicleApply/index.js | 16 +-
src/api/firstLevelDoorInfo/index.js | 4 +
.../EnclosedArea/Apply/Personnel/Add/index.js | 2 +-
.../Apply/Personnel/List/index.js | 2 +-
.../Apply/PersonnelRecords/List/index.js | 2 +-
.../EnclosedArea/Apply/Vehicle/List/index.js | 2 +-
.../Apply/VehicleRecords/List/index.js | 2 +-
.../EnclosedArea/Apply/Personnel/Add/index.js | 162 +++++++--
.../Apply/Personnel/List/index.js | 49 ++-
.../Apply/Personnel/View/index.js | 68 ++--
.../Apply/PersonnelRecords/List/index.js | 93 +++---
.../EnclosedArea/Apply/Vehicle/Add/index.js | 310 ++++++++++++++----
.../EnclosedArea/Apply/Vehicle/List/index.js | 64 +++-
.../EnclosedArea/Apply/Vehicle/View/index.js | 43 ++-
.../Apply/VehicleRecords/List/index.js | 86 +++--
.../EnclosedAreaDoor/List/index.js | 176 +++++++---
.../List/index.js | 4 +-
.../PersonnelEntryAndExitRecords/index.js | 3 +-
.../VehicleEntryAndExitRecords/index.js | 3 +-
23 files changed, 810 insertions(+), 335 deletions(-)
diff --git a/package.json b/package.json
index 9cf651c..182f8dd 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.6"
+ "zy-react-library": "^1.2.8"
},
"devDependencies": {
"@antfu/eslint-config": "^5.4.1",
diff --git a/router.md b/router.md
index 1980d21..819289c 100644
--- a/router.md
+++ b/router.md
@@ -46,15 +46,15 @@
#### 封闭区域管理
- 封闭区域管理/封闭区域管理 ##
`/primeport/container/supervision/enclosedArea/areaAndEntrance/enclosedArea/list`
-- 封闭区域管理/封闭区域口门管理
+- 封闭区域管理/封闭区域口门管理 ##
`/primeport/container/supervision/enclosedArea/areaAndEntrance/enclosedAreaDoor/list`
-- 封闭区域申请/人员封闭区域申请
+- 封闭区域申请/人员封闭区域申请 ##
`/primeport/container/supervision/enclosedArea/apply/personnel/list`
-- 封闭区域申请/车辆封闭区域申请
+- 封闭区域申请/车辆封闭区域申请 ##
`/primeport/container/supervision/enclosedArea/apply/vehicle/list`
-- 封闭区域申请/人员封闭区域申请记录
+- 封闭区域申请/人员封闭区域申请记录 #
`/primeport/container/supervision/enclosedArea/apply/personnelRecords/list`
-- 封闭区域申请/车辆封闭区域申请记录
+- 封闭区域申请/车辆封闭区域申请记录 #
`/primeport/container/supervision/enclosedArea/apply/vehicleRecords/list`
- 区域人员及车辆统计
`/primeport/container/supervision/enclosedArea/personnelAndVehicleStatistics/list`
@@ -88,17 +88,17 @@
`/primeport/container/enterprise/firstLevelDoor/importAndExportPortInfo/vehiclesViolation/vehicleBlacklist/list`
#### 封闭区域管理
-- 封闭区域管理/封闭区域管理
+- 封闭区域管理/封闭区域管理 ##
`/primeport/container/enterprise/enclosedArea/areaAndEntrance/enclosedArea/list`
-- 封闭区域管理/封闭区域口门管理
+- 封闭区域管理/封闭区域口门管理 ##
`/primeport/container/enterprise/enclosedArea/areaAndEntrance/enclosedAreaDoor/list`
-- 封闭区域申请/人员封闭区域申请
+- 封闭区域申请/人员封闭区域申请 ##
`/primeport/container/enterprise/enclosedArea/apply/personnel/list`
-- 封闭区域申请/车辆封闭区域申请
+- 封闭区域申请/车辆封闭区域申请 ##
`/primeport/container/enterprise/enclosedArea/apply/vehicle/list`
-- 封闭区域申请/人员封闭区域申请记录
+- 封闭区域申请/人员封闭区域申请记录 ##
`/primeport/container/enterprise/enclosedArea/apply/personnelRecords/list`
-- 封闭区域申请/车辆封闭区域申请记录
+- 封闭区域申请/车辆封闭区域申请记录 ##
`/primeport/container/enterprise/enclosedArea/apply/vehicleRecords/list`
- 区域人员及车辆统计
`/primeport/container/enterprise/enclosedArea/personnelAndVehicleStatistics/list`
@@ -152,13 +152,13 @@
`/primeport/container/stakeholder/firstLevelDoor/vehicleApplicationRecords/list`
#### 封闭区域管理
-- 封闭区域申请/人员封闭区域申请
+- 封闭区域申请/人员封闭区域申请 ##
`/primeport/container/stakeholder/enclosedArea/apply/personnel/list`
-- 封闭区域申请/车辆封闭区域申请
+- 封闭区域申请/车辆封闭区域申请 ##
`/primeport/container/stakeholder/enclosedArea/apply/vehicle/list`
-- 封闭区域申请/人员封闭区域申请记录
+- 封闭区域申请/人员封闭区域申请记录 ##
`/primeport/container/stakeholder/enclosedArea/apply/personnelRecords/list`
-- 封闭区域申请/车辆封闭区域申请记录
+- 封闭区域申请/车辆封闭区域申请记录 ##
`/primeport/container/stakeholder/enclosedArea/apply/vehicleRecords/list`
diff --git a/src/api/enclosedArea/index.js b/src/api/enclosedArea/index.js
index eaf92bf..08d573f 100644
--- a/src/api/enclosedArea/index.js
+++ b/src/api/enclosedArea/index.js
@@ -10,7 +10,7 @@ export const enclosedAreaDetailList = declareRequest(
);
export const enclosedAreaDetailListTree = declareRequest(
"enclosedAreaLoading",
- `Post > @/primeport/`,
+ `Get > /primeport/closedArea/listTree`,
);
export const enclosedAreaDetailDelete = declareRequest(
"enclosedAreaLoading",
diff --git a/src/api/enclosedAreaPersonnelApply/index.js b/src/api/enclosedAreaPersonnelApply/index.js
index d744abe..32b31ab 100644
--- a/src/api/enclosedAreaPersonnelApply/index.js
+++ b/src/api/enclosedAreaPersonnelApply/index.js
@@ -2,29 +2,29 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
export const enclosedAreaPersonnelApplyList = declareRequest(
"enclosedAreaPersonnelApplyLoading",
- `Post > @/primeport/`,
+ `Post > @/primeport/closedAreaPersonApply/pendingApprovalRecordList`,
);
export const enclosedAreaPersonnelApplyInfo = declareRequest(
"enclosedAreaPersonnelApplyLoading",
- `Post > @/primeport/`,
+ `Get > /primeport/closedAreaPersonApply/{id}`,
);
export const enclosedAreaPersonnelApplyEntourageList = declareRequest(
"enclosedAreaPersonnelApplyLoading",
- `Post > @/primeport/`,
+ `Post > @/primeport/closedAreaPersonApply/getCorpUserList`,
);
export const enclosedAreaPersonnelApplySave = declareRequest(
"enclosedAreaPersonnelApplyLoading",
- `Post > @/primeport/`,
-);
-export const enclosedAreaPersonnelApplyRecordsList = declareRequest(
- "enclosedAreaPersonnelApplyLoading",
- `Post > @/primeport/`,
+ `Post > @/primeport/closedAreaPersonApply/save`,
);
export const enclosedAreaPersonnelApplyRecordsAccessRecordsList = declareRequest(
"enclosedAreaPersonnelApplyLoading",
`Post > @/primeport/`,
);
-export const enclosedAreaPersonnelApplyRecordsRejectReason = declareRequest(
+export const xgfProjectListAll = declareRequest(
"enclosedAreaPersonnelApplyLoading",
- `Post > @/primeport/`,
+ `Get > /xgfManager/project/listAllPassedBySelfCorp`,
+);
+export const xgfProjectUserGetPeopleProject = declareRequest(
+ "enclosedAreaPersonnelApplyLoading",
+ `Get > /xgfManager/projectUser/getPeopleinProject/{id}`,
);
diff --git a/src/api/enclosedAreaVehicleApply/index.js b/src/api/enclosedAreaVehicleApply/index.js
index e0b0bc0..c4636a5 100644
--- a/src/api/enclosedAreaVehicleApply/index.js
+++ b/src/api/enclosedAreaVehicleApply/index.js
@@ -2,29 +2,21 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
export const enclosedAreaVehicleApplyList = declareRequest(
"enclosedAreaVehicleApplyLoading",
- `Post > @/primeport/`,
+ `Post > @/primeport/closedAreaCarApply/list`,
);
export const enclosedAreaVehicleApplyInfo = declareRequest(
"enclosedAreaVehicleApplyLoading",
- `Post > @/primeport/`,
+ `Get > /primeport/closedAreaCarApply/{id}`,
);
export const enclosedAreaVehicleApplyVehicleList = declareRequest(
"enclosedAreaVehicleApplyLoading",
- `Post > @/primeport/`,
+ `Get > /primeport/vehicleApply/getCarByVehicleBelongType`,
);
export const enclosedAreaVehicleApplySave = declareRequest(
"enclosedAreaVehicleApplyLoading",
- `Post > @/primeport/`,
-);
-export const enclosedAreaVehicleApplyRecordsList = declareRequest(
- "enclosedAreaVehicleApplyLoading",
- `Post > @/primeport/`,
+ `Post > @/primeport/closedAreaCarApply/save`,
);
export const enclosedAreaVehicleApplyRecordsAccessRecordsList = declareRequest(
"enclosedAreaVehicleApplyLoading",
`Post > @/primeport/`,
);
-export const enclosedAreaVehicleApplyRecordsRejectReason = declareRequest(
- "enclosedAreaVehicleApplyLoading",
- `Post > @/primeport/`,
-);
diff --git a/src/api/firstLevelDoorInfo/index.js b/src/api/firstLevelDoorInfo/index.js
index 7d516d9..434bb8f 100644
--- a/src/api/firstLevelDoorInfo/index.js
+++ b/src/api/firstLevelDoorInfo/index.js
@@ -20,6 +20,10 @@ export const firstLevelDoorInfoDelete = declareRequest(
"firstLevelDoorInfoLoading",
`Delete > @/primeport/mkmj/{id}`,
);
+export const firstLevelDoorInfoEditStatus = declareRequest(
+ "firstLevelDoorInfoLoading",
+ `Put > @/primeport/mkmj/editStatus`,
+);
export const firstLevelDoorInfoInfo = declareRequest(
"firstLevelDoorInfoLoading",
`Get > /primeport/mkmj/{id}`,
diff --git a/src/pages/Container/Enterprise/EnclosedArea/Apply/Personnel/Add/index.js b/src/pages/Container/Enterprise/EnclosedArea/Apply/Personnel/Add/index.js
index dc92ccd..b71fdf4 100644
--- a/src/pages/Container/Enterprise/EnclosedArea/Apply/Personnel/Add/index.js
+++ b/src/pages/Container/Enterprise/EnclosedArea/Apply/Personnel/Add/index.js
@@ -1,7 +1,7 @@
import AddPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Personnel/Add";
function Add(props) {
- return ();
+ return ();
}
export default Add;
diff --git a/src/pages/Container/Enterprise/EnclosedArea/Apply/Personnel/List/index.js b/src/pages/Container/Enterprise/EnclosedArea/Apply/Personnel/List/index.js
index f16b510..5ba3114 100644
--- a/src/pages/Container/Enterprise/EnclosedArea/Apply/Personnel/List/index.js
+++ b/src/pages/Container/Enterprise/EnclosedArea/Apply/Personnel/List/index.js
@@ -1,7 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Personnel/List";
function List(props) {
- return ();
+ return ();
}
export default List;
diff --git a/src/pages/Container/Enterprise/EnclosedArea/Apply/PersonnelRecords/List/index.js b/src/pages/Container/Enterprise/EnclosedArea/Apply/PersonnelRecords/List/index.js
index 591eda3..2936525 100644
--- a/src/pages/Container/Enterprise/EnclosedArea/Apply/PersonnelRecords/List/index.js
+++ b/src/pages/Container/Enterprise/EnclosedArea/Apply/PersonnelRecords/List/index.js
@@ -1,7 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/Apply/PersonnelRecords/List";
function List(props) {
- return ();
+ return ();
}
export default List;
diff --git a/src/pages/Container/Enterprise/EnclosedArea/Apply/Vehicle/List/index.js b/src/pages/Container/Enterprise/EnclosedArea/Apply/Vehicle/List/index.js
index 88a6220..399a5d8 100644
--- a/src/pages/Container/Enterprise/EnclosedArea/Apply/Vehicle/List/index.js
+++ b/src/pages/Container/Enterprise/EnclosedArea/Apply/Vehicle/List/index.js
@@ -1,7 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Vehicle/List";
function List(props) {
- return ();
+ return ();
}
export default List;
diff --git a/src/pages/Container/Enterprise/EnclosedArea/Apply/VehicleRecords/List/index.js b/src/pages/Container/Enterprise/EnclosedArea/Apply/VehicleRecords/List/index.js
index 93040a7..5271b08 100644
--- a/src/pages/Container/Enterprise/EnclosedArea/Apply/VehicleRecords/List/index.js
+++ b/src/pages/Container/Enterprise/EnclosedArea/Apply/VehicleRecords/List/index.js
@@ -1,7 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/Apply/VehicleRecords/List";
function List(props) {
- return ();
+ return ();
}
export default List;
diff --git a/src/pages/Container/Supervision/EnclosedArea/Apply/Personnel/Add/index.js b/src/pages/Container/Supervision/EnclosedArea/Apply/Personnel/Add/index.js
index 908557e..c4a3724 100644
--- a/src/pages/Container/Supervision/EnclosedArea/Apply/Personnel/Add/index.js
+++ b/src/pages/Container/Supervision/EnclosedArea/Apply/Personnel/Add/index.js
@@ -1,6 +1,6 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime";
-import { Button, Form, message, Modal } from "antd";
-import { useRef, useState } from "react";
+import { Button, message, Modal } from "antd";
+import { useEffect, useRef, useState } from "react";
import FormBuilder from "zy-react-library/components/FormBuilder";
import Page from "zy-react-library/components/Page";
import Search from "zy-react-library/components/Search";
@@ -8,31 +8,69 @@ import BasicSelectTree from "zy-react-library/components/SelectTree/Basic";
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
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 useTable from "zy-react-library/hooks/useTable";
+import useUploadFile from "zy-react-library/hooks/useUploadFile";
+import { getLabelName } from "zy-react-library/utils";
import NeedToKnowModal from "~/components/NeedToKnowModal";
-import { NS_ENCLOSED_AREA, NS_ENCLOSED_AREA_PERSONNEL_APPLY } from "~/enumerate/namespace";
+import { NS_APPROVER_USER, NS_ENCLOSED_AREA, NS_ENCLOSED_AREA_PERSONNEL_APPLY } from "~/enumerate/namespace";
function Add(props) {
const [enclosedAreaList, setEnclosedAreaList] = useState([]);
const [entourageList, setEntourageList] = useState([]);
const [selectEntourageModalVisible, setSelectEntourageModalVisible] = useState(false);
const [needToKnowModalVisible, setNeedToKnowModalVisible] = useState(false);
+ const [approvalUserListAll, setApprovalUserListAll] = useState([]);
+ const [xgfProjectListAll, setXgfProjectListAll] = useState([]);
const signatureUrl = useRef("");
- const [form] = Form.useForm();
+ const [form] = FormBuilder.useForm();
+ const { loading: uploadFileLoading, uploadFile } = useUploadFile();
- const getEnclosedAreaList = async (id) => {
- const { data } = await props["enclosedAreaDetailListTree"]({ id });
+ const getApprovalUserListAll = async () => {
+ const { data } = await props["approvalUserListAll"]({ personnelPermissionFlag: 1 });
+ setApprovalUserListAll(data);
+ };
+
+ const getEnclosedAreaList = async (jurisdictionalCorpId) => {
+ const { data } = await props["enclosedAreaDetailListTree"]({ jurisdictionalCorpId });
setEnclosedAreaList(data);
};
+ const getXgfProjectListAll = async () => {
+ const { data } = await props["xgfProjectListAll"]();
+ setXgfProjectListAll(data);
+ };
+
+ useEffect(() => {
+ getApprovalUserListAll();
+ props.entrance === "stakeholder" && getXgfProjectListAll();
+ }, []);
+
const onSubmit = async (values) => {
- if (!values.todo8) {
+ if (!values.informSignFile) {
message.warning("请勾选《安全进港须知》并签字");
return;
}
- const { success } = await props["enclosedAreaPersonnelApplySave"]({ ...values });
+ let personBelongType = 1;
+ if (props.entrance === "enterprise")
+ personBelongType = 2;
+ if (props.entrance === "stakeholder")
+ personBelongType = 3;
+ const { id: informSignId } = await uploadFile({
+ files: [{ originFileObj: values.informSignFile }],
+ single: false,
+ params: { foreignKey: "", type: UPLOAD_FILE_TYPE_ENUM[609] },
+ });
+ const { success } = await props["enclosedAreaPersonnelApplySave"]({
+ ...values,
+ visitStartTime: values.visitTime[0],
+ visitEndTime: values.visitTime[1],
+ personBelongType,
+ informSignId,
+ entourage: JSON.stringify(entourageList),
+ });
if (success) {
message.success("操作成功");
props.history.goBack();
@@ -44,18 +82,27 @@ function Add(props) {
{
+ form.setFieldValue("projectName", getLabelName({ list: xgfProjectListAll, status: value, idKey: "id", nameKey: "projectName" }));
+ setEntourageList([]);
+ },
+ },
},
+ { name: "projectName", label: "项目名称", onlyForLabel: true },
{
- name: "todo1",
+ name: "jurisdictionalCorpId",
label: "区域管辖单位",
render: (
{
getEnclosedAreaList(value);
+ form.setFieldValue("closedAreaName", "");
}}
+ onGetLabel={label => form.setFieldValue("jurisdictionalCorpName", label)}
/>
),
},
+ { name: "jurisdictionalCorpName", label: "区域管辖单位名称", onlyForLabel: true },
{
- name: "todo2",
+ name: "closedAreaId",
label: "封闭区域",
- render: (),
+ render: (
+ form.setFieldValue("closedAreaName", label)}
+ nameKey="closedAreaName"
+ />
+ ),
},
- { name: "todo4", label: "审核人员", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [] },
+ { name: "closedAreaName", label: "封闭区域名称", onlyForLabel: true },
{
- name: "todo5",
+ name: "auditPersonUserId",
+ 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("auditPersonUserName", item.userName);
+ form.setFieldValue("auditPersonCorpId", item.corpId);
+ form.setFieldValue("auditPersonCorpName", item.corpName);
+ form.setFieldValue("auditPersonDepartmentId", item.deptId);
+ form.setFieldValue("auditPersonDepartmentName", item.deptName);
+ },
+ },
+ },
+ { name: "auditPersonUserName", label: "审核人员名称", onlyForLabel: true },
+ { name: "auditPersonCorpId", label: "审核企业ID", onlyForLabel: true },
+ { name: "auditPersonCorpName", label: "审核企业名称", onlyForLabel: true },
+ { name: "auditPersonDepartmentId", label: "审核部门ID", onlyForLabel: true },
+ { name: "auditPersonDepartmentName", label: "审核部门名称", onlyForLabel: true },
+ {
+ name: "visitTime",
label: "申请时间范围",
render: FORM_ITEM_RENDER_ENUM.DATE_RANGE,
componentProps: { disabled: props.entrance === "stakeholder" },
@@ -99,6 +178,10 @@ function Add(props) {