口门静态页编写
parent
e0dac3d2de
commit
dd486905e5
|
|
@ -9,7 +9,7 @@ module.exports = {
|
|||
// 应用后端分支名称,部署上线需要
|
||||
javaGitBranch: "<branch-name>",
|
||||
// 接口服务地址
|
||||
API_HOST: "http://192.168.10.37:80",
|
||||
API_HOST: "http://192.168.20.100:30140",
|
||||
},
|
||||
production: {
|
||||
// 应用后端分支名称,部署上线需要
|
||||
|
|
@ -24,7 +24,7 @@ module.exports = {
|
|||
contextInject: {
|
||||
// 应用Key
|
||||
appKey: "",
|
||||
fileUrl: "附件地址",
|
||||
fileUrl: "http://192.168.20.240:9787/mnt/",
|
||||
},
|
||||
// public/index.html注入全局变量
|
||||
windowInject: {
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
"@cqsjjb/jjb-dva-runtime": "latest",
|
||||
"@cqsjjb/jjb-react-admin-component": "latest",
|
||||
"ahooks": "^3.9.5",
|
||||
"antd": "latest",
|
||||
"antd": "^5.27.6",
|
||||
"dayjs": "^1.11.7",
|
||||
"lodash-es": "^4.17.21",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"zy-react-library": "^1.0.96"
|
||||
"zy-react-library": "^1.0.178"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@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(
|
||||
'mkmjAreaLoading',
|
||||
'Post > @/primeport/mkmjArea/list',
|
||||
"mkmjAreaLoading",
|
||||
`Post > @/primeport/mkmjArea/list`,
|
||||
);
|
||||
export const mkmjAreaAdd = declareRequest(
|
||||
'mkmjAreaLoading',
|
||||
'Post > @/primeport/mkmjArea/save'
|
||||
"mkmjAreaLoading",
|
||||
`Post > @/primeport/mkmjArea/save`,
|
||||
);
|
||||
|
||||
export const mkmjAreaEdit = declareRequest(
|
||||
'mkmjAreaLoading',
|
||||
'Put > @/primeport/mkmjArea/edit'
|
||||
"mkmjAreaLoading",
|
||||
`Put > @/primeport/mkmjArea/edit`,
|
||||
);
|
||||
export const mkmjAreaDelete = declareRequest(
|
||||
'mkmjAreaLoading',
|
||||
'Delete > @/primeport/mkmjArea/{id}'
|
||||
"mkmjAreaLoading",
|
||||
`Delete > @/primeport/mkmjArea/{id}`,
|
||||
);
|
||||
export const mkmjAreaBatchDelete = declareRequest(
|
||||
'mkmjAreaLoading',
|
||||
'Delete > @/primeport/mkmjArea/ids/{ids}'
|
||||
"mkmjAreaLoading",
|
||||
`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(
|
||||
'fireresourcesLoading',
|
||||
'Get > /basicInfo/corpInfo/listAll?inType=0,1'
|
||||
);
|
||||
"fireresourcesLoading",
|
||||
`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 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_MKMJPASSAGE = defineNamespace("mkmjPassage");
|
||||
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