import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Button, Form, message, Space } from "antd"; import { useEffect, useState } from "react"; import FormBuilder from "zy-react-library/components/FormBuilder"; import Page from "zy-react-library/components/Page"; import { getOrgInfoDetail } from "~/api/enterpriseInfo/orgBootstrap"; import PageHeader from "../components/PageHeader"; import { NS_ORG_INFO } from "~/enumerate/namespace"; import { mockUploadFileList } from "~/utils/mockUpload"; import { buildOrgInfoFormOptions } from "./formOptions"; function OrgInfoPage(props) { const [form] = Form.useForm(); const [editing, setEditing] = useState(true); const [submitting, setSubmitting] = useState(false); const [detail, setDetail] = useState({}); /** 是否已存在机构数据(有 id 视为已入库,只能修改) */ const [hasExistingData, setHasExistingData] = useState(false); const formOptions = buildOrgInfoFormOptions(); const loadDetail = async () => { try { const res = getOrgInfoDetail(); if (res?.data?.id) { setDetail(res.data); form.setFieldsValue(res.data); setHasExistingData(true); setEditing(false); } else { setDetail({}); setHasExistingData(false); setEditing(true); form.setFieldsValue({ filingType: "确认备案", filingRecordStatus: "未备案", attachments: mockUploadFileList("资质申请书.pdf"), }); } } catch (err) { console.warn("[OrgInfo] loadDetail failed:", err); setDetail({}); setHasExistingData(false); setEditing(true); } }; useEffect(() => { loadDetail(); }, []); const handleCancelEdit = () => { if (hasExistingData) { form.setFieldsValue(detail); setEditing(false); } else { form.resetFields(); } }; const handleSave = async (submitType) => { try { const values = await form.validateFields(); setSubmitting(true); let request; if (hasExistingData) { // 已有数据:仅走修改接口 request = props.orgInfoSave; values.id = detail.id; } else { // 无数据:暂存、提交均走保存接口(草稿/已提交由 authStatusCode 区分) request = submitType === "draft" ? props.orgInfoDraft : props.orgInfoSave; } const res = await request(values); if (res?.success !== false) { message.success( hasExistingData ? "修改成功" : (submitType === "draft" ? "暂存成功" : "提交成功"), ); setEditing(false); loadDetail(); } } catch (err) { if (err?.errorFields) { return; } message.error(hasExistingData ? "修改失败,请稍后重试" : "保存失败,请稍后重试"); } finally { setSubmitting(false); } }; return ( setEditing(true)}> 修改 )} /> {editing && (
{!hasExistingData && ( )}
)}
); } export default Connect([NS_ORG_INFO], true)(OrgInfoPage);