封闭区域企业端

master
LiuJiaNan 2026-02-07 16:02:45 +08:00
parent fd54edf0dd
commit 42867900d1
52 changed files with 461 additions and 223 deletions

View File

@ -42,6 +42,15 @@
- `/primeport/container/enterprise/firstLevelDoor/importAndExportPortInfo/vehiclesViolation/vehiclesViolation/list` 进出港信息管理/车辆违规管理/车辆违规管理
- `/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` 区域人员及车辆统计
### 相关方端
#### 一级口门管理

View File

@ -217,10 +217,12 @@ const ElectronicFenceModal = (props) => {
mapInstanceRef.current = viewer;
flyTo({ longitude: window.mapLongitude, latitude: window.mapLatitude, height: 900000 });
// 设置鼠标点击事件
const handler = new window.Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(handleMapClick, window.Cesium.ScreenSpaceEventType.LEFT_CLICK);
handlerRef.current = handler;
if (!props.disabled) {
// 设置鼠标点击事件
const handler = new window.Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(handleMapClick, window.Cesium.ScreenSpaceEventType.LEFT_CLICK);
handlerRef.current = handler;
}
// 如果传入了position参数,则绘制已存在的围栏
if (position) {
@ -323,31 +325,37 @@ const ElectronicFenceModal = (props) => {
style={{ width: "100%", height: "500px" }}
/>
<div style={{ display: "flex", gap: 15, alignItems: "center", marginTop: 16 }}>
<div
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
cursor: isDrawing && !isCompleted ? "pointer" : "not-allowed",
opacity: isDrawing && !isCompleted ? 1 : 0.5,
}}
onClick={handleCompleteDrawing}
>
<CheckOutlined style={{ fontSize: 16 }} />
<span style={{ fontSize: 12, color: "#666" }}>完成绘制</span>
</div>
<div
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
cursor: "pointer",
}}
onClick={handleClearDrawing}
>
<DeleteOutlined style={{ fontSize: 16 }} />
<span style={{ fontSize: 12, color: "#666" }}>清除绘制</span>
</div>
{
!props.disabled && (
<>
<div
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
cursor: isDrawing && !isCompleted ? "pointer" : "not-allowed",
opacity: isDrawing && !isCompleted ? 1 : 0.5,
}}
onClick={handleCompleteDrawing}
>
<CheckOutlined style={{ fontSize: 16 }} />
<span style={{ fontSize: 12, color: "#666" }}>完成绘制</span>
</div>
<div
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
cursor: "pointer",
}}
onClick={handleClearDrawing}
>
<DeleteOutlined style={{ fontSize: 16 }} />
<span style={{ fontSize: 12, color: "#666" }}>清除绘制</span>
</div>
</>
)
}
<div style={{ flex: 1, display: "flex", alignItems: "center", gap: 8 }}>
<div style={{ width: "100px" }}>区域经纬度</div>
<Input value={latitudeAndLongitudeSet} readOnly />

View File

@ -0,0 +1,7 @@
import AddPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Personnel/Add";
function Add(props) {
return (<AddPage {...props} />);
}
export default Add;

View File

@ -0,0 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Personnel/List";
function List(props) {
return (<ListPage {...props} />);
}
export default List;

View File

@ -0,0 +1,7 @@
import ViewPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Personnel/View";
function View(props) {
return (<ViewPage {...props} />);
}
export default View;

View File

@ -0,0 +1,5 @@
function Personnel(props) {
return props.children;
}
export default Personnel;

View File

@ -0,0 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/Apply/PersonnelRecords/List";
function List(props) {
return (<ListPage {...props} />);
}
export default List;

View File

@ -0,0 +1,7 @@
import ViewPage from "~/pages/Container/Supervision/EnclosedArea/Apply/PersonnelRecords/View";
function View(props) {
return (<ViewPage {...props} />);
}
export default View;

View File

@ -0,0 +1,5 @@
function PersonnelRecords(props) {
return props.children;
}
export default PersonnelRecords;

View File

@ -0,0 +1,7 @@
import AddPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Vehicle/Add";
function Add(props) {
return (<AddPage entrance="enterprise" {...props} />);
}
export default Add;

View File

