diff --git a/src/api/majorHidden/index.js b/src/api/majorHidden/index.js new file mode 100644 index 0000000..b8549da --- /dev/null +++ b/src/api/majorHidden/index.js @@ -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", +); diff --git a/src/components/HiddenInfo/gwj/index.d.ts b/src/components/HiddenInfo/gwj/index.d.ts new file mode 100644 index 0000000..b71d541 --- /dev/null +++ b/src/components/HiddenInfo/gwj/index.d.ts @@ -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) => void; +} + +/** + * 隐患查看组件(港务局版本) + */ +declare const HiddenInfo: FC; + +export default HiddenInfo; diff --git a/src/components/HiddenInfo/gwj/index.js b/src/components/HiddenInfo/gwj/index.js new file mode 100644 index 0000000..5e61574 --- /dev/null +++ b/src/components/HiddenInfo/gwj/index.js @@ -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 ( +
+ +
+ 隐患信息 + 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: }, + ...(hiddenVideoFiles.length > 0 + ? [{ + label: "隐患视频", + children: ( + { + setVideoModalOpen(true); + }} + /> + ), + }] + : []), + ]} + /> + +
+
+ { + videoModalOpen && ( +
+ ); +} + +export default HiddenInfo; diff --git a/src/enumerate/constant/index.js b/src/enumerate/constant/index.js index dcacc66..0d7c1b5 100644 --- a/src/enumerate/constant/index.js +++ b/src/enumerate/constant/index.js @@ -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 {}; diff --git a/src/enumerate/namespace/index.js b/src/enumerate/namespace/index.js index b9271bd..d48fcae 100644 --- a/src/enumerate/namespace/index.js +++ b/src/enumerate/namespace/index.js @@ -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"); diff --git a/src/pages/Container/BranchCompany/Average/Acceptance/List/index.js b/src/pages/Container/BranchCompany/Average/Acceptance/List/index.js index 43dd95e..a3fc010 100644 --- a/src/pages/Container/BranchCompany/Average/Acceptance/List/index.js +++ b/src/pages/Container/BranchCompany/Average/Acceptance/List/index.js @@ -22,6 +22,7 @@ function List(props) { transform: formData => ({ hiddenFindTime: formData.hiddenFindTime?.[0], hiddenFindTimeLe: formData.hiddenFindTime?.[1], + hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"], }), params: { eqType: 1 }, }); diff --git a/src/pages/Container/BranchCompany/Average/Confirm/List/index.js b/src/pages/Container/BranchCompany/Average/Confirm/List/index.js index 0a86cbc..efea625 100644 --- a/src/pages/Container/BranchCompany/Average/Confirm/List/index.js +++ b/src/pages/Container/BranchCompany/Average/Confirm/List/index.js @@ -22,6 +22,7 @@ function List(props) { transform: formData => ({ hiddenFindTime: formData.hiddenFindTime?.[0], hiddenFindTimeLe: formData.hiddenFindTime?.[1], + hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"], }), }); diff --git a/src/pages/Container/BranchCompany/Average/Confirm/Review/index.js b/src/pages/Container/BranchCompany/Average/Confirm/Review/index.js index c7436e7..28c5124 100644 --- a/src/pages/Container/BranchCompany/Average/Confirm/Review/index.js +++ b/src/pages/Container/BranchCompany/Average/Confirm/Review/index.js @@ -208,7 +208,7 @@ function Confirm(props) { { if (event === "hiddenLevel1001") { form.setFieldValue("deptName", ""); diff --git a/src/pages/Container/BranchCompany/Average/ConfirmUser/index.js b/src/pages/Container/BranchCompany/Average/ConfirmUser/index.js index 1020830..a9eb68f 100644 --- a/src/pages/Container/BranchCompany/Average/ConfirmUser/index.js +++ b/src/pages/Container/BranchCompany/Average/ConfirmUser/index.js @@ -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 ( }, + { name: "likeName", label: "姓名" }, + { name: "eqDeptId", label: "部门", render: }, ]} form={form} onFinish={getData} @@ -55,7 +55,7 @@ function HiddenConfirmUser(props) { {props.permission("fgs-yhqrr-xz") && ( )} - {props.permission("fgs-yhqrr-sc") && - } + {props.permission("fgs-yhqrr-sc") + && } ), }, @@ -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: ( { 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 }, ]} /> diff --git a/src/pages/Container/BranchCompany/Average/Ledger/Add/index.js b/src/pages/Container/BranchCompany/Average/Ledger/Add/index.js index 9cc50f3..6daa8f4 100644 --- a/src/pages/Container/BranchCompany/Average/Ledger/Add/index.js +++ b/src/pages/Container/BranchCompany/Average/Ledger/Add/index.js @@ -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: ( 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, diff --git a/src/pages/Container/BranchCompany/Average/Ledger/List/index.js b/src/pages/Container/BranchCompany/Average/Ledger/List/index.js index 9da3ee5..786b3a8 100644 --- a/src/pages/Container/BranchCompany/Average/Ledger/List/index.js +++ b/src/pages/Container/BranchCompany/Average/Ledger/List/index.js @@ -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"], }), }); diff --git a/src/pages/Container/BranchCompany/Average/Postponement/List/index.js b/src/pages/Container/BranchCompany/Average/Postponement/List/index.js index 648b65f..493dd8e 100644 --- a/src/pages/Container/BranchCompany/Average/Postponement/List/index.js +++ b/src/pages/Container/BranchCompany/Average/Postponement/List/index.js @@ -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 }, }); diff --git a/src/pages/Container/BranchCompany/Average/Rectification/List/index.js b/src/pages/Container/BranchCompany/Average/Rectification/List/index.js index 5682aad..fc80d27 100644 --- a/src/pages/Container/BranchCompany/Average/Rectification/List/index.js +++ b/src/pages/Container/BranchCompany/Average/Rectification/List/index.js @@ -31,6 +31,7 @@ function List(props) { transform: formData => ({ hiddenFindTime: formData.hiddenFindTime?.[0], hiddenFindTimeLe: formData.hiddenFindTime?.[1], + hiddenLevels: ["hiddenLevel1004", "hiddenLevel1002"], }), }); diff --git a/src/pages/Container/BranchCompany/Average/SpecialDisposal/List/index.js b/src/pages/Container/BranchCompany/Average/SpecialDisposal/List/index.js index 2815e15..e43d28c 100644 --- a/src/pages/Container/BranchCompany/Average/SpecialDisposal/List/index.js +++ b/src/pages/Container/BranchCompany/Average/SpecialDisposal/List/index.js @@ -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 }, }); diff --git a/src/pages/Container/BranchCompany/MajorHidden/Confirm/List/index.js b/src/pages/Container/BranchCompany/MajorHidden/Confirm/List/index.js index 756e10f..ff0be25 100644 --- a/src/pages/Container/BranchCompany/MajorHidden/Confirm/List/index.js +++ b/src/pages/Container/BranchCompany/MajorHidden/Confirm/List/index.js @@ -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: , + 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) => ( - {/* {props.permission("fgs-yhqr-info") && ( */} - - {/* )} */} - {/* {props.permission("fgs-yhqr-confirm") && ( */} - - {/* )} */} + {props.permission("fgs-yhqr-info") && ( + + )} + {props.permission("fgs-yhqr-confirm") && ( + + )} ), }, @@ -110,4 +112,4 @@ function List(props) { ); } -export default Connect([NS_CONFIRM], true)(Permission(List)); +export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/MajorHidden/Confirm/Review/index.js b/src/pages/Container/BranchCompany/MajorHidden/Confirm/Review/index.js index dff21f0..49c424d 100644 --- a/src/pages/Container/BranchCompany/MajorHidden/Confirm/Review/index.js +++ b/src/pages/Container/BranchCompany/MajorHidden/Confirm/Review/index.js @@ -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 (
- + { 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); - } }} /> + 发现隐患部门负责人确认
{ 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: ( - 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: ( - { - 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: ( 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); diff --git a/src/pages/Container/BranchCompany/MajorHidden/HiddenManage/List/index.js b/src/pages/Container/BranchCompany/MajorHidden/HiddenManage/List/index.js index f000d03..dcd905e 100644 --- a/src/pages/Container/BranchCompany/MajorHidden/HiddenManage/List/index.js +++ b/src/pages/Container/BranchCompany/MajorHidden/HiddenManage/List/index.js @@ -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: , + 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) => ( {/* {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)); diff --git a/src/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev.js b/src/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev.js index f1cb14c..1a2a1e2 100644 --- a/src/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev.js +++ b/src/pages/Container/BranchCompany/MajorHidden/HiddenView/confirmViev.js @@ -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 (
-
- 发现隐患部门负责人确认 - downloadFun(179)} - > - 下载 - - ), span: 2 }, - { label: "补充重大/较大隐患信息", children: ( - - ), span: 2 }, - ]} - /> -
-
- 分公司安委会办公室副主任核实 - downloadFun(181)} - > - 下载 - - ), span: 2 }, - { label: "整改建议及方案", children: ( - - ), span: 2 }, - ]} - /> -
-
- 港股公司安委会办公室核定 - downloadFun(183)} - > - 下载 - - ), span: 2 }, - { label: "安委会或党委会决议记录", children: ( - - ), span: 2 }, - ]} - /> -
-
- 较大隐患整改 - downloadFun(185)} - > - 下载 - - ), span: 2 }, - { label: "隐患整改方案", children: ( - - ), span: 2 }, - { label: "隐患整改过程记录", children: ( - - ), span: 2 }, - ]} - /> -
-
- 较大隐患验收 - -
+ { + (record.hiddenConfirmUserCO && record.hiddenConfirmUserCO.length > 0) + && ( +
+ 发现隐患部门负责人确认 + { + record.hiddenConfirmUserCO.map(item => ( + 0 && record.hiddenConfirmUserCO[0].status !== 0) + ? [{ label: "临时处置信息", children: ( + + ), span: 2 }, { label: "补充重大/较大隐患信息", children: ( + + ), span: 2 }] + : []), + + ]} + /> + )) + } +
+ ) + } + { + (record.hiddenVerifyUserCO && record.hiddenVerifyUserCO.length > 0 && record.hiddenVerifyUserCO[0].status !== 2) + + && ( +
+ 分公司安委会办公室副主任核实 + { + record.hiddenVerifyUserCO.map(item => ( + downloadFun(181)} + > + 下载 + + ), span: 2 }, { label: "整改建议及方案", children: ( + + ), span: 2 }]), + + ]} + /> + )) + } +
+ ) + } + { + (record.hiddenApproveUserCO && record.hiddenApproveUserCO.length > 0 && record.hiddenApproveUserCO[0].status !== 2) + + && ( +
+ 港股公司安委会办公室核定 + { + record.hiddenApproveUserCO.map(item => ( + downloadFun(183)} + > + 下载 + + ), span: 2 }, + { label: "安委会或党委会决议记录", children: ( + + ), span: 2 }, + ]} + /> + )) + } +
+ ) + } + { + (record.hiddenRectifyUserCO && record.hiddenRectifyUserCO.length > 0 && record.hiddenRectifyUserCO[0].status !== 2) + + && ( +
+ 较大隐患整改 + { + record.hiddenRectifyUserCO.map(item => ( + downloadFun(185)} + > + 下载 + + ), span: 2 }, + { label: "隐患整改方案", children: ( + + ), span: 2 }, + { label: "隐患整改过程记录", children: ( + + ), span: 2 }, + ]} + /> + )) + } +
+ ) + } + { + (record.hiddenAcceptUserCO && record.hiddenAcceptUserCO.length > 0 && record.hiddenAcceptUserCO[0].status !== 2 && record.state === 400) + + && ( +
+ 较大隐患验收 + { + record.hiddenAcceptUserCO.map(item => ( + + )) + } +
+ ) + } + { + (record.lastRejectAcceptUserCO && record.lastRejectAcceptUserCO.length > 0 && record.lastRejectAcceptUserCO[0].status !== 2 && record.state !== 400) + + && ( +
+ 较大隐患验收 + { + record.lastRejectAcceptUserCO.map(item => ( + + )) + } +
+ ) + }
); } diff --git a/src/pages/Container/BranchCompany/MajorHidden/HiddenView/index.js b/src/pages/Container/BranchCompany/MajorHidden/HiddenView/index.js index ec435fa..c469c9b 100644 --- a/src/pages/Container/BranchCompany/MajorHidden/HiddenView/index.js +++ b/src/pages/Container/BranchCompany/MajorHidden/HiddenView/index.js @@ -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 ( - - + setHiddenData(data)} /> + ); } diff --git a/src/pages/Container/BranchCompany/MajorHidden/Rectification/List/index.js b/src/pages/Container/BranchCompany/MajorHidden/Rectification/List/index.js index 9f49f74..ec80a19 100644 --- a/src/pages/Container/BranchCompany/MajorHidden/Rectification/List/index.js +++ b/src/pages/Container/BranchCompany/MajorHidden/Rectification/List/index.js @@ -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: , + 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) => ( - {/* {props.permission("fgs-yhzg-info") && ( */} - - {/* )} */} - {/* {props.permission("fgs-yhzg-rectification") && ( */} - - {/* )} */} + {props.permission("fgs-yhzg-info") && ( + + )} + {props.permission("fgs-yhzg-rectification") && ( + + )} ), }, @@ -118,4 +120,4 @@ function List(props) { ); } -export default Connect([NS_CONFIRM], true)(Permission(List)); +export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/MajorHidden/Rectification/Rectification/index.js b/src/pages/Container/BranchCompany/MajorHidden/Rectification/Rectification/index.js index 23366d4..6cd6418 100644 --- a/src/pages/Container/BranchCompany/MajorHidden/Rectification/Rectification/index.js +++ b/src/pages/Container/BranchCompany/MajorHidden/Rectification/Rectification/index.js @@ -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 (
- + + + + + )} + > { 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); }} /> - + 较大隐患整改
0) ? data.hiddenRectifyUserCO[0].deptName : "-", span: 2 }, + { label: "整改负责人", children: (data.hiddenRectifyUserCO && data.hiddenRectifyUserCO.length > 0) ? data.hiddenRectifyUserCO[0].userName : "-", span: 2 }, ]} />
@@ -100,11 +247,9 @@ function Rectification(props) { { - 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: ( { 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); diff --git a/src/pages/Container/BranchCompany/MajorHidden/Verify/List/index.js b/src/pages/Container/BranchCompany/MajorHidden/Verify/List/index.js index 748c986..f6d0fb8 100644 --- a/src/pages/Container/BranchCompany/MajorHidden/Verify/List/index.js +++ b/src/pages/Container/BranchCompany/MajorHidden/Verify/List/index.js @@ -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: , + 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) => ( - {/* {props.permission("fgs-yhhs-info") && ( */} - - {/* )} */} - {/* {props.permission("fgs-yhhs-verify") && ( */} - - {/* )} */} + {props.permission("fgs-yhhs-info") && ( + + )} + {props.permission("fgs-yhhs-verify") && ( + + )} ), }, @@ -114,4 +116,4 @@ function List(props) { ); } -export default Connect([NS_CONFIRM], true)(Permission(List)); +export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/MajorHidden/Verify/Verify/index.js b/src/pages/Container/BranchCompany/MajorHidden/Verify/Verify/index.js index c9ba5fe..8f4a6d5 100644 --- a/src/pages/Container/BranchCompany/MajorHidden/Verify/Verify/index.js +++ b/src/pages/Container/BranchCompany/MajorHidden/Verify/Verify/index.js @@ -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 (
- + { @@ -75,7 +80,7 @@ function Verify(props) { getXgfProjectInfo(data.projectId); }} /> - + 分公司安委会办公室副主任核实
@@ -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: ( { 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: ( 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: ( { - form.setFieldValue("filepath"); + form.setFieldValue("awhbgsjlFilse"); return false; }} @@ -150,6 +163,7 @@ function Verify(props) { name: "zgjyfaFilse", label: "整改建议及方案", span: 24, + hidden: status === 2, render: ( { - 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); diff --git a/src/pages/Container/Supervision/Average/Average/HiddenList/index.js b/src/pages/Container/Supervision/Average/Average/HiddenList/index.js index 43f2417..3726d39 100644 --- a/src/pages/Container/Supervision/Average/Average/HiddenList/index.js +++ b/src/pages/Container/Supervision/Average/Average/HiddenList/index.js @@ -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, diff --git a/src/pages/Container/Supervision/Average/DuplicateHazard/ListView/index.js b/src/pages/Container/Supervision/Average/DuplicateHazard/ListView/index.js index e70c78c..21d8f8b 100644 --- a/src/pages/Container/Supervision/Average/DuplicateHazard/ListView/index.js +++ b/src/pages/Container/Supervision/Average/DuplicateHazard/ListView/index.js @@ -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 }); diff --git a/src/pages/Container/Supervision/Average/SpecialDisposal/HiddenList/index.js b/src/pages/Container/Supervision/Average/SpecialDisposal/HiddenList/index.js index b6bb715..e5ba63e 100644 --- a/src/pages/Container/Supervision/Average/SpecialDisposal/HiddenList/index.js +++ b/src/pages/Container/Supervision/Average/SpecialDisposal/HiddenList/index.js @@ -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 }, }); diff --git a/src/pages/Container/Supervision/MajorHidden/Acceptance/Acceptance/index.js b/src/pages/Container/Supervision/MajorHidden/Acceptance/Acceptance/index.js index df538e6..62d08f0 100644 --- a/src/pages/Container/Supervision/MajorHidden/Acceptance/Acceptance/index.js +++ b/src/pages/Container/Supervision/MajorHidden/Acceptance/Acceptance/index.js @@ -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 (
- + { @@ -64,15 +52,16 @@ function Rectification(props) { getXgfProjectInfo(data.projectId); }} /> - + 较大隐患验收
0) ? data.hiddenAcceptUserCO[0].userName : "-", span: 2 }, ]} />
@@ -80,26 +69,26 @@ function Rectification(props) { @@ -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); diff --git a/src/pages/Container/Supervision/MajorHidden/Acceptance/List/index.js b/src/pages/Container/Supervision/MajorHidden/Acceptance/List/index.js index 1e50f7b..2a2bc94 100644 --- a/src/pages/Container/Supervision/MajorHidden/Acceptance/List/index.js +++ b/src/pages/Container/Supervision/MajorHidden/Acceptance/List/index.js @@ -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: , + 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) => ( - {/* {props.permission("gfd-yhys-info") && ( */} - - {/* )} */} - {/* {props.permission("gfd-yhys-acceptance") && ( */} - - {/* )} */} + {props.permission("gfd-yhys-info") && ( + + )} + {props.permission("gfd-yhys-acceptance") && ( + + )} ), }, @@ -120,4 +122,4 @@ function List(props) { ); } -export default Connect([NS_CONFIRM], true)(Permission(List)); +export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/MajorHidden/Approval/Approval/index.js b/src/pages/Container/Supervision/MajorHidden/Approval/Approval/index.js index 04da921..3fef102 100644 --- a/src/pages/Container/Supervision/MajorHidden/Approval/Approval/index.js +++ b/src/pages/Container/Supervision/MajorHidden/Approval/Approval/index.js @@ -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 (
- + { setData(data); if (data.isRelated === 1) getXgfProjectInfo(data.projectId); - form.setFieldValue("hiddenLevel", data.hiddenLevel); - form.setFieldValue("hiddenLevelName", data.hiddenLevelName); }} /> - + 港股公司安委会办公室核定
+ 0) ? data.hiddenApproveUserCO[0].userName : "-", span: 2 }, + + ]} + /> { - 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: ( { form.setFieldValue("userId", ""); form.setFieldValue("userName", ""); @@ -137,6 +145,7 @@ function Approval(props) { label: "整改负责人", render: ( 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); diff --git a/src/pages/Container/Supervision/MajorHidden/Approval/List/index.js b/src/pages/Container/Supervision/MajorHidden/Approval/List/index.js index f02aa99..5772aad 100644 --- a/src/pages/Container/Supervision/MajorHidden/Approval/List/index.js +++ b/src/pages/Container/Supervision/MajorHidden/Approval/List/index.js @@ -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: , + 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) => ( - {/* {props.permission("gfd-yhhd-info") && ( */} - - {/* )} */} - {/* {props.permission("gfd-yhhd-approval") && ( */} - - {/* )} */} + {props.permission("gfd-yhhd-info") && ( + + )} + {props.permission("gfd-yhhd-approval") && ( + + )} ), }, @@ -116,4 +118,4 @@ function List(props) { ); } -export default Connect([NS_CONFIRM], true)(Permission(List)); +export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/MajorHidden/HiddenRecord/HiddenList/index.js b/src/pages/Container/Supervision/MajorHidden/HiddenRecord/HiddenList/index.js index 00fa388..e1f306c 100644 --- a/src/pages/Container/Supervision/MajorHidden/HiddenRecord/HiddenList/index.js +++ b/src/pages/Container/Supervision/MajorHidden/HiddenRecord/HiddenList/index.js @@ -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 ( - + }, + { name: "hiddenFindDept", label: "隐患发现部门", render: }, { name: "hiddenType", label: "隐患类型", @@ -45,7 +47,8 @@ function HiddenList(props) { { name: "hiddenLevel", label: "隐患级别", - render: , + 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)); diff --git a/src/pages/Container/Supervision/MajorHidden/HiddenRecord/List/index.js b/src/pages/Container/Supervision/MajorHidden/HiddenRecord/List/index.js index 3682fc2..db7f264 100644 --- a/src/pages/Container/Supervision/MajorHidden/HiddenRecord/List/index.js +++ b/src/pages/Container/Supervision/MajorHidden/HiddenRecord/List/index.js @@ -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) { ( + { title: "企业名称", dataIndex: "corpinfoName" }, + { title: "重大隐患数", dataIndex: "majorHiddenNum", render: (text, record) => ( ) }, - { title: "较大隐患数", dataIndex: "riskUnitCount", render: (text, record) => ( + { title: "较大隐患数", dataIndex: "largerHiddenNum", render: (text, record) => ( ) }, @@ -59,4 +56,4 @@ function List(props) { ); } -export default Connect([NS_CONFIRM], true)(Permission(List)); +export default Connect([NS_MAJOR_HIDDEN], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/MajorHidden/HiddenView/index.js b/src/pages/Container/Supervision/MajorHidden/HiddenView/index.js index 1129804..b049ed0 100644 --- a/src/pages/Container/Supervision/MajorHidden/HiddenView/index.js +++ b/src/pages/Container/Supervision/MajorHidden/HiddenView/index.js @@ -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 ( - - + setHiddenData(data)} /> + ); } diff --git a/src/pages/index.js b/src/pages/index.js index 64c36bb..7dfbeae 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -1,4 +1,5 @@ export default function () { + console.log("KEY =", process.env.OPENAI_API_KEY); return (

底座微应用模板,技术文档: