封闭区域企业端
parent
fd91542652
commit
81ec4242cf
|
|
@ -51,7 +51,10 @@
|
||||||
- `/primeport/container/enterprise/enclosedArea/apply/vehicleRecords/list` 封闭区域申请/车辆封闭区域申请记录
|
- `/primeport/container/enterprise/enclosedArea/apply/vehicleRecords/list` 封闭区域申请/车辆封闭区域申请记录
|
||||||
- `/primeport/container/enterprise/enclosedArea/personnelAndVehicleStatistics/list` 区域人员及车辆统计
|
- `/primeport/container/enterprise/enclosedArea/personnelAndVehicleStatistics/list` 区域人员及车辆统计
|
||||||
- `/primeport/container/enterprise/enclosedArea/enterprisePersonnelPermissions/list` 企业人员权限
|
- `/primeport/container/enterprise/enclosedArea/enterprisePersonnelPermissions/list` 企业人员权限
|
||||||
- `/primeport/container/enterprise/enclosedArea/personnelReview/personnelReview/list` 人员审核
|
- `/primeport/container/enterprise/enclosedArea/personnelReview/longTermPersonnelReview/list` 长期人员审核
|
||||||
|
- `/primeport/container/enterprise/enclosedArea/personnelReview/temporaryPersonnelReview/list` 临时人员审核
|
||||||
|
- `/primeport/container/enterprise/enclosedArea/personnelReview/longTermPersonnelReviewRecords/list` 长期人员审核记录
|
||||||
|
- `/primeport/container/enterprise/enclosedArea/personnelReview/temporaryPersonnelReviewRecords/list` 临时访客人员记录
|
||||||
|
|
||||||
|
|
||||||
### 相关方端
|
### 相关方端
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
|
||||||
|
export const enclosedLongTermPersonnelReviewList = declareRequest(
|
||||||
|
"enclosedLongTermPersonnelReviewLoading",
|
||||||
|
`Post > @/primeport/`,
|
||||||
|
);
|
||||||
|
export const enclosedLongTermPersonnelReviewSubmit = declareRequest(
|
||||||
|
"enclosedLongTermPersonnelReviewLoading",
|
||||||
|
`Post > @/primeport/`,
|
||||||
|
);
|
||||||
|
export const enclosedLongTermPersonnelReviewRecordsList = declareRequest(
|
||||||
|
"enclosedLongTermPersonnelReviewLoading",
|
||||||
|
`Post > @/primeport/`,
|
||||||
|
);
|
||||||
|
export const enclosedLongTermPersonnelReviewRecordsRejectReason = declareRequest(
|
||||||
|
"enclosedLongTermPersonnelReviewLoading",
|
||||||
|
`Post > @/primeport/`,
|
||||||
|
);
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
|
||||||
|
export const enclosedTemporaryPersonnelReviewList = declareRequest(
|
||||||
|
"enclosedTemporaryPersonnelReviewLoading",
|
||||||
|
`Post > @/primeport/`,
|
||||||
|
);
|
||||||
|
export const enclosedTemporaryPersonnelReviewInfo = declareRequest(
|
||||||
|
"enclosedTemporaryPersonnelReviewLoading",
|
||||||
|
`Post > @/primeport/`,
|
||||||
|
);
|
||||||
|
export const enclosedTemporaryPersonnelReviewSubmit = declareRequest(
|
||||||
|
"enclosedTemporaryPersonnelReviewLoading",
|
||||||
|
`Post > @/primeport/`,
|
||||||
|
);
|
||||||
|
export const enclosedTemporaryPersonnelReviewRecordsList = declareRequest(
|
||||||
|
"enclosedTemporaryPersonnelReviewLoading",
|
||||||
|
`Post > @/primeport/`,
|
||||||
|
);
|
||||||
|
export const enclosedTemporaryPersonnelReviewRecordsRejectReason = declareRequest(
|
||||||
|
"enclosedTemporaryPersonnelReviewLoading",
|
||||||
|
`Post > @/primeport/`,
|
||||||
|
);
|
||||||
|
|
@ -29,3 +29,5 @@ export const NS_ENCLOSED_AREA_PERSONNEL_APPLY = defineNamespace("enclosedAreaPer
|
||||||
export const NS_ENCLOSED_AREA_VEHICLE_APPLY = defineNamespace("enclosedAreaVehicleApply");
|
export const NS_ENCLOSED_AREA_VEHICLE_APPLY = defineNamespace("enclosedAreaVehicleApply");
|
||||||
export const NS_ENCLOSED_PERSONNEL_AND_VEHICLE_STATISTICS = defineNamespace("enclosedPersonnelAndVehicleStatistics");
|
export const NS_ENCLOSED_PERSONNEL_AND_VEHICLE_STATISTICS = defineNamespace("enclosedPersonnelAndVehicleStatistics");
|
||||||
export const NS_ENCLOSED_ENTERPRISE_PERSONNEL_PERMISSIONS = defineNamespace("enclosedEnterprisePersonnelPermissions");
|
export const NS_ENCLOSED_ENTERPRISE_PERSONNEL_PERMISSIONS = defineNamespace("enclosedEnterprisePersonnelPermissions");
|
||||||
|
export const NS_ENCLOSED_LONG_TERM_PERSONNEL_REVIEW = defineNamespace("enclosedLongTermPersonnelReview");
|
||||||
|
export const NS_ENCLOSED_TEMPORARY_PERSONNEL_REVIEW = defineNamespace("enclosedTemporaryPersonnelReview");
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form } from "antd";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { getLabelName } from "zy-react-library/utils";
|
||||||
|
import { NS_ENCLOSED_LONG_TERM_PERSONNEL_REVIEW } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
const BELONGING_END_ENUM = [
|
||||||
|
{ bianma: "stakeholder", name: "相关方端" },
|
||||||
|
{ bianma: "supervision", name: "监管端" },
|
||||||
|
{ bianma: "enterprise", name: "企业端" },
|
||||||
|
];
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const { tableProps, getData } = useTable(props["enclosedLongTermPersonnelReviewList"], {
|
||||||
|
form,
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "todo1", label: "人员姓名" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "申请来源",
|
||||||
|
dataIndex: "todo1",
|
||||||
|
render: (_, record) => getLabelName({ list: BELONGING_END_ENUM, status: record.todo1 }),
|
||||||
|
},
|
||||||
|
{ title: "公司名称", dataIndex: "todo2" },
|
||||||
|
{ title: "姓名", dataIndex: "todo3" },
|
||||||
|
{ title: "部门", dataIndex: "todo4" },
|
||||||
|
{ title: "手机号", dataIndex: "todo5" },
|
||||||
|
{ title: "申请区域", dataIndex: "todo6" },
|
||||||
|
{ title: "申请时间范围", dataIndex: "todo7", render: (_, record) => `${record.todo7}-${record.todo8}` },
|
||||||
|
{ title: "申请人数", dataIndex: "todo9" },
|
||||||
|
{ title: "审核状态", dataIndex: "todo10" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 100,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
const entrance = BELONGING_END_ENUM.find(item => item.bianma === record.todo1).bianma;
|
||||||
|
props.history.push(`./review?id=${record.id}&entrance=${entrance}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
审核
|
||||||
|
</Button>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_ENCLOSED_LONG_TERM_PERSONNEL_REVIEW], true)(List);
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Form, message } from "antd";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_ENCLOSED_LONG_TERM_PERSONNEL_REVIEW } from "~/enumerate/namespace";
|
||||||
|
import ViewPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Personnel/View";
|
||||||
|
|
||||||
|
function Review(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
const { success } = await props["enclosedLongTermPersonnelReviewSubmit"]({
|
||||||
|
...values,
|
||||||
|
id: query.id,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("提交成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<ViewPage
|
||||||
|
headerTitle="审核"
|
||||||
|
entrance={query.entrance}
|
||||||
|
isShowFooter={false}
|
||||||
|
{...props}
|
||||||
|
>
|
||||||
|
<FormBuilder
|
||||||
|
style={{ marginTop: 20 }}
|
||||||
|
span={24}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
values={{
|
||||||
|
todo1: "1",
|
||||||
|
}}
|
||||||
|
loading={props.enclosedLongTermPersonnelReview.enclosedLongTermPersonnelReviewLoading}
|
||||||
|
options={[
|
||||||
|
{
|
||||||
|
name: "todo1",
|
||||||
|
label: "是否通过审核",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||||
|
items: [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "todo2",
|
||||||
|
label: "驳回原因",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.TEXTAREA,
|
||||||
|
dependencies: ["todo1"],
|
||||||
|
hidden: formValues => !(formValues.todo1 === "0"),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
/>
|
||||||
|
</ViewPage>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_ENCLOSED_LONG_TERM_PERSONNEL_REVIEW], true)(Review);
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function LongTermPersonnelReview(props) {
|
||||||
|
return props.children;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default LongTermPersonnelReview;
|
||||||
|
|
@ -0,0 +1,133 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Descriptions, Form, Modal, Space } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { getLabelName } from "zy-react-library/utils";
|
||||||
|
import { NS_ENCLOSED_LONG_TERM_PERSONNEL_REVIEW } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
const BELONGING_END_ENUM = [
|
||||||
|
{ bianma: "stakeholder", name: "相关方端" },
|
||||||
|
{ bianma: "supervision", name: "监管端" },
|
||||||
|
{ bianma: "enterprise", name: "企业端" },
|
||||||
|
];
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [viewRejectReasonModalVisible, setViewRejectReasonModalVisible] = useState(false);
|
||||||
|
const [currentId, setCurrentId] = useState("");
|
||||||
|
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const { tableProps, getData } = useTable(props["enclosedLongTermPersonnelReviewRecordsList"], {
|
||||||
|
form,
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "todo1", label: "人员姓名" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "申请来源",
|
||||||
|
dataIndex: "todo1",
|
||||||
|
render: (_, record) => getLabelName({ list: BELONGING_END_ENUM, status: record.todo1 }),
|
||||||
|
},
|
||||||
|
{ title: "公司名称", dataIndex: "todo2" },
|
||||||
|
{ title: "姓名", dataIndex: "todo3" },
|
||||||
|
{ title: "部门", dataIndex: "todo4" },
|
||||||
|
{ title: "手机号", dataIndex: "todo5" },
|
||||||
|
{ title: "申请区域", dataIndex: "todo6" },
|
||||||
|
{ title: "申请时间范围", dataIndex: "todo7", render: (_, record) => `${record.todo7}-${record.todo8}` },
|
||||||
|
{ title: "申请人数", dataIndex: "todo9" },
|
||||||
|
{ title: "审核状态", dataIndex: "todo10" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 150,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
const entrance = BELONGING_END_ENUM.find(item => item.bianma === record.todo1).bianma;
|
||||||
|
props.history.push(`./view?id=${record.id}&entrance=${entrance}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
setViewRejectReasonModalVisible(true);
|
||||||
|
setCurrentId(record.id);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
驳回原因
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
{
|
||||||
|
viewRejectReasonModalVisible && (
|
||||||
|
<ViewRejectReasonModal
|
||||||
|
id={currentId}
|
||||||
|
onCancel={() => {
|
||||||
|
setViewRejectReasonModalVisible(false);
|
||||||
|
setCurrentId("");
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const ViewRejectReasonModalComponent = (props) => {
|
||||||
|
const [info, setInfo] = useState({});
|
||||||
|
const getData = async () => {
|
||||||
|
const { data } = await props["enclosedLongTermPersonnelReviewRecordsRejectReason"]({ id: props.id });
|
||||||
|
setInfo(data);
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
open
|
||||||
|
title="驳回原因"
|
||||||
|
maskClosable={false}
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
width={600}
|
||||||
|
footer={[
|
||||||
|
<Button key="cancel" onClick={props.onCancel}>取消</Button>,
|
||||||
|
]}
|
||||||
|
loading={props.enclosedLongTermPersonnelReview.enclosedLongTermPersonnelReviewLoading}
|
||||||
|
>
|
||||||
|
<Descriptions
|
||||||
|
column={1}
|
||||||
|
bordered
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "驳回原因", children: info.todo1 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const ViewRejectReasonModal = Connect([NS_ENCLOSED_LONG_TERM_PERSONNEL_REVIEW], true)(ViewRejectReasonModalComponent);
|
||||||
|
|
||||||
|
export default Connect([NS_ENCLOSED_LONG_TERM_PERSONNEL_REVIEW], true)(List);
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import ViewPage from "~/pages/Container/Supervision/EnclosedArea/Apply/Personnel/View";
|
||||||
|
|
||||||
|
function View(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
|
||||||
|
return (<ViewPage entrance={query.entrance} {...props} />);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default View;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function LongTermPersonnelReviewRecords(props) {
|
||||||
|
return props.children;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default LongTermPersonnelReviewRecords;
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form } from "antd";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { NS_ENCLOSED_TEMPORARY_PERSONNEL_REVIEW } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const { tableProps, getData } = useTable(props["enclosedTemporaryPersonnelReviewList"], {
|
||||||
|
form,
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "todo1", label: "人员姓名" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{ title: "姓名", dataIndex: "todo1" },
|
||||||
|
{ title: "手机号", dataIndex: "todo2" },
|
||||||
|
{ title: "身份证号", dataIndex: "todo3" },
|
||||||
|
{ title: "申请区域", dataIndex: "todo4" },
|
||||||
|
{ title: "申请口门名称", dataIndex: "todo5" },
|
||||||
|
{ title: "申请时间范围", dataIndex: "todo6", render: (_, record) => `${record.todo6}-${record.todo7}` },
|
||||||
|
{ title: "审核状态", dataIndex: "todo8" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 100,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`./review?id=${record.id}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
审核
|
||||||
|
</Button>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_ENCLOSED_TEMPORARY_PERSONNEL_REVIEW], true)(List);
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Descriptions, Divider, Form, message, Spin } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import PreviewImg from "zy-react-library/components/PreviewImg";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { NS_ENCLOSED_TEMPORARY_PERSONNEL_REVIEW } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function Review(props) {
|
||||||
|
const [info, setInfo] = useState({});
|
||||||
|
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const getData = async () => {
|
||||||
|
const { data } = await props["enclosedTemporaryPersonnelReviewInfo"]({ id: query.id });
|
||||||
|
setInfo(data);
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const onSubmit = async (values) => {
|
||||||
|
const { success } = await props["enclosedTemporaryPersonnelReviewSubmit"]({
|
||||||
|
...values,
|
||||||
|
id: query.id,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("提交成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page headerTitle={props.headerTitle || "审核"} contentPadding="0 20px 20px 20px" isShowFooter={props.isShowFooter || false}>
|
||||||
|
<Spin spinning={props.enclosedTemporaryPersonnelReview.enclosedTemporaryPersonnelReviewLoading}>
|
||||||
|
<Divider orientation="left">人员信息</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "姓名", children: info.todo1 },
|
||||||
|
{ label: "手机号", children: info.todo2 },
|
||||||
|
{ label: "身份证号", children: info.todo3 },
|
||||||
|
{ label: "申请区域", children: info.todo4 },
|
||||||
|
{ label: "申请时间范围", children: `${info.todo6} - ${info.todo7}` },
|
||||||
|
{ label: "个人照片", children: (<PreviewImg files={info.todo8} />) },
|
||||||
|
{ label: "申请原因", children: info.todo9 },
|
||||||
|
{ label: "申请人员签字", children: (<PreviewImg files={info.todo10} />) },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
{!props.headerTitle && (
|
||||||
|
<FormBuilder
|
||||||
|
style={{ marginTop: 20 }}
|
||||||
|
span={24}
|
||||||
|
onFinish={onSubmit}
|
||||||
|
values={{
|
||||||
|
todo1: "1",
|
||||||
|
}}
|
||||||
|
options={[
|
||||||
|
{
|
||||||
|
name: "todo1",
|
||||||
|
label: "是否通过审核",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||||
|
items: [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "todo2",
|
||||||
|
label: "驳回原因",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.TEXTAREA,
|
||||||
|
dependencies: ["todo1"],
|
||||||
|
hidden: formValues => !(formValues.todo1 === "0"),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</Spin>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_ENCLOSED_TEMPORARY_PERSONNEL_REVIEW], true)(Review);
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function TemporaryPersonnelReview(props) {
|
||||||
|
return props.children;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default TemporaryPersonnelReview;
|
||||||
|
|
@ -0,0 +1,119 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Descriptions, Form, Modal, Space } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { NS_ENCLOSED_TEMPORARY_PERSONNEL_REVIEW } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [viewRejectReasonModalVisible, setViewRejectReasonModalVisible] = useState(false);
|
||||||
|
const [currentId, setCurrentId] = useState("");
|
||||||
|
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const { tableProps, getData } = useTable(props["enclosedTemporaryPersonnelReviewRecordsList"], {
|
||||||
|
form,
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "todo1", label: "人员姓名" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{ title: "姓名", dataIndex: "todo1" },
|
||||||
|
{ title: "手机号", dataIndex: "todo2" },
|
||||||
|
{ title: "身份证号", dataIndex: "todo3" },
|
||||||
|
{ title: "申请区域", dataIndex: "todo4" },
|
||||||
|
{ title: "申请口门名称", dataIndex: "todo5" },
|
||||||
|
{ title: "申请时间范围", dataIndex: "todo6", render: (_, record) => `${record.todo6}-${record.todo7}` },
|
||||||
|
{ title: "审核状态", dataIndex: "todo8" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 150,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`./view?id=${record.id}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
setViewRejectReasonModalVisible(true);
|
||||||
|
setCurrentId(record.id);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
驳回原因
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
{
|
||||||
|
viewRejectReasonModalVisible && (
|
||||||
|
<ViewRejectReasonModal
|
||||||
|
id={currentId}
|
||||||
|
onCancel={() => {
|
||||||
|
setViewRejectReasonModalVisible(false);
|
||||||
|
setCurrentId("");
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const ViewRejectReasonModalComponent = (props) => {
|
||||||
|
const [info, setInfo] = useState({});
|
||||||
|
const getData = async () => {
|
||||||
|
const { data } = await props["enclosedTemporaryPersonnelReviewRecordsRejectReason"]({ id: props.id });
|
||||||
|
setInfo(data);
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
open
|
||||||
|
title="驳回原因"
|
||||||
|
maskClosable={false}
|
||||||
|
onCancel={props.onCancel}
|
||||||
|
width={600}
|
||||||
|
footer={[
|
||||||
|
<Button key="cancel" onClick={props.onCancel}>取消</Button>,
|
||||||
|
]}
|
||||||
|
loading={props.enclosedTemporaryPersonnelReview.enclosedTemporaryPersonnelReviewLoading}
|
||||||
|
>
|
||||||
|
<Descriptions
|
||||||
|
column={1}
|
||||||
|
bordered
|
||||||
|
styles={{ label: { width: 200 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "驳回原因", children: info.todo1 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const ViewRejectReasonModal = Connect([NS_ENCLOSED_TEMPORARY_PERSONNEL_REVIEW], true)(ViewRejectReasonModalComponent);
|
||||||
|
|
||||||
|
export default Connect([NS_ENCLOSED_TEMPORARY_PERSONNEL_REVIEW], true)(List);
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ViewPage from "../../TemporaryPersonnelReview/Review";
|
||||||
|
|
||||||
|
function View(props) {
|
||||||
|
return (<ViewPage headerTitle="查看" isShowFooter {...props} />);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default View;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function TemporaryPersonnelReviewRecords(props) {
|
||||||
|
return props.children;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default TemporaryPersonnelReviewRecords;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function PersonnelReview(props) {
|
||||||
|
return props.children;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default PersonnelReview;
|
||||||
|
|
@ -22,7 +22,7 @@ function View(props) {
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page headerTitle="查看" contentPadding="0 20px 20px 20px">
|
<Page headerTitle={props.headerTitle || "查看"} contentPadding="0 20px 20px 20px" isShowFooter={props.isShowFooter}>
|
||||||
<Spin spinning={props.enclosedAreaPersonnelApply.enclosedAreaPersonnelApplyLoading}>
|
<Spin spinning={props.enclosedAreaPersonnelApply.enclosedAreaPersonnelApplyLoading}>
|
||||||
<Divider orientation="left">人员信息</Divider>
|
<Divider orientation="left">人员信息</Divider>
|
||||||
<Descriptions
|
<Descriptions
|
||||||
|
|
@ -51,7 +51,7 @@ function View(props) {
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
{
|
{
|
||||||
info.todo11.length > 0
|
info.todo11?.length > 0
|
||||||
&& (
|
&& (
|
||||||
<>
|
<>
|
||||||
<Divider orientation="left">更多人员信息</Divider>
|
<Divider orientation="left">更多人员信息</Divider>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue