From b137834fba86d97713625c02161c1aa32df0be70 Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Thu, 12 Mar 2026 09:06:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E7=A6=81=E5=AE=A1=E6=89=B9=E4=BA=BA?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=81=E4=B8=80=E7=BA=A7=E5=8F=A3=E9=97=A8?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=AE=A1=E7=90=86=E3=80=81=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E8=BD=A6=E8=BE=86=E7=AE=A1=E7=90=86=E3=80=81=E8=82=A1=E4=BB=BD?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=E8=BD=A6=E8=BE=86=E7=AE=A1=E7=90=86=E3=80=81?= =?UTF-8?q?=E8=82=A1=E4=BB=BD=E8=BD=A6=E8=BE=86=E5=AE=A1=E6=89=B9=E3=80=81?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=96=B9=E8=BD=A6=E8=BE=86=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/api/approverUser/index.js | 7 +- src/api/firstLevelDoorInfo/index.js | 42 +- src/api/personalVehicle/index.js | 22 - src/api/relatedVehicles/index.js | 18 - src/api/shareVehicles/index.js | 14 - src/api/stockVehicles/index.js | 26 -- src/api/vehicleApply/index.js | 34 ++ src/api/vehicleAudit/index.js | 22 + src/enumerate/constant/index.js | 65 ++- src/enumerate/namespace/index.js | 6 +- .../PersonnelApplication/Apply/index.js | 2 +- .../PersonnelApplication/Add/index.js | 2 +- .../VehicleApplication/Add/index.js | 2 +- .../EnclosedAreaDoor/List/index.js | 18 +- .../FirstLevelDoor/ApproverUser/index.js | 53 ++- .../FirstLevelDoorInfo/Camera/List/index.js | 40 +- .../Channel/FareGate/index.js | 87 ++-- .../FirstLevelDoorInfo/Channel/List/index.js | 72 +++- .../FirstLevelDoorInfo/List/index.js | 121 +++--- .../VehicleManagement/List/index.js | 2 +- .../PersonalVehicle/Add/index.js | 194 +++++++-- .../PersonalVehicle/List/index.js | 56 +-- .../PersonalVehicle/View/index.js | 57 ++- .../StockPersonnelAndVehicles/List/index.js | 2 +- .../VehicleManagement/Add/index.js | 2 +- .../VehicleManagement/List/index.js | 2 +- .../VehicleManagement/VehicleRecords/index.js | 2 +- .../StockVehicles/Add/index.js | 117 +----- .../StockVehicles/List/index.js | 95 +++-- .../StockVehicles/VehicleRecords/index.js | 8 +- .../StockVehicles/View/index.js | 56 +-- .../RelatedVehicles/index.js | 135 +++--- .../ShareVehicles/index.js | 390 ++++++++++-------- .../TemporaryPersonnel/Add/index.js | 2 +- .../TemporaryVehicle/Add/index.js | 2 +- 36 files changed, 990 insertions(+), 787 deletions(-) delete mode 100644 src/api/personalVehicle/index.js delete mode 100644 src/api/relatedVehicles/index.js delete mode 100644 src/api/shareVehicles/index.js delete mode 100644 src/api/stockVehicles/index.js create mode 100644 src/api/vehicleApply/index.js create mode 100644 src/api/vehicleAudit/index.js diff --git a/package.json b/package.json index cb74e56..d408f41 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.1.45" + "zy-react-library": "^1.2.4" }, "devDependencies": { "@antfu/eslint-config": "^5.4.1", diff --git a/src/api/approverUser/index.js b/src/api/approverUser/index.js index a759ac0..40ab66c 100644 --- a/src/api/approverUser/index.js +++ b/src/api/approverUser/index.js @@ -2,7 +2,12 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; export const approvalUserList = declareRequest( "approvalUserLoading", - `Get > /primeport/mkmjApprovalUser/list`, + `Post > @/primeport/mkmjApprovalUser/list`, +); + +export const approvalUserListAll = declareRequest( + "approvalUserLoading", + `Get > /primeport/mkmjApprovalUser/listAll`, ); export const approvalUserDelete = declareRequest( diff --git a/src/api/firstLevelDoorInfo/index.js b/src/api/firstLevelDoorInfo/index.js index 2d5d59a..e92f70a 100644 --- a/src/api/firstLevelDoorInfo/index.js +++ b/src/api/firstLevelDoorInfo/index.js @@ -2,43 +2,47 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; export const firstLevelDoorInfoList = declareRequest( "firstLevelDoorInfoLoading", - `Post > @/primeport/mkmjArea/list`, + `Post > @/primeport/mkmj/list`, ); export const firstLevelDoorInfoAdd = declareRequest( "firstLevelDoorInfoLoading", - `Post > @/primeport/mkmjArea/save`, + `Post > @/primeport/mkmj/save`, ); export const firstLevelDoorInfoEdit = declareRequest( "firstLevelDoorInfoLoading", - `Put > @/primeport/mkmjArea/edit`, + `Put > @/primeport/mkmj/edit`, ); export const firstLevelDoorInfoDelete = declareRequest( "firstLevelDoorInfoLoading", - `Delete > @/primeport/mkmjArea/{id}`, + `Delete > @/primeport/mkmj/{id}`, ); export const firstLevelDoorInfoInfo = declareRequest( "firstLevelDoorInfoLoading", - `Get > /primeport/mkmjArea/{id}`, + `Get > /primeport/mkmj/{id}`, +); +export const firstLevelDoorInfoCheckName = declareRequest( + "firstLevelDoorInfoLoading", + `Get > /primeport/mkmj/check-name`, ); export const firstLevelDoorInfoCameraList = declareRequest( "firstLevelDoorInfoCameraLoading", - `Post > @/primeport/`, + `Post > @/primeport/video/list`, ); export const firstLevelDoorInfoCameraDelete = declareRequest( "firstLevelDoorInfoCameraLoading", - `Delete > @/primeport/`, + `Delete > @/primeport/video/{id}`, ); export const firstLevelDoorInfoCameraAdd = declareRequest( "firstLevelDoorInfoCameraLoading", - `Post > @/primeport/`, + `Post > @/primeport/video/save`, ); export const firstLevelDoorInfoCameraEdit = declareRequest( "firstLevelDoorInfoCameraLoading", - `Put > @/primeport/`, + `Put > @/primeport/video/edit`, ); export const firstLevelDoorInfoCameraInfo = declareRequest( "firstLevelDoorInfoCameraLoading", - `Get > /primeport/`, + `Get > /primeport/video/{id}`, ); export const firstLevelDoorInfoCameraGetRTSPUrl = declareRequest( "firstLevelDoorInfoCameraLoading", @@ -75,23 +79,31 @@ export const firstLevelDoorInfoChannelInfo = declareRequest( "firstLevelDoorInfoChannelLoading", `Get > /primeport/mkmjPassage/{id}`, ); +export const firstLevelDoorInfoChannelCheckName = declareRequest( + "firstLevelDoorInfoChannelLoading", + `Get > /primeport/mkmjPassage/check-name`, +); export const firstLevelDoorInfoFareGateList = declareRequest( "firstLevelDoorInfoFareGateLoading", - `Post > @/primeport/mkmjAreaGate/list`, + `Post > @/primeport/mkmjGate/list`, ); export const firstLevelDoorInfoFareGateDelete = declareRequest( "firstLevelDoorInfoFareGateLoading", - `Delete > @/primeport/mkmjAreaGate/{id}`, + `Delete > @/primeport/mkmjGate/{id}`, ); export const firstLevelDoorInfoFareGateAdd = declareRequest( "firstLevelDoorInfoFareGateLoading", - `Post > @/primeport/mkmjAreaGate/save`, + `Post > @/primeport/mkmjGate/save`, ); export const firstLevelDoorInfoFareGateEdit = declareRequest( "firstLevelDoorInfoFareGateLoading", - `Put > @/primeport/mkmjAreaGate/edit`, + `Put > @/primeport/mkmjGate/edit`, ); export const firstLevelDoorInfoFareGateInfo = declareRequest( "firstLevelDoorInfoFareGateLoading", - `Get > /primeport/mkmjAreaGate/{id}`, + `Get > /primeport/mkmjGate/{id}`, +); +export const firstLevelDoorInfoFareGateCheckName = declareRequest( + "firstLevelDoorInfoFareGateLoading", + `Get > /primeport/mkmjGate/check-name`, ); diff --git a/src/api/personalVehicle/index.js b/src/api/personalVehicle/index.js deleted file mode 100644 index e81413a..0000000 --- a/src/api/personalVehicle/index.js +++ /dev/null @@ -1,22 +0,0 @@ -import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; - -export const personalVehicleList = declareRequest( - "personalVehicleLoading", - `Post > @/primeport/`, -); -export const personalVehicleDelete = declareRequest( - "personalVehicleLoading", - `Post > @/primeport/`, -); -export const personalVehicleInfo = declareRequest( - "personalVehicleLoading", - `Post > @/primeport/`, -); -export const personalVehicleAdd = declareRequest( - "personalVehicleLoading", - `Post > @/primeport/`, -); -export const personalVehicleUpdate = declareRequest( - "personalVehicleLoading", - `Post > @/primeport/`, -); diff --git a/src/api/relatedVehicles/index.js b/src/api/relatedVehicles/index.js deleted file mode 100644 index 50e5c87..0000000 --- a/src/api/relatedVehicles/index.js +++ /dev/null @@ -1,18 +0,0 @@ -import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; - -export const relatedVehiclesList = declareRequest( - "relatedVehiclesLoading", - `Post > @/primeport/`, -); -export const relatedVehiclesRejectReason = declareRequest( - "relatedVehiclesLoading", - `Post > @/primeport/`, -); -export const relatedVehiclesApproval = declareRequest( - "relatedVehiclesLoading", - `Post > @/primeport/`, -); -export const relatedVehiclesInfo = declareRequest( - "relatedVehiclesLoading", - `Post > @/primeport/`, -); diff --git a/src/api/shareVehicles/index.js b/src/api/shareVehicles/index.js deleted file mode 100644 index b10d62b..0000000 --- a/src/api/shareVehicles/index.js +++ /dev/null @@ -1,14 +0,0 @@ -import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; - -export const shareVehiclesList = declareRequest( - "shareVehiclesLoading", - `Post > @/primeport/`, -); -export const shareVehiclesInfo = declareRequest( - "shareVehiclesLoading", - `Post > @/primeport/`, -); -export const shareVehiclesApproval = declareRequest( - "shareVehiclesLoading", - `Post > @/primeport/`, -); diff --git a/src/api/stockVehicles/index.js b/src/api/stockVehicles/index.js deleted file mode 100644 index 086e994..0000000 --- a/src/api/stockVehicles/index.js +++ /dev/null @@ -1,26 +0,0 @@ -import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; - -export const stockVehiclesList = declareRequest( - "stockVehiclesLoading", - `Post > @/primeport/`, -); -export const stockVehiclesUpdateStatus = declareRequest( - "stockVehiclesLoading", - `Post > @/primeport/`, -); -export const stockVehiclesInfo = declareRequest( - "stockVehiclesLoading", - `Post > @/primeport/`, -); -export const stockVehiclesAdd = declareRequest( - "stockVehiclesLoading", - `Post > @/primeport/`, -); -export const stockVehiclesUpdate = declareRequest( - "stockVehiclesLoading", - `Post > @/primeport/`, -); -export const stockVehiclesVehicleRecordsList = declareRequest( - "stockVehiclesLoading", - `Post > @/primeport/`, -); diff --git a/src/api/vehicleApply/index.js b/src/api/vehicleApply/index.js new file mode 100644 index 0000000..938e1b3 --- /dev/null +++ b/src/api/vehicleApply/index.js @@ -0,0 +1,34 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const vehicleApplyList = declareRequest( + "vehicleApplyLoading", + `Post > @/primeport/vehicleApply/list`, +); +export const vehicleApplyDelete = declareRequest( + "vehicleApplyLoading", + `Delete > @/primeport/vehicleApply/{id}`, +); +export const vehicleApplyInfo = declareRequest( + "vehicleApplyLoading", + `Get > /primeport/vehicleApply/{id}`, +); +export const vehicleApplyAdd = declareRequest( + "vehicleApplyLoading", + `Post > @/primeport/vehicleApply/save`, +); +export const vehicleApplyUpdate = declareRequest( + "vehicleApplyLoading", + `Put > @/primeport/vehicleApply/edit`, +); +export const vehicleApplyCheckLicenceNo = declareRequest( + "vehicleApplyLoading", + `Get > /primeport/vehicleApply/check-licence-no`, +); +export const vehicleApplyUpdateStatus = declareRequest( + "vehicleApplyLoading", + `Post > @/primeport/`, +); +export const vehicleApplyRecordsList = declareRequest( + "vehicleApplyLoading", + `Post > @/primeport/`, +); diff --git a/src/api/vehicleAudit/index.js b/src/api/vehicleAudit/index.js new file mode 100644 index 0000000..fb01dd2 --- /dev/null +++ b/src/api/vehicleAudit/index.js @@ -0,0 +1,22 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const vehicleAuditList = declareRequest( + "vehicleAuditLoading", + `Post > @/primeport/vehicleAudit/pendingApprovalList`, +); +export const vehicleAuditInfo = declareRequest( + "vehicleAuditLoading", + `Get > /primeport/vehicleAudit/{id}`, +); +export const vehicleAuditRecordsList = declareRequest( + "vehicleAuditLoading", + `Post > @/primeport/vehicleAudit/carApprovalLogByvehicleApplyIdList`, +); +export const vehicleAuditApproval = declareRequest( + "vehicleAuditLoading", + `Post > @/primeport/vehicleAudit/audit`, +); +export const vehicleAuditRejectReason = declareRequest( + "vehicleAuditLoading", + `Post > @/primeport/`, +); diff --git a/src/enumerate/constant/index.js b/src/enumerate/constant/index.js index 9b3fb95..16c41c2 100644 --- a/src/enumerate/constant/index.js +++ b/src/enumerate/constant/index.js @@ -4,58 +4,49 @@ export {}; -// 口门类型 -export const AREA_TYPE_ENUM = [ - { name: "人行口门", bianma: "1" }, - { name: "车行口门", bianma: "2" }, - { name: "综合口门", bianma: "3" }, -]; +// 车辆排放标准 EMISSION_STANDARDS +// 车辆违规类型 VEHICLE_VIOLATION_TYPE +// 车辆类型 VEHICLE_TYPE +// 车牌类型 LICENSE_PLATE_TYPE +// 所属区域 HG_AUTH_AREA +// 口门类型 HGKM_MKMJ_TYPE +// 通道类型 HGKM_MKMJ_PASSAGE_TYPE +// 口门闸机类型 HGKM_MKMJ_GATE_TYPE +// 口门闸机类别 HGKM_MKMJ_CATEGORY_TYPE // 口门状态 export const AREA_STATUS_ENUM = [ - { name: "停用", bianma: "0" }, - { name: "正常", bianma: "1" }, - { name: "暂时关闭", bianma: "2" }, -]; - -// 闸机类型 -export const FARE_GATE_TYPE_ENUM = [ - { name: "入", bianma: "1" }, - { name: "出", bianma: "2" }, -]; - -// 闸机类别 -export const FARE_GATE_CATEGORY_ENUM = [ - { name: "人行闸机", bianma: "1" }, - { name: "车辆闸机", bianma: "2" }, - { name: "综合闸机", bianma: "3" }, + { name: "正常", bianma: "2" }, + { name: "停用", bianma: "1" }, ]; // 闸机状态 export const FARE_GATE_STATUS_ENUM = [ - { name: "停用", bianma: "0" }, - { name: "正常", bianma: "1" }, - { name: "暂时关闭", bianma: "2" }, -]; - -// 通道类型 -export const CHANNEL_TYPE_ENUM = [ - { name: "人行通道", bianma: "1" }, - { name: "车辆通道", bianma: "2" }, - { name: "综合通道", bianma: "3" }, + { name: "正常", bianma: "2" }, + { name: "停用", bianma: "1" }, ]; // 通道状态 export const CHANNEL_STATUS_ENUM = [ - { name: "停用", bianma: "0" }, - { name: "正常", bianma: "1" }, - { name: "暂时关闭", bianma: "2" }, + { name: "正常", bianma: "2" }, + { name: "停用", bianma: "1" }, ]; // 车辆类型 export const VEHICLE_TYPE_ENUM = [ - { bianma: "1", name: "单位车辆" }, - { bianma: "2", name: "员工车辆" }, + { bianma: "1", name: "股份员工车辆" }, + { bianma: "2", name: "股份单位车辆" }, + { bianma: "3", name: "分公司员工车辆" }, + { bianma: "4", name: "分公司单位车辆" }, + { bianma: "5", name: "相关方车辆" }, + { bianma: "6", name: "临时车辆" }, + { bianma: "7", name: "检查部门车辆" }, +]; + +// 车辆审核状态 +export const VEHICLE_AUDIT_STATUS_ENUM = [ + { bianma: "2", name: "通过" }, + { bianma: "3", name: "不通过" }, ]; // 当前在港状态 diff --git a/src/enumerate/namespace/index.js b/src/enumerate/namespace/index.js index a776138..a0c444d 100644 --- a/src/enumerate/namespace/index.js +++ b/src/enumerate/namespace/index.js @@ -8,13 +8,11 @@ export const NS_GLOBAL = defineNamespace("global"); export const NS_APPROVER_USER = defineNamespace("approverUser"); export const NS_FIRST_LEVEL_DOOR_INFO = defineNamespace("firstLevelDoorInfo"); export const NS_RELATED_PERSONNEL = defineNamespace("relatedPersonnel"); -export const NS_SHARE_VEHICLES = defineNamespace("shareVehicles"); -export const NS_RELATED_VEHICLES = defineNamespace("relatedVehicles"); +export const NS_VEHICLE_AUDIT = defineNamespace("vehicleAudit"); export const NS_TEMPORARY_PERSONNEL = defineNamespace("temporaryPersonnel"); export const NS_TEMPORARY_VEHICLE = defineNamespace("temporaryVehicle"); export const NS_STOCK_PERSONNEL_AND_VEHICLES = defineNamespace("stockPersonnelAndVehicles"); -export const NS_PERSONAL_VEHICLE = defineNamespace("personalVehicle"); -export const NS_STOCK_VEHICLES = defineNamespace("stockVehicles"); +export const NS_VEHICLE_APPLY = defineNamespace("vehicleApply"); export const NS_BRANCH_PERSONNEL_AND_VEHICLES = defineNamespace("branchPersonnelAndVehicles"); export const NS_STAKEHOLDER_PERSONNEL_AND_VEHICLES = defineNamespace("stakeholderPersonnelAndVehicles"); export const NS_PORT_BASED_UNITS_PERSONNEL_AND_VEHICLES = defineNamespace("portBasedUnitsPersonnelAndVehicles"); diff --git a/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js b/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js index b411719..4010894 100644 --- a/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js +++ b/src/pages/Container/Mobile/firstLevelDoor/PersonnelApplication/Apply/index.js @@ -46,7 +46,7 @@ function Apply(props) { }; const getData = async () => { - const primeportAreaData = await getDictionary({ dictValue: "primeport_area" }); + const primeportAreaData = await getDictionary({ dictValue: "HG_AUTH_AREA" }); setPrimeportAreaList(primeportAreaData); const vehicleTypeData = await getDictionary({ dictValue: "VEHICLE_TYPE" }); setVehicleTypeList(vehicleTypeData); diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/PersonnelApplication/Add/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/PersonnelApplication/Add/index.js index dce21c8..6516eee 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/PersonnelApplication/Add/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/PersonnelApplication/Add/index.js @@ -41,7 +41,7 @@ function Add(props) { { name: "todo2", label: "审核部门", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [] }, { name: "todo3", label: "审核人员", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [] }, { name: "todo4", label: "时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE }, - { name: "todo5", label: "访问港区", render: () }, + { name: "todo5", label: "访问港区", render: () }, { name: "todo6", label: "访问口门名称", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [] }, { customizeRender: true, diff --git a/src/pages/Container/Stakeholder/FirstLevelDoor/VehicleApplication/Add/index.js b/src/pages/Container/Stakeholder/FirstLevelDoor/VehicleApplication/Add/index.js index 83a0cd9..ee4bfbf 100644 --- a/src/pages/Container/Stakeholder/FirstLevelDoor/VehicleApplication/Add/index.js +++ b/src/pages/Container/Stakeholder/FirstLevelDoor/VehicleApplication/Add/index.js @@ -42,7 +42,7 @@ function Add(props) { { name: "todo2", label: "审核部门", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [] }, { name: "todo3", label: "审核人员", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [] }, { name: "todo4", label: "时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE }, - { name: "todo5", label: "访问港区", render: () }, + { name: "todo5", label: "访问港区", render: () }, { name: "todo6", label: "访问口门名称", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [] }, { name: "todo7", label: "驾驶人员部门", render: () }, { name: "todo8", label: "驾驶人员", render: () }, diff --git a/src/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedAreaDoor/List/index.js b/src/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedAreaDoor/List/index.js index 6ef0643..20ef604 100644 --- a/src/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedAreaDoor/List/index.js +++ b/src/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedAreaDoor/List/index.js @@ -14,7 +14,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 { getLabelName } from "zy-react-library/utils"; -import { AREA_STATUS_ENUM, AREA_TYPE_ENUM } from "~/enumerate/constant"; +import { AREA_STATUS_ENUM } from "~/enumerate/constant"; import { NS_ENCLOSED_AREA, NS_FIRST_LEVEL_DOOR_INFO } from "~/enumerate/namespace"; const areaLevel = 2; @@ -56,8 +56,8 @@ function List(props) { options={[ { name: "likeAreaName", label: "口门名称" }, { name: "eqAreaStatus", label: "口门状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: AREA_STATUS_ENUM }, - { name: "eqAreaType", label: "口门类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: AREA_TYPE_ENUM }, - { name: "eqAreaParentId", label: "所属区域", render: }, + { name: "eqAreaType", label: "口门类型", render: () }, + { name: "eqAreaParentId", label: "所属区域", render: }, ]} form={form} onFinish={getData} @@ -80,11 +80,7 @@ function List(props) { )} columns={[ { title: "所属区域", dataIndex: "areaParentName" }, - { - title: "口门类型", - dataIndex: "areaType", - render: (_, record) => getLabelName({ list: AREA_TYPE_ENUM, status: record.areaType }), - }, + { title: "口门类型", dataIndex: "areaType" }, { title: "管辖公司", dataIndex: "todo3" }, { title: "口门名称", dataIndex: "areaName" }, { @@ -237,10 +233,10 @@ const AddModalComponent = (props) => { labelCol={{ span: 8 }} span={24} options={[ - { name: "areaParentId", label: "所属区域", render: }, + { name: "areaParentId", label: "所属区域", render: }, { name: "areaParentName", label: "所属区域名称", onlyForLabel: true }, { name: "areaName", label: "口门名称" }, - { name: "areaType", label: "口门类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: AREA_TYPE_ENUM }, + { name: "areaType", label: "口门类型", render: }, { name: "areaRange", label: "口门位置" }, { customizeRender: true, span: 24, render: }, { name: "areaStatus", label: "口门状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: AREA_STATUS_ENUM }, @@ -300,7 +296,7 @@ const ViewModalComponent = (props) => { items={[ { label: "所属区域", children: info.areaParentName }, { label: "口门名称", children: info.areaName }, - { label: "口门类型", children: getLabelName({ list: AREA_TYPE_ENUM, status: info.areaType }) }, + { label: "口门类型", children: info.areaType }, { label: "口门位置", children: info.areaRange }, { label: "口门状态", children: getLabelName({ list: AREA_STATUS_ENUM, status: info.areaStatus }) }, { diff --git a/src/pages/Container/Supervision/FirstLevelDoor/ApproverUser/index.js b/src/pages/Container/Supervision/FirstLevelDoor/ApproverUser/index.js index c7886d8..ddbbba8 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/ApproverUser/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/ApproverUser/index.js @@ -1,5 +1,5 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { Button, Form, message, Modal, Space } from "antd"; +import { Button, message, Modal, Space } from "antd"; import { useEffect, useState } from "react"; import FormBuilder from "zy-react-library/components/FormBuilder"; import AddIcon from "zy-react-library/components/Icon/AddIcon"; @@ -15,7 +15,7 @@ import { NS_APPROVER_USER } from "~/enumerate/namespace"; function ApproverUser(props) { const [addModalVisible, setAddModalVisible] = useState(false); const [currentId, setCurrentId] = useState(""); - const [form] = Form.useForm(); + const [form] = Search.useForm(); const { tableProps, getData } = useTable(props["approvalUserList"], { form, }); @@ -38,8 +38,8 @@ function ApproverUser(props) { ) }, - { name: "likeName", label: "姓名" }, + { name: "deptId", label: "部门", render: () }, + { name: "userName", label: "姓名" }, ]} form={form} onFinish={getData} @@ -57,18 +57,18 @@ function ApproverUser(props) { )} columns={[ - { title: "部门", dataIndex: "departmentName" }, - { title: "姓名", dataIndex: "name" }, + { title: "部门", dataIndex: "deptName" }, + { title: "姓名", dataIndex: "userName" }, { title: "岗位", dataIndex: "postName" }, { title: "审批权限", dataIndex: "approvalPermission", render: (_, record) => { const approvalPermission = []; - if (record.isPersonnelPermission === 1) { + if (record.personnelPermissionFlag === 1) { approvalPermission.push("人员"); } - if (record.isVehiclePermission === 1) { + if (record.vehiclePermissionFlag === 1) { approvalPermission.push("车辆"); } - if (record.isTemporaryPermission === 1) { + if (record.temporaryPermissionFlag === 1) { approvalPermission.push("临时访客"); } return approvalPermission.join(","); @@ -117,18 +117,18 @@ function ApproverUser(props) { } function AddModalComponent(props) { - const [form] = Form.useForm(); - const personUnderDepartmentId = Form.useWatch("deptId", form); + const [form] = FormBuilder.useForm(); + const personUnderDepartmentId = FormBuilder.useWatch("deptId", form); const [oldApproverType, setOldApproverType] = useState([]); const getData = async () => { const { data } = await props["approvalUserInfo"]({ id: props.id }); const approverType = [ - data.isPersonnelPermission === 1 ? 1 : null, - data.isVehiclePermission === 1 ? 0 : null, - data.isTemporaryPermission === 1 ? 2 : null, - ].filter(Boolean); + data.personnelPermissionFlag === 1 ? 1 : null, + data.vehiclePermissionFlag === 1 ? 0 : null, + data.temporaryPermissionFlag === 1 ? 2 : null, + ].filter(item => item !== null); form.setFieldsValue({ ...data, approverType, @@ -144,11 +144,10 @@ function AddModalComponent(props) { const { approverType, ...rest } = values; const submitData = { ...rest, - isPersonnelPermission: approverType?.includes(1) ? 1 : 0, - isVehiclePermission: approverType?.includes(0) ? 1 : 0, - isTemporaryPermission: approverType?.includes(2) ? 1 : 0, + personnelPermissionFlag: approverType?.includes(1) ? 1 : 0, + vehiclePermissionFlag: approverType?.includes(0) ? 1 : 0, + temporaryPermissionFlag: approverType?.includes(2) ? 1 : 0, id: props.id, - isRegulatory: 0, }; const { success } = await props[!props.id ? "approvalUserAdd" : "approvalUserUpdate"](submitData); if (success) { @@ -186,11 +185,11 @@ function AddModalComponent(props) { }} onChange={() => { form.setFieldValue("userId", ""); - form.setFieldValue("name", ""); form.setFieldValue("userName", ""); + form.setFieldValue("corpId", ""); + form.setFieldValue("corpName", ""); form.setFieldValue("postId", ""); form.setFieldValue("postName", ""); - form.setFieldValue("corpId", ""); }} disabled={!!props.id} /> @@ -204,23 +203,23 @@ function AddModalComponent(props) { { - form.setFieldValue("name", label); + form.setFieldValue("userName", label); }} onGetOption={(option) => { - form.setFieldValue("userName", option.username); + form.setFieldValue("corpId", option.corpinfoId); + form.setFieldValue("corpName", option.corpinfoName); form.setFieldValue("postId", option.postId); form.setFieldValue("postName", option.postName); - form.setFieldValue("corpId", option.tenantId); }} disabled={!!props.id} /> ), }, - { name: "name", label: "审批人名称", onlyForLabel: true }, - { name: "userName", label: "审批人账号", onlyForLabel: true }, + { name: "userName", label: "审批人名称", onlyForLabel: true }, + { name: "corpId", label: "企业ID", onlyForLabel: true }, + { name: "corpName", label: "企业名称", onlyForLabel: true }, { name: "postId", label: "岗位ID", onlyForLabel: true }, { name: "postName", label: "岗位名称", onlyForLabel: true }, - { name: "corpId", label: "租户ID", onlyForLabel: true }, { name: "approverType", label: "审批权限", diff --git a/src/pages/Container/Supervision/FirstLevelDoor/BasicInfo/FirstLevelDoorInfo/Camera/List/index.js b/src/pages/Container/Supervision/FirstLevelDoor/BasicInfo/FirstLevelDoorInfo/Camera/List/index.js index 0402433..6aabc07 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/BasicInfo/FirstLevelDoorInfo/Camera/List/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/BasicInfo/FirstLevelDoorInfo/Camera/List/index.js @@ -1,5 +1,5 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { Button, Descriptions, Form, message, Modal, Space } from "antd"; +import { Button, Descriptions, message, Modal, Space } from "antd"; import { useEffect, useState } from "react"; import FormBuilder from "zy-react-library/components/FormBuilder"; import AddIcon from "zy-react-library/components/Icon/AddIcon"; @@ -33,10 +33,10 @@ function List(props) { const [location, setLocation] = useState({ longitude: "", latitude: "" }); const query = useGetUrlQuery(); - const [form] = Form.useForm(); + const [form] = Search.useForm(); const { tableProps, getData } = useTable(props["firstLevelDoorInfoCameraList"], { form, - params: { eqAreaId: query.areaId }, + params: { eqForeignId: query.id, eqDeviceType: query.deviceType }, }); const onDelete = (id) => { @@ -54,6 +54,7 @@ function List(props) { }; const onGetRTSPUrl = async (id) => { + // TODO const { success } = await props["firstLevelDoorInfoCameraGetRTSPUrl"]({ id }); if (success) { message.success("获取成功"); @@ -62,6 +63,7 @@ function List(props) { }; const onGetPlayUrl = async (id) => { + // TODO const { data } = await props["firstLevelDoorInfoCameraGetPlayUrl"]({ id }); setPlayModalVisible(true); setPlayUrl(data); @@ -115,9 +117,14 @@ function List(props) { )} columns={[ - { dataIndex: "todo1", title: "视频名称" }, + { dataIndex: "videoResourceName", title: "视频名称" }, { dataIndex: "todo2", title: "播放地址" }, - { dataIndex: "todo3", title: "视频定位状态", width: 120 }, + { + dataIndex: "todo3", + title: "视频定位状态", + width: 120, + render: (text, record) => (record.longitude && record.latitude ? "已定位" : "未定位"), + }, { dataIndex: "todo4", title: "是否在线", @@ -204,6 +211,7 @@ function List(props) { }} id={currentId} getData={getData} + query={query} /> ) } @@ -255,7 +263,7 @@ function List(props) { const AddModalComponent = (props) => { const [selectFixedCameraModalVisible, setSelectFixedCameraModalVisible] = useState(false); - const [form] = Form.useForm(); + const [form] = FormBuilder.useForm(); const getData = async () => { const { data } = await props["firstLevelDoorInfoCameraInfo"]({ id: props.id }); @@ -271,6 +279,8 @@ const AddModalComponent = (props) => { const { success } = await props[!props.id ? "firstLevelDoorInfoCameraAdd" : "firstLevelDoorInfoCameraEdit"]({ ...values, id: props.id, + foreignId: props.query.id, + deviceType: props.query.deviceType, }); if (success) { props.onCancel(); @@ -310,8 +320,9 @@ const AddModalComponent = (props) => { ), }, - { name: "todo2", label: "视频名称", componentProps: { disabled: true } }, - { name: "todo4", label: "摄像头编号", componentProps: { disabled: true } }, + { name: "videoResourceName", label: "视频名称", componentProps: { disabled: true } }, + { name: "videoResourceId", label: "视频ID", onlyForLabel: true }, + { name: "videoResourceCode", label: "摄像头编号", componentProps: { disabled: true } }, ]} /> { @@ -321,8 +332,9 @@ const AddModalComponent = (props) => { setSelectFixedCameraModalVisible(false); }} onSubmit={(values) => { - form.setFieldValue("todo2", values.todo2); - form.setFieldValue("todo4", values.todo4); + form.setFieldValue("videoResourceName", values.todo); + form.setFieldValue("videoResourceId", values.todo); + form.setFieldValue("videoResourceCode", values.todo); }} /> ) @@ -332,7 +344,8 @@ const AddModalComponent = (props) => { }; const SelectFixedCameraModalComponent = (props) => { - const [form] = Form.useForm(); + const [form] = FormBuilder.useForm(); + // TODO const { tableProps, getData } = useTable(props["firstLevelDoorInfoFixedCameraList"], { form, useStorageQueryCriteria: false, @@ -414,8 +427,8 @@ const InfoModalComponent = (props) => { bordered styles={{ label: { width: 200 } }} items={[ - { label: "视频名称", children: info.todo2 }, - { label: "摄像头编号", children: info.todo3 }, + { label: "视频名称", children: info.videoResourceName }, + { label: "摄像头编号", children: info.videoResourceCode }, ]} /> @@ -426,6 +439,7 @@ const BatchPlayModalComponent = (props) => { const [playUrl, setPlayUrl] = useState([]); const getData = async () => { + // TODO const { data } = await props["firstLevelDoorInfoCameraGetBatchPlayUrl"]({ ids: props.ids }); setPlayUrl(data); }; diff --git a/src/pages/Container/Supervision/FirstLevelDoor/BasicInfo/FirstLevelDoorInfo/Channel/FareGate/index.js b/src/pages/Container/Supervision/FirstLevelDoor/BasicInfo/FirstLevelDoorInfo/Channel/FareGate/index.js index fc09590..bc81bce 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/BasicInfo/FirstLevelDoorInfo/Channel/FareGate/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/BasicInfo/FirstLevelDoorInfo/Channel/FareGate/index.js @@ -1,5 +1,5 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { Button, Descriptions, Form, message, Modal, Space } from "antd"; +import { Button, Descriptions, message, Modal, Space } from "antd"; import { useEffect, useState } from "react"; import FormBuilder from "zy-react-library/components/FormBuilder"; import AddIcon from "zy-react-library/components/Icon/AddIcon"; @@ -8,12 +8,13 @@ import Map from "zy-react-library/components/Map"; import MapSelector from "zy-react-library/components/Map/MapSelector"; import Page from "zy-react-library/components/Page"; import Search from "zy-react-library/components/Search"; +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 useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; import useTable from "zy-react-library/hooks/useTable"; import { getLabelName } from "zy-react-library/utils"; -import { FARE_GATE_CATEGORY_ENUM, FARE_GATE_STATUS_ENUM, FARE_GATE_TYPE_ENUM } from "~/enumerate/constant"; +import { FARE_GATE_STATUS_ENUM } from "~/enumerate/constant"; import { NS_FIRST_LEVEL_DOOR_INFO } from "~/enumerate/namespace"; function List(props) { @@ -22,10 +23,10 @@ function List(props) { const [infoModalVisible, setInfoModalVisible] = useState(false); const query = useGetUrlQuery(); - const [form] = Form.useForm(); + const [form] = Search.useForm(); const { tableProps, getData } = useTable(props["firstLevelDoorInfoFareGateList"], { form, - params: { eqAreaId: query.areaId, eqPassageId: query.passageId }, + params: { mkmjId: query.mkmjId, passageId: query.id }, }); const onDelete = (id) => { @@ -48,10 +49,10 @@ function List(props) { form={form} onFinish={getData} options={[ - { name: "likeGateName", label: "闸机名称" }, - { name: "eqGateStatus", label: "闸机状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: FARE_GATE_STATUS_ENUM }, - { name: "eqGateType", label: "闸机类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: FARE_GATE_TYPE_ENUM }, - { name: "eqGateCategory", label: "闸机类别", render: FORM_ITEM_RENDER_ENUM.SELECT, items: FARE_GATE_CATEGORY_ENUM }, + { name: "gateName", label: "闸机名称" }, + { name: "gateStatus", label: "闸机状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: FARE_GATE_STATUS_ENUM }, + { name: "gateType", label: "闸机类型", render: () }, + { name: "todo", label: "闸机类别", render: () }, ]} /> getLabelName({ list: FARE_GATE_CATEGORY_ENUM, status: record.gateCategory }), - }, + { dataIndex: "gateCategoryName", title: "闸机类别", width: 100 }, { dataIndex: "latitude", title: "闸机位置", - render: (_, record) => `${record.latitude || ""}--${record.longitude || ""}`, + render: (_, record) => `${record.longitude || ""}--${record.latitude || ""}`, }, { dataIndex: "todo4", title: "摄像头个数", width: 100 }, { @@ -109,7 +105,7 @@ function List(props) {
)} columns={[ - { - dataIndex: "passageType", - title: "通道类型", - width: 100, - render: (_, record) => getLabelName({ list: CHANNEL_TYPE_ENUM, status: record.passageType }), - }, + { dataIndex: "passageTypeName", title: "通道类型", width: 100 }, { dataIndex: "passageName", title: "通道名称" }, - { dataIndex: "gateNum", title: "设备数", width: 100 }, + { dataIndex: "gateCount", title: "设备数", width: 100 }, { title: "操作", width: 240, @@ -117,7 +118,7 @@ function List(props) {
)} columns={[ - { dataIndex: "areaParentName", title: "所属区域" }, - { - dataIndex: "areaType", - title: "口门类型", - width: 120, - render: (_, record) => getLabelName({ list: AREA_TYPE_ENUM, status: record.areaType }), - }, - { dataIndex: "areaName", title: "口门名称" }, + { dataIndex: "hgAuthAreaName", title: "所属区域" }, + { dataIndex: "mkmjTypeName", title: "口门类型", width: 120 }, + { dataIndex: "mkmjName", title: "口门名称" }, { dataIndex: "location", title: "口门位置", - render: (_, record) => `${record.latitude || ""}--${record.longitude || ""}`, + render: (_, record) => `${record.longitude || ""}--${record.latitude || ""}`, }, + { dataIndex: "videoCount", title: "视频个数", width: 120 }, { - dataIndex: "videoNum", - title: "视频个数", - width: 120, - render: (_, record) => record.videoNum || 0, - }, - { - dataIndex: "areaStatus", + dataIndex: "mkmjStatus", title: "口门状态", width: 120, - render: (_, record) => getLabelName({ list: AREA_STATUS_ENUM, status: record.areaStatus }), + render: (_, record) => getLabelName({ list: AREA_STATUS_ENUM, status: record.mkmjStatus }), }, { title: "操作", @@ -126,7 +114,7 @@ function List(props) { - + {record.auditFlag === 3 && ( + + )} - + {record.auditFlag === 3 && ( + + )}
JSON.parse(record.gateLevelAuthArea)?.area?.map(item => item.value)?.join("、"), + }, + { + dataIndex: "visitStartTime", + title: "访问期限", + render: (_, record) => record.visitStartTime + record.visitEndTime, + }, + { dataIndex: "vehicleTypeName", title: "车辆类型" }, + { dataIndex: "licenceTypeName", title: "车牌类型" }, + { dataIndex: "licenceNo", title: "车牌号" }, + { + dataIndex: "auditStatus", + title: "审核状态", + render: (_, record) => getLabelName({ list: VEHICLE_AUDIT_STATUS_ENUM, status: record.auditStatus }), + }, { title: "操作", width: 150, @@ -63,15 +80,17 @@ function RelatedVehicles(props) { > 查看 - + {record.auditStatus === 3 && ( + + )} ), }, @@ -110,7 +129,7 @@ function RelatedVehicles(props) { 取消 , ]} - loading={props.relatedVehicles.relatedVehiclesLoading} + loading={props.vehicleAudit.vehicleAuditLoading} > @@ -132,10 +151,10 @@ function RelatedVehicles(props) { } const ReviewModalComponent = (props) => { - const [form] = Form.useForm(); + const [form] = FormBuilder.useForm(); const onSubmit = async (values) => { - const { success } = await props["relatedVehiclesApproval"]({ + const { success } = await props["vehicleAuditApproval"]({ id: props.id, ...values, }); @@ -154,7 +173,7 @@ const ReviewModalComponent = (props) => { onCancel={props.onCancel} onOk={form.submit} width={800} - confirmLoading={props.relatedVehicles.relatedVehiclesLoading} + confirmLoading={props.vehicleAudit.vehicleAuditLoading} > { labelCol={{ span: 8 }} span={24} values={{ - todo1: "1", + auditStatus: "2", }} showActionButtons={false} options={[ { - name: "todo1", + name: "auditStatus", label: "是否通过审核", render: FORM_ITEM_RENDER_ENUM.RADIO, - items: [{ bianma: "1", name: "通过" }, { bianma: "0", name: "打回" }], + items: VEHICLE_AUDIT_STATUS_ENUM, }, { - name: "todo2", + name: "remarks", label: "驳回原因", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, - dependencies: ["todo1"], - hidden: formValues => !(formValues.todo1 === "0"), + dependencies: ["auditStatus"], + hidden: formValues => !(formValues.auditStatus === "3"), }, ]} /> @@ -189,7 +208,8 @@ const ReviewModalComponent = (props) => { const ViewRejectReasonModalComponent = (props) => { const [info, setInfo] = useState({}); const getData = async () => { - const { data } = await props["relatedVehiclesRejectReason"]({ id: props.id }); + // TODO + const { data } = await props["vehicleAuditRejectReason"]({ id: props.id }); setInfo(data); }; @@ -207,7 +227,7 @@ const ViewRejectReasonModalComponent = (props) => { footer={[ , ]} - loading={props.relatedVehicles.relatedVehiclesLoading} + loading={props.vehicleAudit.vehicleAuditLoading} > { const InfoModalComponent = (props) => { const [info, setInfo] = useState({}); + const { getFile } = useGetFile(); + const getData = async () => { - const { data } = await props["relatedVehiclesInfo"]({ id: props.id }); - setInfo(data); + const { data } = await props["vehicleAuditInfo"]({ id: props.id }); + const drivingLicenseFile = await getFile({ + eqType: UPLOAD_FILE_TYPE_ENUM[601], + eqForeignKey: data.drivingLicenseId, + }); + const attachmentFile = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[602], eqForeignKey: data.attachmentId }); + setInfo({ + ...data, + drivingLicenseFile, + attachmentFile, + }); }; useEffect(() => { @@ -242,25 +273,25 @@ const InfoModalComponent = (props) => { styles={{ label: { width: 200 } }} items={[ { label: "相关方名称", children: info.todo1 }, - { label: "项目名称", children: info.todo2 }, - { label: "审核人员", children: info.todo3 }, - { label: "时间范围", children: info.todo4 }, - { label: "地域范围", children: info.todo5 }, - { label: "驾驶人员", children: info.todo6 }, - { label: "车辆类型", children: info.todo7 }, - { label: "车牌类型", children: info.todo8 }, - { label: "车牌号", children: info.todo9 }, - { label: "审核状态", children: info.todo10 }, - { label: "车辆照片", children: () }, - { label: "车辆行驶证照片", children: () }, - { label: "申请人签字", children: () }, + { label: "项目名称", children: info.projectName }, + { label: "审核人员", children: info.auditUserName }, + { label: "时间范围", children: info.visitStartTime + info.visitEndTime }, + { label: "地域范围", children: JSON.parse(info.gateLevelAuthArea)?.area?.map(item => item.value)?.join("、") }, + { label: "驾驶人员", children: info.employeeVehicleUserName }, + { label: "车辆类型", children: info.vehicleTypeName }, + { label: "车牌类型", children: info.licenceTypeName }, + { label: "车牌号", children: info.licenceNo }, + { label: "审核状态", children: getLabelName({ list: VEHICLE_AUDIT_STATUS_ENUM, status: info.auditStatus }) }, + { label: "车辆照片", children: () }, + { label: "车辆行驶证照片", children: () }, + { label: "申请人签字", children: () }, // todo ]} /> ); }; -const ReviewModal = Connect([NS_RELATED_VEHICLES], true)(ReviewModalComponent); -const InfoModal = Connect([NS_RELATED_VEHICLES], true)(InfoModalComponent); -const ViewRejectReasonModal = Connect([NS_RELATED_VEHICLES], true)(ViewRejectReasonModalComponent); -export default Connect([NS_RELATED_VEHICLES], true)(RelatedVehicles); +const ReviewModal = Connect([NS_VEHICLE_AUDIT], true)(ReviewModalComponent); +const InfoModal = Connect([NS_VEHICLE_AUDIT], true)(InfoModalComponent); +const ViewRejectReasonModal = Connect([NS_VEHICLE_AUDIT], true)(ViewRejectReasonModalComponent); +export default Connect([NS_VEHICLE_AUDIT], true)(RelatedVehicles); diff --git a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/LongTermVehicleApproval/ShareVehicles/index.js b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/LongTermVehicleApproval/ShareVehicles/index.js index 1ee98a4..215f1b4 100644 --- a/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/LongTermVehicleApproval/ShareVehicles/index.js +++ b/src/pages/Container/Supervision/FirstLevelDoor/PortEntryApproval/LongTermVehicleApproval/ShareVehicles/index.js @@ -1,5 +1,5 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { Button, Descriptions, Divider, Form, message, Modal } from "antd"; +import { Button, Descriptions, Divider, message, Modal, Spin } from "antd"; import { useEffect, useState } from "react"; import FormBuilder from "zy-react-library/components/FormBuilder"; import Page from "zy-react-library/components/Page"; @@ -9,19 +9,21 @@ import DictionarySelect from "zy-react-library/components/Select/Dictionary"; 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 useGetFile from "zy-react-library/hooks/useGetFile"; import useTable from "zy-react-library/hooks/useTable"; import { getLabelName } from "zy-react-library/utils"; -import { VEHICLE_TYPE_ENUM } from "~/enumerate/constant"; -import { NS_SHARE_VEHICLES } from "~/enumerate/namespace"; +import { VEHICLE_AUDIT_STATUS_ENUM, VEHICLE_TYPE_ENUM } from "~/enumerate/constant"; +import { NS_VEHICLE_AUDIT } from "~/enumerate/namespace"; function ShareVehicles(props) { const [reviewModalVisible, setReviewModalVisible] = useState(false); const [currentId, setCurrentId] = useState(""); - const [reviewModalType, setReviewModalType] = useState(""); - const [form] = Form.useForm(); - const { tableProps, getData } = useTable(props["shareVehiclesList"], { + const [form] = Search.useForm(); + const { tableProps, getData } = useTable(props["vehicleAuditList"], { form, + params: { vehicleBelongTypeArr: "1,2" }, }); return ( @@ -30,30 +32,33 @@ function ShareVehicles(props) { form={form} onFinish={getData} options={[ - { name: "todo1", label: "车辆所属人" }, - { name: "todo2", label: "车牌号" }, - { name: "todo3", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE }, - { name: "todo4", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE }, - { name: "todo5", label: "车辆所属部门", render: () }, - { name: "todo6", label: "访问港区范围", render: () }, - { name: "todo7", label: "车辆所属类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: VEHICLE_TYPE_ENUM }, + { name: "employeeVehicleUserName", label: "车辆所属人" }, + { name: "licenceNo", label: "车牌号" }, + { name: "visitStartTime", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "visitEndTime", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "vehicleDepartmentId", label: "车辆所属部门", render: () }, + { name: "gateLevelAuthAreaId", label: "访问港区范围", render: () }, ]} />
getLabelName({ list: VEHICLE_TYPE_ENUM, status: record.todo1 }), + render: (_, record) => getLabelName({ list: VEHICLE_TYPE_ENUM, status: record.vehicleBelongType }), }, - { dataIndex: "todo2", title: "车辆所属部门" }, - { dataIndex: "todo3", title: "车辆归属人" }, - { dataIndex: "todo4", title: "车牌号" }, - { dataIndex: "todo5", title: "车牌类型" }, - { dataIndex: "todo6", title: "车辆类型" }, - { dataIndex: "todo7", title: "访问港区范围" }, - { dataIndex: "todo8", title: "访问开始时间" }, - { dataIndex: "todo9", title: "访问结束时间" }, + { dataIndex: "vehicleDepartmentName", title: "车辆所属部门" }, + { dataIndex: "employeeVehicleUserName", title: "车辆归属人" }, + { dataIndex: "licenceNo", title: "车牌号" }, + { dataIndex: "licenceTypeName", title: "车牌类型" }, + { dataIndex: "vehicleTypeName", title: "车辆类型" }, + { + dataIndex: "gateLevelAuthArea", + title: "访问港区范围", + render: (_, record) => JSON.parse(record.gateLevelAuthArea)?.area?.map(item => item.value)?.join("、"), + }, + { dataIndex: "visitStartTime", title: "访问开始时间" }, + { dataIndex: "visitEndTime", title: "访问结束时间" }, { title: "操作", width: 100, @@ -63,7 +68,6 @@ function ShareVehicles(props) { onClick={() => { setReviewModalVisible(true); setCurrentId(record.id); - setReviewModalType("first"); }} > 审核 @@ -77,10 +81,8 @@ function ShareVehicles(props) { reviewModalVisible && ( { setReviewModalVisible(false); - setReviewModalType(""); setCurrentId(""); }} getData={getData} @@ -92,21 +94,55 @@ function ShareVehicles(props) { } function ReviewModalComponent(props) { - const [form] = Form.useForm(); + const [form] = FormBuilder.useForm(); + const { loading: getFileLoading, getFile } = useGetFile(); + + const [changeAfter, setChangeAfter] = useState({}); + const [changeBefore, setChangeBefore] = useState({}); + const [batchState, setBatchState] = useState(1); + const [recordsList, setRecordsList] = useState([]); - const [info, setInfo] = useState({}); const getData = async () => { - const { data } = await props["shareVehiclesInfo"]({ id: props.id }); - setInfo(data); + const { data } = await props["vehicleAuditInfo"]({ id: props.id }); + const changeAfterDrivingLicenseFile = await getFile({ + eqType: UPLOAD_FILE_TYPE_ENUM[601], + eqForeignKey: data.changeAfter.drivingLicenseId, + }); + const changeAfterAttachmentFile = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[602], eqForeignKey: data.changeAfter.attachmentId }); + setChangeAfter({ + ...data.changeAfter, + drivingLicenseFile: changeAfterDrivingLicenseFile, + attachmentFile: changeAfterAttachmentFile, + }); + if (data.changeBefore && Object.keys(data.changeBefore).length > 0) { + const changeBeforeDrivingLicenseFile = await getFile({ + eqType: UPLOAD_FILE_TYPE_ENUM[601], + eqForeignKey: data.changeBefore.drivingLicenseId, + }); + const changeBeforeAttachmentFile = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[602], eqForeignKey: data.changeBefore.attachmentId }); + setChangeBefore({ + ...data.changeBefore, + drivingLicenseFile: changeBeforeDrivingLicenseFile, + attachmentFile: changeBeforeAttachmentFile, + }); + } + setBatchState(data.batchState); }; + + const getRecordsList = async () => { + const { data } = await props["vehicleAuditRecordsList"]({ id: props.id }); + setRecordsList(data); + }; + useEffect(() => { getData(); + getRecordsList(); }, []); const onSubmit = async (values) => { - const { success } = await props["shareVehiclesApproval"]({ - id: props.id, + const { success } = await props["vehicleAuditApproval"]({ ...values, + id: props.id, }); if (success) { message.success("操作成功"); @@ -123,36 +159,37 @@ function ReviewModalComponent(props) { onCancel={props.onCancel} onOk={form.submit} width={800} - confirmLoading={props.shareVehicles.shareVehiclesLoading} + confirmLoading={props.vehicleAudit.vehicleAuditLoading || getFileLoading} > - 申请信息 - { - props.type === "first" - ? ( - ) }, - { label: "车辆照片", children: () }, - { label: "审批人", children: info.todo12 }, - ]} - /> - ) - : ( -
- -
- - - - - - - - - - - - - - - - - - - {info.todo1 !== 1 && ( + +
名称变更前变更后
车辆所属类型{getLabelName({ list: VEHICLE_TYPE_ENUM, status: info.todo1 })}{getLabelName({ list: VEHICLE_TYPE_ENUM, status: info.newTodo1 })}
车辆所属部门{info.todo2}{info.newTodo2}
+ - - - + + + - )} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
车辆归属人{info.todo3}{info.newTodo3}名称变更前变更后
车牌号{info.todo4}{info.newTodo4}
车牌类型{info.todo5}{info.newTodo5}
车辆类型{info.todo6}{info.newTodo6}
访问港区范围{info.todo7}{info.newTodo7}
访问开始时间{info.todo8}{info.newTodo8}
访问结束时间{info.todo9}{info.newTodo9}
行驶证照片
车辆照片
审批人{info.todo12}{info.newTodo12}
- - ) - } - 审批信息 - {info?.approvalRecords?.map((record, index) => ( - + + + 车辆所属类型 + {getLabelName({ list: VEHICLE_TYPE_ENUM, status: changeBefore.vehicleBelongType })} + {getLabelName({ list: VEHICLE_TYPE_ENUM, status: changeAfter.vehicleBelongType })} + + + 车辆所属部门 + {changeBefore.vehicleDepartmentName} + {changeAfter.vehicleDepartmentName} + + {changeBefore.vehicleBelongType === 1 && ( + + 车辆归属人 + {changeBefore.employeeVehicleUserName} + {changeAfter.employeeVehicleUserName} + + )} + + 车牌号 + {changeBefore.licenceNo} + {changeAfter.licenceNo} + + + 车牌类型 + {changeBefore.licenceTypeName} + {changeAfter.licenceTypeName} + + + 车辆类型 + {changeBefore.vehicleTypeName} + {changeAfter.vehicleTypeName} + + + 访问港区范围 + {JSON.parse(changeBefore.gateLevelAuthArea)?.area?.map(item => item.value)?.join("、")} + {JSON.parse(changeAfter.gateLevelAuthArea)?.area?.map(item => item.value)?.join("、")} + + + 访问开始时间 + {changeBefore.visitStartTime} + {changeAfter.visitStartTime} + + + 访问结束时间 + {changeBefore.visitEndTime} + {changeAfter.visitEndTime} + + + 行驶证照片 + + + + + 车辆照片 + + + + + 审批人 + {changeBefore.auditUserName} + {changeAfter.auditUserName} + + + + + ) + } + 审批信息 + {recordsList.map((record, index) => ( + + ))} + !(formValues.auditStatus === "3"), + }, ]} /> - ))} - !(formValues.todo1 === 0), - }, - ]} - /> + ); } -const ReviewModal = Connect([NS_SHARE_VEHICLES], true)(ReviewModalComponent); -export default Connect([NS_SHARE_VEHICLES], true)(ShareVehicles); +const ReviewModal = Connect([NS_VEHICLE_AUDIT], true)(ReviewModalComponent); +export default Connect([NS_VEHICLE_AUDIT], true)(ShareVehicles); 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 7532539..08f2ceb 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 @@ -34,7 +34,7 @@ function Add(props) { { name: "todo3", label: "身份证号", rules: [{ pattern: ID_NUMBER, message: "请输入正确的身份证号" }] }, { name: "todo4", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE }, { name: "todo5", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE }, - { name: "todo6", label: "访问港区", render: }, + { name: "todo6", label: "访问港区", render: }, { name: "todo7", label: "访问口门名称" }, { name: "todo8", label: "来访事由", span: 24, render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, { 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 800cb93..a6dcaed 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 @@ -37,7 +37,7 @@ function Add(props) { { name: "todo6", label: "车辆类型", render: () }, { name: "todo7", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE }, { name: "todo8", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE }, - { name: "todo9", label: "访问港区", render: }, + { name: "todo9", label: "访问港区", render: }, { name: "todo10", label: "访问口门名称" }, { name: "todo11", label: "来访事由", span: 24, render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, {