@ -0,0 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Vehicle/List";
function List(props) {
return (<ListPage {...props} />);
}
export default List;

View File

@ -0,0 +1,7 @@
import ViewPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Vehicle/View";
function View(props) {
return (<ViewPage {...props} />);
}
export default View;

View File

@ -0,0 +1,5 @@
function Personnel(props) {
return props.children;
}
export default Personnel;

View File

@ -0,0 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/Apply/VehicleRecords/List";
function List(props) {
return (<ListPage {...props} />);
}
export default List;

View File

@ -0,0 +1,7 @@
import ViewPage from "~/pages/Container/Supervision/EnclosedArea/Apply/VehicleRecords/View";
function View(props) {
return (<ViewPage {...props} />);
}
export default View;

View File

@ -0,0 +1,5 @@
function VehicleRecords(props) {
return props.children;
}
export default VehicleRecords;

View File

@ -0,0 +1,5 @@
function Apply(props) {
return props.children;
}
export default Apply;

View File

@ -0,0 +1,7 @@
import DetailListPage from "~/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedArea/DetailList";
function DetailList(props) {
return (<DetailListPage entrance="enterprise" {...props} />);
}
export default DetailList;

View File

@ -0,0 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedArea/List";
function List(props) {
return (<ListPage {...props} />);
}
export default List;

View File

@ -0,0 +1,5 @@
function EnclosedArea(props) {
return props.children;
}
export default EnclosedArea;

View File

@ -0,0 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedAreaDoor/Camera/List";
function List(props) {
return (<ListPage entrance="enterprise" {...props} />);
}
export default List;

View File

@ -0,0 +1,5 @@
function Camera(props) {
return props.children;
}
export default Camera;

View File

@ -0,0 +1,7 @@
import CameraPage from "~/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedAreaDoor/Channel/Camera";
function Camera(props) {
return (<CameraPage entrance="enterprise" {...props} />);
}
export default Camera;

View File

@ -0,0 +1,7 @@
import FareGatePage from "~/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedAreaDoor/Channel/FareGate";
function FareGate(props) {
return (<FareGatePage entrance="enterprise" {...props} />);
}
export default FareGate;

View File

@ -0,0 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedAreaDoor/Channel/List";
function List(props) {
return (<ListPage entrance="enterprise" {...props} />);
}
export default List;

View File

@ -0,0 +1,5 @@
function Channel(props) {
return props.children;
}
export default Channel;

View File

@ -0,0 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/AreaAndEntrance/EnclosedAreaDoor/List";
function List(props) {
return (<ListPage entrance="enterprise" {...props} />);
}
export default List;

View File

@ -0,0 +1,5 @@
function EnclosedAreaDoor(props) {
return props.children;
}
export default EnclosedAreaDoor;

View File

@ -0,0 +1,5 @@
function AreaAndEntrance(props) {
return props.children;
}
export default AreaAndEntrance;

View File

@ -0,0 +1,7 @@
import ListPage from "~/pages/Container/Supervision/EnclosedArea/PersonnelAndVehicleStatistics/List";
function List(props) {
return (<ListPage {...props} />);
}
export default List;

View File

@ -0,0 +1,7 @@
import PersonnelEntryAndExitRecordsPage from "~/pages/Container/Supervision/EnclosedArea/PersonnelAndVehicleStatistics/PersonnelEntryAndExitRecords";
function PersonnelEntryAndExitRecords(props) {
return (<PersonnelEntryAndExitRecordsPage {...props} />);
}
export default PersonnelEntryAndExitRecords;

View File

@ -0,0 +1,7 @@
import VehicleEntryAndExitRecordsPage from "~/pages/Container/Supervision/EnclosedArea/PersonnelAndVehicleStatistics/VehicleEntryAndExitRecords";
function VehicleEntryAndExitRecords(props) {
return (<VehicleEntryAndExitRecordsPage {...props} />);
}
export default VehicleEntryAndExitRecords;

View File

@ -0,0 +1,5 @@
function PersonnelAndVehicleStatistics(props) {
return props.children;
}
export default PersonnelAndVehicleStatistics;

View File

@ -66,6 +66,14 @@ function Add(props) {
items: [],
hidden: !(props.entrance === "stakeholder"),
},
{
name: "todo00",
label: "是否申请本公司区域",
span: 24,
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: [{ bianma: 1, name: "是" }, { bianma: 2, name: "否" }],
hidden: !(props.entrance === "enterprise"),
},
{
name: "todo1",
label: "区域管辖单位",
@ -78,6 +86,12 @@ function Add(props) {
}}
/>
),
dependencies: ["todo00"],
hidden: (formValues) => {
if (props.entrance !== "enterprise")
return false;
return !(formValues.todo00 === 2 || formValues.todo00 === null);
},
},
{
name: "todo2",
@ -94,6 +108,7 @@ function Add(props) {
{
name: "todo6",
label: "车辆类型",
span: 24,
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: [
{ bianma: 1, name: "选择现有车辆" },

View File

@ -84,15 +84,17 @@ function DetailList(props) {
<Table
toolBarRender={() => (
<Space>
<Button
type="primary"
icon={(<AddIcon />)}
onClick={() => {
setAddModalVisible(true);
}}
>
新增区域
</Button>
{props.entrance !== "enterprise" && (
<Button
type="primary"
icon={(<AddIcon />)}
onClick={() => {
setAddModalVisible(true);
}}
>
新增区域
</Button>
)}
{
urlState.parentId !== query.id && (
<Button
@ -136,15 +138,17 @@ function DetailList(props) {
fixed: "right",
render: (_, record) => (
<Space>
<Button
type="link"
onClick={() => {
setCurrentId(record.id);
setAddModalVisible(true);
}}
>
修改
</Button>
{props.entrance !== "enterprise" && (
<Button
type="link"
onClick={() => {
setCurrentId(record.id);
setAddModalVisible(true);
}}
>
修改
</Button>
)}
<Button
type="link"
onClick={() => {
@ -154,15 +158,17 @@ function DetailList(props) {
>
电子围栏
</Button>
<Button
type="link"
danger
onClick={() => {
onDelete(record.id);
}}
>
删除
</Button>
{props.entrance !== "enterprise" && (
<Button
type="link"
danger
onClick={() => {
onDelete(record.id);
}}
>
删除
</Button>
)}
</Space>
),
},
@ -192,6 +198,7 @@ function DetailList(props) {
setCurrentId("");
}}
onOk={onSaveElectronicFence}
disabled={props.entrance === "enterprise"}
/>
)
}

View File

@ -64,15 +64,19 @@ function List(props) {
/>
<Table
toolBarRender={() => (
<Button
type="primary"
icon={(<AddIcon />)}
onClick={() => {
setAddModalVisible(true);
}}
>
新增
</Button>
<Space>
{props.entrance !== "enterprise" && (
<Button
type="primary"
icon={(<AddIcon />)}
onClick={() => {
setAddModalVisible(true);
}}
>
新增
</Button>
)}
</Space>
)}
columns={[
{ title: "所属区域", dataIndex: "areaParentName" },
@ -109,30 +113,34 @@ function List(props) {
>
查看
</Button>
<Button
type="link"
onClick={() => {
setCurrentId(record.id);
setAddModalVisible(true);
}}
>
编辑
</Button>
<Button
type="link"
onClick={() => {
onUpdateStatus(record);
}}
>
{record.status === 1 ? "停用" : "开启"}
</Button>
{props.entrance !== "enterprise" && (
<Button
type="link"
onClick={() => {
setCurrentId(record.id);
setAddModalVisible(true);
}}
>
编辑
</Button>
)}
{props.entrance !== "enterprise" && (
<Button
type="link"
onClick={() => {
onUpdateStatus(record);
}}
>
{record.status === 1 ? "停用" : "开启"}
</Button>
)}
<Button
type="link"
onClick={() => {
props.history.push(`./channel/list?areaId=${record.id}`);
}}
>
添加通道
{props.entrance !== "enterprise" ? "添加通道" : "查看通道"}
</Button>
<Button
type="link"
@ -140,7 +148,7 @@ function List(props) {
props.history.push(`./camera/list?areaId=${record.id}`);
}}
>
添加摄像头
{props.entrance !== "enterprise" ? "添加摄像头" : "查看摄像头"}
</Button>
</Space>
),

View File

@ -87,15 +87,17 @@ function List(props) {
}}
toolBarRender={() => (
<Space>
<Button
type="primary"
icon={<AddIcon />}
onClick={() => {
setAddModalVisible(true);
}}
>
新增
</Button>
{props.entrance !== "enterprise" && (
<Button
type="primary"
icon={<AddIcon />}
onClick={() => {
setAddModalVisible(true);
}}
>
新增
</Button>
)}
<Button
type="primary"
icon={<VideoIcon />}
@ -136,33 +138,39 @@ function List(props) {
>
查看
</Button>
<Button
type="link"
onClick={() => {
setAddModalVisible(true);
setCurrentId(record.id);
}}
>
编辑
</Button>
<Button
type="link"
onClick={() => {
setMapModalVisible(true);
setLocation({ longitude: record.longitude, latitude: record.latitude });
}}
>
定位
</Button>
<Button
type="link"
danger
onClick={() => {
onDelete(record.id);
}}
>
删除
</Button>
{props.entrance !== "enterprise" && (
<Button
type="link"
onClick={() => {
setAddModalVisible(true);
setCurrentId(record.id);
}}
>
编辑
</Button>
)}
{props.entrance !== "enterprise" && (
<Button
type="link"
onClick={() => {
setMapModalVisible(true);
setLocation({ longitude: record.longitude, latitude: record.latitude });
}}
>
定位
</Button>
)}
{props.entrance !== "enterprise" && (
<Button
type="link"
danger
onClick={() => {
onDelete(record.id);
}}
>
删除
</Button>
)}
<Button
type="link"
onClick={() => {
@ -171,14 +179,16 @@ function List(props) {
>
播放
</Button>
<Button
type="link"
onClick={() => {
onGetRTSPUrl(record.id);
}}
>
获取rtsp地址
</Button>
{props.entrance !== "enterprise" && (
<Button
type="link"
onClick={() => {
onGetRTSPUrl(record.id);
}}
>
获取rtsp地址
</Button>
)}
</Space>
),
},

View File

@ -57,15 +57,17 @@ function List(props) {
<Table
toolBarRender={() => (
<Space>
<Button
type="primary"
icon={<AddIcon />}
onClick={() => {
setAddModalVisible(true);
}}
>
新增
</Button>
{props.entrance !== "enterprise" && (
<Button
type="primary"
icon={<AddIcon />}
onClick={() => {
setAddModalVisible(true);
}}
>
新增
</Button>
)}
</Space>
)}
columns={[
@ -93,22 +95,24 @@ function List(props) {
width: 240,
render: (_, record) => (
<Space>
<Button
type="link"
onClick={() => {
setAddModalVisible(true);
setCurrentId(record.id);
}}
>
编辑
</Button>
{props.entrance !== "enterprise" && (
<Button
type="link"
onClick={() => {
setAddModalVisible(true);
setCurrentId(record.id);
}}
>
编辑
</Button>
)}
<Button
type="link"
onClick={() => {
props.history.push(`./camera?id=${record.id}`);
}}
>
添加摄像头
{props.entrance !== "enterprise" ? "添加摄像头" : "查看摄像头"}
</Button>
<Button
type="link"
@ -119,15 +123,17 @@ function List(props) {
>
查看
</Button>
<Button
type="link"
danger
onClick={() => {
onDelete(record.id);
}}
>
删除
</Button>
{props.entrance !== "enterprise" && (
<Button
type="link"
danger
onClick={() => {
onDelete(record.id);
}}
>
删除
</Button>
)}
</Space>
),
},

View File

@ -56,15 +56,17 @@ function List(props) {
<Table
toolBarRender={() => (
<Space>
<Button
type="primary"
icon={<AddIcon />}
onClick={() => {
setAddModalVisible(true);
}}
>
新增
</Button>
{props.entrance !== "enterprise" && (
<Button
type="primary"
icon={<AddIcon />}
onClick={() => {
setAddModalVisible(true);
}}
>
新增
</Button>
)}
</Space>
)}
columns={[
@ -90,31 +92,35 @@ function List(props) {
>
查看
</Button>
<Button
type="link"
onClick={() => {
setAddModalVisible(true);
setCurrentId(record.id);
}}
>
编辑
</Button>
<Button
type="link"
danger
onClick={() => {
onDelete(record.id);
}}
>
删除
</Button>
{props.entrance !== "enterprise" && (
<Button
type="link"
onClick={() => {
setAddModalVisible(true);
setCurrentId(record.id);
}}
>
编辑
</Button>
)}
{props.entrance !== "enterprise" && (
<Button
type="link"
danger
onClick={() => {
onDelete(record.id);
}}
>
删除
</Button>
)}
<Button
type="link"
onClick={() => {
props.history.push(`./fareGate?passageId=${record.id}&areaId=${query.areaId}`);
}}
>
添加设备
{props.entrance !== "enterprise" ? "添加设备" : "查看设备"}
</Button>
</Space>
),

View File

@ -1,9 +1,7 @@
import ApprovalRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/ApprovalRecords";
function ApprovalRecords(props) {
return (
<ApprovalRecordsPage {...props} />
);
return (<ApprovalRecordsPage {...props} />);
}
export default ApprovalRecords;

View File

@ -1,9 +1,7 @@
import VehicleRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockVehicles/VehicleRecords";
function VehicleRecords(props) {
return (
<VehicleRecordsPage {...props} />
);
return (<VehicleRecordsPage {...props} />);
}
export default VehicleRecords;

View File

@ -1,9 +1,7 @@
import ViewPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/View";
function View(props) {
return (
<ViewPage {...props} />
);
return (<ViewPage {...props} />);
}
export default View;

View File

@ -1,9 +1,7 @@
import ApprovalRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/ApprovalRecords";
function ApprovalRecords(props) {
return (
<ApprovalRecordsPage {...props} />
);
return (<ApprovalRecordsPage {...props} />);
}
export default ApprovalRecords;

View File

@ -1,9 +1,7 @@
import VehicleRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/VehicleRecords";
function VehicleRecords(props) {
return (
<VehicleRecordsPage {...props} />
);
return (<VehicleRecordsPage {...props} />);
}
export default VehicleRecords;

View File

@ -1,9 +1,7 @@
import PersonnelRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/PersonnelRecords";
function PersonnelRecords(props) {
return (
<PersonnelRecordsPage {...props} />
);
return (<PersonnelRecordsPage {...props} />);
}
export default PersonnelRecords;

View File

@ -1,9 +1,7 @@
import ApprovalRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/ApprovalRecords";
function ApprovalRecords(props) {
return (
<ApprovalRecordsPage {...props} />
);
return (<ApprovalRecordsPage {...props} />);
}
export default ApprovalRecords;

View File

@ -1,9 +1,7 @@
import ListPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/BranchPersonnelAndVehicles/PersonnelAndVehicle/VehicleManagement/List";
function List(props) {
return (
<ListPage {...props} />
);
return (<ListPage {...props} />);
}
export default List;

View File

@ -1,9 +1,7 @@
import VehicleRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockVehicles/VehicleRecords";
function VehicleRecords(props) {
return (
<VehicleRecordsPage {...props} />
);
return (<VehicleRecordsPage {...props} />);
}
export default VehicleRecords;

View File

@ -1,9 +1,7 @@
import ViewPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/View";
function View(props) {
return (
<ViewPage {...props} />
);
return (<ViewPage {...props} />);
}
export default View;

View File

@ -1,9 +1,7 @@
import PersonnelRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/PersonnelRecords";
function InAndOutRecords(props) {
return (
<PersonnelRecordsPage {...props} />
);
return (<PersonnelRecordsPage {...props} />);
}
export default InAndOutRecords;

View File

@ -1,9 +1,7 @@
import VehicleRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/VehicleRecords";
function InAndOutRecords(props) {
return (
<VehicleRecordsPage {...props} />
);
return (<VehicleRecordsPage {...props} />);
}
export default InAndOutRecords;

View File

@ -1,9 +1,7 @@
import ApprovalRecordsPage from "~/pages/Container/Supervision/FirstLevelDoor/ImportAndExportPortInfo/StockPersonnelAndVehicles/VehicleManagement/ApprovalRecords";
function ApprovalRecords(props) {
return (
<ApprovalRecordsPage {...props} />
);
return (<ApprovalRecordsPage {...props} />);
}
export default ApprovalRecords;