From a7fe1e31e41bd32949c82238780836f87521b2c6 Mon Sep 17 00:00:00 2001 From: tangjie <122778500@qq.com> Date: Mon, 10 Aug 2026 14:34:25 +0800 Subject: [PATCH] fix --- .../QualificationReview/FilingTabs/index.js | 26 +++++++++----- .../BasicInfo/RegisteredOrg/Detail/index.js | 35 ++++++++++++------- 2 files changed, 40 insertions(+), 21 deletions(-) diff --git a/src/pages/Container/QualificationReview/FilingTabs/index.js b/src/pages/Container/QualificationReview/FilingTabs/index.js index e13a42d..b0a615d 100644 --- a/src/pages/Container/QualificationReview/FilingTabs/index.js +++ b/src/pages/Container/QualificationReview/FilingTabs/index.js @@ -3,7 +3,6 @@ import { Button, Image, Input, Modal, Select, Table, Tabs, Tag } from "antd"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { NS_QUAL_REVIEW } from "~/enumerate/namespace"; import StaffViewModal from "~/components/StaffViewModal"; -import FilePreviewModal from "~/components/FilePreviewModal"; import PreviewUrlButton from "~/components/PreviewUrlButton/index"; import { QUALIFICATION_INDUSTRY_OPTIONS, QUALIFICATION_INDUSTRY_OPTIONS_MAP } from "~/enumerate/enterpriseOptions"; import { CAPABILITY_MAP } from "~/enumerate/constant"; @@ -128,7 +127,7 @@ const FilingTabs = ({ }) => { const [viewId, setViewId] = useState(""); const [equipRecord, setEquipRecord] = useState(null); - const [previewFile, setPreviewFile] = useState(null); + const [previewImage, setPreviewImage] = useState(""); const personnelRows = useMemo( () => @@ -174,7 +173,15 @@ const FilingTabs = ({ })); }, [detail.businessScope]); - const openPreview = (file) => setPreviewFile(file || null); + const openPreview = (file) => { + const url = file?.url; + if (!url) return; + if (/\.(jpe?g|png|gif|webp|bmp)(\?|#|$)/i.test(`${file.name || ""} ${url}`.toLowerCase())) { + setPreviewImage(url); + } else { + window.open(url, "_blank"); + } + }; /** 人员表格列(管理/评价师共用基础) */ const basePersonCols = (withScope) => [ @@ -526,12 +533,13 @@ const FilingTabs = ({ setEquipRecord(null)} /> - setPreviewFile(null)} + !v && setPreviewImage(""), + }} + style={{ display: "none" }} /> ); diff --git a/src/pages/Container/Supervision/BasicInfo/RegisteredOrg/Detail/index.js b/src/pages/Container/Supervision/BasicInfo/RegisteredOrg/Detail/index.js index 377fc0e..cee90d8 100644 --- a/src/pages/Container/Supervision/BasicInfo/RegisteredOrg/Detail/index.js +++ b/src/pages/Container/Supervision/BasicInfo/RegisteredOrg/Detail/index.js @@ -1,5 +1,6 @@ import { Button, + Image, Input, Spin, Table, @@ -15,7 +16,6 @@ import { fetchRegisteredOrgQualificationGroups, } from "~/utils/regulatorOrgInfo"; import { QUALIFICATION_INDUSTRY_OPTIONS_MAP } from "~/enumerate/enterpriseOptions"; -import FilePreviewModal from "~/components/FilePreviewModal"; import StaffViewModal from "~/components/StaffViewModal"; const LIST_PATH = "/container/supervision/basicInfo/registeredOrg/list"; @@ -129,10 +129,20 @@ function RegisteredOrgDetailPage(props) { const [info, setInfo] = useState({}); const [personnel, setPersonnel] = useState([]); const [materials, setMaterials] = useState([]); - const [previewFile, setPreviewFile] = useState(null); + const [previewImage, setPreviewImage] = useState(""); const [viewPersonnelId, setViewPersonnelId] = useState(""); const mockEnabled = getOrgMockEnabled(); + const openPreview = (file) => { + const url = file?.url; + if (!url) return; + if (/\.(jpe?g|png|gif|webp|bmp)(\?|#|$)/i.test(`${file.name || ""} ${url}`.toLowerCase())) { + setPreviewImage(url); + } else { + window.open(url, "_blank"); + } + }; + useEffect(() => { if (!id) { setOrgLoading(false); @@ -320,7 +330,7 @@ function RegisteredOrgDetailPage(props) { size="small" onClick={() => { const first = (info.attachmentUrl || [])[0]; - setPreviewFile({ + openPreview({ name: first.name || "营业执照", url: first.url || (typeof first === "string" ? first : ""), }); @@ -456,7 +466,7 @@ function RegisteredOrgDetailPage(props) { title: "操作", width: 80, render: (_, record) => ( - ), @@ -520,7 +530,7 @@ function RegisteredOrgDetailPage(props) {
{commitment.legalRepSignatureUrl ? ( - ) : ( @@ -557,7 +567,7 @@ function RegisteredOrgDetailPage(props) { title: "操作", width: 110, render: (_, record) => ( - ), @@ -591,12 +601,13 @@ function RegisteredOrgDetailPage(props) { /> )} - setPreviewFile(null)} + !v && setPreviewImage(""), + }} + style={{ display: "none" }} /> );