diff --git a/src/api/safetyEvalBusiness/index.js b/src/api/safetyEvalBusiness/index.js index c361b10..967a1c7 100644 --- a/src/api/safetyEvalBusiness/index.js +++ b/src/api/safetyEvalBusiness/index.js @@ -325,3 +325,11 @@ export const evalReportSpotcheckRectify = declareRequest( "evalReportSpotcheckRectifyLoading", "Post > @/safetyEval/institution/eval-report-spotcheck/rectify", ); + +// ===== 机构备案行业信息 ===== + +export const orgIndustryCodeList = declareRequest( + "orgIndustryCodeLoading", + "Get > /safetyEval/org-info/select/org/industry/code", + "orgIndustryCodeList: [] | res.data || []", +); diff --git a/src/pages/Container/QualApplication/FilingForm/index.js b/src/pages/Container/QualApplication/FilingForm/index.js index 665432f..ef5a89f 100644 --- a/src/pages/Container/QualApplication/FilingForm/index.js +++ b/src/pages/Container/QualApplication/FilingForm/index.js @@ -1,6 +1,6 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { tools } from "@cqsjjb/jjb-common-lib"; -import { Button, Form, message, Modal, Space, Spin, Tabs } from "antd"; +import { Button, Form, message, Modal, Space, Spin, Table, Tabs } from "antd"; import dayjs from "dayjs"; import { useCallback, useEffect, useRef, useState } from "react"; import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout"; @@ -12,9 +12,7 @@ import { FILING_MATERIAL_TEMPLATE } from "../filingMaterialTemplate"; import { fetchOrgPersonnelOptions, mapEquipRowToFilingEquipment, - mergeDetailFromForms, - } from "../filingPersist"; import { verifyFilingPrerequisites } from "../filingVerify"; @@ -36,13 +34,14 @@ const MODE_TITLE = { function FilingFormPage(props) { const query = router.query; const mode = query.mode; - + const [submitting, setSubmitting] = useState(false); const [activeStep, setActiveStep] = useState("basic"); const [detail, setDetail] = useState(null); const [personnelOptions, setPersonnelOptions] = useState([]); const [verifyOpen, setVerifyOpen] = useState(false); const [verifyResult, setVerifyResult] = useState(null); + const [verifyFailItems, setVerifyFailItems] = useState([]); const [basicForm] = Form.useForm(); const [commitmentForm] = Form.useForm(); @@ -84,7 +83,9 @@ function FilingFormPage(props) { const commitment = res?.data?.commitment || {}; commitmentForm.setFieldsValue({ ...commitment, - signDate: commitment.signDate ? dayjs(commitment.signDate) : undefined, + signDate: commitment.signDate + ? dayjs(commitment.signDate) + : undefined, }); }); } else { @@ -117,8 +118,6 @@ function FilingFormPage(props) { [syncCommitmentFromBasic], ); - - useEffect(() => { if (activeStep === "commitment") { syncCommitmentFromBasic(); @@ -157,12 +156,11 @@ function FilingFormPage(props) { setVerifyOpen(true); }; - const handleVerifyConfirm = async (config={}) => { - + const handleVerifyConfirm = async (config = {}) => { setSubmitting(true); const currentDetail = collectCurrentDetail(); - + const word = mode === "change" ? "Change" : ""; const body = { [`qualFiling${word}AddCmd`]: { @@ -178,13 +176,15 @@ function FilingFormPage(props) { delete params.materials; } if (params.personnelList) { - body[`qualFilingPersonnel${word}AddCmds`] = params.personnelList.map(item=>{ - return { - ...item, - personName: item.userName || item.personName, - sourcePersonnelId: item.sourcePersonnelId || item.id, - }; - }); + body[`qualFilingPersonnel${word}AddCmds`] = params.personnelList.map( + (item) => { + return { + ...item, + personName: item.userName || item.personName, + sourcePersonnelId: item.sourcePersonnelId || item.id, + }; + }, + ); delete params.personnelList; } if (params.equipmentList) { @@ -210,8 +210,12 @@ function FilingFormPage(props) { if (result?.success) { setVerifyOpen(false); - message.success(config.isSaveDraft ? "暂存成功" : "提交成功"); - props.history.goBack(); + if (Array.isArray(result.data) && result.data.length) { + setVerifyFailItems(result.data); + } else { + message.success(config.isSaveDraft ? "暂存成功" : "提交成功"); + props.history.goBack(); + } } setSubmitting(false); }; @@ -334,7 +338,9 @@ function FilingFormPage(props) { { key: "basic", label: "1. 基本信息备案", - children: , + children: ( + + ), forceRender: true, }, { @@ -397,23 +403,24 @@ function FilingFormPage(props) { history={props.history} previous extra={ - !readOnly && mode !== FILING_FORM_MODE.CHANGE ? ( - ) : null } > - - + + - + {stepIndex > 0 && ( } + > + + ); } diff --git a/src/pages/Container/SafetyEvalBusiness/EvalProject/Create/index.js b/src/pages/Container/SafetyEvalBusiness/EvalProject/Create/index.js index 8c19e54..82cfa30 100644 --- a/src/pages/Container/SafetyEvalBusiness/EvalProject/Create/index.js +++ b/src/pages/Container/SafetyEvalBusiness/EvalProject/Create/index.js @@ -18,7 +18,7 @@ import { tools } from "@cqsjjb/jjb-common-lib"; import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout"; import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { QUALIFICATION_INDUSTRY_OPTIONS } from "~/enumerate/enterpriseOptions"; +import { QUALIFICATION_INDUSTRY_OPTIONS_MAP } from "~/enumerate/enterpriseOptions"; import BaiduMapPicker from "~/components/BaiduMapPicker"; import { district } from "~/enumerate/constant"; import { phoneRule } from "~/utils/validators"; @@ -45,10 +45,12 @@ const EvalProjectCreate = (props) => { evalProjectSaveLoading, evalProjectDetailLoading, customerPage: customerList, + orgIndustryCodeList: industryCodes, } = props.safetyEvalBusiness; useEffect(() => { props.customerPage({ current: 1, size: 999 }); + props.orgIndustryCodeList(); }, []); useEffect(() => { @@ -308,9 +310,9 @@ const EvalProjectCreate = (props) => { rules={[{ required: true, message: "请选择所属行业" }]} >