import { request } from "@cqsjjb/jjb-common-lib/http"; import { Button, Descriptions, Divider, Space, Spin } from "antd"; import dayjs from "dayjs"; import { useEffect, useState } from "react"; import { HIDDEN_SOURCE_ENUM, HIDDEN_STATE_ENUM } from "../../../enum/hidden/gwj"; import { UPLOAD_FILE_TYPE_ENUM } from "../../../enum/uploadFile/gwj"; import useDownloadFile from "../../../hooks/useDownloadFile"; import useGetFile from "../../../hooks/useGetFile"; import useGetUrlQuery from "../../../hooks/useGetUrlQuery"; import { getFileName, getFileSuffix, getLabelName } from "../../../utils"; import HeaderBack from "../../HeaderBack"; import VideoIcon from "../../Icon/VideoIcon"; import PreviewImg from "../../PreviewImg"; import PreviewPdf from "../../PreviewPdf"; import Video from "../../Video"; /** * 隐患查看组件(港务局版本) */ function HiddenInfo(props) { const { id = "", idKey = "id", hiddenId = "", hiddenIdKey = "hiddenId", isShowHeaderBack = true, history = false, onGetData, } = props; const [info, setInfo] = useState({ hiddenUserPresetsCO: {}, hiddenRectifyUserCO: [], hiddenConfirmUserCO: [], hiddenAcceptUserCO: [], 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) { const afterRectificationImageFiles = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["4"], eqForeignKey: hiddenId || query[hiddenIdKey], }); setAfterRectificationImageFiles(afterRectificationImageFiles); for (let i = 0; i < info.hiddenRectifyUserCO.length; i++) { if ((info.hiddenRectifyUserCO[i].isRectificationScheme === 1 && info.hiddenRectifyUserCO[i].hiddenSchemeCO && Object.keys(info.hiddenRectifyUserCO[i].hiddenSchemeCO).length > 0)) { const rectificationPlanImageFiles = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["8"], eqForeignKey: hiddenId || query[hiddenIdKey], }); setRectificationPlanImageFiles(prevState => [...prevState, ...rectificationPlanImageFiles]); } } } if (info.isQualified === 1 && (info.hiddenAcceptUserCO && info.hiddenAcceptUserCO.length > 0)) { for (let i = 0; i < info.hiddenAcceptUserCO.length; i++) { const acceptImageFiles = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["5"], eqForeignKey: hiddenId || query[hiddenIdKey], }); 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(!history ? `/hidden/hidden/${id || query[idKey]}` : `/hidden/hidden/history/${id || query[idKey]}`, "get").then((res) => { setInfo(res.data); getFileData(res.data); setLoading(false); onGetData?.(res.data); }); }; useEffect(() => { getData(); }, [props.id, props.hiddenId]); return (