添加重大隐患页面
parent
8de1065acd
commit
3233b9f7c5
|
|
@ -9,9 +9,10 @@ module.exports = {
|
||||||
// 应用后端分支名称,部署上线需要
|
// 应用后端分支名称,部署上线需要
|
||||||
javaGitBranch: "<branch-name>",
|
javaGitBranch: "<branch-name>",
|
||||||
// 接口服务地址
|
// 接口服务地址
|
||||||
|
API_HOST: "https://gbs-gateway.qhdsafety.com",
|
||||||
// API_HOST: "http://192.168.20.100:30140",
|
// API_HOST: "http://192.168.20.100:30140",
|
||||||
// API_HOST: "http://192.168.10.127",
|
// API_HOST: "http://192.168.10.127",
|
||||||
API_HOST: "",
|
// API_HOST: "",
|
||||||
},
|
},
|
||||||
production: {
|
production: {
|
||||||
// 应用后端分支名称,部署上线需要
|
// 应用后端分支名称,部署上线需要
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-to-print": "^3.2.0",
|
"react-to-print": "^3.2.0",
|
||||||
"zy-react-library": "^1.2.35"
|
"zy-react-library": "^1.3.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@antfu/eslint-config": "^5.4.1",
|
"@antfu/eslint-config": "^5.4.1",
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ import { NS_CONFIRM_USER, NS_LEDGER, NS_PART } from "~/enumerate/namespace";
|
||||||
function Add(props) {
|
function Add(props) {
|
||||||
const query = useGetUrlQuery();
|
const query = useGetUrlQuery();
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
|
const hiddenLevel = Form.useWatch("hiddenLevel", form);
|
||||||
const hiddenFindDept = Form.useWatch("hiddenFindDept", form);
|
const hiddenFindDept = Form.useWatch("hiddenFindDept", form);
|
||||||
const rectificationDeptId = Form.useWatch("rectificationDeptId", form);
|
const rectificationDeptId = Form.useWatch("rectificationDeptId", form);
|
||||||
const checkDeptId = Form.useWatch("checkDeptId", form);
|
const checkDeptId = Form.useWatch("checkDeptId", form);
|
||||||
|
|
@ -128,12 +129,39 @@ function Add(props) {
|
||||||
setXgfProjectList(data);
|
setXgfProjectList(data);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const isBigOrMajorHidden = ["jdyh001", "hiddenLevel2002", "jdyh002"].includes(hiddenLevel);
|
||||||
|
|
||||||
|
const clearPresetRectificationFields = () => {
|
||||||
|
form.setFieldsValue({
|
||||||
|
rectificationDeadline: undefined,
|
||||||
|
rectificationDescr: undefined,
|
||||||
|
afterRectificationImageFiles: undefined,
|
||||||
|
rectificationDeptId: undefined,
|
||||||
|
rectificationDeptName: undefined,
|
||||||
|
rectificationUserId: undefined,
|
||||||
|
rectificationUserName: undefined,
|
||||||
|
checkDeptId: undefined,
|
||||||
|
checkDeptName: undefined,
|
||||||
|
checkUserId: undefined,
|
||||||
|
checkUserName: undefined,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getData();
|
getData();
|
||||||
getConfirmUserList();
|
getConfirmUserList();
|
||||||
getXgfProjectList();
|
getXgfProjectList();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!hiddenLevel)
|
||||||
|
return;
|
||||||
|
if (isBigOrMajorHidden) {
|
||||||
|
form.setFieldValue("rectificationType", 2);
|
||||||
|
clearPresetRectificationFields();
|
||||||
|
}
|
||||||
|
}, [form, hiddenLevel, isBigOrMajorHidden]);
|
||||||
|
|
||||||
const clearHiddenRecognizeState = () => {
|
const clearHiddenRecognizeState = () => {
|
||||||
selectHiddens.current = [];
|
selectHiddens.current = [];
|
||||||
currentProcessHiddenIndex.current = -1;
|
currentProcessHiddenIndex.current = -1;
|
||||||
|
|
@ -216,32 +244,49 @@ function Add(props) {
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
const onSubmit = async (values) => {
|
const onSubmit = async (values) => {
|
||||||
|
const submitValues = isBigOrMajorHidden
|
||||||
|
? {
|
||||||
|
...values,
|
||||||
|
rectificationType: 2,
|
||||||
|
rectificationDeadline: undefined,
|
||||||
|
rectificationDescr: undefined,
|
||||||
|
afterRectificationImageFiles: [],
|
||||||
|
rectificationDeptId: undefined,
|
||||||
|
rectificationDeptName: undefined,
|
||||||
|
rectificationUserId: undefined,
|
||||||
|
rectificationUserName: undefined,
|
||||||
|
checkDeptId: undefined,
|
||||||
|
checkDeptName: undefined,
|
||||||
|
checkUserId: undefined,
|
||||||
|
checkUserName: undefined,
|
||||||
|
}
|
||||||
|
: values;
|
||||||
await deleteFile({ single: false, files: deleteHiddenImageFiles.current });
|
await deleteFile({ single: false, files: deleteHiddenImageFiles.current });
|
||||||
await deleteFile({ single: false, files: deleteHiddenVideoFiles.current });
|
await deleteFile({ single: false, files: deleteHiddenVideoFiles.current });
|
||||||
await deleteFile({ single: false, files: deleteAfterRectificationImageFiles.current });
|
await deleteFile({ single: false, files: deleteAfterRectificationImageFiles.current });
|
||||||
const { id } = await uploadFile({
|
const { id } = await uploadFile({
|
||||||
single: false,
|
single: false,
|
||||||
files: values.hiddenImageFiles,
|
files: submitValues.hiddenImageFiles,
|
||||||
params: { type: UPLOAD_FILE_TYPE_ENUM["3"], foreignKey: query.hiddenId },
|
params: { type: UPLOAD_FILE_TYPE_ENUM["3"], foreignKey: query.hiddenId },
|
||||||
});
|
});
|
||||||
await uploadFile({
|
await uploadFile({
|
||||||
single: false,
|
single: false,
|
||||||
files: values.hiddenVideoFiles,
|
files: submitValues.hiddenVideoFiles,
|
||||||
params: { type: UPLOAD_FILE_TYPE_ENUM["102"], foreignKey: id },
|
params: { type: UPLOAD_FILE_TYPE_ENUM["102"], foreignKey: id },
|
||||||
});
|
});
|
||||||
const { id: afterRectificationImageId } = await uploadFile({
|
const { id: afterRectificationImageId } = await uploadFile({
|
||||||
single: false,
|
single: false,
|
||||||
files: values.afterRectificationImageFiles,
|
files: submitValues.afterRectificationImageFiles,
|
||||||
params: { type: UPLOAD_FILE_TYPE_ENUM["4"], foreignKey: "" },
|
params: { type: UPLOAD_FILE_TYPE_ENUM["4"], foreignKey: "" },
|
||||||
});
|
});
|
||||||
let hiddenPart = values.hiddenPart;
|
let hiddenPart = submitValues.hiddenPart;
|
||||||
if (hiddenPartType === "input") {
|
if (hiddenPartType === "input") {
|
||||||
const { data } = await props["partAdd"]({ hiddenregion: values.hiddenPart });
|
const { data } = await props["partAdd"]({ hiddenregion: submitValues.hiddenPart });
|
||||||
hiddenPart = data;
|
hiddenPart = data;
|
||||||
}
|
}
|
||||||
const hiddenImageFiles = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["3"], eqForeignKey: id });
|
const hiddenImageFiles = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["3"], eqForeignKey: id });
|
||||||
const { success } = await props[!query.id ? "hiddenAdd" : "hiddenEdit"]({
|
const { success } = await props[!query.id ? "hiddenAdd" : "hiddenEdit"]({
|
||||||
...values,
|
...submitValues,
|
||||||
id: query.id,
|
id: query.id,
|
||||||
hiddenId: id,
|
hiddenId: id,
|
||||||
source: "1",
|
source: "1",
|
||||||
|
|
@ -524,6 +569,19 @@ function Add(props) {
|
||||||
},
|
},
|
||||||
{ name: "creatorName", label: "隐患发现人名称", onlyForLabel: true },
|
{ name: "creatorName", label: "隐患发现人名称", onlyForLabel: true },
|
||||||
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATETIME },
|
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATETIME },
|
||||||
|
{
|
||||||
|
name: "creatorId1",
|
||||||
|
label: "较大重大隐患确认人",
|
||||||
|
render: (
|
||||||
|
<PersonnelSelect
|
||||||
|
isNeedDepartmentId={false}
|
||||||
|
isNeedCorpInfoId={true}
|
||||||
|
params={{ corpinfoId: userInfo.current.id }}
|
||||||
|
onGetLabel={label => form.setFieldValue("creatorName", label)}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
hidden: !isBigOrMajorHidden,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "confirmUserId",
|
name: "confirmUserId",
|
||||||
label: "隐患确认人",
|
label: "隐患确认人",
|
||||||
|
|
@ -538,6 +596,7 @@ function Add(props) {
|
||||||
form.setFieldValue("confirmDeptId", findItem.deptId);
|
form.setFieldValue("confirmDeptId", findItem.deptId);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
hidden: isBigOrMajorHidden,
|
||||||
},
|
},
|
||||||
{ name: "confirmUserName", label: "隐患确认人名称", onlyForLabel: true },
|
{ name: "confirmUserName", label: "隐患确认人名称", onlyForLabel: true },
|
||||||
{ name: "confirmDeptName", label: "隐患确认人部门名称", onlyForLabel: true },
|
{ name: "confirmDeptName", label: "隐患确认人部门名称", onlyForLabel: true },
|
||||||
|
|
@ -546,7 +605,9 @@ function Add(props) {
|
||||||
name: "rectificationType",
|
name: "rectificationType",
|
||||||
label: "隐患处置",
|
label: "隐患处置",
|
||||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||||
items: HIDDEN_RECTIFICATION_TYPE_ENUM,
|
items: isBigOrMajorHidden
|
||||||
|
? HIDDEN_RECTIFICATION_TYPE_ENUM.filter(item => item.bianma === 2)
|
||||||
|
: HIDDEN_RECTIFICATION_TYPE_ENUM,
|
||||||
span: 24,
|
span: 24,
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: (value) => {
|
onChange: (value) => {
|
||||||
|
|
@ -601,7 +662,7 @@ function Add(props) {
|
||||||
render: FORM_ITEM_RENDER_ENUM.DATE,
|
render: FORM_ITEM_RENDER_ENUM.DATE,
|
||||||
span: 24,
|
span: 24,
|
||||||
dependencies: ["rectificationType"],
|
dependencies: ["rectificationType"],
|
||||||
hidden: formValues => !(formValues.rectificationType === 2),
|
hidden: formValues => isBigOrMajorHidden || !(formValues.rectificationType === 2),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "rectificationDescr",
|
name: "rectificationDescr",
|
||||||
|
|
@ -609,7 +670,7 @@ function Add(props) {
|
||||||
render: FORM_ITEM_RENDER_ENUM.TEXTAREA,
|
render: FORM_ITEM_RENDER_ENUM.TEXTAREA,
|
||||||
span: 24,
|
span: 24,
|
||||||
dependencies: ["rectificationType"],
|
dependencies: ["rectificationType"],
|
||||||
hidden: formValues => !(formValues.rectificationType === 1),
|
hidden: formValues => isBigOrMajorHidden || !(formValues.rectificationType === 1),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "afterRectificationImageFiles",
|
name: "afterRectificationImageFiles",
|
||||||
|
|
@ -622,10 +683,12 @@ function Add(props) {
|
||||||
),
|
),
|
||||||
span: 24,
|
span: 24,
|
||||||
dependencies: ["rectificationType"],
|
dependencies: ["rectificationType"],
|
||||||
hidden: formValues => !(formValues.rectificationType === 1),
|
hidden: formValues => isBigOrMajorHidden || !(formValues.rectificationType === 1),
|
||||||
},
|
},
|
||||||
...(
|
...(
|
||||||
isRelated === 0
|
isBigOrMajorHidden
|
||||||
|
? []
|
||||||
|
: isRelated === 0
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
name: "rectificationDeptId",
|
name: "rectificationDeptId",
|
||||||
|
|
@ -642,6 +705,7 @@ function Add(props) {
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
|
hidden: isBigOrMajorHidden,
|
||||||
},
|
},
|
||||||
{ name: "rectificationDeptName", label: "整改部门名称", onlyForLabel: true },
|
{ name: "rectificationDeptName", label: "整改部门名称", onlyForLabel: true },
|
||||||
{
|
{
|
||||||
|
|
@ -654,6 +718,7 @@ function Add(props) {
|
||||||
onGetLabel={label => form.setFieldValue("rectificationUserName", label)}
|
onGetLabel={label => form.setFieldValue("rectificationUserName", label)}
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
|
hidden: isBigOrMajorHidden,
|
||||||
},
|
},
|
||||||
{ name: "rectificationUserName", label: "整改人名称", onlyForLabel: true },
|
{ name: "rectificationUserName", label: "整改人名称", onlyForLabel: true },
|
||||||
]
|
]
|
||||||
|
|
@ -679,7 +744,7 @@ function Add(props) {
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
dependencies: ["rectificationType"],
|
dependencies: ["rectificationType"],
|
||||||
hidden: formValues => !(formValues.rectificationType === 1),
|
hidden: formValues => isBigOrMajorHidden || !(formValues.rectificationType === 1),
|
||||||
},
|
},
|
||||||
{ name: "checkDeptName", label: "验收部门名称", onlyForLabel: true },
|
{ name: "checkDeptName", label: "验收部门名称", onlyForLabel: true },
|
||||||
{
|
{
|
||||||
|
|
@ -693,7 +758,7 @@ function Add(props) {
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
dependencies: ["rectificationType"],
|
dependencies: ["rectificationType"],
|
||||||
hidden: formValues => !(formValues.rectificationType === 1),
|
hidden: formValues => isBigOrMajorHidden || !(formValues.rectificationType === 1),
|
||||||
},
|
},
|
||||||
{ name: "checkUserName", label: "验收人名称", onlyForLabel: true },
|
{ name: "checkUserName", label: "验收人名称", onlyForLabel: true },
|
||||||
]}
|
]}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,113 @@
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import DictionarySelectTree from "zy-react-library/components/SelectTree/Dictionary";
|
||||||
|
import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { HIDDEN_SOURCE_ENUM } from "zy-react-library/enum/hidden/gwj";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { getLabelName } from "zy-react-library/utils";
|
||||||
|
import { IS_RELATED_ENUM } from "~/enumerate/constant";
|
||||||
|
import { NS_CONFIRM } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const { tableProps, getData } = useTable(props["confirmList"], {
|
||||||
|
form,
|
||||||
|
transform: formData => ({
|
||||||
|
hiddenFindTime: formData.hiddenFindTime?.[0],
|
||||||
|
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "source", label: "隐患来源", render: FORM_ITEM_RENDER_ENUM.SELECT, items: HIDDEN_SOURCE_ENUM },
|
||||||
|
{ name: "hiddenDesc", label: "隐患描述" },
|
||||||
|
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||||
|
{ name: "hiddenFindDept", label: "隐患发现部门", render: <DepartmentSelectTree /> },
|
||||||
|
{
|
||||||
|
name: "hiddenType",
|
||||||
|
label: "隐患类型",
|
||||||
|
render: <DictionarySelectTree dictValue="hiddenType" onlyLastLevel />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hiddenLevel",
|
||||||
|
label: "隐患级别",
|
||||||
|
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患发现人" },
|
||||||
|
// { name: "confirmUserName", label: "确认人" },
|
||||||
|
{
|
||||||
|
name: "isRelated",
|
||||||
|
label: "是否相关方",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||||
|
items: IS_RELATED_ENUM,
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "隐患来源",
|
||||||
|
dataIndex: "source",
|
||||||
|
render: (_, record) => getLabelName({ list: HIDDEN_SOURCE_ENUM, status: record.source }),
|
||||||
|
},
|
||||||
|
{ title: "隐患描述", dataIndex: "hiddenDesc" },
|
||||||
|
{ title: "隐患类型", dataIndex: "hiddenTypeName" },
|
||||||
|
{ title: "隐患级别", dataIndex: "hiddenLevelName", width: 100 },
|
||||||
|
|
||||||
|
{ title: "隐患发现部门", dataIndex: "hiddenFindDeptName" },
|
||||||
|
{ title: "隐患发现人", dataIndex: "createName", width: 130 },
|
||||||
|
{
|
||||||
|
title: "隐患发现时间",
|
||||||
|
dataIndex: "hiddenFindTime",
|
||||||
|
render: (_, record) => record.hiddenFindTime ? dayjs(record.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss") : "",
|
||||||
|
},
|
||||||
|
{ title: "隐患状态", dataIndex: "state", render: () => "待确认" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 100,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
{/* {props.permission("fgs-yhqr-info") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`../HiddenView?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
{/* {props.permission("fgs-yhqr-confirm") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`./review?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
确认
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM], true)(Permission(List));
|
||||||
|
|
@ -0,0 +1,248 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Divider, Form, message, Modal } from "antd";
|
||||||
|
import { useRef, useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import Upload from "zy-react-library/components/Upload";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||||
|
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
||||||
|
import { NS_CONFIRM, NS_LEDGER } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function Confirm(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const hiddenLevel = Form.useWatch("hiddenLevel", form);
|
||||||
|
const checkDeptId = Form.useWatch("checkDeptId", form);
|
||||||
|
const [data, setData] = useState({});
|
||||||
|
const xgfProjectInfo = useRef({});
|
||||||
|
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
|
||||||
|
|
||||||
|
const isNeglectHidden = hiddenLevel === "hiddenLevel1001";
|
||||||
|
const isMinorOrGeneralHidden = ["hiddenLevel1004", "hiddenLevel1002"].includes(hiddenLevel);
|
||||||
|
const isBigOrMajorHidden = ["jdyh001", "hiddenLevel2002"].includes(hiddenLevel);
|
||||||
|
const isShowConfirmTime = isNeglectHidden || isMinorOrGeneralHidden || isBigOrMajorHidden;
|
||||||
|
|
||||||
|
const getXgfProjectInfo = async (id) => {
|
||||||
|
const { data } = await props["xgfProjectInfo"]({ id });
|
||||||
|
xgfProjectInfo.current = data;
|
||||||
|
};
|
||||||
|
|
||||||
|
const clearLevelRelatedFields = () => {
|
||||||
|
form.setFieldsValue({
|
||||||
|
confirmUserId: undefined,
|
||||||
|
confirmUserName: undefined,
|
||||||
|
rectificationDeadline: undefined,
|
||||||
|
deptId: undefined,
|
||||||
|
deptName: undefined,
|
||||||
|
checkDeptId: undefined,
|
||||||
|
checkDeptName: undefined,
|
||||||
|
checkUserId: undefined,
|
||||||
|
checkUserName: undefined,
|
||||||
|
linshi: undefined,
|
||||||
|
buchong: undefined,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const onSubmit = (values) => {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "提示",
|
||||||
|
content: "是否确认隐患?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { id } = await uploadFile({
|
||||||
|
single: false,
|
||||||
|
files: values.linshiFilse,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[179],
|
||||||
|
foreignKey: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
await uploadFile({
|
||||||
|
single: false,
|
||||||
|
files: values.buchongFilse,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[180],
|
||||||
|
foreignKey: id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const { success } = await props["confirmSubmit"]({
|
||||||
|
status: "1",
|
||||||
|
rectificationType: data.rectificationType,
|
||||||
|
...values,
|
||||||
|
id: data.id,
|
||||||
|
hiddenId: data.hiddenId,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("确认成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Page headerTitle="查看" contentPadding="0 20px 20px 20px" isShowFooter={false}>
|
||||||
|
<HiddenInfo
|
||||||
|
onGetData={(data) => {
|
||||||
|
setData(data);
|
||||||
|
if (data.isRelated === 1)
|
||||||
|
getXgfProjectInfo(data.projectId);
|
||||||
|
|
||||||
|
form.setFieldValue("hiddenLevel", data.hiddenLevel);
|
||||||
|
form.setFieldValue("hiddenLevelName", data.hiddenLevelName);
|
||||||
|
|
||||||
|
const hiddenUserPresetsCO = data.hiddenUserPresetsCO || {};
|
||||||
|
if (data.source !== 4 || data.source !== 7) {
|
||||||
|
form.setFieldValue("deptId", hiddenUserPresetsCO.rectifyDeptId || data.hiddenFindDept);
|
||||||
|
form.setFieldValue("deptName", hiddenUserPresetsCO.rectifyDeptName || data.hiddenFindDeptName);
|
||||||
|
form.setFieldValue("userId", hiddenUserPresetsCO.rectifyUserId || data.creatorId);
|
||||||
|
form.setFieldValue("userName", hiddenUserPresetsCO.rectifyUserName || data.creatorName);
|
||||||
|
form.setFieldValue("checkDeptId", hiddenUserPresetsCO.checkDeptId || data.hiddenFindDept);
|
||||||
|
form.setFieldValue("checkDeptName", hiddenUserPresetsCO.checkDeptName || data.hiddenFindDeptName);
|
||||||
|
form.setFieldValue("checkUserId", hiddenUserPresetsCO.checkUserId || data.creatorId);
|
||||||
|
form.setFieldValue("checkUserName", hiddenUserPresetsCO.checkUserName || data.creatorName);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Divider orientation="left">发现隐患部门负责人确认</Divider>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
loading={props.confirm.confirmLoading || uploadFileLoading}
|
||||||
|
showCancelButton={false}
|
||||||
|
submitButtonText="通过"
|
||||||
|
onFinish={onSubmit}
|
||||||
|
values={{ rectificationType: 1 }}
|
||||||
|
options={[
|
||||||
|
{
|
||||||
|
name: "hiddenLevel",
|
||||||
|
label: "隐患级别",
|
||||||
|
render: (
|
||||||
|
<HiddenLevelSelectTree
|
||||||
|
isShowNeglect={data.rectificationType === 2}
|
||||||
|
onChange={(value) => {
|
||||||
|
clearLevelRelatedFields();
|
||||||
|
form.setFieldValue("hiddenLevel", value);
|
||||||
|
}}
|
||||||
|
onGetLabel={(label) => {
|
||||||
|
form.setFieldValue("hiddenLevelName", label);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ name: "hiddenLevelName", label: "隐患级别名称", onlyForLabel: true },
|
||||||
|
{
|
||||||
|
name: "rectificationTime",
|
||||||
|
label: "隐患确认时间",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.DATE,
|
||||||
|
hidden: !isShowConfirmTime,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "confirmUserId",
|
||||||
|
label: "一般隐患确认人",
|
||||||
|
render: (
|
||||||
|
<PersonnelSelect
|
||||||
|
params={{ departmentId: checkDeptId }}
|
||||||
|
onGetLabel={label => form.setFieldValue("confirmUserName", label)}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
hidden: !isMinorOrGeneralHidden,
|
||||||
|
},
|
||||||
|
{ name: "confirmUserName", label: "一般隐患确认人名称", onlyForLabel: true },
|
||||||
|
{
|
||||||
|
name: "rectificationDeadline",
|
||||||
|
label: "整改完成期限",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.DATE,
|
||||||
|
hidden: !isMinorOrGeneralHidden,
|
||||||
|
},
|
||||||
|
...(
|
||||||
|
data.isRelated === 0
|
||||||
|
? [
|
||||||
|
{
|
||||||
|
name: "deptId",
|
||||||
|
label: "整改部门",
|
||||||
|
render: (
|
||||||
|
<DepartmentSelectTree
|
||||||
|
onChange={() => {
|
||||||
|
form.setFieldValue("userId", "");
|
||||||
|
form.setFieldValue("userName", "");
|
||||||
|
}}
|
||||||
|
onGetLabel={(label) => {
|
||||||
|
form.setFieldValue("deptName", label);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
hidden: !isMinorOrGeneralHidden,
|
||||||
|
},
|
||||||
|
{ name: "deptName", label: "整改部门名称", onlyForLabel: true },
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
{ name: "deptName", label: "整改单位", componentProps: { disabled: true }, hidden: !isMinorOrGeneralHidden },
|
||||||
|
{ name: "deptId", label: "整改单位id", onlyForLabel: true },
|
||||||
|
]
|
||||||
|
),
|
||||||
|
{
|
||||||
|
name: "checkUserId",
|
||||||
|
label: "隐患核实人",
|
||||||
|
render: (
|
||||||
|
<PersonnelSelect
|
||||||
|
params={{ departmentId: checkDeptId }}
|
||||||
|
onGetLabel={label => form.setFieldValue("checkUserName", label)}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
hidden: !isBigOrMajorHidden,
|
||||||
|
},
|
||||||
|
{ name: "checkUserName", label: "隐患核实人名称", onlyForLabel: true },
|
||||||
|
{
|
||||||
|
name: "linshiFilse",
|
||||||
|
label: "临时处置信息",
|
||||||
|
render: (
|
||||||
|
<Upload
|
||||||
|
maxCount={1}
|
||||||
|
accept=".pdf"
|
||||||
|
fileType="document"
|
||||||
|
tipContent="默认上限1个,且只支持pdf格式"
|
||||||
|
onRemove={() => {
|
||||||
|
form.setFieldValue("filepath");
|
||||||
|
return false;
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
span: 24,
|
||||||
|
hidden: !isBigOrMajorHidden,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "buchongFilse",
|
||||||
|
label: "补充重大/较大隐患信息",
|
||||||
|
span: 24,
|
||||||
|
render: (
|
||||||
|
<Upload
|
||||||
|
maxCount={1}
|
||||||
|
accept=".pdf"
|
||||||
|
fileType="document"
|
||||||
|
tipContent="默认上限1个,且只支持pdf格式"
|
||||||
|
onRemove={() => {
|
||||||
|
form.setFieldValue("filepath");
|
||||||
|
return false;
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
hidden: !isBigOrMajorHidden,
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</Page>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Confirm);
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
function Confirm(props) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Confirm;
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import DictionarySelectTree from "zy-react-library/components/SelectTree/Dictionary";
|
||||||
|
import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { HIDDEN_SOURCE_ENUM } from "zy-react-library/enum/hidden/gwj";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { getLabelName } from "zy-react-library/utils";
|
||||||
|
import { IS_RELATED_ENUM } from "~/enumerate/constant";
|
||||||
|
import { NS_CONFIRM } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const { tableProps, getData } = useTable(props["confirmList"], {
|
||||||
|
form,
|
||||||
|
transform: formData => ({
|
||||||
|
hiddenFindTime: formData.hiddenFindTime?.[0],
|
||||||
|
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "source", label: "隐患来源", render: FORM_ITEM_RENDER_ENUM.SELECT, items: HIDDEN_SOURCE_ENUM },
|
||||||
|
{ name: "hiddenDesc", label: "隐患描述" },
|
||||||
|
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||||
|
{ name: "hiddenFindDept", label: "隐患发现部门", render: <DepartmentSelectTree /> },
|
||||||
|
{
|
||||||
|
name: "hiddenType",
|
||||||
|
label: "隐患类型",
|
||||||
|
render: <DictionarySelectTree dictValue="hiddenType" onlyLastLevel />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hiddenLevel",
|
||||||
|
label: "隐患级别",
|
||||||
|
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患发现人" },
|
||||||
|
// { name: "confirmUserName", label: "确认人" },
|
||||||
|
{
|
||||||
|
name: "isRelated",
|
||||||
|
label: "是否相关方",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||||
|
items: IS_RELATED_ENUM,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患确认人" },
|
||||||
|
{ name: "creatorName", label: "隐患核实人" },
|
||||||
|
{ name: "creatorName", label: "隐患核定人" },
|
||||||
|
{ name: "creatorName", label: "隐患整改人" },
|
||||||
|
{ name: "creatorName", label: "隐患验收人" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "隐患来源",
|
||||||
|
dataIndex: "source",
|
||||||
|
render: (_, record) => getLabelName({ list: HIDDEN_SOURCE_ENUM, status: record.source }),
|
||||||
|
},
|
||||||
|
{ title: "隐患描述", dataIndex: "hiddenDesc" },
|
||||||
|
{ title: "隐患类型", dataIndex: "hiddenTypeName" },
|
||||||
|
{ title: "隐患级别", dataIndex: "hiddenLevelName", width: 100 },
|
||||||
|
|
||||||
|
{ title: "隐患发现部门", dataIndex: "hiddenFindDeptName" },
|
||||||
|
{ title: "隐患发现人", dataIndex: "createName", width: 130 },
|
||||||
|
{
|
||||||
|
title: "隐患发现时间",
|
||||||
|
dataIndex: "hiddenFindTime",
|
||||||
|
render: (_, record) => record.hiddenFindTime ? dayjs(record.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss") : "",
|
||||||
|
},
|
||||||
|
{ title: "确认人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核实人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核定人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "整改人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "验收人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "隐患状态", dataIndex: "state", render: () => "待确认" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 100,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
{/* {props.permission("fgs-yhgl-info") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`../HiddenView?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM], true)(Permission(List));
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
function HiddenManage(props) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default HiddenManage;
|
||||||
|
|
@ -0,0 +1,175 @@
|
||||||
|
import { Button, Descriptions, Divider } from "antd";
|
||||||
|
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||||
|
import useDownloadFile from "zy-react-library/hooks/useDownloadFile";
|
||||||
|
import useGetFile from "zy-react-library/hooks/useGetFile";
|
||||||
|
|
||||||
|
function ViewModal(props) {
|
||||||
|
const record = props.record || {};
|
||||||
|
const { loading: getFileLoading, getFile } = useGetFile();
|
||||||
|
const { downloadFile } = useDownloadFile();
|
||||||
|
|
||||||
|
const downloadFun = async (type) => {
|
||||||
|
const data = await getFile({
|
||||||
|
eqType: UPLOAD_FILE_TYPE_ENUM[type],
|
||||||
|
eqForeignKey: record.id,
|
||||||
|
});
|
||||||
|
if (data && data.length > 0) {
|
||||||
|
data.forEach((item) => {
|
||||||
|
downloadFile({ url: item.filePath });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">发现隐患部门负责人确认</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
labelStyle={{ width: 200 }}
|
||||||
|
items={[
|
||||||
|
{ label: "隐患级别", children: record.sensorCode || "-", span: 2 },
|
||||||
|
{ label: "隐患确认人", children: record.sensorName || "-", span: 2 },
|
||||||
|
{ label: "隐患确认时间", children: record.sensorTypeName || "-", span: 2 },
|
||||||
|
{ label: "临时处置信息", children: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={getFileLoading}
|
||||||
|
onClick={() => downloadFun(179)}
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</Button>
|
||||||
|
), span: 2 },
|
||||||
|
{ label: "补充重大/较大隐患信息", children: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={getFileLoading}
|
||||||
|
onClick={() => downloadFun(180)}
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</Button>
|
||||||
|
), span: 2 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">分公司安委会办公室副主任核实</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
labelStyle={{ width: 200 }}
|
||||||
|
items={[
|
||||||
|
{ label: "隐患级别", children: record.sensorCode || "-", span: 2 },
|
||||||
|
{ label: "核实人", children: record.sensorName || "-", span: 2 },
|
||||||
|
{ label: "核对时间", children: record.sensorTypeName || "-", span: 2 },
|
||||||
|
{ label: "核对结果", children: record.sensorTypeName || "-", span: 2 },
|
||||||
|
{ label: "安委会办公室会议记录", children: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={getFileLoading}
|
||||||
|
onClick={() => downloadFun(181)}
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</Button>
|
||||||
|
), span: 2 },
|
||||||
|
{ label: "整改建议及方案", children: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={getFileLoading}
|
||||||
|
onClick={() => downloadFun(182)}
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</Button>
|
||||||
|
), span: 2 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">港股公司安委会办公室核定</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
labelStyle={{ width: 200 }}
|
||||||
|
items={[
|
||||||
|
{ label: "隐患级别", children: record.sensorCode || "-", span: 2 },
|
||||||
|
{ label: "核实人", children: record.sensorName || "-", span: 2 },
|
||||||
|
{ label: "核对时间", children: record.sensorTypeName || "-", span: 2 },
|
||||||
|
{ label: "隐患调查报告", children: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={getFileLoading}
|
||||||
|
onClick={() => downloadFun(183)}
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</Button>
|
||||||
|
), span: 2 },
|
||||||
|
{ label: "安委会或党委会决议记录", children: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={getFileLoading}
|
||||||
|
onClick={() => downloadFun(184)}
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</Button>
|
||||||
|
), span: 2 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">较大隐患整改</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
labelStyle={{ width: 200 }}
|
||||||
|
items={[
|
||||||
|
{ label: "整改部门", children: record.sensorCode || "-", span: 2 },
|
||||||
|
{ label: "整改人", children: record.sensorName || "-", span: 2 },
|
||||||
|
{ label: "临时处置措施", children: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={getFileLoading}
|
||||||
|
onClick={() => downloadFun(185)}
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</Button>
|
||||||
|
), span: 2 },
|
||||||
|
{ label: "隐患整改方案", children: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={getFileLoading}
|
||||||
|
onClick={() => downloadFun(186)}
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</Button>
|
||||||
|
), span: 2 },
|
||||||
|
{ label: "隐患整改过程记录", children: (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={getFileLoading}
|
||||||
|
onClick={() => downloadFun(187)}
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</Button>
|
||||||
|
), span: 2 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Divider orientation="left">较大隐患验收</Divider>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
labelStyle={{ width: 200 }}
|
||||||
|
items={[
|
||||||
|
{ label: "验收人", children: record.sensorCode || "-", span: 2 },
|
||||||
|
{ label: "验收时间", children: record.sensorName || "-", span: 2 },
|
||||||
|
{ label: "验收结果", children: record.sensorTypeName || "-", span: 2 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ViewModal;
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import ConfirmViev from "./confirmViev";
|
||||||
|
|
||||||
|
function HiddenView() {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page headerTitle="查看" contentPadding="0 20px 20px 20px">
|
||||||
|
<HiddenInfo history={query.history === "1"} />
|
||||||
|
<ConfirmViev />
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default HiddenView;
|
||||||
|
|
@ -0,0 +1,121 @@
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import DictionarySelectTree from "zy-react-library/components/SelectTree/Dictionary";
|
||||||
|
import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { HIDDEN_SOURCE_ENUM } from "zy-react-library/enum/hidden/gwj";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { getLabelName } from "zy-react-library/utils";
|
||||||
|
import { IS_RELATED_ENUM } from "~/enumerate/constant";
|
||||||
|
import { NS_CONFIRM } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const { tableProps, getData } = useTable(props["confirmList"], {
|
||||||
|
form,
|
||||||
|
transform: formData => ({
|
||||||
|
hiddenFindTime: formData.hiddenFindTime?.[0],
|
||||||
|
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "source", label: "隐患来源", render: FORM_ITEM_RENDER_ENUM.SELECT, items: HIDDEN_SOURCE_ENUM },
|
||||||
|
{ name: "hiddenDesc", label: "隐患描述" },
|
||||||
|
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||||
|
{ name: "hiddenFindDept", label: "隐患发现部门", render: <DepartmentSelectTree /> },
|
||||||
|
{
|
||||||
|
name: "hiddenType",
|
||||||
|
label: "隐患类型",
|
||||||
|
render: <DictionarySelectTree dictValue="hiddenType" onlyLastLevel />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hiddenLevel",
|
||||||
|
label: "隐患级别",
|
||||||
|
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患发现人" },
|
||||||
|
// { name: "confirmUserName", label: "确认人" },
|
||||||
|
{
|
||||||
|
name: "isRelated",
|
||||||
|
label: "是否相关方",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||||
|
items: IS_RELATED_ENUM,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "确认人" },
|
||||||
|
{ name: "creatorName", label: "核实人" },
|
||||||
|
{ name: "creatorName", label: "核定人" },
|
||||||
|
{ name: "creatorName", label: "整改人" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "隐患来源",
|
||||||
|
dataIndex: "source",
|
||||||
|
render: (_, record) => getLabelName({ list: HIDDEN_SOURCE_ENUM, status: record.source }),
|
||||||
|
},
|
||||||
|
{ title: "隐患描述", dataIndex: "hiddenDesc" },
|
||||||
|
{ title: "隐患类型", dataIndex: "hiddenTypeName" },
|
||||||
|
{ title: "隐患级别", dataIndex: "hiddenLevelName", width: 100 },
|
||||||
|
|
||||||
|
{ title: "隐患发现部门", dataIndex: "hiddenFindDeptName" },
|
||||||
|
{ title: "隐患发现人", dataIndex: "createName", width: 130 },
|
||||||
|
{
|
||||||
|
title: "隐患发现时间",
|
||||||
|
dataIndex: "hiddenFindTime",
|
||||||
|
render: (_, record) => record.hiddenFindTime ? dayjs(record.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss") : "",
|
||||||
|
},
|
||||||
|
{ title: "确认人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核实人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核定人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "整改人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "隐患状态", dataIndex: "state", render: () => "待确认" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 100,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
{/* {props.permission("fgs-yhzg-info") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`../HiddenView?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
{/* {props.permission("fgs-yhzg-rectification") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`./Rectification?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
整改
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM], true)(Permission(List));
|
||||||
|
|
@ -0,0 +1,204 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Descriptions, Divider, Form, message, Modal } from "antd";
|
||||||
|
import { useRef, useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import Upload from "zy-react-library/components/Upload";
|
||||||
|
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||||
|
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
||||||
|
import { NS_CONFIRM, NS_LEDGER } from "~/enumerate/namespace";
|
||||||
|
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
|
||||||
|
|
||||||
|
function Rectification(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const deptId = Form.useWatch("deptId", form);
|
||||||
|
|
||||||
|
const [data, setData] = useState({});
|
||||||
|
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
|
||||||
|
|
||||||
|
const xgfProjectInfo = useRef({});
|
||||||
|
|
||||||
|
const getXgfProjectInfo = async (id) => {
|
||||||
|
const { data } = await props["xgfProjectInfo"]({ id });
|
||||||
|
xgfProjectInfo.current = data;
|
||||||
|
};
|
||||||
|
|
||||||
|
const onSubmit = (values) => {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "提示",
|
||||||
|
content: "是否确认整改?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { id } = await uploadFile({
|
||||||
|
single: false,
|
||||||
|
files: values.linshiFilse,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[185],
|
||||||
|
foreignKey: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
await uploadFile({
|
||||||
|
single: false,
|
||||||
|
files: values.yhzgfyFiles,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[186],
|
||||||
|
foreignKey: id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
await uploadFile({
|
||||||
|
single: false,
|
||||||
|
files: values.yhzggcjlFilse,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[187],
|
||||||
|
foreignKey: id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const { success } = await props["confirmSubmit"]({
|
||||||
|
status: "1",
|
||||||
|
rectificationType: data.rectificationType,
|
||||||
|
...values,
|
||||||
|
id: data.id,
|
||||||
|
hiddenId: data.hiddenId,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("确认成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Page headerTitle="查看" isShowFooter={false}>
|
||||||
|
<HiddenInfo
|
||||||
|
|
||||||
|
onGetData={(data) => {
|
||||||
|
setData(data);
|
||||||
|
if (data.isRelated === 1)
|
||||||
|
getXgfProjectInfo(data.projectId);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<ConfirmViev />
|
||||||
|
<Divider orientation="left">较大隐患整改</Divider>
|
||||||
|
<div>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
labelStyle={{ width: 200 }}
|
||||||
|
items={[
|
||||||
|
{ label: "整改部门", children: "-", span: 2 },
|
||||||
|
{ label: "整改负责人", children: "-", span: 2 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
loading={props.confirm.confirmLoading || uploadFileLoading}
|
||||||
|
showCancelButton={false}
|
||||||
|
submitButtonText="通过"
|
||||||
|
onFinish={onSubmit}
|
||||||
|
values={{ rectificationType: 1 }}
|
||||||
|
options={[
|
||||||
|
|
||||||
|
{
|
||||||
|
name: "linshiFilse",
|
||||||
|
label: "临时处置措施",
|
||||||
|
render: (
|
||||||
|
<Upload
|
||||||
|
maxCount={1}
|
||||||
|
accept=".pdf"
|
||||||
|
fileType="document"
|
||||||
|
tipContent="默认上限1个,且只支持pdf格式"
|
||||||
|
onRemove={() => {
|
||||||
|
form.setFieldValue("filepath");
|
||||||
|
return false;
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
span: 24,
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "yhzgfyFiles",
|
||||||
|
label: "隐患整改方案",
|
||||||
|
span: 24,
|
||||||
|
render: (
|
||||||
|
<Upload
|
||||||
|
maxCount={1}
|
||||||
|
accept=".pdf"
|
||||||
|
fileType="document"
|
||||||
|
tipContent="默认上限1个,且只支持pdf格式"
|
||||||
|
onRemove={() => {
|
||||||
|
form.setFieldValue("filepath");
|
||||||
|
return false;
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "yhzggcjlFilse",
|
||||||
|
label: "隐患整改过程记录",
|
||||||
|
span: 24,
|
||||||
|
render: (
|
||||||
|
<Upload
|
||||||
|
maxCount={1}
|
||||||
|
accept=".pdf"
|
||||||
|
fileType="document"
|
||||||
|
tipContent="默认上限1个,且只支持pdf格式"
|
||||||
|
onRemove={() => {
|
||||||
|
form.setFieldValue("filepath");
|
||||||
|
return false;
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "deptId",
|
||||||
|
label: "隐患验收部门",
|
||||||
|
render: (
|
||||||
|
<DepartmentSelectTree
|
||||||
|
onChange={() => {
|
||||||
|
form.setFieldValue("userId", "");
|
||||||
|
form.setFieldValue("userName", "");
|
||||||
|
}}
|
||||||
|
onGetLabel={(label) => {
|
||||||
|
form.setFieldValue("deptName", label);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ name: "deptName", label: "隐患验收部门名称", onlyForLabel: true },
|
||||||
|
{
|
||||||
|
name: "userId",
|
||||||
|
label: "隐患验收人",
|
||||||
|
render: (
|
||||||
|
<PersonnelSelect
|
||||||
|
params={{ departmentId: deptId }}
|
||||||
|
onGetLabel={label => form.setFieldValue("userName", label)}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ name: "userName", label: "隐患验收人名称", onlyForLabel: true },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</Page>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Rectification);
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
function Rectification(props) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Rectification;
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import DictionarySelectTree from "zy-react-library/components/SelectTree/Dictionary";
|
||||||
|
import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { HIDDEN_SOURCE_ENUM } from "zy-react-library/enum/hidden/gwj";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { getLabelName } from "zy-react-library/utils";
|
||||||
|
import { IS_RELATED_ENUM } from "~/enumerate/constant";
|
||||||
|
import { NS_CONFIRM } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const { tableProps, getData } = useTable(props["confirmList"], {
|
||||||
|
form,
|
||||||
|
transform: formData => ({
|
||||||
|
hiddenFindTime: formData.hiddenFindTime?.[0],
|
||||||
|
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "source", label: "隐患来源", render: FORM_ITEM_RENDER_ENUM.SELECT, items: HIDDEN_SOURCE_ENUM },
|
||||||
|
{ name: "hiddenDesc", label: "隐患描述" },
|
||||||
|
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||||
|
{ name: "hiddenFindDept", label: "隐患发现部门", render: <DepartmentSelectTree /> },
|
||||||
|
{
|
||||||
|
name: "hiddenType",
|
||||||
|
label: "隐患类型",
|
||||||
|
render: <DictionarySelectTree dictValue="hiddenType" onlyLastLevel />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hiddenLevel",
|
||||||
|
label: "隐患级别",
|
||||||
|
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患发现人" },
|
||||||
|
// { name: "confirmUserName", label: "确认人" },
|
||||||
|
{
|
||||||
|
name: "isRelated",
|
||||||
|
label: "是否相关方",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||||
|
items: IS_RELATED_ENUM,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患确认人" },
|
||||||
|
{ name: "creatorName", label: "隐患核实人" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "隐患来源",
|
||||||
|
dataIndex: "source",
|
||||||
|
render: (_, record) => getLabelName({ list: HIDDEN_SOURCE_ENUM, status: record.source }),
|
||||||
|
},
|
||||||
|
{ title: "隐患描述", dataIndex: "hiddenDesc" },
|
||||||
|
{ title: "隐患类型", dataIndex: "hiddenTypeName" },
|
||||||
|
{ title: "隐患级别", dataIndex: "hiddenLevelName", width: 100 },
|
||||||
|
|
||||||
|
{ title: "隐患发现部门", dataIndex: "hiddenFindDeptName" },
|
||||||
|
{ title: "隐患发现人", dataIndex: "createName", width: 130 },
|
||||||
|
{
|
||||||
|
title: "隐患发现时间",
|
||||||
|
dataIndex: "hiddenFindTime",
|
||||||
|
render: (_, record) => record.hiddenFindTime ? dayjs(record.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss") : "",
|
||||||
|
},
|
||||||
|
{ title: "确认人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核实人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "隐患状态", dataIndex: "state", render: () => "待确认" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 100,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
{/* {props.permission("fgs-yhhs-info") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`../HiddenView?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
{/* {props.permission("fgs-yhhs-verify") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`./Verify?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
核实
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM], true)(Permission(List));
|
||||||
|
|
@ -0,0 +1,182 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Divider, Form, message, Modal } from "antd";
|
||||||
|
import { useRef, useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import Upload from "zy-react-library/components/Upload";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||||
|
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
||||||
|
import { NS_CONFIRM, NS_LEDGER } from "~/enumerate/namespace";
|
||||||
|
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
|
||||||
|
|
||||||
|
function Verify(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const deptId = Form.useWatch("deptId", form);
|
||||||
|
|
||||||
|
const [data, setData] = useState({});
|
||||||
|
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
|
||||||
|
|
||||||
|
const xgfProjectInfo = useRef({});
|
||||||
|
|
||||||
|
const getXgfProjectInfo = async (id) => {
|
||||||
|
const { data } = await props["xgfProjectInfo"]({ id });
|
||||||
|
xgfProjectInfo.current = data;
|
||||||
|
};
|
||||||
|
|
||||||
|
const onSubmit = (values) => {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "提示",
|
||||||
|
content: "是否确认核实?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { id } = await uploadFile({
|
||||||
|
single: false,
|
||||||
|
files: values.awhbgsjlFilse,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[181],
|
||||||
|
foreignKey: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
await uploadFile({
|
||||||
|
single: true,
|
||||||
|
files: values.zgjyfaFilse,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[182],
|
||||||
|
foreignKey: id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const { success } = await props["confirmSubmit"]({
|
||||||
|
status: "1",
|
||||||
|
rectificationType: data.rectificationType,
|
||||||
|
...values,
|
||||||
|
id: data.id,
|
||||||
|
hiddenId: data.hiddenId,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("确认成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Page headerTitle="查看" isShowFooter={false}>
|
||||||
|
<HiddenInfo
|
||||||
|
|
||||||
|
onGetData={(data) => {
|
||||||
|
setData(data);
|
||||||
|
if (data.isRelated === 1)
|
||||||
|
getXgfProjectInfo(data.projectId);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<ConfirmViev />
|
||||||
|
<Divider orientation="left">分公司安委会办公室副主任核实</Divider>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
loading={props.confirm.confirmLoading || uploadFileLoading}
|
||||||
|
showCancelButton={false}
|
||||||
|
submitButtonText="通过"
|
||||||
|
onFinish={onSubmit}
|
||||||
|
values={{ rectificationType: 1 }}
|
||||||
|
options={[
|
||||||
|
{
|
||||||
|
name: "rectificationTime",
|
||||||
|
label: "核实结果",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||||
|
items: [{ bianma: 2, name: "打回" }, { bianma: 1, name: "核实通过" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "deptId",
|
||||||
|
label: "隐患核实部门",
|
||||||
|
render: (
|
||||||
|
<DepartmentSelectTree
|
||||||
|
onChange={() => {
|
||||||
|
form.setFieldValue("userId", "");
|
||||||
|
form.setFieldValue("userName", "");
|
||||||
|
}}
|
||||||
|
onGetLabel={(label) => {
|
||||||
|
form.setFieldValue("deptName", label);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ name: "deptName", label: "隐患核实部门名称", onlyForLabel: true },
|
||||||
|
{
|
||||||
|
name: "userId",
|
||||||
|
label: "隐患核定人",
|
||||||
|
render: (
|
||||||
|
<PersonnelSelect
|
||||||
|
params={{ departmentId: deptId }}
|
||||||
|
onGetLabel={label => form.setFieldValue("userName", label)}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ name: "userName", label: "隐患核定人名称", onlyForLabel: true },
|
||||||
|
|
||||||
|
{
|
||||||
|
name: "rectificationTime",
|
||||||
|
label: "隐患核实时间",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.DATE,
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "awhbgsjlFilse",
|
||||||
|
label: "安委会办公室会议记录",
|
||||||
|
render: (
|
||||||
|
<Upload
|
||||||
|
maxCount={1}
|
||||||
|
accept=".pdf"
|
||||||
|
fileType="document"
|
||||||
|
tipContent="默认上限1个,且只支持pdf格式"
|
||||||
|
onRemove={() => {
|
||||||
|
form.setFieldValue("filepath");
|
||||||
|
return false;
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
span: 24,
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "zgjyfaFilse",
|
||||||
|
label: "整改建议及方案",
|
||||||
|
span: 24,
|
||||||
|
render: (
|
||||||
|
<Upload
|
||||||
|
maxCount={1}
|
||||||
|
accept=".pdf"
|
||||||
|
fileType="document"
|
||||||
|
tipContent="默认上限1个,且只支持pdf格式"
|
||||||
|
onRemove={() => {
|
||||||
|
form.setFieldValue("filepath");
|
||||||
|
return false;
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "rectificationTime",
|
||||||
|
label: "打回原因",
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</Page>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Verify);
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
function Verify(props) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Verify;
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
function MajorHidden(props) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MajorHidden;
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Descriptions, Divider, Form, message, Modal } from "antd";
|
||||||
|
import { useRef, useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||||
|
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
||||||
|
import { NS_CONFIRM, NS_LEDGER } from "~/enumerate/namespace";
|
||||||
|
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
|
||||||
|
|
||||||
|
function Rectification(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const deptId = Form.useWatch("deptId", form);
|
||||||
|
|
||||||
|
const [data, setData] = useState({});
|
||||||
|
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
|
||||||
|
|
||||||
|
const xgfProjectInfo = useRef({});
|
||||||
|
|
||||||
|
const getXgfProjectInfo = async (id) => {
|
||||||
|
const { data } = await props["xgfProjectInfo"]({ id });
|
||||||
|
xgfProjectInfo.current = data;
|
||||||
|
};
|
||||||
|
|
||||||
|
const onSubmit = (values) => {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "提示",
|
||||||
|
content: "是否确认隐患?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { filePath } = await uploadFile({
|
||||||
|
single: true,
|
||||||
|
files: values.filepath,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[1],
|
||||||
|
foreignKey: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const { success } = await props["confirmSubmit"]({
|
||||||
|
status: "1",
|
||||||
|
rectificationType: data.rectificationType,
|
||||||
|
...values,
|
||||||
|
id: data.id,
|
||||||
|
hiddenId: data.hiddenId,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("确认成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Page headerTitle="查看" isShowFooter={false}>
|
||||||
|
<HiddenInfo
|
||||||
|
|
||||||
|
onGetData={(data) => {
|
||||||
|
setData(data);
|
||||||
|
if (data.isRelated === 1)
|
||||||
|
getXgfProjectInfo(data.projectId);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<ConfirmViev />
|
||||||
|
<Divider orientation="left">较大隐患验收</Divider>
|
||||||
|
<div>
|
||||||
|
<Descriptions
|
||||||
|
bordered
|
||||||
|
column={2}
|
||||||
|
labelStyle={{ width: 200 }}
|
||||||
|
items={[
|
||||||
|
{ label: "验收人", children: "-", span: 2 },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
loading={props.confirm.confirmLoading || uploadFileLoading}
|
||||||
|
showCancelButton={false}
|
||||||
|
submitButtonText="通过"
|
||||||
|
onFinish={onSubmit}
|
||||||
|
values={{ rectificationType: 1 }}
|
||||||
|
options={[
|
||||||
|
{
|
||||||
|
name: "yanshoujieguo",
|
||||||
|
label: "验收结果",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||||
|
items: [{ bianma: 1, name: "验收通过" }, { bianma: 2, name: "验收打回" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "yanshoushijian",
|
||||||
|
label: "验收时间",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.DATETIME,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "yanshoushijian",
|
||||||
|
label: "打回原因",
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</Page>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Rectification);
|
||||||
|
|
@ -0,0 +1,123 @@
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import DictionarySelectTree from "zy-react-library/components/SelectTree/Dictionary";
|
||||||
|
import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { HIDDEN_SOURCE_ENUM } from "zy-react-library/enum/hidden/gwj";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { getLabelName } from "zy-react-library/utils";
|
||||||
|
import { IS_RELATED_ENUM } from "~/enumerate/constant";
|
||||||
|
import { NS_CONFIRM } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const { tableProps, getData } = useTable(props["confirmList"], {
|
||||||
|
form,
|
||||||
|
transform: formData => ({
|
||||||
|
hiddenFindTime: formData.hiddenFindTime?.[0],
|
||||||
|
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "source", label: "隐患来源", render: FORM_ITEM_RENDER_ENUM.SELECT, items: HIDDEN_SOURCE_ENUM },
|
||||||
|
{ name: "hiddenDesc", label: "隐患描述" },
|
||||||
|
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||||
|
{ name: "hiddenFindDept", label: "隐患发现部门", render: <DepartmentSelectTree /> },
|
||||||
|
{
|
||||||
|
name: "hiddenType",
|
||||||
|
label: "隐患类型",
|
||||||
|
render: <DictionarySelectTree dictValue="hiddenType" onlyLastLevel />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hiddenLevel",
|
||||||
|
label: "隐患级别",
|
||||||
|
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患发现人" },
|
||||||
|
// { name: "confirmUserName", label: "确认人" },
|
||||||
|
{
|
||||||
|
name: "isRelated",
|
||||||
|
label: "是否相关方",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||||
|
items: IS_RELATED_ENUM,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患确认人" },
|
||||||
|
{ name: "creatorName", label: "隐患核实人" },
|
||||||
|
{ name: "creatorName", label: "隐患核定人" },
|
||||||
|
{ name: "creatorName", label: "隐患整改人" },
|
||||||
|
{ name: "creatorName", label: "隐患验收人" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "隐患来源",
|
||||||
|
dataIndex: "source",
|
||||||
|
render: (_, record) => getLabelName({ list: HIDDEN_SOURCE_ENUM, status: record.source }),
|
||||||
|
},
|
||||||
|
{ title: "隐患描述", dataIndex: "hiddenDesc" },
|
||||||
|
{ title: "隐患类型", dataIndex: "hiddenTypeName" },
|
||||||
|
{ title: "隐患级别", dataIndex: "hiddenLevelName", width: 100 },
|
||||||
|
|
||||||
|
{ title: "隐患发现部门", dataIndex: "hiddenFindDeptName" },
|
||||||
|
{ title: "隐患发现人", dataIndex: "createName", width: 130 },
|
||||||
|
{
|
||||||
|
title: "隐患发现时间",
|
||||||
|
dataIndex: "hiddenFindTime",
|
||||||
|
render: (_, record) => record.hiddenFindTime ? dayjs(record.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss") : "",
|
||||||
|
},
|
||||||
|
{ title: "确认人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核实人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核定人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "整改人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "验收人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "隐患状态", dataIndex: "state", render: () => "待确认" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 100,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
{/* {props.permission("gfd-yhys-info") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`../HiddenView?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
{/* {props.permission("gfd-yhys-acceptance") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`./Acceptance?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
验收
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM], true)(Permission(List));
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
function Acceptance(props) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Acceptance;
|
||||||
|
|
@ -0,0 +1,199 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Divider, Form, message, Modal } from "antd";
|
||||||
|
import { useRef, useState } from "react";
|
||||||
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
|
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj";
|
||||||
|
import Upload from "zy-react-library/components/Upload";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||||
|
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
||||||
|
import { NS_CONFIRM, NS_LEDGER } from "~/enumerate/namespace";
|
||||||
|
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
|
||||||
|
|
||||||
|
function Approval(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const hiddenLevel = Form.useWatch("hiddenLevel", form);
|
||||||
|
const deptId = Form.useWatch("deptId", form);
|
||||||
|
|
||||||
|
const [data, setData] = useState({});
|
||||||
|
|
||||||
|
const xgfProjectInfo = useRef({});
|
||||||
|
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
|
||||||
|
const isMajorHidden = hiddenLevel === "hiddenLevel2002";
|
||||||
|
|
||||||
|
const getXgfProjectInfo = async (id) => {
|
||||||
|
const { data } = await props["xgfProjectInfo"]({ id });
|
||||||
|
xgfProjectInfo.current = data;
|
||||||
|
};
|
||||||
|
|
||||||
|
const onSubmit = (values) => {
|
||||||
|
Modal.confirm({
|
||||||
|
title: "提示",
|
||||||
|
content: "是否确认隐患?",
|
||||||
|
onOk: async () => {
|
||||||
|
const { id } = await uploadFile({
|
||||||
|
single: false,
|
||||||
|
files: values.yhdcboFilse,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[183],
|
||||||
|
foreignKey: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
await uploadFile({
|
||||||
|
single: false,
|
||||||
|
files: values.awhdwhjybgFulse,
|
||||||
|
params: {
|
||||||
|
type: UPLOAD_FILE_TYPE_ENUM[184],
|
||||||
|
foreignKey: id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const { success } = await props["confirmSubmit"]({
|
||||||
|
status: "1",
|
||||||
|
rectificationType: data.rectificationType,
|
||||||
|
...values,
|
||||||
|
id: data.id,
|
||||||
|
hiddenId: data.hiddenId,
|
||||||
|
});
|
||||||
|
if (success) {
|
||||||
|
message.success("确认成功");
|
||||||
|
props.history.goBack();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Page headerTitle="查看" isShowFooter={false}>
|
||||||
|
<HiddenInfo
|
||||||
|
|
||||||
|
onGetData={(data) => {
|
||||||
|
setData(data);
|
||||||
|
if (data.isRelated === 1)
|
||||||
|
getXgfProjectInfo(data.projectId);
|
||||||
|
form.setFieldValue("hiddenLevel", data.hiddenLevel);
|
||||||
|
form.setFieldValue("hiddenLevelName", data.hiddenLevelName);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<ConfirmViev />
|
||||||
|
<Divider orientation="left">港股公司安委会办公室核定</Divider>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<FormBuilder
|
||||||
|
form={form}
|
||||||
|
loading={props.confirm.confirmLoading || uploadFileLoading}
|
||||||
|
showCancelButton={false}
|
||||||
|
submitButtonText="通过"
|
||||||
|
onFinish={onSubmit}
|
||||||
|
labelCol={{ span: 6 }}
|
||||||
|
values={{ rectificationType: 1 }}
|
||||||
|
options={[
|
||||||
|
{
|
||||||
|
name: "hiddenLevel",
|
||||||
|
label: "隐患级别",
|
||||||
|
render: (
|
||||||
|
<HiddenLevelSelectTree
|
||||||
|
isShowNeglect={data.rectificationType === 2}
|
||||||
|
onChange={(value) => {
|
||||||
|
form.setFieldValue("hiddenLevel", value);
|
||||||
|
}}
|
||||||
|
onGetLabel={(label) => {
|
||||||
|
form.setFieldValue("hiddenLevelName", label);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "rectificationTime",
|
||||||
|
label: "隐患核实时间",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.DATETIME,
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "deptId",
|
||||||
|
label: " 整改部门/整改单位",
|
||||||
|
render: (
|
||||||
|
<DepartmentSelectTree
|
||||||
|
onChange={() => {
|
||||||
|
form.setFieldValue("userId", "");
|
||||||
|
form.setFieldValue("userName", "");
|
||||||
|
}}
|
||||||
|
onGetLabel={(label) => {
|
||||||
|
form.setFieldValue("deptName", label);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
hidden: isMajorHidden,
|
||||||
|
},
|
||||||
|
{ name: "deptName", label: "整改部门名称", onlyForLabel: true, hidden: isMajorHidden },
|
||||||
|
{
|
||||||
|
name: "userId",
|
||||||
|
label: "整改负责人",
|
||||||
|
render: (
|
||||||
|
<PersonnelSelect
|
||||||
|
params={{ departmentId: deptId }}
|
||||||
|
onGetLabel={label => form.setFieldValue("userName", label)}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
hidden: isMajorHidden,
|
||||||
|
},
|
||||||
|
{ name: "userName", label: "整改人名称", onlyForLabel: true, hidden: isMajorHidden },
|
||||||
|
{ name: "hiddenLevelName", label: "隐患级别名称", onlyForLabel: true, hidden: isMajorHidden },
|
||||||
|
|
||||||
|
{
|
||||||
|
name: "yhdcboFilse",
|
||||||
|
label: "隐患调查报告",
|
||||||
|
render: (
|
||||||
|
<Upload
|
||||||
|
maxCount={1}
|
||||||
|
accept=".pdf"
|
||||||
|
fileType="document"
|
||||||
|
tipContent="默认上限1个,且只支持pdf格式"
|
||||||
|
onRemove={() => {
|
||||||
|
form.setFieldValue("filepath");
|
||||||
|
return false;
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
span: 24,
|
||||||
|
hidden: isMajorHidden,
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "awhdwhjybgFulse",
|
||||||
|
label: "安委会或党委会决议记录",
|
||||||
|
span: 24,
|
||||||
|
render: (
|
||||||
|
<Upload
|
||||||
|
maxCount={1}
|
||||||
|
accept=".pdf"
|
||||||
|
fileType="document"
|
||||||
|
tipContent="默认上限1个,且只支持pdf格式"
|
||||||
|
onRemove={() => {
|
||||||
|
form.setFieldValue("filepath");
|
||||||
|
return false;
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
hidden: isMajorHidden,
|
||||||
|
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</Page>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Approval);
|
||||||
|
|
@ -0,0 +1,119 @@
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import DictionarySelectTree from "zy-react-library/components/SelectTree/Dictionary";
|
||||||
|
import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { HIDDEN_SOURCE_ENUM } from "zy-react-library/enum/hidden/gwj";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { getLabelName } from "zy-react-library/utils";
|
||||||
|
import { IS_RELATED_ENUM } from "~/enumerate/constant";
|
||||||
|
import { NS_CONFIRM } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const { tableProps, getData } = useTable(props["confirmList"], {
|
||||||
|
form,
|
||||||
|
transform: formData => ({
|
||||||
|
hiddenFindTime: formData.hiddenFindTime?.[0],
|
||||||
|
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "source", label: "隐患来源", render: FORM_ITEM_RENDER_ENUM.SELECT, items: HIDDEN_SOURCE_ENUM },
|
||||||
|
{ name: "hiddenDesc", label: "隐患描述" },
|
||||||
|
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||||
|
{ name: "hiddenFindDept", label: "隐患发现部门", render: <DepartmentSelectTree /> },
|
||||||
|
{
|
||||||
|
name: "hiddenType",
|
||||||
|
label: "隐患类型",
|
||||||
|
render: <DictionarySelectTree dictValue="hiddenType" onlyLastLevel />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hiddenLevel",
|
||||||
|
label: "隐患级别",
|
||||||
|
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患发现人" },
|
||||||
|
// { name: "confirmUserName", label: "确认人" },
|
||||||
|
{
|
||||||
|
name: "isRelated",
|
||||||
|
label: "是否相关方",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||||
|
items: IS_RELATED_ENUM,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患确认人" },
|
||||||
|
{ name: "creatorName", label: "隐患核实人" },
|
||||||
|
{ name: "creatorName", label: "隐患核定人" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "隐患来源",
|
||||||
|
dataIndex: "source",
|
||||||
|
render: (_, record) => getLabelName({ list: HIDDEN_SOURCE_ENUM, status: record.source }),
|
||||||
|
},
|
||||||
|
{ title: "隐患描述", dataIndex: "hiddenDesc" },
|
||||||
|
{ title: "隐患类型", dataIndex: "hiddenTypeName" },
|
||||||
|
{ title: "隐患级别", dataIndex: "hiddenLevelName", width: 100 },
|
||||||
|
|
||||||
|
{ title: "隐患发现部门", dataIndex: "hiddenFindDeptName" },
|
||||||
|
{ title: "隐患发现人", dataIndex: "createName", width: 130 },
|
||||||
|
{
|
||||||
|
title: "隐患发现时间",
|
||||||
|
dataIndex: "hiddenFindTime",
|
||||||
|
render: (_, record) => record.hiddenFindTime ? dayjs(record.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss") : "",
|
||||||
|
},
|
||||||
|
{ title: "确认人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核实人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核定人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "隐患状态", dataIndex: "state", render: () => "待确认" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 100,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
{/* {props.permission("gfd-yhhd-info") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`../HiddenView?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
{/* {props.permission("gfd-yhhd-approval") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`./Approval?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
核定
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM], true)(Permission(List));
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
function Approval(props) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Approval;
|
||||||
|
|
@ -0,0 +1,116 @@
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space } from "antd";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import Search from "zy-react-library/components/Search";
|
||||||
|
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||||
|
import DictionarySelectTree from "zy-react-library/components/SelectTree/Dictionary";
|
||||||
|
import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj";
|
||||||
|
import Table from "zy-react-library/components/Table";
|
||||||
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
import { HIDDEN_SOURCE_ENUM } from "zy-react-library/enum/hidden/gwj";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { getLabelName } from "zy-react-library/utils";
|
||||||
|
import { IS_RELATED_ENUM } from "~/enumerate/constant";
|
||||||
|
import { NS_CONFIRM } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function HiddenList(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
|
||||||
|
const { tableProps, getData } = useTable(props["confirmList"], {
|
||||||
|
usePermission: false,
|
||||||
|
form,
|
||||||
|
transform: formData => ({
|
||||||
|
hiddenFindTime: formData.hiddenFindTime?.[0],
|
||||||
|
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page headerTitle={query.type !== "1" ? "重大隐患数" : "较大隐患数"} isShowFooter={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
{ name: "source", label: "隐患来源", render: FORM_ITEM_RENDER_ENUM.SELECT, items: HIDDEN_SOURCE_ENUM },
|
||||||
|
{ name: "hiddenDesc", label: "隐患描述" },
|
||||||
|
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||||
|
{ name: "hiddenFindDept", label: "隐患发现部门", render: <DepartmentSelectTree /> },
|
||||||
|
{
|
||||||
|
name: "hiddenType",
|
||||||
|
label: "隐患类型",
|
||||||
|
render: <DictionarySelectTree dictValue="hiddenType" onlyLastLevel />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hiddenLevel",
|
||||||
|
label: "隐患级别",
|
||||||
|
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
|
||||||
|
},
|
||||||
|
{ name: "creatorName", label: "隐患发现人" },
|
||||||
|
// { name: "confirmUserName", label: "确认人" },
|
||||||
|
{
|
||||||
|
name: "isRelated",
|
||||||
|
label: "是否相关方",
|
||||||
|
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||||
|
items: IS_RELATED_ENUM,
|
||||||
|
},
|
||||||
|
{ name: "querenren", label: "隐患确认人" },
|
||||||
|
{ name: "hehsiren", label: "隐患核实人" },
|
||||||
|
{ name: "hedingren", label: "隐患核定人", hidden: query.type !== "2" },
|
||||||
|
{ name: "zhenggairen", label: "隐患整改人", hidden: query.type !== "2" },
|
||||||
|
{ name: "yanshouren", label: "隐患验收人", hidden: query.type !== "2" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "隐患来源",
|
||||||
|
dataIndex: "source",
|
||||||
|
render: (_, record) => getLabelName({ list: HIDDEN_SOURCE_ENUM, status: record.source }),
|
||||||
|
},
|
||||||
|
{ title: "隐患描述", dataIndex: "hiddenDesc" },
|
||||||
|
{ title: "隐患类型", dataIndex: "hiddenTypeName" },
|
||||||
|
{ title: "隐患级别", dataIndex: "hiddenLevelName", width: 100 },
|
||||||
|
|
||||||
|
{ title: "隐患发现部门", dataIndex: "hiddenFindDeptName" },
|
||||||
|
{ title: "隐患发现人", dataIndex: "createName", width: 130 },
|
||||||
|
{
|
||||||
|
title: "隐患发现时间",
|
||||||
|
dataIndex: "hiddenFindTime",
|
||||||
|
render: (_, record) => record.hiddenFindTime ? dayjs(record.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss") : "",
|
||||||
|
},
|
||||||
|
{ title: "确认人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核实人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "核定人", dataIndex: "createName", width: 130 },
|
||||||
|
{ title: "隐患状态", dataIndex: "state", render: () => "待确认" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 100,
|
||||||
|
fixed: "right",
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
{/* {props.permission("fgs-zd-yhqr-ck") && ( */}
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`../HiddenView?id=${record.id}&hiddenId=${record.hiddenId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
{/* )} */}
|
||||||
|
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM], true)(Permission(HiddenList));
|
||||||
|
|
@ -0,0 +1,62 @@
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
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_CONFIRM } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const { tableProps, getData } = useTable(props["confirmList"], {
|
||||||
|
form,
|
||||||
|
transform: formData => ({
|
||||||
|
hiddenFindTime: formData.hiddenFindTime?.[0],
|
||||||
|
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
options={[
|
||||||
|
|
||||||
|
{ name: "creatorName", label: "企业名称" },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
|
||||||
|
{ title: "企业名称", dataIndex: "hiddenDesc" },
|
||||||
|
{ title: "重大隐患数", dataIndex: "riskUnitCount", render: (text, record) => (
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
// disabled={!props.permission("gfd-yhtj-zdyhs")}
|
||||||
|
onClick={() =>
|
||||||
|
props.history.push(`./RiskPointList?id=${record.id}&type=1`)}
|
||||||
|
>
|
||||||
|
{record.riskUnitCount || 0}
|
||||||
|
</Button>
|
||||||
|
) },
|
||||||
|
{ title: "较大隐患数", dataIndex: "riskUnitCount", render: (text, record) => (
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
// disabled={!props.permission("gfd-yhtj-jdyhs")}
|
||||||
|
onClick={() =>
|
||||||
|
props.history.push(`./RiskPointList?id=${record.id}&type=2`)}
|
||||||
|
>
|
||||||
|
{record.riskUnitCount || 0}
|
||||||
|
</Button>
|
||||||
|
) },
|
||||||
|
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_CONFIRM], true)(Permission(List));
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
function HiddenRecord(props) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default HiddenRecord;
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
|
||||||
|
|
||||||
|
function HiddenView() {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page headerTitle="查看" contentPadding="0 20px 20px 20px">
|
||||||
|
<HiddenInfo history={query.history === "1"} />
|
||||||
|
<ConfirmViev />
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default HiddenView;
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
function MajorHidden(props) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MajorHidden;
|
||||||
Loading…
Reference in New Issue