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) {