import { useState, useEffect, useRef } from "react"; import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout"; import { Flex, Button, Tabs, Input, Tag, Progress, Typography, message, } from "antd"; import { ArrowLeftOutlined } from "@ant-design/icons"; import WebOfficeSDK from "~/web-office-sdk-solution-v2.0.7/web-office-sdk-solution-v2.0.7.es.js"; import { createPortal } from "react-dom"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; import "./index.less"; const App = (props) => { const { onCancel, safetyEvalBusiness } = props; const { createDocLoading } = safetyEvalBusiness; const [expandedMap, setExpandedMap] = useState({}); const [fileId, setFileId] = useState(props.fileId); const [templateMap, setTemplateMap] = useState([]); const sdkRef = useRef(null); useEffect(() => { props.fetchWpsDocTemplate().then((res) => { if (res?.data) { const list = Object.entries(res.data).map(([name, url]) => ({ name, url, })); setTemplateMap(list); } }); }, []); const handleSave = async () => { if (!sdkRef.current) { message.warning("文档尚未加载完成"); return; } await sdkRef.current.save(); message.success("保存成功"); }; const toggleExpand = (index) => { setExpandedMap((prev) => ({ ...prev, [index]: !prev[index] })); }; useEffect(() => { (async function () { const instance = WebOfficeSDK.init({ // 必填项 officeType: WebOfficeSDK.OfficeType.Writer, appId: "SX20260717TSGKEA", mount: document.getElementById("app-sbsb"), fileId: fileId, token: sessionStorage.getItem("token"), }); await instance.ready(); sdkRef.current = instance; })(); }, [fileId]); return (