From ad35026c7f09a5833c3dca09be0cbf46e106926f Mon Sep 17 00:00:00 2001 From: tangjie <122778500@qq.com> Date: Wed, 26 Aug 2026 16:16:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=91=8A=E7=BC=96=E5=88=B6=E6=94=AF?= =?UTF-8?q?=E6=8C=81pdf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jjb.config.js | 4 ++-- .../EvalProjectMonitor/Detail/index.js | 1 + .../SafetyEvalBusiness/ProjectFlow/index.js | 2 +- src/pages/Container/WpsEditor/index.js | 21 +++++++++++++++---- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/jjb.config.js b/jjb.config.js index 494cd85..ccd777e 100644 --- a/jjb.config.js +++ b/jjb.config.js @@ -13,8 +13,8 @@ module.exports = { //API_HOST: "http://localhost:80", // API_HOST: "http://192.168.0.134", - API_HOST: "http://192.168.0.150", //太浅 - // API_HOST: "https://gbs-gateway.qhdsafety.com", + //API_HOST: "http://192.168.0.150", //太浅 + API_HOST: "https://gbs-gateway.qhdsafety.com", // API_HOST: "http://192.168.0.103", //huwei }, production: { diff --git a/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js b/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js index b25ad76..aa4f16d 100644 --- a/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js +++ b/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js @@ -523,6 +523,7 @@ const EvalProjectMonitorDetail = (props) => { setWpsVisible(false)} fileId={wpsDoc?.fileId} + fileName={wpsDoc?.name} readOnly /> )} diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js index 5f127b0..ca97d61 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js @@ -271,7 +271,7 @@ const ProjectFlow = (props) => { destroyOnHidden /> {visible && ( - setVisible(false)} fileId={wpsDoc?.fileId} readOnly={readOnly || evalProjectDetailData?.archiveFlag === 1} /> + setVisible(false)} fileId={wpsDoc?.fileId} fileName={wpsDoc?.name} readOnly={readOnly || evalProjectDetailData?.archiveFlag === 1} /> )} ); diff --git a/src/pages/Container/WpsEditor/index.js b/src/pages/Container/WpsEditor/index.js index 050d2a6..0c646d3 100644 --- a/src/pages/Container/WpsEditor/index.js +++ b/src/pages/Container/WpsEditor/index.js @@ -24,11 +24,16 @@ import ErrorBoundary from "./ErrorBoundary"; const { router } = tools; const App = (props) => { - const { onCancel, safetyEvalBusiness, readOnly } = props; + const { onCancel, safetyEvalBusiness, readOnly, fileName } = props; const { createDocLoading, evalReportCompletePreparationLoading } = safetyEvalBusiness; const [expandedMap, setExpandedMap] = useState({}); const [fileId, setFileId] = useState(props.fileId); + // 当前文档类型:word / pdf,决定 SDK 初始化时使用的 officeType; + // 初始类型通过初始报告文件名(fileName)推断 + const [fileType, setFileType] = useState(() => + /\.pdf$/i.test(props.fileName || "") ? "pdf" : "word" + ); const [templateMap, setTemplateMap] = useState([]); const [uploading, setUploading] = useState(false); const sdkRef = useRef(null); @@ -73,12 +78,14 @@ const App = (props) => { if (!newFileId) { throw new Error(res?.errMessage || res?.message || "上传失败"); } + setFileType(/\.pdf$/i.test(file.name) ? "pdf" : "word"); setFileId(newFileId); + props.queryMyOrCreateDoc({ docxUrl: "", projectId:router.query.id, }); - message.success("Word 文件上传成功,已在编辑器中打开"); + message.success("文件上传成功,已在编辑器中打开"); }) .catch((e) => { message.error(e?.message || "上传失败,请重试"); @@ -107,7 +114,7 @@ const App = (props) => { const blobUrl = URL.createObjectURL(blob); const a = document.createElement("a"); a.href = blobUrl; - a.download = `安全评价报告_${fileId}.docx`; + a.download = `安全评价报告_${fileId}.${fileType === "pdf" ? "pdf" : "docx"}`; a.click(); URL.revokeObjectURL(blobUrl); message.success("下载成功"); @@ -151,7 +158,10 @@ const App = (props) => { try { const instance = WebOfficeSDK.init({ // 必填项 - officeType: WebOfficeSDK.OfficeType.Writer, + officeType: + fileType === "pdf" + ? WebOfficeSDK.OfficeType.Pdf + : WebOfficeSDK.OfficeType.Writer, appId: "AK20260805KPWYZJ", mount: document.getElementById("app-wps"), fileId: fileId, @@ -177,6 +187,7 @@ const App = (props) => { } })(); return () => { + console.log(sdkRef.current) sdkRef.current?.destroy(); window.removeEventListener("error", onWindowError, { capture: true }); window.removeEventListener("unhandledrejection", onWindowError, { capture: true }); @@ -364,6 +375,8 @@ const App = (props) => { return; } setFileId(fileId); + // 模板为 docx 文档,重置为 Word 类型 + setFileType("word"); }); }} >