From 77c372f6151d31187edcd1d5db2ce53975787462 Mon Sep 17 00:00:00 2001 From: tangjie <122778500@qq.com> Date: Wed, 22 Jul 2026 17:59:55 +0800 Subject: [PATCH] feat --- src/api/safetyEvalBusiness/index.js | 2 +- src/components/OrgInfoGuard/index.js | 1 + .../CustomerManage/index.js | 1 + .../ProjectFlow/ContractContent.js | 359 ++++++++++++++---- .../ProjectFlow/RiskAnalysisContent.js | 12 +- src/pages/Container/index copy.js | 101 ----- 6 files changed, 295 insertions(+), 181 deletions(-) delete mode 100644 src/pages/Container/index copy.js diff --git a/src/api/safetyEvalBusiness/index.js b/src/api/safetyEvalBusiness/index.js index 6251ce7..a170469 100644 --- a/src/api/safetyEvalBusiness/index.js +++ b/src/api/safetyEvalBusiness/index.js @@ -62,7 +62,7 @@ export const evalProjectSave = declareRequest( export const evalProjectDetail = declareRequest( "evalProjectDetailLoading", "Get > /safetyEval/institution/eval-project/get", - 'evalProjectDetail: {} | res.data || {}', + 'evalProjectDetailData: {} | res.data || {}', ); export const evalProjectDelete = declareRequest( diff --git a/src/components/OrgInfoGuard/index.js b/src/components/OrgInfoGuard/index.js index 203b66f..dcf788c 100644 --- a/src/components/OrgInfoGuard/index.js +++ b/src/components/OrgInfoGuard/index.js @@ -15,6 +15,7 @@ function OrgInfoGuard(props) { if (res?.data?.id) { // 下方两行切勿更换顺序 sessionStorage.setItem("orgInfoId", res?.data?.id); + sessionStorage.setItem("orgInfo", JSON.stringify(res?.data)); setOrgInfoId(res?.data?.id); } else { props.history.push("/container/EnterpriseInfo/OrgInfo"); diff --git a/src/pages/Container/SafetyEvalBusiness/CustomerManage/index.js b/src/pages/Container/SafetyEvalBusiness/CustomerManage/index.js index 673d9b9..7084f29 100644 --- a/src/pages/Container/SafetyEvalBusiness/CustomerManage/index.js +++ b/src/pages/Container/SafetyEvalBusiness/CustomerManage/index.js @@ -11,6 +11,7 @@ import { message, Descriptions, Flex, + Tag, Space, } from "antd"; import { PlusOutlined } from "@ant-design/icons"; diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ContractContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ContractContent.js index 53c5c6e..4e6fd6d 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ContractContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ContractContent.js @@ -5,6 +5,7 @@ import { Card, Form, Input, + InputNumber, Select, DatePicker, Row, @@ -16,6 +17,8 @@ import { import dayjs from "dayjs"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; +import { district } from "~/enumerate/constant"; +import { phoneRule } from "~/utils/validators"; import { tools } from "@cqsjjb/jjb-common-lib"; import AttachmentUpload from "~/components/AttachmentUpload"; @@ -41,56 +44,87 @@ const YES_NO_OPTIONS = [ const ContractContent = (props) => { const [form] = Form.useForm(); - const [loading, setLoading] = useState(false); - const [saving, setSaving] = useState(false); const projectId = router.query?.id; - const { safetyEvalBusiness, evalContractGet, evalContractSave } = props; - const { contractLoading } = safetyEvalBusiness || {}; + const { + safetyEvalBusiness, + evalContractGet, + evalContractSave, + customerDetail, + } = props; + const { contractLoading, contractSaveLoading, evalProjectDetailData } = + safetyEvalBusiness || {}; const fetchData = async () => { if (!projectId) return; - setLoading(true); - try { - const res = await evalContractGet({ projectId }); - if (res?.success !== false && res?.data) { + + const res = await evalContractGet({ projectId }); + if (res?.success !== false && res?.data) { + form.setFieldsValue({ + ...res.data, + contractStartDate: res.data.contractStartDate + ? dayjs(res.data.contractStartDate) + : undefined, + contractEndDate: res.data.contractEndDate + ? dayjs(res.data.contractEndDate) + : undefined, + }); + } else { + const orgInfo = JSON.parse(sessionStorage.getItem("orgInfo")); + + form.setFieldsValue({ + orgName: orgInfo?.unitName, + projectName: evalProjectDetailData?.projectName, + evalTypeCode: evalProjectDetailData?.evalTypeCode, + projectRegion: evalProjectDetailData?.districtCode, + }); + const customerRes = await customerDetail({ + id: evalProjectDetailData.customerId, + }); + if (customerRes?.success && customerRes?.data) { form.setFieldsValue({ - ...res.data, - contractStartDate: res.data.contractStartDate ? dayjs(res.data.contractStartDate) : undefined, - contractEndDate: res.data.contractEndDate ? dayjs(res.data.contractEndDate) : undefined, + enterpriseName: customerRes.data.customerName, + officeAddress: customerRes.data.businessAddress, + creditCode: customerRes.data.creditCode, + legalPerson: customerRes.data.legalRepresentative, + contactName: customerRes.data.principalName, + contactPhone: customerRes.data.principalPhone, }); } - } finally { - setLoading(false); } }; useEffect(() => { - fetchData(); - }, [projectId]); + if (evalProjectDetailData?.id) { + fetchData(); + } + }, [projectId, evalProjectDetailData?.id]); const handleSave = async () => { try { const values = await form.validateFields(); - setSaving(true); const { contractStartDate, contractEndDate, ...rest } = values; const res = await evalContractSave({ ...rest, projectId, - contractStartDate: contractStartDate ? contractStartDate.format("YYYY-MM-DD") : undefined, - contractEndDate: contractEndDate ? contractEndDate.format("YYYY-MM-DD") : undefined, + contractStartDate: contractStartDate + ? contractStartDate.format("YYYY-MM-DD") + : undefined, + contractEndDate: contractEndDate + ? contractEndDate.format("YYYY-MM-DD") + : undefined, + scanFileUrl: rest.scanFileUrl? JSON.stringify(rest.scanFileUrl) :undefined, }); if (res?.success !== false) { message.success("合同保存成功"); } } finally { - setSaving(false); } }; return ( - +
@@ -102,141 +136,295 @@ const ContractContent = (props) => {
- 合同基本信息} className="pf-section"> + 合同基本信息} + className="pf-section" + > - - + + - - + + - - + + - -