值班日志
parent
36803e7362
commit
8bdd8ddb1c
|
|
@ -68,3 +68,5 @@
|
|||
`/emergencyRescue/container/enterprise/planAndDrill/emergencyPlan/list`
|
||||
- 预案与演练/应急演练管理
|
||||
`/emergencyRescue/container/enterprise/planAndDrill/emergencyExercise/list`
|
||||
- 应急救援/值班管理/值班日志
|
||||
`/emergencyRescue/container/enterprise/emergencyRescue/duty/dutyLog/list`
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
|
||||
|
||||
export const dutyLogList = declareRequest(
|
||||
"dutyLogLoading",
|
||||
"Post > @/emergencyRescue/dutyLog/list",
|
||||
);
|
||||
export const dutyLogAdd = declareRequest(
|
||||
"dutyLogLoading",
|
||||
"Post > @/emergencyRescue/dutyLog/save",
|
||||
);
|
||||
export const dutyLogUpdate = declareRequest(
|
||||
"dutyLogLoading",
|
||||
"Put > @/emergencyRescue/dutyLog/edit",
|
||||
);
|
||||
export const dutyLogInfo = declareRequest(
|
||||
"dutyLogLoading",
|
||||
"Get > /emergencyRescue/dutyLog/{id}",
|
||||
);
|
||||
export const dutyLogDelete = declareRequest(
|
||||
"dutyLogLoading",
|
||||
"Delete > @/emergencyRescue/dutyLog/{id}",
|
||||
);
|
||||
export const dutyLogDeleteBatch = declareRequest(
|
||||
"dutyLogLoading",
|
||||
"Delete > @/emergencyRescue/dutyLog/ids?ids={ids}",
|
||||
);
|
||||
|
|
@ -26,3 +26,4 @@ export const NS_EMERGENCY_RESCUE_TEAM = defineNamespace("emergencyRescueTeam");
|
|||
export const NS_ENTERPRISE_PLAN = defineNamespace("enterprisePlan");
|
||||
export const NS_EMERGENCY_PLAN = defineNamespace("emergencyPlan");
|
||||
export const NS_EMERGENCY_EXERCISE = defineNamespace("emergencyExercise");
|
||||
export const NS_DUTY_LOG = defineNamespace("dutyLog");
|
||||
|
|
|
|||
|
|
@ -0,0 +1,96 @@
|
|||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { message } from "antd";
|
||||
import { useEffect, useState } from "react";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
|
||||
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||
import useGetUserInfo from "zy-react-library/hooks/useGetUserInfo";
|
||||
import { NS_DUTY_LOG } from "~/enumerate/namespace";
|
||||
|
||||
function Add(props) {
|
||||
const [userInfo, setUserInfo] = useState({});
|
||||
|
||||
const query = useGetUrlQuery();
|
||||
const { getUserInfo } = useGetUserInfo();
|
||||
|
||||
const [form] = FormBuilder.useForm();
|
||||
|
||||
const getData = async () => {
|
||||
if (!query.id)
|
||||
return;
|
||||
|
||||
const { data } = await props["dutyLogInfo"]({ id: query.id });
|
||||
form.setFieldsValue({
|
||||
...data,
|
||||
time: [data.startTime, data.endTime],
|
||||
});
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
getData();
|
||||
(async () => {
|
||||
const userInfo = await getUserInfo();
|
||||
setUserInfo(userInfo);
|
||||
})();
|
||||
}, []);
|
||||
|
||||
const onSubmit = async (values) => {
|
||||
const { success } = await props[query.id ? "dutyLogUpdate" : "dutyLogAdd"]({
|
||||
...values,
|
||||
startTime: values.time[0],
|
||||
endTime: values.time[1],
|
||||
id: query.id,
|
||||
});
|
||||
if (success) {
|
||||
message.success(query.id ? "编辑成功" : "新增成功");
|
||||
props.history.goBack();
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<Page headerTitle={query.id ? "编辑" : "新增"} isShowFooter={false}>
|
||||
<FormBuilder
|
||||
loading={props.dutyLog.dutyLogLoading}
|
||||
options={[
|
||||
{ name: "unitName", label: "单位名称" },
|
||||
{ name: "time", label: "值班时间", render: FORM_ITEM_RENDER_ENUM.DATETIME_RANGE },
|
||||
{ name: "dutyRecord", label: "值班记录", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 },
|
||||
{ name: "handlingSituation", label: "处理情况", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 },
|
||||
{ name: "handoverMatters", label: "交接事项", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 },
|
||||
{
|
||||
name: "dutyPersonnel",
|
||||
label: "值班人员",
|
||||
render: (
|
||||
<PersonnelSelect
|
||||
params={{ departmentId: userInfo.departmentId }}
|
||||
onGetLabel={(label) => {
|
||||
form.setFieldValue("dutyPersonnelName", label);
|
||||
}}
|
||||
/>
|
||||
),
|
||||
},
|
||||
{ name: "dutyPersonnelName", label: "值班人员名称", onlyForLabel: true },
|
||||
{
|
||||
name: "reliefPersonnel",
|
||||
label: "接班人员",
|
||||
render: (
|
||||
<PersonnelSelect
|
||||
params={{ departmentId: userInfo.departmentId }}
|
||||
onGetLabel={(label) => {
|
||||
form.setFieldValue("reliefPersonnelName", label);
|
||||
}}
|
||||
/>
|
||||
),
|
||||
},
|
||||
{ name: "reliefPersonnelName", label: "接班人员名称", onlyForLabel: true },
|
||||
]}
|
||||
form={form}
|
||||
onFinish={onSubmit}
|
||||
/>
|
||||
</Page>
|
||||
);
|
||||
}
|
||||
|
||||
export default Connect([NS_DUTY_LOG], true)(Add);
|
||||
|
|
@ -0,0 +1,142 @@
|
|||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Button, message, Modal, Space } from "antd";
|
||||
import { useState } from "react";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon";
|
||||
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_DUTY_LOG } from "~/enumerate/namespace";
|
||||
|
||||
function List(props) {
|
||||
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
|
||||
|
||||
const [form] = Search.useForm();
|
||||
|
||||
const { tableProps, getData } = useTable(props["dutyLogList"], {
|
||||
form,
|
||||
});
|
||||
|
||||
const onDelete = (record) => {
|
||||
Modal.confirm({
|
||||
title: "删除确认",
|
||||
content: `确定要删除【${record.unitName}】吗`,
|
||||
onOk: async () => {
|
||||
const { success } = await props["dutyLogDelete"]({ id: record.id });
|
||||
if (success) {
|
||||
message.success("删除成功");
|
||||
getData();
|
||||
}
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const onDeleteBatch = () => {
|
||||
if (selectedRowKeys.length === 0) {
|
||||
message.warning("请选择要删除的记录");
|
||||
return;
|
||||
}
|
||||
Modal.confirm({
|
||||
title: "删除确认",
|
||||
content: "确认要删除吗?",
|
||||
onOk: async () => {
|
||||
const { success } = await props["dutyLogDeleteBatch"]({ ids: selectedRowKeys });
|
||||
if (success) {
|
||||
message.success("删除成功");
|
||||
getData();
|
||||
}
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<Search
|
||||
options={[
|
||||
{ name: "likeUnitName", label: "单位名称" },
|
||||
]}
|
||||
form={form}
|
||||
onFinish={getData}
|
||||
/>
|
||||
<Table
|
||||
rowSelection={{
|
||||
preserveSelectedRowKeys: true,
|
||||
selectedRowKeys,
|
||||
onChange: (selectedRowKeys) => {
|
||||
setSelectedRowKeys(selectedRowKeys);
|
||||
},
|
||||
}}
|
||||
toolBarRender={() => (
|
||||
<Space>
|
||||
<Button
|
||||
type="primary"
|
||||
icon={(<AddIcon />)}
|
||||
onClick={() => {
|
||||
props.history.push("./add");
|
||||
}}
|
||||
>
|
||||
新增
|
||||
</Button>
|
||||
<Button
|
||||
type="primary"
|
||||
danger
|
||||
ghost
|
||||
icon={(<DeleteIcon />)}
|
||||
onClick={onDeleteBatch}
|
||||
>
|
||||
批量删除
|
||||
</Button>
|
||||
</Space>
|
||||
)}
|
||||
columns={[
|
||||
{ title: "单位名称", dataIndex: "unitName" },
|
||||
{ title: "开始时间", dataIndex: "startTime" },
|
||||
{ title: "结束时间", dataIndex: "endTime" },
|
||||
{ title: "值班人员", dataIndex: "dutyPersonnelName" },
|
||||
{ title: "接班人员", dataIndex: "reliefPersonnelName" },
|
||||
{ title: "值班记录", dataIndex: "dutyRecord" },
|
||||
{ title: "处理情况", dataIndex: "handlingSituation" },
|
||||
{ title: "交接事宜", dataIndex: "handoverMatters" },
|
||||
{
|
||||
title: "操作",
|
||||
width: 150,
|
||||
fixed: "right",
|
||||
render: (_, record) => (
|
||||
<Space>
|
||||
<Button
|
||||
type="link"
|
||||
onClick={() => {
|
||||
props.history.push(`./view?id=${record.id}`);
|
||||
}}
|
||||
>
|
||||
查看
|
||||
</Button>
|
||||
<Button
|
||||
type="link"
|
||||
onClick={() => {
|
||||
props.history.push(`./add?id=${record.id}`);
|
||||
}}
|
||||
>
|
||||
编辑
|
||||
</Button>
|
||||
<Button
|
||||
type="link"
|
||||
danger
|
||||
onClick={() => {
|
||||
onDelete(record);
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</Button>
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
]}
|
||||
{...tableProps}
|
||||
/>
|
||||
</Page>
|
||||
);
|
||||
}
|
||||
|
||||
export default Connect([NS_DUTY_LOG], true)(List);
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Descriptions } from "antd";
|
||||
import { useEffect, useState } from "react";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||
import { NS_DUTY_LOG } from "~/enumerate/namespace";
|
||||
|
||||
function View(props) {
|
||||
const [info, setInfo] = useState({});
|
||||
|
||||
const query = useGetUrlQuery();
|
||||
|
||||
const getData = async () => {
|
||||
const { data } = await props["dutyLogInfo"]({ id: query.id });
|
||||
setInfo(data);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
getData();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Page headerTitle="查看">
|
||||
<Descriptions
|
||||
bordered
|
||||
column={2}
|
||||
styles={{ label: { width: 200 } }}
|
||||
items={[
|
||||
{ label: "单位名称", children: info.unitName },
|
||||
{ label: "值班时间", children: `${info.startTime} ~ ${info.endTime}` },
|
||||
{ label: "值班记录", children: info.dutyRecord, span: 2 },
|
||||
{ label: "处理情况", children: info.handlingSituation, span: 2 },
|
||||
{ label: "交接事项", children: info.handoverMatters, span: 2 },
|
||||
{ label: "值班人员", children: info.dutyPersonnelName },
|
||||
{ label: "接班人员", children: info.reliefPersonnelName },
|
||||
]}
|
||||
/>
|
||||
</Page>
|
||||
);
|
||||
}
|
||||
|
||||
export default Connect([NS_DUTY_LOG], true)(View);
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
function DutyLog(props) {
|
||||
return props.children;
|
||||
}
|
||||
|
||||
export default DutyLog;
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
function Duty(props) {
|
||||
return props.children;
|
||||
}
|
||||
|
||||
export default Duty;
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
function EmergencyRescue(props) {
|
||||
return props.children;
|
||||
}
|
||||
|
||||
export default EmergencyRescue;
|
||||
Loading…
Reference in New Issue