口门静态页编写
parent
e0dac3d2de
commit
dd486905e5
|
|
@ -9,7 +9,7 @@ module.exports = {
|
||||||
// 应用后端分支名称,部署上线需要
|
// 应用后端分支名称,部署上线需要
|
||||||
javaGitBranch: "<branch-name>",
|
javaGitBranch: "<branch-name>",
|
||||||
// 接口服务地址
|
// 接口服务地址
|
||||||
API_HOST: "http://192.168.10.37:80",
|
API_HOST: "http://192.168.20.100:30140",
|
||||||
},
|
},
|
||||||
production: {
|
production: {
|
||||||
// 应用后端分支名称,部署上线需要
|
// 应用后端分支名称,部署上线需要
|
||||||
|
|
@ -24,7 +24,7 @@ module.exports = {
|
||||||
contextInject: {
|
contextInject: {
|
||||||
// 应用Key
|
// 应用Key
|
||||||
appKey: "",
|
appKey: "",
|
||||||
fileUrl: "附件地址",
|
fileUrl: "http://192.168.20.240:9787/mnt/",
|
||||||
},
|
},
|
||||||
// public/index.html注入全局变量
|
// public/index.html注入全局变量
|
||||||
windowInject: {
|
windowInject: {
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,12 @@
|
||||||
"@cqsjjb/jjb-dva-runtime": "latest",
|
"@cqsjjb/jjb-dva-runtime": "latest",
|
||||||
"@cqsjjb/jjb-react-admin-component": "latest",
|
"@cqsjjb/jjb-react-admin-component": "latest",
|
||||||
"ahooks": "^3.9.5",
|
"ahooks": "^3.9.5",
|
||||||
"antd": "latest",
|
"antd": "^5.27.6",
|
||||||
"dayjs": "^1.11.7",
|
"dayjs": "^1.11.7",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"zy-react-library": "^1.0.96"
|
"zy-react-library": "^1.0.178"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@antfu/eslint-config": "^5.4.1",
|
"@antfu/eslint-config": "^5.4.1",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
|
||||||
|
export const mkmjAreaList = declareRequest(
|
||||||
|
"basicInformationLoading",
|
||||||
|
`Post > @/xgfManager/project/inCheckList`,
|
||||||
|
);
|
||||||
|
|
||||||
|
export const userListByDeptId = declareRequest(
|
||||||
|
"basicInformationLoading",
|
||||||
|
`Get > /xgfManager/qualifications/userListByDeptId/{id}`,
|
||||||
|
);
|
||||||
|
export const projectUserDelete = declareRequest(
|
||||||
|
"basicInformationLoading",
|
||||||
|
`Delete > @/xgfManager/projectUser/{id}`,
|
||||||
|
);
|
||||||
|
export const corpInfoList = declareRequest(
|
||||||
|
`Post > @/basicInfo/corpInfo/list`,
|
||||||
|
);
|
||||||
|
export const userList = declareRequest(
|
||||||
|
`Post > @/basicInfo/user/list`,
|
||||||
|
);
|
||||||
|
|
@ -1,30 +1,31 @@
|
||||||
import {declareRequest} from '@cqsjjb/jjb-dva-runtime';
|
import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
|
||||||
export const mkmjAreaList = declareRequest(
|
export const mkmjAreaList = declareRequest(
|
||||||
'mkmjAreaLoading',
|
"mkmjAreaLoading",
|
||||||
'Post > @/primeport/mkmjArea/list',
|
`Post > @/primeport/mkmjArea/list`,
|
||||||
);
|
);
|
||||||
export const mkmjAreaAdd = declareRequest(
|
export const mkmjAreaAdd = declareRequest(
|
||||||
'mkmjAreaLoading',
|
"mkmjAreaLoading",
|
||||||
'Post > @/primeport/mkmjArea/save'
|
`Post > @/primeport/mkmjArea/save`,
|
||||||
);
|
);
|
||||||
|
|
||||||
export const mkmjAreaEdit = declareRequest(
|
export const mkmjAreaEdit = declareRequest(
|
||||||
'mkmjAreaLoading',
|
"mkmjAreaLoading",
|
||||||
'Put > @/primeport/mkmjArea/edit'
|
`Put > @/primeport/mkmjArea/edit`,
|
||||||
);
|
);
|
||||||
export const mkmjAreaDelete = declareRequest(
|
export const mkmjAreaDelete = declareRequest(
|
||||||
'mkmjAreaLoading',
|
"mkmjAreaLoading",
|
||||||
'Delete > @/primeport/mkmjArea/{id}'
|
`Delete > @/primeport/mkmjArea/{id}`,
|
||||||
);
|
);
|
||||||
export const mkmjAreaBatchDelete = declareRequest(
|
export const mkmjAreaBatchDelete = declareRequest(
|
||||||
'mkmjAreaLoading',
|
"mkmjAreaLoading",
|
||||||
'Delete > @/primeport/mkmjArea/ids/{ids}'
|
`Delete > @/primeport/mkmjArea/ids/{ids}`,
|
||||||
);
|
);
|
||||||
export const mkmjAreaInfo = declareRequest('mkmjAreaLoading', 'Get > /primeport/mkmjArea/{id}');
|
export const mkmjAreaInfo = declareRequest("mkmjAreaLoading", `Get > /primeport/mkmjArea/{id}`);
|
||||||
|
|
||||||
export const getStatistics = declareRequest('mkmjAreaLoading', 'Post > @/primeport/mkmjArea/statistics');
|
export const getStatistics = declareRequest("mkmjAreaLoading", `Post > @/primeport/mkmjArea/statistics`);
|
||||||
|
|
||||||
export const getCorpInfoList = declareRequest(
|
export const getCorpInfoList = declareRequest(
|
||||||
'fireresourcesLoading',
|
"fireresourcesLoading",
|
||||||
'Get > /basicInfo/corpInfo/listAll?inType=0,1'
|
`Get > /basicInfo/corpInfo/listAll?inType=0,1`,
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Modal, Space } from "antd";
|
||||||
|
import { useEffect } from "react";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
const CameraList = (props) => {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const tableProps = {};
|
||||||
|
const getData = async () => {};
|
||||||
|
useEffect(() => {
|
||||||
|
props.id && getData();
|
||||||
|
}, []);
|
||||||
|
const handleSubmit = async () => {
|
||||||
|
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Modal
|
||||||
|
title="添加摄像头"
|
||||||
|
open
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
onOk={handleSubmit}
|
||||||
|
width={1200}
|
||||||
|
footer={null}
|
||||||
|
>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "视频名称" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
// onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{ title: "视频名称", dataIndex: "" },
|
||||||
|
{ title: "区域", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 180,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
播放
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
选择
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(CameraList);
|
||||||
|
|
@ -3,3 +3,44 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export {};
|
export {};
|
||||||
|
// 所属区域
|
||||||
|
export const PRIMARY_REGION = [
|
||||||
|
{ name: "东港区", bianma: "1" },
|
||||||
|
{ name: "西港区", bianma: "2" },
|
||||||
|
];
|
||||||
|
// 口门类型
|
||||||
|
export const PRIMARY_OPENING_TYPE = [
|
||||||
|
{ name: "人行口门", bianma: "1" },
|
||||||
|
{ name: "车行口门", bianma: "2" },
|
||||||
|
{ name: "综合口门", bianma: "3" },
|
||||||
|
];
|
||||||
|
// 口门状态
|
||||||
|
export const PRIMARY_OPENING_STATUS = [
|
||||||
|
{ name: "停用", bianma: "1" },
|
||||||
|
{ name: "正常", bianma: "0" },
|
||||||
|
{ name: "暂时关闭", bianma: "0" },
|
||||||
|
];
|
||||||
|
// 通道状态
|
||||||
|
export const PRIMARY_CHANNELIST_STATUS = [
|
||||||
|
{ name: "停用", bianma: "1" },
|
||||||
|
{ name: "正常", bianma: "0" },
|
||||||
|
{ name: "暂时关闭", bianma: "0" },
|
||||||
|
];
|
||||||
|
// 通道类型
|
||||||
|
export const PRIMARY_CHANNELIST_TYPE = [
|
||||||
|
{ name: "人行口门", bianma: "1" },
|
||||||
|
{ name: "车行口门", bianma: "2" },
|
||||||
|
{ name: "综合口门", bianma: "3" },
|
||||||
|
];
|
||||||
|
// 闸机状态
|
||||||
|
export const PRIMARY_EQUIPMENT_STATUS = [
|
||||||
|
{ name: "停用", bianma: "1" },
|
||||||
|
{ name: "正常", bianma: "0" },
|
||||||
|
{ name: "暂时关闭", bianma: "0" },
|
||||||
|
];
|
||||||
|
// 闸机类型
|
||||||
|
export const PRIMARY_EQUIPMENT_TYPE = [
|
||||||
|
{ name: "人行闸机", bianma: "1" },
|
||||||
|
{ name: "车行闸机", bianma: "2" },
|
||||||
|
{ name: "综合闸机", bianma: "3" },
|
||||||
|
];
|
||||||
|
|
|
||||||
|
|
@ -11,3 +11,4 @@ export const NS_MKMJGATELOG = defineNamespace("mkmjGateLog");
|
||||||
export const NS_MKMJGATEVIDEO = defineNamespace("mkmjGateVideo");
|
export const NS_MKMJGATEVIDEO = defineNamespace("mkmjGateVideo");
|
||||||
export const NS_MKMJPASSAGE = defineNamespace("mkmjPassage");
|
export const NS_MKMJPASSAGE = defineNamespace("mkmjPassage");
|
||||||
export const NS_ENCLOSEDAREA = defineNamespace("enclosedArea");
|
export const NS_ENCLOSEDAREA = defineNamespace("enclosedArea");
|
||||||
|
export const NS_BASICINFORMATION = defineNamespace("basicInformation");
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import AddView from "~/pages/Container/Supervision/PrimaryAccessControl/BasicInformation/AccessApprover/Add";
|
||||||
|
|
||||||
|
function Add(props) {
|
||||||
|
// 带入企业名称到下一级页面
|
||||||
|
return (<AddView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Add;
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/BasicInformation/AccessApprover/List";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
// 带入企业名称到下一级页面
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default List;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function AccessApprover(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default AccessApprover;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function BasicInformation(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default BasicInformation;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import DetailView from "~/pages/Container/Supervision/PrimaryAccessControl/EntryApprova/Personnel/Arrival/Detail";
|
||||||
|
|
||||||
|
function Detail(props) {
|
||||||
|
return (<DetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Detail;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/EntryApprova/Personnel/Arrival/List";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default List;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Arrival(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Arrival;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Personnel(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Personnel;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import DetailView from "~/pages/Container/Supervision/PrimaryAccessControl/EntryApprova/Vehicle/Share/Detail";
|
||||||
|
|
||||||
|
function Detail(props) {
|
||||||
|
return (<DetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Detail;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/EntryApprova/Vehicle/Share/List";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default List;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Share(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Share;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import DetailView from "~/pages/Container/Supervision/PrimaryAccessControl/EntryApprova/Vehicle/Stakeholder/Detail";
|
||||||
|
|
||||||
|
function Detail(props) {
|
||||||
|
return (<DetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Detail;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/EntryApprova/Vehicle/Stakeholder/List";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default List;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Stakeholder(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Stakeholder;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Vehicle(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Vehicle;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function EntryApprova(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default EntryApprova;
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import AddView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/Add";
|
||||||
|
|
||||||
|
function Add(props) {
|
||||||
|
// 带入企业名称到下一级页面
|
||||||
|
return (<AddView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Add;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ApprovalRecordView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/ApprovalRecord";
|
||||||
|
|
||||||
|
function ApprovalRecord(props) {
|
||||||
|
return (<ApprovalRecordView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ApprovalRecord;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ApprovalRecordDetailView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/ApprovalRecordDetail";
|
||||||
|
|
||||||
|
function ApprovalRecordDetail(props) {
|
||||||
|
return (<ApprovalRecordDetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ApprovalRecordDetail;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/List";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default List;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import RecordView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/Record";
|
||||||
|
|
||||||
|
function Record(props) {
|
||||||
|
return (<RecordView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Record;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import SwitchRecordView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/SwitchRecord";
|
||||||
|
|
||||||
|
function SwitchRecord(props) {
|
||||||
|
return (<SwitchRecordView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default SwitchRecord;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import VehicleManagementView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/VehicleManagement";
|
||||||
|
|
||||||
|
function VehicleManagement(props) {
|
||||||
|
return (<VehicleManagementView pageName="Enterprise" {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default VehicleManagement;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import VehicleManagementDetailView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/VehicleManagementDetail";
|
||||||
|
|
||||||
|
function VehicleManagementDetail(props) {
|
||||||
|
return (<VehicleManagementDetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default VehicleManagementDetail;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import VehicleRecordView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/StakeholderPersonnelVehicle/VehicleCarRecord";
|
||||||
|
|
||||||
|
function VehicleRecord(props) {
|
||||||
|
return (<VehicleRecordView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default VehicleRecord;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function SupervisionPersonnelVehicle(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default SupervisionPersonnelVehicle;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import AddView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionVehicle/Add";
|
||||||
|
|
||||||
|
function Add(props) {
|
||||||
|
return (<AddView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Add;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/ApprovalRecord";
|
||||||
|
|
||||||
|
function ApprovalRecord(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ApprovalRecord;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import DetailView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/ApprovalRecordDetail";
|
||||||
|
|
||||||
|
function ApprovalRecordDetail(props) {
|
||||||
|
return (<DetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ApprovalRecordDetail;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionVehicle/List";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default List;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/SwitchRecord";
|
||||||
|
|
||||||
|
function SwitchRecord(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default SwitchRecord;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import VehicleManagementDetailView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/VehicleManagementDetail";
|
||||||
|
|
||||||
|
function VehicleManagementDetail(props) {
|
||||||
|
return (<VehicleManagementDetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default VehicleManagementDetail;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import VehicleRecordView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/StakeholderPersonnelVehicle/VehicleCarRecord";
|
||||||
|
|
||||||
|
function VehicleRecord(props) {
|
||||||
|
return (<VehicleRecordView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default VehicleRecord;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function SupervisionVehicle(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default SupervisionVehicle;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function ImportExportInformation(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ImportExportInformation;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import AddView from "~/pages/Container/Supervision/PrimaryAccessControl/TemporaryVisitor/Personnel/Add";
|
||||||
|
|
||||||
|
function Add(props) {
|
||||||
|
return (<AddView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Add;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import DetailView from "~/pages/Container/Supervision/PrimaryAccessControl/TemporaryVisitor/Personnel/Detail";
|
||||||
|
|
||||||
|
function Detail(props) {
|
||||||
|
return (<DetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Detail;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/TemporaryVisitor/Personnel/List";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default List;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Personnel(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Personnel;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import AddView from "~/pages/Container/Supervision/PrimaryAccessControl/TemporaryVisitor/Vehicle/Add";
|
||||||
|
|
||||||
|
function Add(props) {
|
||||||
|
return (<AddView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Add;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import DetailView from "~/pages/Container/Supervision/PrimaryAccessControl/TemporaryVisitor/Vehicle/Detail";
|
||||||
|
|
||||||
|
function Detail(props) {
|
||||||
|
return (<DetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Detail;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/TemporaryVisitor/Vehicle/List";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default List;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Vehicle(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Vehicle;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function TemporaryVisitor(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default TemporaryVisitor;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function PrimaryAccessControl(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default PrimaryAccessControl;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Enterprise(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Enterprise;
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Form, message } from "antd";
|
||||||
|
import { useEffect } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function Add(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const getData = async () => {
|
||||||
|
if (query.id) {
|
||||||
|
const { data } = await props["busPromiseTemplateView"]({ id: query.id });
|
||||||
|
const values = {
|
||||||
|
...data,
|
||||||
|
};
|
||||||
|
form.setFieldsValue({
|
||||||
|
...values,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
const { success } = await props[!query.id ? "busPromiseTemplateAdd" : "busPromiseTemplateEdit"]({
|
||||||
|
...values,
|
||||||
|
id: query.id,
|
||||||
|
promiseId: query.promiseId,
|
||||||
|
isRegulatory: 0,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("操作成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title={query.id ? "编辑" : "新增"} />
|
||||||
|
<div style={{ paddingBottom: 10 }}>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "部门", span: 24, render: <DepartmentSelectTree /> },
|
||||||
|
{ name: "", label: "审批人", span: 24, render: (
|
||||||
|
<PersonnelSelect
|
||||||
|
isNeedDepartmentId={false}
|
||||||
|
onGetLabel={(label) => {
|
||||||
|
form.setFieldValue("userName", label);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
) },
|
||||||
|
{ name: "userName", label: "审批人名称", onlyForLabel: true },
|
||||||
|
{ name: "", label: "审批权限", span: 24, render: FORM_ITEM_RENDER_ENUM.CHECKBOX, items: [{ bianma: 1, name: "人员" }, { bianma: 0, name: "车辆" }, { bianma: 2, name: "临时访客" }] },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(Add);
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = [];
|
||||||
|
|
||||||
|
const onDelete = (record) => {
|
||||||
|
// Modal.confirm({
|
||||||
|
// title: "删除确认",
|
||||||
|
// content: "确定要删除吗?",
|
||||||
|
// onOk: async () => {
|
||||||
|
// const { success } = await props["projectUserDelete"]({ id: record.id });
|
||||||
|
// if (success) {
|
||||||
|
// message.success("删除成功");
|
||||||
|
// // getData();
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "a", label: "部门", render: (
|
||||||
|
<DepartmentSelectTree />
|
||||||
|
) },
|
||||||
|
{ name: "b", label: "姓名" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
// onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./add");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
新增
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "部门", dataIndex: "" },
|
||||||
|
{ title: "姓名", dataIndex: "" },
|
||||||
|
{ title: "岗位", dataIndex: "" },
|
||||||
|
{ title: "审批权限", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 350,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => onDelete(record)}
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(List);
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function AccessApprover(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default AccessApprover;
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Form, message } from "antd";
|
||||||
|
import { useEffect } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import Map from "zy-react-library/components/Map";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { PRIMARY_OPENING_STATUS, PRIMARY_OPENING_TYPE, PRIMARY_REGION } from "~/enumerate/constant";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function Add(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const getData = async () => {
|
||||||
|
if (query.id) {
|
||||||
|
const { data } = await props["busPromiseTemplateView"]({ id: query.id });
|
||||||
|
const values = {
|
||||||
|
...data,
|
||||||
|
};
|
||||||
|
form.setFieldsValue({
|
||||||
|
...values,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
const { success } = await props[!query.id ? "busPromiseTemplateAdd" : "busPromiseTemplateEdit"]({
|
||||||
|
...values,
|
||||||
|
id: query.id,
|
||||||
|
promiseId: query.promiseId,
|
||||||
|
isRegulatory: 0,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("操作成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title={query.id ? "编辑" : "新增"} />
|
||||||
|
<div style={{ paddingBottom: 10 }}>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "所属港区" },
|
||||||
|
{ name: "", label: "所属区域", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_REGION },
|
||||||
|
{ name: "", label: "口门名称", span: 24 },
|
||||||
|
{ name: "", label: "口门类型", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_OPENING_TYPE },
|
||||||
|
{ name: "", label: "口门位置", span: 24 },
|
||||||
|
{ name: "", label: "", labelCol: { span: 0 }, span: 24, render: (
|
||||||
|
<Map
|
||||||
|
required={false}
|
||||||
|
/>
|
||||||
|
) },
|
||||||
|
|
||||||
|
{ name: "", label: "口门状态", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_OPENING_STATUS },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(Add);
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, message } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import CameraList from "~/components/CameraList";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function CameraAdd(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const [cameraListOpen, setcameraListOpen] = useState(false);
|
||||||
|
const getData = async () => {
|
||||||
|
if (query.id) {
|
||||||
|
const { data } = await props["busPromiseTemplateView"]({ id: query.id });
|
||||||
|
const values = {
|
||||||
|
...data,
|
||||||
|
};
|
||||||
|
form.setFieldsValue({
|
||||||
|
...values,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
const { success } = await props[!query.id ? "busPromiseTemplateAdd" : "busPromiseTemplateEdit"]({
|
||||||
|
...values,
|
||||||
|
id: query.id,
|
||||||
|
promiseId: query.promiseId,
|
||||||
|
isRegulatory: 0,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("操作成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title={query.id ? "编辑" : "新增"} />
|
||||||
|
<div style={{ paddingBottom: 10 }}>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "视频监控信息", span: 24, render: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
setcameraListOpen(true);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
选择
|
||||||
|
</Button>
|
||||||
|
) },
|
||||||
|
{ name: "", label: "视频名称", span: 24, componentProps: {
|
||||||
|
disabled: true,
|
||||||
|
} },
|
||||||
|
{ name: "", label: "播放地址", span: 24, componentProps: {
|
||||||
|
disabled: true,
|
||||||
|
} },
|
||||||
|
{ name: "", label: "摄像头编号", span: 24, componentProps: {
|
||||||
|
disabled: true,
|
||||||
|
} },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
{cameraListOpen && <CameraList onCancel={() => setcameraListOpen(false)} />}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(CameraAdd);
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Descriptions, Spin } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function CameraDetail(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [info, setInfo] = useState([]);
|
||||||
|
|
||||||
|
const getData = async () => {
|
||||||
|
// const { data } = await props[""]({ id: query.id });
|
||||||
|
// setInfo(data);
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="查看" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={1}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "视频名称", children: "" },
|
||||||
|
{ label: "播放地址", children: "" },
|
||||||
|
{ label: "摄像头编号", children: "" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(CameraDetail);
|
||||||
|
|
@ -0,0 +1,125 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, message, Modal, Space } from "antd";
|
||||||
|
import { useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import {
|
||||||
|
PRIMARY_CHANNELIST_TYPE,
|
||||||
|
} from "~/enumerate/constant";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function CameraList(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const [selectedRowKeys, setSelectedRowKeys] = useState([]); // 存储选中的行键
|
||||||
|
const [selectedRows, setSelectedRows] = useState([]); // 存储选中行的完整数据
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const onDelete = (record) => {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "删除确认",
|
||||||
|
content: "确定要删除吗?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { success } = await props["projectUserDelete"]({ id: record.id });
|
||||||
|
if (success) {
|
||||||
|
message.success("删除成功");
|
||||||
|
// getData();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="添加摄像头" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "视频名称" },
|
||||||
|
{ name: "", label: "通道类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_CHANNELIST_TYPE },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
// onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./CameraAdd");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
新增
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./CameraDetail");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
rowSelection={{
|
||||||
|
selectedRowKeys,
|
||||||
|
preserveSelectedRowKeys: true,
|
||||||
|
}}
|
||||||
|
columns={[
|
||||||
|
{ title: "视频名称", dataIndex: "" },
|
||||||
|
{ title: "播放地址", dataIndex: "" },
|
||||||
|
{ title: "视频定位状态", dataIndex: "" },
|
||||||
|
{ title: "是否在线", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
编辑
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => onDelete(record)}
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
添加摄像头
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(CameraList);
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Form, message } from "antd";
|
||||||
|
import { useEffect } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import {
|
||||||
|
PRIMARY_CHANNELIST_TYPE,
|
||||||
|
PRIMARY_CHANNELLIST_STATUS,
|
||||||
|
} from "~/enumerate/constant";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function ChanneAdd(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const getData = async () => {
|
||||||
|
if (query.id) {
|
||||||
|
const { data } = await props["busPromiseTemplateView"]({ id: query.id });
|
||||||
|
const values = {
|
||||||
|
...data,
|
||||||
|
};
|
||||||
|
form.setFieldsValue({
|
||||||
|
...values,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
const { success } = await props[!query.id ? "busPromiseTemplateAdd" : "busPromiseTemplateEdit"]({
|
||||||
|
...values,
|
||||||
|
id: query.id,
|
||||||
|
promiseId: query.promiseId,
|
||||||
|
isRegulatory: 0,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("操作成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title={query.id ? "编辑" : "新增"} />
|
||||||
|
<div style={{ paddingBottom: 10 }}>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "通道名称", span: 24 },
|
||||||
|
{ name: "", label: "通道类型", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_CHANNELIST_TYPE },
|
||||||
|
{ name: "", label: "通道状态", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_CHANNELLIST_STATUS },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(ChanneAdd);
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Descriptions, Spin } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function ChanneDetail(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [info, setInfo] = useState([]);
|
||||||
|
|
||||||
|
const getData = async () => {
|
||||||
|
// const { data } = await props[""]({ id: query.id });
|
||||||
|
// setInfo(data);
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="查看" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={1}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "通道名称", children: "" },
|
||||||
|
{ label: "通道类型", children: "" },
|
||||||
|
{ label: "通道状态", children: "" },
|
||||||
|
{ label: "地理位置", children: "" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(ChanneDetail);
|
||||||
|
|
@ -0,0 +1,125 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, message, Modal, Space } from "antd";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { PRIMARY_CHANNELIST_STATUS, PRIMARY_CHANNELLIST_TYPE } from "~/enumerate/constant";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function ChannelList(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const onDelete = (record) => {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "删除确认",
|
||||||
|
content: "确定要删除吗?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { success } = await props["projectUserDelete"]({ id: record.id });
|
||||||
|
if (success) {
|
||||||
|
message.success("删除成功");
|
||||||
|
// getData();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="通道" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "通道名称" },
|
||||||
|
{ name: "", label: "通道状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_CHANNELIST_STATUS },
|
||||||
|
{ name: "", label: "通道类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_CHANNELLIST_TYPE },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
// onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./ChanneAdd");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
新增
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./ChanneDetail");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./EquipmentList");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
添加设备
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "通道类型", dataIndex: "" },
|
||||||
|
{ title: "通道名称", dataIndex: "" },
|
||||||
|
{ title: "设备数", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
编辑
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => onDelete(record)}
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
添加设备
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(ChannelList);
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Descriptions, Spin } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function Detail(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [info, setInfo] = useState([]);
|
||||||
|
|
||||||
|
const getData = async () => {
|
||||||
|
// const { data } = await props[""]({ id: query.id });
|
||||||
|
// setInfo(data);
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="查看" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={1}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "所属区域", children: "" },
|
||||||
|
{ label: "口门名称", children: "" },
|
||||||
|
{ label: "口门类型", children: "" },
|
||||||
|
{ label: "口门位置", children: "" },
|
||||||
|
{ label: "地理位置", children: "" },
|
||||||
|
{ label: "口门状态", children: "" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(Detail);
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Form, message } from "antd";
|
||||||
|
import { useEffect } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import {
|
||||||
|
PRIMARY_EQUIPMENT_STATUS,
|
||||||
|
PRIMARY_EQUIPMENT_TYPE,
|
||||||
|
} from "~/enumerate/constant";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function EquipmentAdd(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const getData = async () => {
|
||||||
|
if (query.id) {
|
||||||
|
const { data } = await props["busPromiseTemplateView"]({ id: query.id });
|
||||||
|
const values = {
|
||||||
|
...data,
|
||||||
|
};
|
||||||
|
form.setFieldsValue({
|
||||||
|
...values,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
const { success } = await props[!query.id ? "busPromiseTemplateAdd" : "busPromiseTemplateEdit"]({
|
||||||
|
...values,
|
||||||
|
id: query.id,
|
||||||
|
promiseId: query.promiseId,
|
||||||
|
isRegulatory: 0,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("操作成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title={query.id ? "编辑" : "新增"} />
|
||||||
|
<div style={{ paddingBottom: 10 }}>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "闸机类型", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_EQUIPMENT_TYPE },
|
||||||
|
{ name: "", label: "闸机名称", span: 24 },
|
||||||
|
{ name: "", label: "闸机类别", span: 24 },
|
||||||
|
{ name: "", label: "闸机型号", span: 24 },
|
||||||
|
{ name: "", label: "闸机位置", span: 24 },
|
||||||
|
{ name: "", label: "闸机状态", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_EQUIPMENT_STATUS },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(EquipmentAdd);
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Descriptions, Spin } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function EquipmentDetail(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [info, setInfo] = useState([]);
|
||||||
|
|
||||||
|
const getData = async () => {
|
||||||
|
// const { data } = await props[""]({ id: query.id });
|
||||||
|
// setInfo(data);
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="查看" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={1}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "闸机类型", children: "" },
|
||||||
|
{ label: "闸机名称", children: "" },
|
||||||
|
{ label: "闸机类别", children: "" },
|
||||||
|
{ label: "闸机型号", children: "" },
|
||||||
|
{ label: "闸机位置", children: "" },
|
||||||
|
{ label: "闸机状态", children: "" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(EquipmentDetail);
|
||||||
|
|
@ -0,0 +1,132 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, message, Modal, Space } from "antd";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import {
|
||||||
|
PRIMARY_EQUIPMENT_STATUS,
|
||||||
|
PRIMARY_EQUIPMENT_TYPE,
|
||||||
|
} from "~/enumerate/constant";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function EquipmentList(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const onDelete = (record) => {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "删除确认",
|
||||||
|
content: "确定要删除吗?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { success } = await props["projectUserDelete"]({ id: record.id });
|
||||||
|
if (success) {
|
||||||
|
message.success("删除成功");
|
||||||
|
// getData();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="设备" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "闸机名称" },
|
||||||
|
{ name: "", label: "闸机状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_EQUIPMENT_STATUS },
|
||||||
|
{ name: "", label: "闸机类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_EQUIPMENT_TYPE },
|
||||||
|
{ name: "", label: "闸机类别", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_EQUIPMENT_TYPE },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
// onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./EquipmentAdd");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
新增
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./EquipmentDetail");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./CameraList");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
添加摄像头
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "闸机类型", dataIndex: "" },
|
||||||
|
{ title: "闸机名称", dataIndex: "" },
|
||||||
|
{ title: "闸机类别", dataIndex: "" },
|
||||||
|
{ title: "闸机位置", dataIndex: "" },
|
||||||
|
{ title: "摄像头个数", dataIndex: "" },
|
||||||
|
{ title: "闸机状态", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
编辑
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => onDelete(record)}
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
添加摄像头
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(EquipmentList);
|
||||||
|
|
@ -0,0 +1,128 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, message, Modal, Space } from "antd";
|
||||||
|
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { PRIMARY_OPENING_STATUS, PRIMARY_OPENING_TYPE, PRIMARY_REGION } from "~/enumerate/constant";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const onDelete = (record) => {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "删除确认",
|
||||||
|
content: "确定要删除吗?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { success } = await props["projectUserDelete"]({ id: record.id });
|
||||||
|
if (success) {
|
||||||
|
message.success("删除成功");
|
||||||
|
// getData();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "口门名称" },
|
||||||
|
{ name: "", label: "口门状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_OPENING_STATUS },
|
||||||
|
{ name: "", label: "口门类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_OPENING_TYPE },
|
||||||
|
{ name: "", label: "所属区域", render: FORM_ITEM_RENDER_ENUM.SELECT, items: PRIMARY_REGION },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
// onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./add");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
新增
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./PersonnelVehicleRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./ChannelList");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
添加通道
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./CameraList");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
添加摄像头
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "所属区域", dataIndex: "" },
|
||||||
|
{ title: "口门类型", dataIndex: "" },
|
||||||
|
{ title: "口门名称", dataIndex: "" },
|
||||||
|
{ title: "口门位置", dataIndex: "" },
|
||||||
|
{ title: "摄像头个数", dataIndex: "" },
|
||||||
|
{ title: "口门状态", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
编辑
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => onDelete(record)}
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(List);
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function PrimaryAccessPoint(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default PrimaryAccessPoint;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function BasicInformation(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default BasicInformation;
|
||||||
|
|
@ -0,0 +1,161 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Descriptions, Divider, Form, Input, message, Modal, Spin } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function Detail(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [info, setInfo] = useState([]);
|
||||||
|
const tableProps = {};
|
||||||
|
const getData = async () => {
|
||||||
|
// const { data } = await props[""]({ id: query.id });
|
||||||
|
// setInfo(data);
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
const auditSubmit = (result) => {
|
||||||
|
if (result === 1) {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "审核确认",
|
||||||
|
content: "确定要通过审核吗?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { success } = await props["projectAudit"]({
|
||||||
|
id: query.id,
|
||||||
|
result,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("审核通过");
|
||||||
|
getData();
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "审核驳回",
|
||||||
|
content: (
|
||||||
|
<div>
|
||||||
|
<div style={{ marginBottom: 8 }}>确定要驳回审核吗?</div>
|
||||||
|
<Form
|
||||||
|
form={form}
|
||||||
|
layout="vertical"
|
||||||
|
style={{ marginTop: 16 }}
|
||||||
|
>
|
||||||
|
<Form.Item
|
||||||
|
name="rejectReason"
|
||||||
|
label="驳回原因"
|
||||||
|
rules={[{ required: true, message: "请输入驳回原因" }]}
|
||||||
|
>
|
||||||
|
<Input.TextArea
|
||||||
|
placeholder="请输入驳回原因"
|
||||||
|
rows={3}
|
||||||
|
maxLength={200}
|
||||||
|
showCount
|
||||||
|
/>
|
||||||
|
</Form.Item>
|
||||||
|
</Form>
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
icon: null,
|
||||||
|
okText: "确认驳回",
|
||||||
|
cancelText: "取消",
|
||||||
|
width: 500,
|
||||||
|
onOk: async () => {
|
||||||
|
try {
|
||||||
|
const values = await form.validateFields();
|
||||||
|
const { success } = await props["projectAudit"]({
|
||||||
|
id: query.id,
|
||||||
|
result,
|
||||||
|
rejectCause: values.rejectReason, // 添加拒绝原因
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("审核驳回成功");
|
||||||
|
getData();
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
// 表单验证失败,不关闭弹窗
|
||||||
|
return Promise.reject(error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="查看" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">申请信息</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "相关方名称", children: "", span: 2 },
|
||||||
|
{ label: "项目名称", children: "" },
|
||||||
|
{ label: "区域范围", children: "" },
|
||||||
|
{ label: "访问期限", children: "", span: 2 },
|
||||||
|
{ label: "项目人员数", children: "" },
|
||||||
|
{ label: "申请时间", children: "" },
|
||||||
|
{ label: "申请状态", children: "", span: 2 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div style={{ display: "flex", justifyContent: "flex-start", margin: "40px 0" }}>
|
||||||
|
<div style={{ margin: "0 20px" }}>申请人签字:</div>
|
||||||
|
<div>
|
||||||
|
<img src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png?x-oss-process=image/auto-orient,1/resize,p_10/quality,q_10" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">人员信息</Divider>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{ title: "姓名", dataIndex: "" },
|
||||||
|
{ title: "部门", dataIndex: "" },
|
||||||
|
{ title: "是否培训", dataIndex: "" },
|
||||||
|
{ title: "现口门权限范围", dataIndex: "" },
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
<div style={{ textAlign: "center", marginTop: "20px" }}>
|
||||||
|
<Button
|
||||||
|
onClick={() => auditSubmit(0)}
|
||||||
|
>
|
||||||
|
驳回
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
style={{ marginLeft: "20px" }}
|
||||||
|
type="primary"
|
||||||
|
onClick={() => auditSubmit(1)}
|
||||||
|
>
|
||||||
|
审核通过
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(Detail);
|
||||||
|
|
@ -0,0 +1,118 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Modal, Space } from "antd";
|
||||||
|
import { useState } from "react";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const [rejectReasonModalOpen, setRejectReasonModalOpen] = useState(false); // 驳回原因弹窗
|
||||||
|
const [rejectReason, setRejectReason] = useState(false); // 驳回原因
|
||||||
|
// 点击查看驳回原因
|
||||||
|
const onViewRejectReason = async (id) => {
|
||||||
|
const { data } = await props["projectApprovalFlow"]({ id });
|
||||||
|
setRejectReason(data);
|
||||||
|
setRejectReasonModalOpen(true);
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "姓名" },
|
||||||
|
{ name: "", label: "项目名称" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
// onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./Detail");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "相关方名称", dataIndex: "" },
|
||||||
|
{ title: "项目名称", dataIndex: "" },
|
||||||
|
{ title: "区域范围", dataIndex: "" },
|
||||||
|
{ title: "访问期限", dataIndex: "" },
|
||||||
|
{ title: "项目人员数", dataIndex: "" },
|
||||||
|
{ title: "申请时间", dataIndex: "" },
|
||||||
|
{ title: "审核状态", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
审核
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
onViewRejectReason(record.id);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看驳回原因
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
{rejectReasonModalOpen && <RejectReason rejectReason={rejectReason} onCancel={() => setRejectReasonModalOpen(false)} />}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const RejectReason = (props) => {
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
title="查看驳回原因"
|
||||||
|
width={800}
|
||||||
|
open
|
||||||
|
maskClosable={false}
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
footer={[
|
||||||
|
<Button key="cancel" onClick={props.onCancel}>取消</Button>,
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={1}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "驳回原因", children: props.rejectReason.rejectReason },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(List);
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Arrival(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Arrival;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Personnel(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Personnel;
|
||||||
|
|
@ -0,0 +1,157 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Descriptions, Divider, Form, Input, message, Modal, Spin } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function Detail(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [info, setInfo] = useState([]);
|
||||||
|
const tableProps = {};
|
||||||
|
const getData = async () => {
|
||||||
|
// const { data } = await props[""]({ id: query.id });
|
||||||
|
// setInfo(data);
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
const auditSubmit = (result) => {
|
||||||
|
if (result === 1) {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "审核确认",
|
||||||
|
content: "确定要通过审核吗?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { success } = await props["projectAudit"]({
|
||||||
|
id: query.id,
|
||||||
|
result,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("审核通过");
|
||||||
|
getData();
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "审核驳回",
|
||||||
|
content: (
|
||||||
|
<div>
|
||||||
|
<div style={{ marginBottom: 8 }}>确定要驳回审核吗?</div>
|
||||||
|
<Form
|
||||||
|
form={form}
|
||||||
|
layout="vertical"
|
||||||
|
style={{ marginTop: 16 }}
|
||||||
|
>
|
||||||
|
<Form.Item
|
||||||
|
name="rejectReason"
|
||||||
|
label="驳回原因"
|
||||||
|
rules={[{ required: true, message: "请输入驳回原因" }]}
|
||||||
|
>
|
||||||
|
<Input.TextArea
|
||||||
|
placeholder="请输入驳回原因"
|
||||||
|
rows={3}
|
||||||
|
maxLength={200}
|
||||||
|
showCount
|
||||||
|
/>
|
||||||
|
</Form.Item>
|
||||||
|
</Form>
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
icon: null,
|
||||||
|
okText: "确认驳回",
|
||||||
|
cancelText: "取消",
|
||||||
|
width: 500,
|
||||||
|
onOk: async () => {
|
||||||
|
try {
|
||||||
|
const values = await form.validateFields();
|
||||||
|
const { success } = await props["projectAudit"]({
|
||||||
|
id: query.id,
|
||||||
|
result,
|
||||||
|
rejectCause: values.rejectReason, // 添加拒绝原因
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("审核驳回成功");
|
||||||
|
getData();
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
// 表单验证失败,不关闭弹窗
|
||||||
|
return Promise.reject(error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="查看" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">申请信息</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={1}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "车辆所属类型", children: "" },
|
||||||
|
{ label: "车辆所属部门", children: "" },
|
||||||
|
{ label: "车辆归属人", children: "" },
|
||||||
|
{ label: "车牌号", children: "" },
|
||||||
|
{ label: "车牌类型", children: "" },
|
||||||
|
{ label: "车辆类型", children: "" },
|
||||||
|
{ label: "访问港区范围", children: "" },
|
||||||
|
{ label: "访问起始时间", children: "" },
|
||||||
|
{ label: "访问结束时间", children: "" },
|
||||||
|
{ label: "行驶证照片", children: "" },
|
||||||
|
{ label: "车辆照片", children: "" },
|
||||||
|
{ label: "审批人", children: "" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">审批信息</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={1}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "审批人", children: "" },
|
||||||
|
{ label: "审批时间", children: "" },
|
||||||
|
{ label: "审批状态", children: "" },
|
||||||
|
{ label: "打回意见", children: "" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
<div style={{ textAlign: "center", marginTop: "20px" }}>
|
||||||
|
<Button
|
||||||
|
onClick={() => auditSubmit(0)}
|
||||||
|
>
|
||||||
|
驳回
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
style={{ marginLeft: "20px" }}
|
||||||
|
type="primary"
|
||||||
|
onClick={() => auditSubmit(1)}
|
||||||
|
>
|
||||||
|
审核通过
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(Detail);
|
||||||
|
|
@ -0,0 +1,129 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Modal, Space } from "antd";
|
||||||
|
import { useState } from "react";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
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 { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const [rejectReasonModalOpen, setRejectReasonModalOpen] = useState(false); // 驳回原因弹窗
|
||||||
|
const [rejectReason, setRejectReason] = useState(false); // 驳回原因
|
||||||
|
// 点击查看驳回原因
|
||||||
|
const onViewRejectReason = async (id) => {
|
||||||
|
const { data } = await props["projectApprovalFlow"]({ id });
|
||||||
|
setRejectReason(data);
|
||||||
|
setRejectReasonModalOpen(true);
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "车辆所属人" },
|
||||||
|
{ name: "", label: "车牌号" },
|
||||||
|
{ name: "", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE },
|
||||||
|
{ name: "", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE },
|
||||||
|
{ name: "", label: "车辆所属部门", render: (
|
||||||
|
<DepartmentSelectTree />
|
||||||
|
) },
|
||||||
|
{ name: "", label: "访问港区范围", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: 1, name: "全部" }, { bianma: 0, name: "东港区" }, { bianma: 0, name: "西港区" }] },
|
||||||
|
{ name: "", label: "车辆所属类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: 1, name: "单位车辆" }, { bianma: 0, name: "员工车辆" }] },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
// onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./Detail");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "车辆所属类型", dataIndex: "" },
|
||||||
|
{ title: "车辆所属部门", dataIndex: "" },
|
||||||
|
{ title: "车辆归属人", dataIndex: "" },
|
||||||
|
{ title: "车牌号", dataIndex: "" },
|
||||||
|
{ title: "车牌类型", dataIndex: "" },
|
||||||
|
{ title: "车辆类型", dataIndex: "" },
|
||||||
|
{ title: "访问港区范围", dataIndex: "" },
|
||||||
|
{ title: "访问起始时间", dataIndex: "" },
|
||||||
|
{ title: "访问结束时间", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
审核
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
onViewRejectReason(record.id);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看驳回原因
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
{rejectReasonModalOpen && <RejectReason rejectReason={rejectReason} onCancel={() => setRejectReasonModalOpen(false)} />}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const RejectReason = (props) => {
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
title="查看驳回原因"
|
||||||
|
width={800}
|
||||||
|
open
|
||||||
|
maskClosable={false}
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
footer={[
|
||||||
|
<Button key="cancel" onClick={props.onCancel}>取消</Button>,
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={1}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "驳回原因", children: props.rejectReason.rejectReason },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(List);
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Share(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Share;
|
||||||
|
|
@ -0,0 +1,151 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Descriptions, Divider, Form, Input, message, Modal, Spin } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function Detail(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [info, setInfo] = useState([]);
|
||||||
|
const tableProps = {};
|
||||||
|
const getData = async () => {
|
||||||
|
// const { data } = await props[""]({ id: query.id });
|
||||||
|
// setInfo(data);
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
const auditSubmit = (result) => {
|
||||||
|
if (result === 1) {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "审核确认",
|
||||||
|
content: "确定要通过审核吗?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { success } = await props["projectAudit"]({
|
||||||
|
id: query.id,
|
||||||
|
result,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("审核通过");
|
||||||
|
getData();
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "审核驳回",
|
||||||
|
content: (
|
||||||
|
<div>
|
||||||
|
<div style={{ marginBottom: 8 }}>确定要驳回审核吗?</div>
|
||||||
|
<Form
|
||||||
|
form={form}
|
||||||
|
layout="vertical"
|
||||||
|
style={{ marginTop: 16 }}
|
||||||
|
>
|
||||||
|
<Form.Item
|
||||||
|
name="rejectReason"
|
||||||
|
label="驳回原因"
|
||||||
|
rules={[{ required: true, message: "请输入驳回原因" }]}
|
||||||
|
>
|
||||||
|
<Input.TextArea
|
||||||
|
placeholder="请输入驳回原因"
|
||||||
|
rows={3}
|
||||||
|
maxLength={200}
|
||||||
|
showCount
|
||||||
|
/>
|
||||||
|
</Form.Item>
|
||||||
|
</Form>
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
icon: null,
|
||||||
|
okText: "确认驳回",
|
||||||
|
cancelText: "取消",
|
||||||
|
width: 500,
|
||||||
|
onOk: async () => {
|
||||||
|
try {
|
||||||
|
const values = await form.validateFields();
|
||||||
|
const { success } = await props["projectAudit"]({
|
||||||
|
id: query.id,
|
||||||
|
result,
|
||||||
|
rejectCause: values.rejectReason, // 添加拒绝原因
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("审核驳回成功");
|
||||||
|
getData();
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
// 表单验证失败,不关闭弹窗
|
||||||
|
return Promise.reject(error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="查看" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Spin
|
||||||
|
spinning={props.basicInformation.basicInformationLoading}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">申请信息</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "相关方名称", children: "", span: 2 },
|
||||||
|
{ label: "项目名称", children: "" },
|
||||||
|
{ label: "审核人员", children: "" },
|
||||||
|
{ label: "时间范围", children: "", span: 2 },
|
||||||
|
{ label: "地域范围", children: "", span: 2 },
|
||||||
|
{ label: "驾驶人员", children: "" },
|
||||||
|
{ label: "车辆类型", children: "" },
|
||||||
|
{ label: "车牌类型", children: "" },
|
||||||
|
{ label: "车牌号", children: "" },
|
||||||
|
{ label: "审核状态", children: "" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
<div style={{ marginTop: "20px", display: "flex", justifyContent: "space-between" }}>
|
||||||
|
<div>
|
||||||
|
<p>车辆照片:</p>
|
||||||
|
<img src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" alt="example" style={{ width: "200px", height: "200px" }} />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p>车辆行驶证照片:</p>
|
||||||
|
<img src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" alt="example" style={{ width: "200px", height: "200px" }} />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p>申请人签字:</p>
|
||||||
|
<img src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" alt="example" style={{ width: "200px", height: "200px" }} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style={{ textAlign: "center", marginTop: "20px" }}>
|
||||||
|
<Button
|
||||||
|
onClick={() => auditSubmit(0)}
|
||||||
|
>
|
||||||
|
驳回
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
style={{ marginLeft: "20px" }}
|
||||||
|
type="primary"
|
||||||
|
onClick={() => auditSubmit(1)}
|
||||||
|
>
|
||||||
|
审核通过
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(Detail);
|
||||||
|
|
@ -0,0 +1,118 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Modal, Space } from "antd";
|
||||||
|
import { useState } from "react";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const [rejectReasonModalOpen, setRejectReasonModalOpen] = useState(false); // 驳回原因弹窗
|
||||||
|
const [rejectReason, setRejectReason] = useState(false); // 驳回原因
|
||||||
|
// 点击查看驳回原因
|
||||||
|
const onViewRejectReason = async (id) => {
|
||||||
|
const { data } = await props["projectApprovalFlow"]({ id });
|
||||||
|
setRejectReason(data);
|
||||||
|
setRejectReasonModalOpen(true);
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "车牌号" },
|
||||||
|
{ name: "", label: "项目名称" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
// onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./Detail");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "项目名称", dataIndex: "" },
|
||||||
|
{ title: "区域范围", dataIndex: "" },
|
||||||
|
{ title: "访问期限", dataIndex: "" },
|
||||||
|
{ title: "车辆类型", dataIndex: "" },
|
||||||
|
{ title: "车牌类型", dataIndex: "" },
|
||||||
|
{ title: "车牌号", dataIndex: "" },
|
||||||
|
{ title: "审核状态", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
审核
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
onViewRejectReason(record.id);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看驳回原因
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
{rejectReasonModalOpen && <RejectReason rejectReason={rejectReason} onCancel={() => setRejectReasonModalOpen(false)} />}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const RejectReason = (props) => {
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
title="查看驳回原因"
|
||||||
|
width={800}
|
||||||
|
open
|
||||||
|
maskClosable={false}
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
footer={[
|
||||||
|
<Button key="cancel" onClick={props.onCancel}>取消</Button>,
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={1}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "驳回原因", children: props.rejectReason.rejectReason },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(List);
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Stakeholder(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Stakeholder;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function Vehicle(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Vehicle;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function EntryApprova(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default EntryApprova;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/ApprovalRecord";
|
||||||
|
|
||||||
|
function ApprovalRecord(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ApprovalRecord;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import DetailView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/ApprovalRecordDetail";
|
||||||
|
|
||||||
|
function ApprovalRecordDetail(props) {
|
||||||
|
return (<DetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ApprovalRecordDetail;
|
||||||
|
|
@ -0,0 +1,83 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
return (
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<div style={{ flex: 1 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "企业名称" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={(values) => {
|
||||||
|
getData(values);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./PersonnelVehicle");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
人员及车辆详情
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./Vehicle");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
单位车辆详情
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "企业名称", dataIndex: "" },
|
||||||
|
{ title: "人员数", dataIndex: "" },
|
||||||
|
{ title: "人员车辆数", dataIndex: "" },
|
||||||
|
{ title: "单位车辆数", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
人员及车辆详情
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
单位车辆详情
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(List);
|
||||||
|
|
@ -0,0 +1,142 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Modal, Space } from "antd";
|
||||||
|
import { useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import DepartmentLeftTree from "zy-react-library/components/LeftTree/Department/Gwj";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const [inDepartmentId, setInDepartmentId] = useState([]); // 存储已选择的部门id
|
||||||
|
const [authorizationModalOpen, setAuthorizationModalOpen] = useState(false);
|
||||||
|
const [authorizationData, setAuthorizationData] = useState({});
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="人员及车辆详情" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<div style={{ display: "flex", gap: 20 }}>
|
||||||
|
<div style={{ width: 300 }}>
|
||||||
|
<DepartmentLeftTree
|
||||||
|
checkable
|
||||||
|
onCheck={(checkedKeys) => {
|
||||||
|
setInDepartmentId(checkedKeys);
|
||||||
|
getData();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style={{ flex: 1 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "likeName", label: "姓名" },
|
||||||
|
{ name: "likeName", label: "进出港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={(values) => {
|
||||||
|
getData(values);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./PersonnelVehicleRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
人员进出记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./PersonnelVehicleManagement");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
车辆管理
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "部门", dataIndex: "departmentName" },
|
||||||
|
{ title: "姓名", dataIndex: "name" },
|
||||||
|
{ title: "岗位", dataIndex: "postName" },
|
||||||
|
{ title: "手机号", dataIndex: "phone" },
|
||||||
|
{ title: "证件号码", dataIndex: "" },
|
||||||
|
{ title: "人员编号", dataIndex: "" },
|
||||||
|
{ title: "车辆数", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
人员进出记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
车辆管理
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{authorizationModalOpen && <AuthorizationScope authorizationData={authorizationData} onCancel={() => setAuthorizationModalOpen(false)} />}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const AuthorizationScope = (props) => {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
// const { success } = await props.onOk();
|
||||||
|
// if (success) {
|
||||||
|
// message.success("操作成功");
|
||||||
|
// props.onCancel();
|
||||||
|
// }
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
title="授权"
|
||||||
|
width={1200}
|
||||||
|
open
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
maskClosable={false}
|
||||||
|
onOk={form.submit}
|
||||||
|
>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
showActionButtons={false}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "是否授权", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }] },
|
||||||
|
{ name: "", label: "授权港区", span: 12 },
|
||||||
|
{ name: "", label: "选择区域", span: 12 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(List);
|
||||||
|
|
@ -0,0 +1,116 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
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 { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function VehicleManagement(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [info, setInfo] = useState([]);
|
||||||
|
const tableProps = {};
|
||||||
|
const getData = async () => {
|
||||||
|
// const { data } = await props[""]({ id: query.id });
|
||||||
|
// setInfo(data);
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="车辆管理" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "车牌号" },
|
||||||
|
{ name: "", label: "当前在港状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: "1", name: "港内" }, { bianma: "2", name: "港外" }] },
|
||||||
|
{ name: "", label: "访问港区范围", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: "1", name: "全部" }, { bianma: "2", name: "东港区" }, { bianma: "2", name: "西港区" }] },
|
||||||
|
{ name: "", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE },
|
||||||
|
{ name: "", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
headerTitle="企业名称:回显企业名称"
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./VehicleRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
车辆进出记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./ApprovalRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
审批记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./VehicleManagementDetail");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "车辆归属人", dataIndex: "" },
|
||||||
|
{ title: "车牌号", dataIndex: "" },
|
||||||
|
{ title: "车牌类型", dataIndex: "" },
|
||||||
|
{ title: "车辆类型", dataIndex: "" },
|
||||||
|
{ title: "访问港区范围", dataIndex: "" },
|
||||||
|
{ title: "访问起始时间", dataIndex: "" },
|
||||||
|
{ title: "访问结束时间", dataIndex: "" },
|
||||||
|
{ title: "当前在港状态", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
车辆进出记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
审批记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(VehicleManagement);
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/Record";
|
||||||
|
|
||||||
|
function PersonnelVehicleRecord(props) {
|
||||||
|
// 带入企业名称到下一级页面
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default PersonnelVehicleRecord;
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/SwitchRecord";
|
||||||
|
|
||||||
|
function SwitchRecord(props) {
|
||||||
|
// 带入企业名称到下一级页面
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default SwitchRecord;
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
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 { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function VehicleManagement(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [info, setInfo] = useState([]);
|
||||||
|
const tableProps = {};
|
||||||
|
const getData = async () => {
|
||||||
|
// const { data } = await props[""]({ id: query.id });
|
||||||
|
// setInfo(data);
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="单位车辆详情" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "likeName", label: "车牌号" },
|
||||||
|
{ name: "likeName", label: "当前在港状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: "1", name: "港内" }, { bianma: "0", name: "港外" }] },
|
||||||
|
{ name: "likeName", label: "访问港区范围", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: "1", name: "全部" }, { bianma: "0", name: "东港区" }, { bianma: "0", name: "西港区" }] },
|
||||||
|
{ name: "likeName", label: "访问开始时间", render: FORM_ITEM_RENDER_ENUM.DATE },
|
||||||
|
{ name: "likeName", label: "访问结束时间", render: FORM_ITEM_RENDER_ENUM.DATE },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={(values) => {
|
||||||
|
getData(values);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
headerTitle="企业名称:回显企业名称"
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./VehicleRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
车辆进出记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./ApprovalRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
审批记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./SwitchRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
开关记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./VehicleManagementDetail");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "车牌号", dataIndex: "" },
|
||||||
|
{ title: "车牌类型", dataIndex: "" },
|
||||||
|
{ title: "车辆类型", dataIndex: "" },
|
||||||
|
{ title: "访问港区范围", dataIndex: "" },
|
||||||
|
{ title: "访问起始时间", dataIndex: "" },
|
||||||
|
{ title: "访问结束时间", dataIndex: "" },
|
||||||
|
{ title: "当前在港状态", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
车辆进出记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
审批记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
停用 & 启用
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(VehicleManagement);
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import DetailView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/VehicleManagementDetail";
|
||||||
|
|
||||||
|
function VehicleManagementDetail(props) {
|
||||||
|
// 传企业名称到下一级页面
|
||||||
|
return (<DetailView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default VehicleManagementDetail;
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionVehicle/VehicleRecord";
|
||||||
|
|
||||||
|
function VehicleRecord(props) {
|
||||||
|
// 带入企业名称到下一级页面
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default VehicleRecord;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function BranchCompanyPersonnelVehicle(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default BranchCompanyPersonnelVehicle;
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Form, message } from "antd";
|
||||||
|
import { useEffect } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function Add(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const getData = async () => {
|
||||||
|
if (query.id) {
|
||||||
|
const { data } = await props["busPromiseTemplateView"]({ id: query.id });
|
||||||
|
const values = {
|
||||||
|
...data,
|
||||||
|
};
|
||||||
|
form.setFieldsValue({
|
||||||
|
...values,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
const { success } = await props[!query.id ? "busPromiseTemplateAdd" : "busPromiseTemplateEdit"]({
|
||||||
|
...values,
|
||||||
|
id: query.id,
|
||||||
|
promiseId: query.promiseId,
|
||||||
|
isRegulatory: 0,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("操作成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title={query.id ? "编辑" : "新增"} />
|
||||||
|
<div style={{ paddingBottom: 10 }}>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
values={{ details: [{}] }}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "名称", span: 24 },
|
||||||
|
{ label: "车辆信息", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
|
||||||
|
{
|
||||||
|
name: "details",
|
||||||
|
span: 24,
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.FORM_LIST,
|
||||||
|
formListUniqueProps: {
|
||||||
|
options: field => (
|
||||||
|
[
|
||||||
|
{
|
||||||
|
label: "车牌类型",
|
||||||
|
name: [field.name, "dataType1"],
|
||||||
|
span: 8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "车牌号",
|
||||||
|
name: [field.name, "dataType2"],
|
||||||
|
span: 8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "车辆类型",
|
||||||
|
name: [field.name, "dataType3"],
|
||||||
|
span: 8,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(Add);
|
||||||
|
|
@ -0,0 +1,125 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Modal, Space } from "antd";
|
||||||
|
import { useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const [inDepartmentId, setInDepartmentId] = useState([]); // 存储已选择的部门id
|
||||||
|
const [authorizationModalOpen, setAuthorizationModalOpen] = useState(false);
|
||||||
|
const [authorizationData, setAuthorizationData] = useState({});
|
||||||
|
return (
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<div style={{ flex: 1 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "likeName", label: "名称" },
|
||||||
|
{ name: "likeName", label: "车牌号" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={(values) => {
|
||||||
|
getData(values);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
icon={<AddIcon />}
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./Add");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
新增
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./VehicleRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
车辆进出记录
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "名称", dataIndex: "" },
|
||||||
|
{ title: "车牌号", dataIndex: "" },
|
||||||
|
{ title: "车牌类型", dataIndex: "" },
|
||||||
|
{ title: "车辆类型", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const AuthorizationScope = (props) => {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
// const { success } = await props.onOk();
|
||||||
|
// if (success) {
|
||||||
|
// message.success("操作成功");
|
||||||
|
// props.onCancel();
|
||||||
|
// }
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
title="授权"
|
||||||
|
width={1200}
|
||||||
|
open
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
maskClosable={false}
|
||||||
|
onOk={form.submit}
|
||||||
|
>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
showActionButtons={false}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "是否授权", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }] },
|
||||||
|
{ name: "", label: "授权港区", span: 12 },
|
||||||
|
{ name: "", label: "选择区域", span: 12 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(List);
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionVehicle/VehicleRecord";
|
||||||
|
|
||||||
|
function VehicleRecord(props) {
|
||||||
|
// 带入企业名称到下一级页面
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default VehicleRecord;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function InspectionDepartmentVehicle(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default InspectionDepartmentVehicle;
|
||||||
|
|
@ -0,0 +1,123 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Modal, Space } from "antd";
|
||||||
|
import { useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const [inDepartmentId, setInDepartmentId] = useState([]); // 存储已选择的部门id
|
||||||
|
const [authorizationModalOpen, setAuthorizationModalOpen] = useState(false);
|
||||||
|
const [authorizationData, setAuthorizationData] = useState({});
|
||||||
|
return (
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<div style={{ flex: 1 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "likeName", label: "姓名" },
|
||||||
|
{ name: "likeName", label: "项目名称" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={(values) => {
|
||||||
|
getData(values);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./PersonnelVehicleRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
人员进出记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./VehicleRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
车辆进出记录
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "相关方名称", dataIndex: "" },
|
||||||
|
{ title: "项目数", dataIndex: "" },
|
||||||
|
{ title: "人员数", dataIndex: "" },
|
||||||
|
{ title: "车辆数", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
人员进出记录
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
onClick={() => {
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
车辆进出记录
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const AuthorizationScope = (props) => {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
// const { success } = await props.onOk();
|
||||||
|
// if (success) {
|
||||||
|
// message.success("操作成功");
|
||||||
|
// props.onCancel();
|
||||||
|
// }
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
title="授权"
|
||||||
|
width={1200}
|
||||||
|
open
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
maskClosable={false}
|
||||||
|
onOk={form.submit}
|
||||||
|
>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
showActionButtons={false}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "是否授权", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }] },
|
||||||
|
{ name: "", label: "授权港区", span: 12 },
|
||||||
|
{ name: "", label: "选择区域", span: 12 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(List);
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ListView from "~/pages/Container/Supervision/PrimaryAccessControl/ImportExportInformation/SupervisionPersonnelVehicle/Record";
|
||||||
|
|
||||||
|
function PersonnelRecord(props) {
|
||||||
|
return (<ListView {...props} />);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default PersonnelRecord;
|
||||||
|
|
@ -0,0 +1,133 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Modal, Space } from "antd";
|
||||||
|
import { useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||||
|
import DepartmentLeftTree from "zy-react-library/components/LeftTree/Department/Gwj";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { NS_BASICINFORMATION } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function PersonnelVehicleRecord(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
// const { tableProps, getData } = useTable(props["mkmjAreaList"], {
|
||||||
|
// form,
|
||||||
|
// params: {
|
||||||
|
//
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
const tableProps = {};
|
||||||
|
const [inDepartmentId, setInDepartmentId] = useState([]); // 存储已选择的部门id
|
||||||
|
const [authorizationModalOpen, setAuthorizationModalOpen] = useState(false);
|
||||||
|
const [authorizationData, setAuthorizationData] = useState({});
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HeaderBack title="人员进出记录" />
|
||||||
|
<div style={{ padding: 20 }}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "likeName", label: "姓名" },
|
||||||
|
{ name: "likeName", label: "项目名称" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={(values) => {
|
||||||
|
getData(values);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<div style={{ display: "flex", gap: 20 }}>
|
||||||
|
<div style={{ width: 300 }}>
|
||||||
|
<DepartmentLeftTree
|
||||||
|
checkable
|
||||||
|
onCheck={(checkedKeys) => {
|
||||||
|
setInDepartmentId(checkedKeys);
|
||||||
|
getData();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style={{ flex: 1 }}>
|
||||||
|
<Table
|
||||||
|
toolBarRender={() => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push("./PersonnelRecord");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
人员进出记录
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
columns={[
|
||||||
|
{ title: "姓名", dataIndex: "name" },
|
||||||
|
{ title: "部门", dataIndex: "departmentName" },
|
||||||
|
{ title: "项目数", dataIndex: "" },
|
||||||
|
{ title: "手机号", dataIndex: "phone" },
|
||||||
|
{ title: "时间范围(时间最长)", dataIndex: "" },
|
||||||
|
{ title: "口门权限", dataIndex: "" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 200,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
开启口门权限&关闭口门权限
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {}}
|
||||||
|
>
|
||||||
|
人员进出记录
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{authorizationModalOpen && <AuthorizationScope authorizationData={authorizationData} onCancel={() => setAuthorizationModalOpen(false)} />}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const AuthorizationScope = (props) => {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
// const { success } = await props.onOk();
|
||||||
|
// if (success) {
|
||||||
|
// message.success("操作成功");
|
||||||
|
// props.onCancel();
|
||||||
|
// }
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
title="授权"
|
||||||
|
width={1200}
|
||||||
|
open
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
maskClosable={false}
|
||||||
|
onOk={form.submit}
|
||||||
|
>
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
showActionButtons={false}
|
||||||
|
options={[
|
||||||
|
{ name: "", label: "是否授权", span: 24, render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }] },
|
||||||
|
{ name: "", label: "授权港区", span: 12 },
|
||||||
|
{ name: "", label: "选择区域", span: 12 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
export default Connect([NS_BASICINFORMATION], true)(PersonnelVehicleRecord);
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue