第一轮改BUG

majorHidden
853931625@qq.com 2026-05-15 09:02:34 +08:00
parent 3233b9f7c5
commit 4832f978b5
34 changed files with 1272 additions and 644 deletions

View File

@ -0,0 +1,41 @@
import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
// 重大-较大隐患确认
export const majorConfirm = declareRequest(
"hiddenMajorLoading",
"Post > @/hidden/hiddenMajor/majorConfirm",
);
// 重大-较大隐患核实
export const majorVerify = declareRequest(
"hiddenMajorLoading",
"Post > @/hidden/hiddenMajor/majorVerify",
);
// 重大-较大隐患核定
export const majorApprove = declareRequest(
"hiddenMajorLoading",
"Post > @/hidden/hiddenMajor/majorApprove",
);
// 重大-较大隐患整改 暂存
export const majorRectifyDraft = declareRequest(
"hiddenMajorLoading",
"Post > @/hidden/hiddenMajor/majorRectifyDraft",
);
// 重大-较大隐患整改 申请验收
export const majorRectify = declareRequest(
"hiddenMajorLoading",
"Post > @/hidden/hiddenMajor/majorRectify",
);
// 重大-较大隐患验收
export const majorCheck = declareRequest(
"hiddenMajorLoading",
"Post > @/hidden/hiddenMajor/majorCheck",
);
export const majorListPage = declareRequest(
"hiddenMajorLoading",
"Post > @/hidden/hiddenMajor/majorListPage",
);
export const majorHiddenStatistics = declareRequest(
"hiddenMajorLoading",
"Post > @/hidden/hiddenMajor/majorHiddenStatistics",
);

View File

@ -0,0 +1,26 @@
import type { FC } from "react";
/**
*
*/
export interface HiddenInfoProps {
/** id默认取 query.id */
id?: string;
/** id 的字段,默认 id */
idKey?: string;
/** hiddenId默认取 query.hiddenId */
hiddenId?: string;
/** hiddenId 的字段,默认 hiddenId */
hiddenIdKey?: string;
/** 是否显示头部的返回,默认 true */
isShowHeaderBack?: boolean;
/** 获取数据 */
onGetData?: (data: Record<string, any>) => void;
}
/**
*
*/
declare const HiddenInfo: FC<HiddenInfoProps>;
export default HiddenInfo;

View File

@ -0,0 +1,208 @@
import { request } from "@cqsjjb/jjb-common-lib/http";
import { Descriptions, Divider, Spin } from "antd";
import { useEffect, useState } from "react";
import VideoIcon from "zy-react-library/components/Icon/VideoIcon";
import PreviewImg from "zy-react-library/components/PreviewImg";
import Video from "zy-react-library/components/Video";
import { HIDDEN_RECTIFICATION_TYPE_ENUM, HIDDEN_SOURCE_ENUM } from "zy-react-library/enum/hidden/gwj";
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";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import { getLabelName } from "zy-react-library/utils";
import { HIDDEN_STATE_ENUM } from "~/enumerate/constant";
/**
* 隐患查看组件港务局版本
*/
function HiddenInfo(props) {
const {
hiddenId = "",
hiddenIdKey = "hiddenId",
onGetData,
} = props;
const [info, setInfo] = useState({
hiddenUserPresetsCO: {},
hiddenRectifyUserCO: [],
hiddenConfirmUserCO: [],
hiddenAcceptUserCO: [],
hiddenAcceptQualifiedUserCO: [],
hiddenAcceptUnqualifiedUserCO: [],
hiddenInspecCO: {},
hiddenSpecialList: [],
hiddenExtensionList: [],
});
const [hiddenImageFiles, setHiddenImageFiles] = useState([]);
const [hiddenVideoFiles, setHiddenVideoFiles] = useState([]);
const [afterRectificationImageFiles, setAfterRectificationImageFiles] = useState([]);
const [rectificationPlanImageFiles, setRectificationPlanImageFiles] = useState([]);
const [acceptImageFiles, setAcceptImageFiles] = useState([]);
const [inspectionAcceptImageFiles, setInspectionAcceptImageFiles] = useState([]);
const [loading, setLoading] = useState(true);
const [videoModalOpen, setVideoModalOpen] = useState(false);
const { getFile } = useGetFile();
const query = useGetUrlQuery();
const { loading: downloadFileLoading, downloadFile } = useDownloadFile();
const getFileData = async (info) => {
const hiddenImageFiles = await getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["3"],
eqForeignKey: hiddenId || query[hiddenIdKey],
});
setHiddenImageFiles(hiddenImageFiles);
const hiddenVideoFiles = await getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["102"],
eqForeignKey: hiddenId || query[hiddenIdKey],
});
setHiddenVideoFiles(hiddenVideoFiles);
if (info.hiddenRectifyUserCO && info.hiddenRectifyUserCO.length > 0) {
for (let i = 0; i < info.hiddenRectifyUserCO.length; i++) {
if (info.hiddenRectifyUserCO[i].hiddenUserId) {
const afterRectificationImageFiles = await getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["4"],
eqForeignKey: info.hiddenRectifyUserCO[i].hiddenUserId,
});
setAfterRectificationImageFiles(prevState => [...prevState, afterRectificationImageFiles]);
}
if (info.hiddenRectifyUserCO[i].isRectificationScheme === 1 && info.hiddenRectifyUserCO[i].hiddenSchemeCO && Object.keys(info.hiddenRectifyUserCO[i].hiddenSchemeCO).length > 0) {
if (info.hiddenRectifyUserCO[i].hiddenSchemeCO.hiddenSchemeId) {
const rectificationPlanImageFiles = await getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["8"],
eqForeignKey: info.hiddenRectifyUserCO[i].hiddenSchemeCO.hiddenSchemeId,
});
setRectificationPlanImageFiles(prevState => [...prevState, rectificationPlanImageFiles]);
}
}
}
}
if (info.hiddenAcceptQualifiedUserCO && info.hiddenAcceptQualifiedUserCO.length > 0) {
for (let i = 0; i < info.hiddenAcceptQualifiedUserCO.length; i++) {
if (info.hiddenAcceptQualifiedUserCO[i].hiddenUserId) {
const acceptImageFiles = await getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["5"],
eqForeignKey: info.hiddenAcceptQualifiedUserCO[i].hiddenUserId,
});
setAcceptImageFiles(prevState => [...prevState, acceptImageFiles]);
}
}
}
if (info.hiddenInspecCO && Object.keys(info.hiddenInspecCO).length > 0) {
const inspectionAcceptImageFiles = await getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["146"],
eqForeignKey: hiddenId || query[hiddenIdKey],
});
setInspectionAcceptImageFiles(inspectionAcceptImageFiles);
}
};
const getData = async () => {
request(`/hidden/hidden/hidden/${query[hiddenIdKey]}`, "get").then((res) => {
if (res.data) {
res.data.hiddenAcceptQualifiedUserCO = [];
res.data.hiddenAcceptUnqualifiedUserCO = [];
if (res.data.hiddenAcceptUserCO && res.data.hiddenAcceptUserCO.length > 0) {
for (let i = 0; i < res.data.hiddenAcceptUserCO.length; i++) {
if (res.data.hiddenAcceptUserCO[i].status === 1) {
res.data.hiddenAcceptQualifiedUserCO.push(res.data.hiddenAcceptUserCO[i]);
}
else {
res.data.hiddenAcceptUnqualifiedUserCO.push(res.data.hiddenAcceptUserCO[i]);
}
}
}
setInfo(res.data);
getFileData(res.data);
onGetData?.(res.data);
}
setLoading(false);
});
};
useEffect(() => {
getData();
}, [props.id, props.hiddenId]);
return (
<div>
<Spin spinning={loading || downloadFileLoading}>
<div>
<Divider orientation="left">隐患信息</Divider>
<Descriptions
bordered
column={1}
styles={{ label: { width: 200 } }}
items={[
{ label: "隐患来源", children: getLabelName({ list: HIDDEN_SOURCE_ENUM, status: info.source }) },
{ label: "隐患类型", children: info.hiddenTypeName },
{ label: "隐患级别", children: info.hiddenLevelName },
{ label: "隐患状态", children: getLabelName({ list: HIDDEN_STATE_ENUM, status: info.state }) },
{ label: "隐患描述", children: info.hiddenDesc },
{ label: "隐患部位", children: info.hiddenPartName },
...(
(info.source === 2 || info.source === 3) && (info.hiddenCheckListCO && Object.keys(info.hiddenCheckListCO).length > 0)
? [
{ label: "风险点(单元)", children: info.hiddenCheckListCO.listRiskPoints },
{ label: "辨识部位", children: info.hiddenCheckListCO.identifiedLocations },
{ label: "存在风险", children: info.hiddenCheckListCO.existingRisks },
{ label: "风险分级", children: info.hiddenCheckListCO.riskLevel },
{ label: "隐患清单", children: info.hiddenCheckListCO.listName },
{ label: "检查内容", children: info.hiddenCheckListCO.inspectionContent },
]
: []
),
{
label: "隐患上报位置(经纬度)",
children: [info.longitude && `经度:${info.longitude}`, info.latitude && `纬度:${info.latitude}`].filter(Boolean).join(" "),
},
...(info.positionDesc ? [{ label: "隐患位置描述", children: info.positionDesc }] : []),
{ label: "隐患发现人", children: info.creatorName },
{ label: "隐患发现时间", children: info.hiddenFindTime },
{
label: "整改类型",
children: "限期整改",
},
{
label: "是否相关方",
children: getLabelName({
list: [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }],
status: info.isRelated,
}),
},
...(info.isRelated === 1 ? [{ label: "相关方项目", children: info.projectName }] : []),
{ label: "隐患图片", children: <PreviewImg files={hiddenImageFiles} /> },
...(hiddenVideoFiles.length > 0
? [{
label: "隐患视频",
children: (
<VideoIcon onClick={() => {
setVideoModalOpen(true);
}}
/>
),
}]
: []),
]}
/>
</div>
</Spin>
{
videoModalOpen && (
<Video
visible={videoModalOpen}
source={hiddenVideoFiles[0].url}
onCancel={() => setVideoModalOpen(false)}
title="隐患视频"
/>
)
}
</div>
);
}
export default HiddenInfo;

View File

@ -3,5 +3,22 @@
*/
export const IS_RELATED_ENUM = [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }];
export const HIDDEN_MAJOR_LEVEL = [{ bianma: "jdyh001", name: "较大隐患" }, { bianma: "hiddenLevel2002", name: "重大隐患" }];
export const HIDDEN_STATE_ENUM = [
{ bianma: "100", name: "待确认" },
{ bianma: "110", name: "待核实" },
{ bianma: "120", name: "待核定" },
{ bianma: "97", name: "已过期" },
{ bianma: "200", name: "待整改" },
{ bianma: "300", name: "已整改" },
{ bianma: "301", name: "已验收" },
{ bianma: "101", name: "已忽略" },
{ bianma: "202", name: "待处理特殊处置" },
{ bianma: "400", name: "已归档" },
{ bianma: "201", name: "确认打回" },
{ bianma: "302", name: "验收打回" },
{ bianma: "99", name: "强制关闭(人员变动)" },
{ bianma: "98", name: "安全环保检查/清单排查暂存" },
{ bianma: "102", name: "安全环保检查,隐患待指派" },
];
export {};

View File

@ -14,3 +14,4 @@ export const NS_SPECIAL_DISPOSAL = defineNamespace("specialDisposal");
export const NS_ACCEPTANCE = defineNamespace("acceptance");
export const NS_PART = defineNamespace("part");
export const NS_AVERAGE = defineNamespace("average");
export const NS_MAJOR_HIDDEN = defineNamespace("majorHidden");

View File

@ -22,6 +22,7 @@ function List(props) {
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"],
}),
params: { eqType: 1 },
});

View File

@ -22,6 +22,7 @@ function List(props) {
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"],
}),
});

View File

@ -208,7 +208,7 @@ function Confirm(props) {
<HiddenLevelSelectTree
isShowMajor={false}
isShowLarger={false}
isShowNeglect={data.rectificationType === 2}
isShowNeglect={true}
onChange={(event) => {
if (event === "hiddenLevel1001") {
form.setFieldValue("deptName", "");

View File

@ -1,7 +1,7 @@
import {Permission} from "@cqsjjb/jjb-common-decorator/permission";
import {Connect} from "@cqsjjb/jjb-dva-runtime";
import {Button, Form, message, Modal, Space} from "antd";
import {useEffect, useState} from "react";
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Button, Form, message, Modal, Space } from "antd";
import { useEffect, useState } from "react";
import FormBuilder from "zy-react-library/components/FormBuilder";
import AddIcon from "zy-react-library/components/Icon/AddIcon";
import Page from "zy-react-library/components/Page";
@ -10,13 +10,13 @@ import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
import Table from "zy-react-library/components/Table";
import useTable from "zy-react-library/hooks/useTable";
import {NS_CONFIRM_USER} from "~/enumerate/namespace";
import { NS_CONFIRM_USER } from "~/enumerate/namespace";
function HiddenConfirmUser(props) {
const [form] = Form.useForm();
const [addModalOpen, setAddModalOpen] = useState(false);
const [currentId, setCurrentId] = useState("");
const {tableProps, getData} = useTable(props["confirmUserList"], {
const { tableProps, getData } = useTable(props["confirmUserList"], {
form,
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
@ -29,7 +29,7 @@ function HiddenConfirmUser(props) {
title: "删除确认",
content: "确定要删除吗?",
onOk: async () => {
const {success} = await props["confirmUserDelete"]({id});
const { success } = await props["confirmUserDelete"]({ id });
if (success) {
message.success("删除成功");
getData();
@ -41,10 +41,10 @@ function HiddenConfirmUser(props) {
return (
<Page isShowAllAction={false}>
<Search
labelCol={{span: 4}}
labelCol={{ span: 4 }}
options={[
{name: "likeName", label: "姓名"},
{name: "eqDeptId", label: "部门", render: <DepartmentSelectTree/>},
{ name: "likeName", label: "姓名" },
{ name: "eqDeptId", label: "部门", render: <DepartmentSelectTree /> },
]}
form={form}
onFinish={getData}
@ -55,7 +55,7 @@ function HiddenConfirmUser(props) {
{props.permission("fgs-yhqrr-xz") && (
<Button
type="primary"
icon={<AddIcon/>}
icon={<AddIcon />}
onClick={() => {
setAddModalOpen(true);
}}
@ -66,10 +66,10 @@ function HiddenConfirmUser(props) {
</>
)}
columns={[
{title: "部门", dataIndex: "deptName"},
{title: "岗位", dataIndex: "postName"},
{title: "姓名", dataIndex: "name"},
{title: "手机号", dataIndex: "userName"},
{ title: "部门", dataIndex: "deptName" },
{ title: "岗位", dataIndex: "postName" },
{ title: "姓名", dataIndex: "name" },
{ title: "手机号", dataIndex: "userName" },
{
title: "操作",
width: 120,
@ -87,8 +87,8 @@ function HiddenConfirmUser(props) {
编辑
</Button>
)}
{props.permission("fgs-yhqrr-sc") &&
<Button type="link" danger onClick={() => onDelete(record.id)}>删除</Button>}
{props.permission("fgs-yhqrr-sc")
&& <Button type="link" danger onClick={() => onDelete(record.id)}>删除</Button>}
</Space>
),
},
@ -113,7 +113,7 @@ const AddModalComponent = (props) => {
const [form] = Form.useForm();
const deptId = Form.useWatch("deptId", form);
const getData = async () => {
const {data} = await props["confirmUserView"]({id: props.id});
const { data } = await props["confirmUserView"]({ id: props.id });
form.setFieldsValue({
...data,
confirmRange: data.confirmRange.split(","),
@ -124,7 +124,7 @@ const AddModalComponent = (props) => {
props.id && getData();
}, []);
const onSubmit = async (values) => {
const {success} = await props[!props.id ? "confirmUserAdd" : "confirmUserUpdate"]({
const { success } = await props[!props.id ? "confirmUserAdd" : "confirmUserUpdate"]({
...values,
confirmRange: values.confirmRange.join(","),
confirmRangeName: values.confirmRangeName.join(","),
@ -151,7 +151,7 @@ const AddModalComponent = (props) => {
loading={props.confirmUser.confirmUserLoading}
form={form}
span={24}
labelCol={{span: 12}}
labelCol={{ span: 12 }}
showActionButtons={false}
onFinish={onSubmit}
options={[
@ -171,14 +171,14 @@ const AddModalComponent = (props) => {
/>
),
},
{name: "deptName", label: "部门名称", onlyForLabel: true},
{ name: "deptName", label: "部门名称", onlyForLabel: true },
{
name: "userId",
label: "隐患确认人",
render: (
<PersonnelSelect
disabled={props.id}
params={{departmentId: deptId}}
params={{ departmentId: deptId }}
extraParams={{ noMain: 1 }}
onGetOption={(option) => {
form.setFieldValue("name", option.name);
@ -189,10 +189,10 @@ const AddModalComponent = (props) => {
/>
),
},
{name: "name", label: "确认人", onlyForLabel: true},
{name: "userName", label: "确认人", onlyForLabel: true},
{name: "postName", label: "确认人", onlyForLabel: true},
{name: "postId", label: "确认人", onlyForLabel: true},
{ name: "name", label: "确认人", onlyForLabel: true },
{ name: "userName", label: "确认人", onlyForLabel: true },
{ name: "postName", label: "确认人", onlyForLabel: true },
{ name: "postId", label: "确认人", onlyForLabel: true },
{
name: "confirmRange",
label: "确认范围(部门)",
@ -206,7 +206,7 @@ const AddModalComponent = (props) => {
/>
),
},
{name: "confirmRangeName", label: "确认范围(部门)名称", onlyForLabel: true},
{ name: "confirmRangeName", label: "确认范围(部门)名称", onlyForLabel: true },
]}
/>
</Modal>

View File

@ -118,6 +118,18 @@ function Add(props) {
});
}
};
useEffect(() => {
if (!form)
return;
// 清空确认人及其关联的显示字段
form.setFieldsValue({
confirmUserId: undefined,
confirmUserName: "",
confirmDeptId: undefined,
confirmDeptName: "",
});
}, [hiddenLevel]);
const getConfirmUserList = async () => {
const { data } = await props["confirmUserAllList"]();
@ -158,6 +170,8 @@ function Add(props) {
return;
if (isBigOrMajorHidden) {
form.setFieldValue("rectificationType", 2);
form.setFieldValue("confirmUserId", undefined);
clearPresetRectificationFields();
}
}, [form, hiddenLevel, isBigOrMajorHidden]);
@ -570,14 +584,19 @@ function Add(props) {
{ name: "creatorName", label: "隐患发现人名称", onlyForLabel: true },
{ name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATETIME },
{
name: "creatorId1",
name: "confirmUserId",
label: "较大重大隐患确认人",
render: (
<PersonnelSelect
isNeedDepartmentId={false}
isNeedCorpInfoId={true}
params={{ corpinfoId: userInfo.current.id }}
onGetLabel={label => form.setFieldValue("creatorName", label)}
params={{ corpinfoId: userInfo.current.corpinfoId }}
onGetLabel={label => form.setFieldValue("confirmUserName", label)}
onGetOption={(value) => {
form.setFieldValue("confirmUserName", value.name);
form.setFieldValue("confirmDeptName", value.departmentName);
form.setFieldValue("confirmDeptId", value.departmentId);
}}
/>
),
hidden: !isBigOrMajorHidden,

View File

@ -30,10 +30,12 @@ function List(props) {
const [printModalOpen, setPrintModalOpen] = useState(false);
const { tableProps, getData } = useTable(props["ledgerList"], {
form,
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
state: formData.state ? [formData.state] : undefined,
hiddenLevels: ["hiddenLevel1001", "hiddenLevel1004", "hiddenLevel1002"],
}),
});

View File

@ -22,6 +22,7 @@ function List(props) {
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"],
}),
params: { eqType: 2, entry: 2 },
});

View File

@ -31,6 +31,7 @@ function List(props) {
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"],
}),
});

View File

@ -22,6 +22,7 @@ function List(props) {
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"],
}),
params: { eqType: 1, entry: 2 },
});

View File

@ -6,22 +6,23 @@ 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";
import { HIDDEN_MAJOR_LEVEL, IS_RELATED_ENUM } from "~/enumerate/constant";
import { NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["confirmList"], {
const { tableProps, getData } = useTable(props["majorListPage"], {
form,
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
state: [100],
hiddenLevels: ["jdyh001", "hiddenLevel2002"],
}),
});
@ -41,7 +42,8 @@ function List(props) {
{
name: "hiddenLevel",
label: "隐患级别",
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: HIDDEN_MAJOR_LEVEL,
},
{ name: "creatorName", label: "隐患发现人" },
// { name: "confirmUserName", label: "确认人" },
@ -73,33 +75,33 @@ function List(props) {
dataIndex: "hiddenFindTime",
render: (_, record) => record.hiddenFindTime ? dayjs(record.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss") : "",
},
{ title: "隐患状态", dataIndex: "state", render: () => "待确认" },
{ title: "隐患状态", dataIndex: "state", render: () => "待确认", width: 100 },
{
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>
{/* )} */}
{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>
),
},
@ -110,4 +112,4 @@ function List(props) {
);
}
export default Connect([NS_CONFIRM], true)(Permission(List));
export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List));

View File

@ -1,25 +1,36 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Divider, Form, message, Modal } from "antd";
import { useRef, useState } from "react";
import { useEffect, 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 useDeleteFile from "zy-react-library/hooks/useDeleteFile";
import useGetFile from "zy-react-library/hooks/useGetFile";
import useGetUserInfo from "zy-react-library/hooks/useGetUserInfo";
import useUploadFile from "zy-react-library/hooks/useUploadFile";
import { NS_CONFIRM, NS_LEDGER } from "~/enumerate/namespace";
import { NS_CONFIRM, NS_CONFIRM_USER, NS_LEDGER, NS_MAJOR_HIDDEN, NS_PART } from "~/enumerate/namespace";
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
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 [data, setData] = useState({});
const [corpData, setCorpData] = useState({});
const [confirmUserList, setConfirmUserList] = useState([]);
const xgfProjectInfo = useRef({});
const { getUserInfo } = useGetUserInfo();
const { loading: deleteFileLoading, deleteFile } = useDeleteFile();
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
const { loading: getFileLoading, getFile } = useGetFile();
const deleteLinshiFilse = useRef([]);
const deleteBuchongFilse = useRef([]);
const isNeglectHidden = hiddenLevel === "hiddenLevel1001";
const isMinorOrGeneralHidden = ["hiddenLevel1004", "hiddenLevel1002"].includes(hiddenLevel);
const isBigOrMajorHidden = ["jdyh001", "hiddenLevel2002"].includes(hiddenLevel);
@ -29,20 +40,50 @@ function Confirm(props) {
const { data } = await props["xgfProjectInfo"]({ id });
xgfProjectInfo.current = data;
};
const getImgData = async (value) => {
const linshiFilse = await getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["179"],
eqForeignKey: value.hiddenId,
});
const buchongFilse = await getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["180"],
eqForeignKey: value.hiddenId,
});
if (linshiFilse && linshiFilse.length > 0) {
form.setFieldValue("linshiFilse", linshiFilse);
}
if (buchongFilse && buchongFilse.length > 0) {
form.setFieldValue("buchongFilse", buchongFilse);
}
};
const getData = async () => {
const data = await getUserInfo();
setCorpData(data);
};
const getConfirmUserList = async () => {
const { data } = await props["confirmUserAllList"]();
setConfirmUserList(data);
};
useEffect(() => {
getData();
getConfirmUserList();
}, []);
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,
linshiFilse: undefined,
buchongFilse: undefined,
});
};
@ -51,82 +92,86 @@ function Confirm(props) {
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"]({
if (isBigOrMajorHidden) {
const { id } = await uploadFile({
single: false,
files: values.linshiFilse,
params: {
type: UPLOAD_FILE_TYPE_ENUM[179],
foreignKey: data.hiddenId,
},
});
await uploadFile({
single: false,
files: values.buchongFilse,
params: {
type: UPLOAD_FILE_TYPE_ENUM[180],
foreignKey: id,
},
});
}
const { success } = await props["majorConfirm"]({
status: "1",
rectificationType: data.rectificationType,
rectificationType: 2,
...values,
id: data.id,
hiddenId: data.hiddenId,
});
if (success) {
message.success("确认成功");
await deleteFile({ single: false, files: deleteLinshiFilse.current });
await deleteFile({ single: false, files: deleteBuchongFilse.current });
props.history.goBack();
}
},
});
};
const onValuesChange = (changedValues) => {
if ("hiddenLevel" in changedValues) {
console.log(changedValues.hiddenLevel);
if (changedValues.hiddenLevel === "jdyh001" || changedValues.hiddenLevel === "hiddenLevel2002") {
getImgData(data);
}
}
};
return (
<div>
<Page headerTitle="查看" contentPadding="0 20px 20px 20px" isShowFooter={false}>
<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);
}
}}
/>
<ConfirmViev hiddenData={data} />
<Divider orientation="left">发现隐患部门负责人确认</Divider>
<div>
<FormBuilder
form={form}
loading={props.confirm.confirmLoading || uploadFileLoading}
loading={props.majorHidden.hiddenMajorLoading || uploadFileLoading || deleteFileLoading || getFileLoading}
showCancelButton={false}
labelCol={{ span: 6 }}
submitButtonText="通过"
onFinish={onSubmit}
values={{ rectificationType: 1 }}
onValuesChange={onValuesChange}
options={[
{
name: "hiddenLevel",
label: "隐患级别",
render: (
<HiddenLevelSelectTree
isShowNeglect={data.rectificationType === 2}
isShowNeglect={false}
onChange={(value) => {
clearLevelRelatedFields();
form.setFieldValue("hiddenLevel", value);
form.setFieldValue("userId", undefined);
}}
onGetLabel={(label) => {
form.setFieldValue("hiddenLevelName", label);
@ -136,67 +181,52 @@ function Confirm(props) {
},
{ name: "hiddenLevelName", label: "隐患级别名称", onlyForLabel: true },
{
name: "rectificationTime",
name: "confirmTime",
label: "隐患确认时间",
render: FORM_ITEM_RENDER_ENUM.DATE,
render: FORM_ITEM_RENDER_ENUM.DATETIME,
hidden: !isShowConfirmTime,
},
{
name: "confirmUserId",
name: "userId",
label: "一般隐患确认人",
render: (
<PersonnelSelect
params={{ departmentId: checkDeptId }}
onGetLabel={label => form.setFieldValue("confirmUserName", label)}
/>
),
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: confirmUserList,
itemsField: { valueKey: "userId", labelKey: "name" },
componentProps: {
onChange: (value) => {
const findItem = confirmUserList.find(item => item.userId === value);
form.setFieldValue("userName", findItem.name);
form.setFieldValue("deptName", findItem.deptName);
form.setFieldValue("deptId", findItem.deptId);
},
},
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",
name: "userId",
label: "隐患核实人",
render: (
<PersonnelSelect
params={{ departmentId: checkDeptId }}
isNeedCorpInfoId={true}
isNeedDepartmentId={false}
extraParams={{ noMain: 1 }}
params={{ corpinfoId: corpData.corpinfoId }}
onGetLabel={label => form.setFieldValue("checkUserName", label)}
onGetOption={(value) => {
form.setFieldValue("userName", value.name);
form.setFieldValue("deptName", value.departmentName);
form.setFieldValue("deptId", value.departmentId);
}}
/>
),
hidden: !isBigOrMajorHidden,
},
{ name: "checkUserName", label: "隐患核实人名称", onlyForLabel: true },
{ name: "userName", label: "隐患确认人名称", onlyForLabel: true },
{ name: "deptName", label: "隐患确认人部门名称", onlyForLabel: true },
{ name: "deptId", label: "隐患确认人部门id", onlyForLabel: true },
{
name: "linshiFilse",
label: "临时处置信息",
@ -206,9 +236,8 @@ function Confirm(props) {
accept=".pdf"
fileType="document"
tipContent="默认上限1个且只支持pdf格式"
onRemove={() => {
form.setFieldValue("filepath");
return false;
onGetRemoveFile={(file) => {
deleteLinshiFilse.current = [...deleteLinshiFilse.current, file];
}}
/>
@ -226,9 +255,8 @@ function Confirm(props) {
accept=".pdf"
fileType="document"
tipContent="默认上限1个且只支持pdf格式"
onRemove={() => {
form.setFieldValue("filepath");
return false;
onGetRemoveFile={(file) => {
deleteBuchongFilse.current = [...deleteBuchongFilse.current, file];
}}
/>
@ -245,4 +273,4 @@ function Confirm(props) {
);
}
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Confirm);
export default Connect([NS_MAJOR_HIDDEN, NS_CONFIRM, NS_LEDGER, NS_CONFIRM_USER, NS_PART], true)(Confirm);

View File

@ -6,22 +6,23 @@ 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";
import { HIDDEN_MAJOR_LEVEL, HIDDEN_STATE_ENUM, IS_RELATED_ENUM } from "~/enumerate/constant";
import { NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["confirmList"], {
const { tableProps, getData } = useTable(props["majorListPage"], {
form,
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
state: [100, 110, 120, 200, 201, 300, 301, 302, 400, 97, 101],
hiddenLevels: ["jdyh001", "hiddenLevel2002"],
}),
});
@ -41,7 +42,8 @@ function List(props) {
{
name: "hiddenLevel",
label: "隐患级别",
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: HIDDEN_MAJOR_LEVEL,
},
{ name: "creatorName", label: "隐患发现人" },
// { name: "confirmUserName", label: "确认人" },
@ -51,11 +53,11 @@ function List(props) {
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: "隐患验收人" },
{ name: "confirmUserName", label: "隐患确认人" },
{ name: "verifyUserName", label: "隐患核实人" },
{ name: "approveUserName", label: "隐患核定人" },
{ name: "rectificationUserName", label: "整改人" },
{ name: "checkUserName", label: "隐患验收人" },
]}
form={form}
onFinish={getData}
@ -78,16 +80,17 @@ function List(props) {
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: "确认人", dataIndex: "confirmUserName", width: 130 },
{ title: "核实人", dataIndex: "verifyUserName", width: 130 },
{ title: "核定人", dataIndex: "approveUserName", width: 130 },
{ title: "整改人", dataIndex: "rectifyUserName", width: 130 },
{ title: "验收人", dataIndex: "hiddenYUserName", width: 130 },
{ title: "隐患状态", dataIndex: "state", render: (_, recode) => getLabelName({ list: HIDDEN_STATE_ENUM, status: recode.state }) },
{
title: "操作",
width: 100,
fixed: "right",
hidden: !props.permission("fgs-yhgl-info"),
render: (_, record) => (
<Space>
{/* {props.permission("fgs-yhgl-info") && ( */}
@ -111,4 +114,4 @@ function List(props) {
);
}
export default Connect([NS_CONFIRM], true)(Permission(List));
export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List));

View File

@ -4,14 +4,15 @@ import useDownloadFile from "zy-react-library/hooks/useDownloadFile";
import useGetFile from "zy-react-library/hooks/useGetFile";
function ViewModal(props) {
const record = props.record || {};
const record = props.hiddenData || {};
console.log(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,
eqForeignKey: record.hiddenId,
});
if (data && data.length > 0) {
data.forEach((item) => {
@ -22,152 +23,249 @@ function ViewModal(props) {
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>
{
(record.hiddenConfirmUserCO && record.hiddenConfirmUserCO.length > 0)
&& (
<div>
<Divider orientation="left">发现隐患部门负责人确认</Divider>
{
record.hiddenConfirmUserCO.map(item => (
<Descriptions
bordered
key={item.id}
column={2}
labelStyle={{ width: 200 }}
items={[
{ label: "隐患级别", children: item.hiddenLevelName || "-", span: 2 },
{ label: "隐患确认人", children: item.userName || "-", span: 2 },
{ label: "隐患确认时间", children: item.rectificationTime || "-", span: 2 },
...((record.hiddenConfirmUserCO && record.hiddenConfirmUserCO.length > 0 && record.hiddenConfirmUserCO[0].status !== 0)
? [{ 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>
)
}
{
(record.hiddenVerifyUserCO && record.hiddenVerifyUserCO.length > 0 && record.hiddenVerifyUserCO[0].status !== 2)
&& (
<div>
<Divider orientation="left">分公司安委会办公室副主任核实</Divider>
{
record.hiddenVerifyUserCO.map(item => (
<Descriptions
key={item.id}
bordered
column={2}
labelStyle={{ width: 200 }}
items={[
{ label: "隐患级别", children: item.hiddenLevelName || "-", span: 2 },
{ label: "核实人", children: item.userName || "-", span: 2 },
{ label: "核对时间", children: item.rectificationTime || "-", span: 2 },
{ label: "核对结果", children: item.status === 0 ? "打回" : item.status === 1 ? "核实通过" : "-", span: 2 },
...(item.status === 0
? [
{ label: "打回原因", children: item.repulseCause, 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>
)
}
{
(record.hiddenApproveUserCO && record.hiddenApproveUserCO.length > 0 && record.hiddenApproveUserCO[0].status !== 2)
&& (
<div>
<Divider orientation="left">港股公司安委会办公室核定</Divider>
{
record.hiddenApproveUserCO.map(item => (
<Descriptions
bordered
key={item.id}
column={2}
labelStyle={{ width: 200 }}
items={[
{ label: "隐患级别", children: item.hiddenLevelName || "-", span: 2 },
{ label: "核定人", children: item.userName || "-", span: 2 },
{ label: "隐患核定时间", children: item.rectificationTime || "-", 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>
)
}
{
(record.hiddenRectifyUserCO && record.hiddenRectifyUserCO.length > 0 && record.hiddenRectifyUserCO[0].status !== 2)
&& (
<div>
<Divider orientation="left">较大隐患整改</Divider>
{
record.hiddenRectifyUserCO.map(item => (
<Descriptions
bordered
key={item.id}
column={2}
labelStyle={{ width: 200 }}
items={[
{ label: "整改部门", children: item.deptName || "-", span: 2 },
{ label: "整改人", children: item.userName || "-", 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>
)
}
{
(record.hiddenAcceptUserCO && record.hiddenAcceptUserCO.length > 0 && record.hiddenAcceptUserCO[0].status !== 2 && record.state === 400)
&& (
<div>
<Divider orientation="left">较大隐患验收</Divider>
{
record.hiddenAcceptUserCO.map(item => (
<Descriptions
bordered
key={item.id}
column={2}
labelStyle={{ width: 200 }}
items={[
{ label: "验收人", children: item.userName || "-", span: 2 },
{ label: "验收时间", children: item.rectificationTime || "-", span: 2 },
{ label: "验收结果", children: item.status === 0 ? "验收打回" : item.status === 1 ? "验收通过" : "-", span: 2 },
...(item.status === 0
? [
{ label: "打回原因", children: item.repulseCause, span: 2 },
]
: []),
]}
/>
))
}
</div>
)
}
{
(record.lastRejectAcceptUserCO && record.lastRejectAcceptUserCO.length > 0 && record.lastRejectAcceptUserCO[0].status !== 2 && record.state !== 400)
&& (
<div>
<Divider orientation="left">较大隐患验收</Divider>
{
record.lastRejectAcceptUserCO.map(item => (
<Descriptions
bordered
key={item.id}
column={2}
labelStyle={{ width: 200 }}
items={[
{ label: "验收人", children: item.userName || "-", span: 2 },
{ label: "验收时间", children: item.rectificationTime || "-", span: 2 },
{ label: "验收结果", children: item.status === 0 ? "验收打回" : "验收通过", span: 2 },
...(item.status === 0
? [
{ label: "打回原因", children: item.repulseCause, span: 2 },
]
: []),
]}
/>
))
}
</div>
)
}
</div>
);
}

View File

@ -1,15 +1,17 @@
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
import { useState } from "react";
import Page from "zy-react-library/components/Page";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import HiddenInfo from "~/components/HiddenInfo/gwj";
import ConfirmViev from "./confirmViev";
function HiddenView() {
const query = useGetUrlQuery();
const [hiddenData, setHiddenData] = useState({});
return (
<Page headerTitle="查看" contentPadding="0 20px 20px 20px">
<HiddenInfo history={query.history === "1"} />
<ConfirmViev />
<HiddenInfo history={query.history === "1"} onGetData={data => setHiddenData(data)} />
<ConfirmViev hiddenData={hiddenData} />
</Page>
);
}

View File

@ -6,22 +6,23 @@ 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";
import { HIDDEN_MAJOR_LEVEL, IS_RELATED_ENUM } from "~/enumerate/constant";
import { NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["confirmList"], {
const { tableProps, getData } = useTable(props["majorListPage"], {
form,
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
state: [200],
hiddenLevels: ["jdyh001", "hiddenLevel2002"],
}),
});
@ -41,7 +42,8 @@ function List(props) {
{
name: "hiddenLevel",
label: "隐患级别",
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: HIDDEN_MAJOR_LEVEL,
},
{ name: "creatorName", label: "隐患发现人" },
// { name: "confirmUserName", label: "确认人" },
@ -51,10 +53,10 @@ function List(props) {
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: IS_RELATED_ENUM,
},
{ name: "creatorName", label: "确认人" },
{ name: "creatorName", label: "核实人" },
{ name: "creatorName", label: "核定人" },
{ name: "creatorName", label: "整改人" },
{ name: "confirmUserName", label: "隐患确认人" },
{ name: "verifyUserName", label: "隐患核实人" },
{ name: "approveUserName", label: "隐患核定人" },
{ name: "rectificationUserName", label: "整改人" },
]}
form={form}
onFinish={getData}
@ -77,37 +79,37 @@ function List(props) {
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: "确认人", dataIndex: "confirmUserName", width: 130 },
{ title: "核实人", dataIndex: "verifyUserName", width: 130 },
{ title: "核定人", dataIndex: "approveUserName", width: 130 },
{ title: "整改人", dataIndex: "rectifyUserName", 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>
{/* )} */}
{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>
),
},
@ -118,4 +120,4 @@ function List(props) {
);
}
export default Connect([NS_CONFIRM], true)(Permission(List));
export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List));

View File

@ -1,15 +1,17 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Descriptions, Divider, Form, message, Modal } from "antd";
import { Button, Descriptions, Divider, Form, message, Modal, Space } 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 useDeleteFile from "zy-react-library/hooks/useDeleteFile";
import useGetFile from "zy-react-library/hooks/useGetFile";
import useUploadFile from "zy-react-library/hooks/useUploadFile";
import { NS_CONFIRM, NS_LEDGER } from "~/enumerate/namespace";
import HiddenInfo from "~/components/HiddenInfo/gwj";
import { NS_LEDGER, NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
function Rectification(props) {
@ -18,81 +20,226 @@ function Rectification(props) {
const deptId = Form.useWatch("deptId", form);
const [data, setData] = useState({});
const [deleteLinshiFilse, setDeleteLinshiFilse] = useState([]);
const [deleteYhzgfyFiles, setDeleteYhzgfyFiles] = useState([]);
const [deleteYhzggcjlFilse, setDeleteYhzggcjlFilse] = useState([]);
const { loading: deleteFileLoading, deleteFile } = useDeleteFile();
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
const { loading: getFileLoading, getFile } = useGetFile();
const xgfProjectInfo = useRef({});
const pageLoading = props.majorHidden.hiddenMajorLoading || uploadFileLoading || deleteFileLoading || getFileLoading;
const attachmentConfigList = [
{
field: "linshiFilse",
type: UPLOAD_FILE_TYPE_ENUM[185],
},
{
field: "yhzgfyFiles",
type: UPLOAD_FILE_TYPE_ENUM[186],
},
{
field: "yhzggcjlFilse",
type: UPLOAD_FILE_TYPE_ENUM[187],
},
];
const getXgfProjectInfo = async (id) => {
const { data } = await props["xgfProjectInfo"]({ id });
xgfProjectInfo.current = data;
};
const onSubmit = (values) => {
const getImgData = async (value) => {
const [linshiFilse, yhzgfyFiles, yhzggcjlFilse] = await Promise.all([
getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["185"],
eqForeignKey: value.hiddenId,
}),
getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["186"],
eqForeignKey: value.hiddenId,
}),
getFile({
eqType: UPLOAD_FILE_TYPE_ENUM["187"],
eqForeignKey: value.hiddenId,
}),
]);
if (linshiFilse && linshiFilse.length > 0) {
form.setFieldValue("linshiFilse", linshiFilse);
}
if (yhzgfyFiles && yhzgfyFiles.length > 0) {
form.setFieldValue("yhzgfyFiles", yhzgfyFiles);
}
if (yhzggcjlFilse && yhzggcjlFilse.length > 0) {
form.setFieldValue("yhzggcjlFilse", yhzggcjlFilse);
}
};
const getHiddenUserId = (onlyAccepted = false) => {
const hiddenAcceptUser = data.hiddenAcceptUserCO && data.hiddenAcceptUserCO.length > 0 ? data.hiddenAcceptUserCO[0] : null;
if (!hiddenAcceptUser) {
return "";
}
if (onlyAccepted && hiddenAcceptUser.status !== 2) {
return "";
}
return hiddenAcceptUser.hiddenUserId;
};
const uploadAttachments = async (values) => {
for (const item of attachmentConfigList) {
const files = values[item.field];
if (files && files.length > 0 && files[0].originFileObj) {
await uploadFile({
single: false,
files,
params: {
type: item.type,
foreignKey: data.hiddenId,
},
});
}
}
};
const deleteRemovedAttachments = async () => {
await Promise.allSettled([
deleteLinshiFilse,
deleteYhzgfyFiles,
deleteYhzggcjlFilse,
].map((files) => {
if (!files || files.length === 0) {
return null;
}
return deleteFile({
single: false,
files,
});
}).filter(Boolean));
};
const buildPayload = (values, onlyAccepted = false) => ({
rectificationType: 2,
...values,
id: data.id,
hiddenId: data.hiddenId,
hiddenUserId: getHiddenUserId(onlyAccepted),
});
const onSubmit = async () => {
let values;
try {
values = await form.validateFields();
}
catch {
return;
}
Modal.confirm({
title: "提示",
content: "是否确认整改?",
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,
},
});
try {
await uploadAttachments(values);
const { success } = await props["confirmSubmit"]({
status: "1",
rectificationType: data.rectificationType,
...values,
id: data.id,
hiddenId: data.hiddenId,
});
if (success) {
message.success("确认成功");
props.history.goBack();
const { success } = await props["majorRectify"](buildPayload(values, true));
if (success) {
message.success("申请验收成功");
await deleteRemovedAttachments();
props.history.goBack();
}
}
catch {
message.error("申请验收失败");
}
},
});
};
const onTempSave = async () => {
const values = form.getFieldsValue(true);
try {
await uploadAttachments(values);
const { success } = await props["majorRectifyDraft"](buildPayload(values));
if (success) {
message.success("暂存成功");
await deleteRemovedAttachments();
props.history.goBack();
}
}
catch {
message.error("暂存失败");
}
};
return (
<div>
<Page headerTitle="查看" isShowFooter={false}>
<Page
headerTitle="整改"
extraActionButtons={(
<Space>
<Button
onClick={onTempSave}
loading={pageLoading}
>
暂存
</Button>
<Button
type="primary"
onClick={onSubmit}
loading={pageLoading}
>
申请验收
</Button>
</Space>
)}
>
<HiddenInfo
onGetData={(data) => {
setData(data);
getImgData(data);
if (data.hiddenAcceptUserCO && data.hiddenAcceptUserCO.length > 0 && data.hiddenAcceptUserCO[0].status === 2) {
form.setFieldValue("deptId", data.hiddenAcceptUserCO[0].deptId);
form.setFieldValue("deptName", data.hiddenAcceptUserCO[0].deptName);
form.setFieldValue("userId", data.hiddenAcceptUserCO[0].userId);
form.setFieldValue("userName", data.hiddenAcceptUserCO[0].userName);
}
if (data.isRelated === 1)
getXgfProjectInfo(data.projectId);
}}
/>
<ConfirmViev />
<ConfirmViev hiddenData={data} />
<Divider orientation="left">较大隐患整改</Divider>
<div>
<Descriptions
bordered
column={2}
labelStyle={{ width: 200 }}
size="middle"
style={{ marginBottom: 20 }}
items={[
{ label: "整改部门", children: "-", span: 2 },
{ label: "整改负责人", children: "-", span: 2 },
{ label: "整改部门", children: (data.hiddenRectifyUserCO && data.hiddenRectifyUserCO.length > 0) ? data.hiddenRectifyUserCO[0].deptName : "-", span: 2 },
{ label: "整改负责人", children: (data.hiddenRectifyUserCO && data.hiddenRectifyUserCO.length > 0) ? data.hiddenRectifyUserCO[0].userName : "-", span: 2 },
]}
/>
</div>
@ -100,11 +247,9 @@ function Rectification(props) {
<FormBuilder
form={form}
loading={props.confirm.confirmLoading || uploadFileLoading}
loading={pageLoading}
showCancelButton={false}
submitButtonText="通过"
onFinish={onSubmit}
values={{ rectificationType: 1 }}
showSubmitButton={false}
options={[
{
@ -116,11 +261,9 @@ function Rectification(props) {
accept=".pdf"
fileType="document"
tipContent="默认上限1个且只支持pdf格式"
onRemove={() => {
form.setFieldValue("filepath");
return false;
onGetRemoveFile={(file) => {
setDeleteLinshiFilse(prev => [...prev, file]);
}}
/>
),
span: 24,
@ -136,9 +279,8 @@ function Rectification(props) {
accept=".pdf"
fileType="document"
tipContent="默认上限1个且只支持pdf格式"
onRemove={() => {
form.setFieldValue("filepath");
return false;
onGetRemoveFile={(file) => {
setDeleteYhzgfyFiles(prev => [...prev, file]);
}}
/>
@ -155,9 +297,8 @@ function Rectification(props) {
accept=".pdf"
fileType="document"
tipContent="默认上限1个且只支持pdf格式"
onRemove={() => {
form.setFieldValue("filepath");
return false;
onGetRemoveFile={(file) => {
setDeleteYhzggcjlFilse(prev => [...prev, file]);
}}
/>
@ -169,6 +310,8 @@ function Rectification(props) {
label: "隐患验收部门",
render: (
<DepartmentSelectTree
searchType="inType"
params={{ enterpriseType: [1] }}
onChange={() => {
form.setFieldValue("userId", "");
form.setFieldValue("userName", "");
@ -201,4 +344,4 @@ function Rectification(props) {
);
}
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Rectification);
export default Connect([NS_MAJOR_HIDDEN, NS_LEDGER], true)(Rectification);

View File

@ -6,22 +6,23 @@ 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";
import { HIDDEN_MAJOR_LEVEL, IS_RELATED_ENUM } from "~/enumerate/constant";
import { NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["confirmList"], {
const { tableProps, getData } = useTable(props["majorListPage"], {
form,
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
state: [110],
hiddenLevels: ["jdyh001", "hiddenLevel2002"],
}),
});
@ -41,7 +42,8 @@ function List(props) {
{
name: "hiddenLevel",
label: "隐患级别",
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: HIDDEN_MAJOR_LEVEL,
},
{ name: "creatorName", label: "隐患发现人" },
// { name: "confirmUserName", label: "确认人" },
@ -51,8 +53,8 @@ function List(props) {
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: IS_RELATED_ENUM,
},
{ name: "creatorName", label: "隐患确认人" },
{ name: "creatorName", label: "隐患核实人" },
{ name: "confirmUserName", label: "隐患确认人" },
{ name: "verifyUserName", label: "隐患核实人" },
]}
form={form}
onFinish={getData}
@ -75,35 +77,35 @@ function List(props) {
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: "确认人", dataIndex: "confirmUserName", width: 130 },
{ title: "核实人", dataIndex: "verifyUserName", 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>
{/* )} */}
{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>
),
},
@ -114,4 +116,4 @@ function List(props) {
);
}
export default Connect([NS_CONFIRM], true)(Permission(List));
export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List));

View File

@ -2,7 +2,6 @@ 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";
@ -10,7 +9,8 @@ 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 HiddenInfo from "~/components/HiddenInfo/gwj";
import { NS_CONFIRM, NS_LEDGER, NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
function Verify(props) {
@ -18,6 +18,8 @@ function Verify(props) {
const deptId = Form.useWatch("deptId", form);
const status = Form.useWatch("status", form);
const [data, setData] = useState({});
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
@ -25,6 +27,7 @@ function Verify(props) {
const getXgfProjectInfo = async (id) => {
const { data } = await props["xgfProjectInfo"]({ id });
console.log(data);
xgfProjectInfo.current = data;
};
@ -38,26 +41,28 @@ function Verify(props) {
files: values.awhbgsjlFilse,
params: {
type: UPLOAD_FILE_TYPE_ENUM[181],
foreignKey: "",
foreignKey: data.hiddenId,
},
});
await uploadFile({
single: true,
single: false,
files: values.zgjyfaFilse,
params: {
type: UPLOAD_FILE_TYPE_ENUM[182],
foreignKey: id,
},
});
const { success } = await props["confirmSubmit"]({
status: "1",
rectificationType: data.rectificationType,
const { success } = await props["majorVerify"]({
rectificationType: 2,
...values,
id: data.id,
hiddenId: data.hiddenId,
hiddenLevel: data.hiddenLevel,
hiddenLevelName: data.hiddenLevelName,
});
if (success) {
message.success("确认成功");
message.success("核实成功");
props.history.goBack();
}
},
@ -66,7 +71,7 @@ function Verify(props) {
return (
<div>
<Page headerTitle="查看" isShowFooter={false}>
<Page headerTitle="核实" isShowFooter={false}>
<HiddenInfo
onGetData={(data) => {
@ -75,7 +80,7 @@ function Verify(props) {
getXgfProjectInfo(data.projectId);
}}
/>
<ConfirmViev />
<ConfirmViev hiddenData={data} />
<Divider orientation="left">分公司安委会办公室副主任核实</Divider>
<div>
@ -83,21 +88,26 @@ function Verify(props) {
form={form}
loading={props.confirm.confirmLoading || uploadFileLoading}
showCancelButton={false}
submitButtonText="通过"
submitButtonText="确认"
onFinish={onSubmit}
values={{ rectificationType: 1 }}
labelCol={{
span: 6,
}}
options={[
{
name: "rectificationTime",
name: "status",
label: "核实结果",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: [{ bianma: 2, name: "打回" }, { bianma: 1, name: "核实通过" }],
},
{
name: "deptId",
label: "隐患核实部门",
label: "隐患核定部门",
hidden: status === 2,
render: (
<DepartmentSelectTree
params={{ inType: [2] }}
searchType="inType"
onChange={() => {
form.setFieldValue("userId", "");
form.setFieldValue("userName", "");
@ -108,12 +118,14 @@ function Verify(props) {
/>
),
},
{ name: "deptName", label: "隐患核实门名称", onlyForLabel: true },
{ name: "deptName", label: "隐患核实门名称", onlyForLabel: true },
{
name: "userId",
label: "隐患核定人",
hidden: status === 2,
render: (
<PersonnelSelect
extraParams={{ noMain: 1 }}
params={{ departmentId: deptId }}
onGetLabel={label => form.setFieldValue("userName", label)}
/>
@ -122,14 +134,15 @@ function Verify(props) {
{ name: "userName", label: "隐患核定人名称", onlyForLabel: true },
{
name: "rectificationTime",
name: "verifyTime",
label: "隐患核实时间",
render: FORM_ITEM_RENDER_ENUM.DATE,
render: FORM_ITEM_RENDER_ENUM.DATETIME,
hidden: status === 2,
},
{
name: "awhbgsjlFilse",
label: "安委会办公室会议记录",
hidden: status === 2,
render: (
<Upload
maxCount={1}
@ -137,7 +150,7 @@ function Verify(props) {
fileType="document"
tipContent="默认上限1个且只支持pdf格式"
onRemove={() => {
form.setFieldValue("filepath");
form.setFieldValue("awhbgsjlFilse");
return false;
}}
@ -150,6 +163,7 @@ function Verify(props) {
name: "zgjyfaFilse",
label: "整改建议及方案",
span: 24,
hidden: status === 2,
render: (
<Upload
maxCount={1}
@ -157,7 +171,7 @@ function Verify(props) {
fileType="document"
tipContent="默认上限1个且只支持pdf格式"
onRemove={() => {
form.setFieldValue("filepath");
form.setFieldValue("zgjyfaFilse");
return false;
}}
@ -166,8 +180,10 @@ function Verify(props) {
},
{
name: "rectificationTime",
name: "repulseCause",
label: "打回原因",
span: 24,
hidden: status === 1,
},
]}
/>
@ -179,4 +195,4 @@ function Verify(props) {
);
}
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Verify);
export default Connect([NS_MAJOR_HIDDEN, NS_CONFIRM, NS_LEDGER], true)(Verify);

View File

@ -36,6 +36,7 @@ function HiddenList(props) {
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
state: formData.state ? [formData.state] : undefined,
hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"],
}),
params: {
corpId: query.corpId,

View File

@ -22,6 +22,10 @@ function ListView(props) {
const { tableProps } = useTable(props["averageRepeatHiddenList"], {
form,
params: { corpId: query.id },
transform: () => ({
hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"],
}),
onSuccess: async (data) => {
for (let i = 0; i < data.list.length; i++) {
const files = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["3"], eqForeignKey: data.list[i].hiddenId });

View File

@ -28,6 +28,7 @@ function HiddenList(props) {
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"],
}),
params: { corpId: query.corpId, entry: 1 },
});

View File

@ -2,24 +2,20 @@ 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 HiddenInfo from "~/components/HiddenInfo/gwj";
import { NS_LEDGER, NS_MAJOR_HIDDEN } 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 status = Form.useWatch("status", form);
const getXgfProjectInfo = async (id) => {
const { data } = await props["xgfProjectInfo"]({ id });
xgfProjectInfo.current = data;
@ -28,25 +24,17 @@ function Rectification(props) {
const onSubmit = (values) => {
Modal.confirm({
title: "提示",
content: "是否确认隐患?",
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,
const { success } = await props["majorCheck"]({
single: false,
rectificationType: 2,
...values,
id: data.id,
hiddenId: data.hiddenId,
});
if (success) {
message.success("确认成功");
message.success("验收成功");
props.history.goBack();
}
},
@ -55,7 +43,7 @@ function Rectification(props) {
return (
<div>
<Page headerTitle="查看" isShowFooter={false}>
<Page headerTitle="验收" isShowFooter={false}>
<HiddenInfo
onGetData={(data) => {
@ -64,15 +52,16 @@ function Rectification(props) {
getXgfProjectInfo(data.projectId);
}}
/>
<ConfirmViev />
<ConfirmViev hiddenData={data} />
<Divider orientation="left">较大隐患验收</Divider>
<div>
<Descriptions
bordered
column={2}
labelStyle={{ width: 200 }}
style={{ marginBottom: 20 }}
size="middle"
items={[
{ label: "验收人", children: "-", span: 2 },
{ label: "验收人", children: (data.hiddenAcceptUserCO && data.hiddenAcceptUserCO.length > 0) ? data.hiddenAcceptUserCO[0].userName : "-", span: 2 },
]}
/>
</div>
@ -80,26 +69,26 @@ function Rectification(props) {
<FormBuilder
form={form}
loading={props.confirm.confirmLoading || uploadFileLoading}
loading={props.majorHidden.hiddenMajorLoading}
showCancelButton={false}
submitButtonText="通过"
onFinish={onSubmit}
values={{ rectificationType: 1 }}
options={[
{
name: "yanshoujieguo",
name: "status",
label: "验收结果",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: [{ bianma: 1, name: "验收通过" }, { bianma: 2, name: "验收打回" }],
items: [{ bianma: 1, name: "验收通过" }, { bianma: 0, name: "验收打回" }],
},
{
name: "yanshoushijian",
name: "rectificationTime",
label: "验收时间",
render: FORM_ITEM_RENDER_ENUM.DATETIME,
},
{
name: "yanshoushijian",
name: "repulseCause",
label: "打回原因",
hidden: status === 1,
},
]}
/>
@ -111,4 +100,4 @@ function Rectification(props) {
);
}
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Rectification);
export default Connect([NS_MAJOR_HIDDEN, NS_LEDGER], true)(Rectification);

View File

@ -6,22 +6,23 @@ 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";
import { HIDDEN_MAJOR_LEVEL, IS_RELATED_ENUM } from "~/enumerate/constant";
import { NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["confirmList"], {
const { tableProps, getData } = useTable(props["majorListPage"], {
form,
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
state: [300],
hiddenLevels: ["jdyh001", "hiddenLevel2002"],
}),
});
@ -41,7 +42,8 @@ function List(props) {
{
name: "hiddenLevel",
label: "隐患级别",
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: HIDDEN_MAJOR_LEVEL,
},
{ name: "creatorName", label: "隐患发现人" },
// { name: "confirmUserName", label: "确认人" },
@ -51,11 +53,11 @@ function List(props) {
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: "隐患验收人" },
{ name: "confirmUserName", label: "隐患确认人" },
{ name: "verifyUserName", label: "隐患核实人" },
{ name: "approveUserName", label: "隐患核定人" },
{ name: "rectificationUserName", label: "整改人" },
{ name: "checkUserName", label: "隐患验收人" },
]}
form={form}
onFinish={getData}
@ -78,38 +80,38 @@ function List(props) {
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: "确认人", dataIndex: "confirmUserName", width: 130 },
{ title: "核实人", dataIndex: "verifyUserName", width: 130 },
{ title: "核定人", dataIndex: "approveUserName", width: 130 },
{ title: "整改人", dataIndex: "rectifyUserName", width: 130 },
{ title: "验收人", dataIndex: "hiddenYUserName", 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>
{/* )} */}
{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>
),
},
@ -120,4 +122,4 @@ function List(props) {
);
}
export default Connect([NS_CONFIRM], true)(Permission(List));
export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List));

View File

@ -1,17 +1,17 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Divider, Form, message, Modal } from "antd";
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 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 HiddenInfo from "~/components/HiddenInfo/gwj";
import { HIDDEN_MAJOR_LEVEL } from "~/enumerate/constant";
import { NS_LEDGER, NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
function Approval(props) {
@ -34,14 +34,14 @@ function Approval(props) {
const onSubmit = (values) => {
Modal.confirm({
title: "提示",
content: "是否确认隐患?",
content: "是否核定隐患?",
onOk: async () => {
const { id } = await uploadFile({
single: false,
files: values.yhdcboFilse,
params: {
type: UPLOAD_FILE_TYPE_ENUM[183],
foreignKey: "",
foreignKey: data.hiddenId,
},
});
await uploadFile({
@ -53,15 +53,15 @@ function Approval(props) {
},
});
const { success } = await props["confirmSubmit"]({
const { success } = await props["majorApprove"]({
status: "1",
rectificationType: data.rectificationType,
rectificationType: 2,
...values,
id: data.id,
hiddenId: data.hiddenId,
});
if (success) {
message.success("确认成功");
message.success("核定成功");
props.history.goBack();
}
},
@ -70,48 +70,54 @@ function Approval(props) {
return (
<div>
<Page headerTitle="查看" isShowFooter={false}>
<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 />
<ConfirmViev hiddenData={data} />
<Divider orientation="left">港股公司安委会办公室核定</Divider>
<div>
<Descriptions
bordered
column={2}
labelStyle={{ width: 200 }}
style={{ marginBottom: 20 }}
size="middle"
items={[
{ label: "隐患核定人", children: (data.hiddenApproveUserCO && data.hiddenApproveUserCO.length > 0) ? data.hiddenApproveUserCO[0].userName : "-", span: 2 },
]}
/>
<FormBuilder
form={form}
loading={props.confirm.confirmLoading || uploadFileLoading}
loading={props.majorHidden.hiddenMajorLoading || 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);
}}
/>
),
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: HIDDEN_MAJOR_LEVEL,
componentProps: {
onChange: (value) => {
const findItem = HIDDEN_MAJOR_LEVEL.find(item => item.bianma === value);
form.setFieldValue("hiddenLevelName", findItem.name);
},
},
},
{ name: "hiddenLevelName", label: "隐患级别名称", onlyForLabel: true },
{
name: "rectificationTime",
label: "隐患核时间",
name: "approveTime",
label: "隐患核时间",
render: FORM_ITEM_RENDER_ENUM.DATETIME,
},
@ -120,6 +126,8 @@ function Approval(props) {
label: " 整改部门/整改单位",
render: (
<DepartmentSelectTree
isNeedCorpInfoId={true}
params={{ eqCorpinfoId: data.corpId }}
onChange={() => {
form.setFieldValue("userId", "");
form.setFieldValue("userName", "");
@ -137,6 +145,7 @@ function Approval(props) {
label: "整改负责人",
render: (
<PersonnelSelect
extraParams={{ noMain: 1 }}
params={{ departmentId: deptId }}
onGetLabel={label => form.setFieldValue("userName", label)}
/>
@ -156,7 +165,7 @@ function Approval(props) {
fileType="document"
tipContent="默认上限1个且只支持pdf格式"
onRemove={() => {
form.setFieldValue("filepath");
form.setFieldValue("yhdcboFilse");
return false;
}}
@ -177,7 +186,7 @@ function Approval(props) {
fileType="document"
tipContent="默认上限1个且只支持pdf格式"
onRemove={() => {
form.setFieldValue("filepath");
form.setFieldValue("awhdwhjybgFulse");
return false;
}}
@ -196,4 +205,4 @@ function Approval(props) {
);
}
export default Connect([NS_CONFIRM, NS_LEDGER], true)(Approval);
export default Connect([NS_MAJOR_HIDDEN, NS_LEDGER], true)(Approval);

View File

@ -6,22 +6,23 @@ 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";
import { HIDDEN_MAJOR_LEVEL, IS_RELATED_ENUM } from "~/enumerate/constant";
import { NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["confirmList"], {
const { tableProps, getData } = useTable(props["majorListPage"], {
form,
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
state: [120],
hiddenLevels: ["jdyh001", "hiddenLevel2002"],
}),
});
@ -41,7 +42,8 @@ function List(props) {
{
name: "hiddenLevel",
label: "隐患级别",
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: HIDDEN_MAJOR_LEVEL,
},
{ name: "creatorName", label: "隐患发现人" },
// { name: "confirmUserName", label: "确认人" },
@ -51,9 +53,9 @@ function List(props) {
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: IS_RELATED_ENUM,
},
{ name: "creatorName", label: "隐患确认人" },
{ name: "creatorName", label: "隐患核实人" },
{ name: "creatorName", label: "隐患核定人" },
{ name: "confirmUserName", label: "隐患确认人" },
{ name: "verifyUserName", label: "隐患核实人" },
{ name: "approveUserName", label: "隐患核定人" },
]}
form={form}
onFinish={getData}
@ -76,36 +78,36 @@ function List(props) {
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: "确认人", dataIndex: "confirmUserName", width: 130 },
{ title: "核实人", dataIndex: "verifyUserName", width: 130 },
{ title: "核定人", dataIndex: "approveUserName", 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>
{/* )} */}
{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>
),
},
@ -116,4 +118,4 @@ function List(props) {
);
}
export default Connect([NS_CONFIRM], true)(Permission(List));
export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List));

View File

@ -6,37 +6,39 @@ 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";
import { HIDDEN_MAJOR_LEVEL, HIDDEN_STATE_ENUM, IS_RELATED_ENUM } from "~/enumerate/constant";
import { NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
function HiddenList(props) {
const [form] = Form.useForm();
const query = useGetUrlQuery();
const { tableProps, getData } = useTable(props["confirmList"], {
const { tableProps, getData } = useTable(props["majorListPage"], {
usePermission: false,
form,
transform: formData => ({
corpId: query.corpId,
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
hiddenLevels: [query.type],
state: [400],
}),
});
return (
<Page headerTitle={query.type !== "1" ? "重大隐患数" : "较大隐患数"} isShowFooter={false}>
<Page headerTitle={query.type === "hiddenLevel2002" ? "重大隐患数" : "较大隐患数"} 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: "hiddenFindDept", label: "隐患发现部门", render: <DepartmentSelectTree isNeedCorpInfoId={true} params={{ eqCorpinfoId: query.corpId }} /> },
{
name: "hiddenType",
label: "隐患类型",
@ -45,7 +47,8 @@ function HiddenList(props) {
{
name: "hiddenLevel",
label: "隐患级别",
render: <HiddenLevelSelectTree isShowNeglect={false} isShowLarger={false} isShowMajor={false} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: HIDDEN_MAJOR_LEVEL,
},
{ name: "creatorName", label: "隐患发现人" },
// { name: "confirmUserName", label: "确认人" },
@ -55,11 +58,11 @@ function HiddenList(props) {
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" },
{ name: "confirmUserName", label: "隐患确认人" },
{ name: "verifyUserName", label: "隐患核实人" },
{ name: "approveUserName", label: "隐患核定人" },
{ name: "rectificationUserName", label: "整改人", hidden: query.type === "hiddenLevel2002" },
{ name: "checkUserName", label: "隐患验收人", hidden: query.type === "hiddenLevel2002" },
]}
form={form}
onFinish={getData}
@ -82,10 +85,12 @@ function HiddenList(props) {
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: "确认人", dataIndex: "confirmUserName", width: 130 },
{ title: "核实人", dataIndex: "verifyUserName", width: 130 },
{ title: "核定人", dataIndex: "approveUserName", width: 130 },
{ title: "整改人", dataIndex: "rectifyUserName", width: 130 },
{ title: "验收人", dataIndex: "hiddenYUserName", width: 130 },
{ title: "隐患状态", dataIndex: "state", render: (_, recode) => getLabelName({ list: HIDDEN_STATE_ENUM, status: recode.state }) },
{
title: "操作",
width: 100,
@ -113,4 +118,4 @@ function HiddenList(props) {
);
}
export default Connect([NS_CONFIRM], true)(Permission(HiddenList));
export default Connect([NS_MAJOR_HIDDEN], true)(Permission(HiddenList));

View File

@ -5,16 +5,13 @@ 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";
import { NS_MAJOR_HIDDEN } from "~/enumerate/namespace";
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["confirmList"], {
const { tableProps, getData } = useTable(props["majorHiddenStatistics"], {
form,
transform: formData => ({
hiddenFindTime: formData.hiddenFindTime?.[0],
hiddenFindTimeLe: formData.hiddenFindTime?.[1],
}),
});
return (
@ -22,7 +19,7 @@ function List(props) {
<Search
options={[
{ name: "creatorName", label: "企业名称" },
{ name: "corpinfoName", label: "企业名称" },
]}
form={form}
onFinish={getData}
@ -30,25 +27,25 @@ function List(props) {
<Table
columns={[
{ title: "企业名称", dataIndex: "hiddenDesc" },
{ title: "重大隐患数", dataIndex: "riskUnitCount", render: (text, record) => (
{ title: "企业名称", dataIndex: "corpinfoName" },
{ title: "重大隐患数", dataIndex: "majorHiddenNum", render: (text, record) => (
<Button
type="link"
// disabled={!props.permission("gfd-yhtj-zdyhs")}
disabled={!props.permission("gfd-yhtj-zdyhs")}
onClick={() =>
props.history.push(`./RiskPointList?id=${record.id}&type=1`)}
props.history.push(`./HiddenList?corpId=${record.corpinfoId}&type=hiddenLevel2002`)}
>
{record.riskUnitCount || 0}
{record.majorHiddenNum || 0}
</Button>
) },
{ title: "较大隐患数", dataIndex: "riskUnitCount", render: (text, record) => (
{ title: "较大隐患数", dataIndex: "largerHiddenNum", render: (text, record) => (
<Button
type="link"
// disabled={!props.permission("gfd-yhtj-jdyhs")}
disabled={!props.permission("gfd-yhtj-jdyhs")}
onClick={() =>
props.history.push(`./RiskPointList?id=${record.id}&type=2`)}
props.history.push(`./HiddenList?corpId=${record.corpinfoId}&type=jdyh001`)}
>
{record.riskUnitCount || 0}
{record.largerHiddenNum || 0}
</Button>
) },
@ -59,4 +56,4 @@ function List(props) {
);
}
export default Connect([NS_CONFIRM], true)(Permission(List));
export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List));

View File

@ -1,15 +1,17 @@
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
import { useState } from "react";
import Page from "zy-react-library/components/Page";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import HiddenInfo from "~/components/HiddenInfo/gwj";
import ConfirmViev from "~/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev";
function HiddenView() {
const query = useGetUrlQuery();
const [hiddenData, setHiddenData] = useState({});
return (
<Page headerTitle="查看" contentPadding="0 20px 20px 20px">
<HiddenInfo history={query.history === "1"} />
<ConfirmViev />
<HiddenInfo history={query.history === "1"} onGetData={data => setHiddenData(data)} />
<ConfirmViev hiddenData={hiddenData} />
</Page>
);
}

View File

@ -1,4 +1,5 @@
export default function () {
console.log("KEY =", process.env.OPENAI_API_KEY);
return (
<h1>
底座微应用模板技术文档