From b8624ae3df279a923471351d5161085fe7c20a85 Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Wed, 24 Dec 2025 09:36:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=9B=B8=E5=85=B3=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/api/ledger/index.js | 8 + .../Average/Confirm/Review/index.js | 263 +++++++++--------- .../BranchCompany/Average/Ledger/Add/index.js | 240 +++++++++------- .../Average/Rectification/Review/index.js | 139 +++++---- .../Average/SpecialDisposal/Review/index.js | 110 ++++---- 6 files changed, 421 insertions(+), 341 deletions(-) diff --git a/package.json b/package.json index 069aa3a..1abfcde 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-to-print": "^3.2.0", - "zy-react-library": "^1.0.176" + "zy-react-library": "^1.0.178" }, "devDependencies": { "@antfu/eslint-config": "^5.4.1", diff --git a/src/api/ledger/index.js b/src/api/ledger/index.js index 8da40ae..017da81 100644 --- a/src/api/ledger/index.js +++ b/src/api/ledger/index.js @@ -28,3 +28,11 @@ export const hiddenAiRecognize = declareRequest( "ledgerLoading", `Post > @/hidden/hidden/aiHidden`, ); +export const xgfProjectList = declareRequest( + "xgfProjectLoading", + `Get > /xgfManager/project/listAllByCorp`, +); +export const xgfProjectInfo = declareRequest( + "xgfProjectLoading", + `Get > /xgfManager/project/{id}`, +); diff --git a/src/pages/Container/BranchCompany/Average/Confirm/Review/index.js b/src/pages/Container/BranchCompany/Average/Confirm/Review/index.js index aa4b503..a26c441 100644 --- a/src/pages/Container/BranchCompany/Average/Confirm/Review/index.js +++ b/src/pages/Container/BranchCompany/Average/Confirm/Review/index.js @@ -1,6 +1,6 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Button, Divider, Form, message, Modal } from "antd"; -import { useState } from "react"; +import { useRef, useState } from "react"; import FormBuilder from "zy-react-library/components/FormBuilder"; import HeaderBack from "zy-react-library/components/HeaderBack"; import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj"; @@ -8,17 +8,140 @@ import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj"; import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj"; import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj"; import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; -import { NS_CONFIRM } from "~/enumerate/namespace"; +import { NS_CONFIRM, NS_LEDGER } from "~/enumerate/namespace"; function Confirm(props) { - const [data, setData] = useState({}); - // 是否来自安全环保检查 - const [isFromInspection, setIsFromInspection] = useState(false); const [form] = Form.useForm(); const hiddenLevel = Form.useWatch("hiddenLevel", form); const deptId = Form.useWatch("deptId", form); const checkDeptId = Form.useWatch("checkDeptId", form); + + const [data, setData] = useState({}); const [rejectModalOpen, setRejectModalOpen] = useState(false); + // 是否来自安全环保检查 + const [isFromInspection, setIsFromInspection] = useState(false); + + const xgfProjectInfo = useRef({}); + + const getXgfProjectInfo = async (id) => { + const { data } = await props["xgfProjectInfo"]({ id }); + xgfProjectInfo.current = data; + }; + + const decideOption = () => { + const commonDeptUserFields = [ + ...( + data.isRelated === 0 + ? [ + { + name: "deptId", + label: "整改部门", + render: ( + { + form.setFieldValue("userId", ""); + form.setFieldValue("userName", ""); + }} + onGetLabel={(label) => { + form.setFieldValue("deptName", label); + }} + /> + ), + }, + { name: "deptName", label: "整改部门名称", onlyForLabel: true }, + { + name: "userId", + label: "整改人", + render: ( + form.setFieldValue("userName", label)} + /> + ), + }, + { name: "userName", label: "整改人名称", onlyForLabel: true }, + ] + : [ + { name: "deptName", label: "整改单位", componentProps: { disabled: true } }, + { name: "deptId", label: "整改单位id", onlyForLabel: true }, + { name: "userName", label: "整改人", componentProps: { disabled: true } }, + { name: "userId", label: "整改人id", onlyForLabel: true }, + ] + ), + ]; + if (hiddenLevel !== "hiddenLevel1001") { + if (data.rectificationType === 2) { + return [ + ...commonDeptUserFields, + { name: "rectificationDeadline", label: "整改完成期限", render: FORM_ITEM_RENDER_ENUM.DATE, span: 24 }, + ]; + } + else { + return [ + { + name: "rectificationType", + label: "是否立即整改", + render: FORM_ITEM_RENDER_ENUM.RADIO, + items: [{ bianma: 1, name: "是" }, { bianma: 2, name: "否" }], + span: 24, + componentProps: { + onChange: () => { + if (data.isRelated === 0) { + form.setFieldValue("checkDeptName", ""); + form.setFieldValue("checkUserName", ""); + } + }, + }, + }, + ...commonDeptUserFields, + { + name: "rectificationDeadline", + label: "整改完成期限", + render: FORM_ITEM_RENDER_ENUM.DATE, + span: 24, + dependencies: ["rectificationType"], + hidden: formValues => !(formValues.rectificationType === 2), + }, + { + name: "checkDeptId", + label: "验收部门", + required: false, + dependencies: ["rectificationType"], + hidden: formValues => !(formValues.rectificationType === 1), + render: ( + { + form.setFieldValue("checkUserId", ""); + form.setFieldValue("checkUserName", ""); + }} + onGetLabel={(label) => { + form.setFieldValue("checkDeptName", label); + }} + /> + ), + }, + { name: "checkDeptName", label: "验收部门名称", onlyForLabel: true }, + { + name: "checkUserId", + label: "验收人", + required: false, + dependencies: ["rectificationType"], + hidden: formValues => !(formValues.rectificationType === 1), + render: ( + form.setFieldValue("checkUserName", label)} + /> + ), + }, + { name: "checkUserName", label: "验收人名称", onlyForLabel: true }, + ]; + } + } + return []; + }; const onSubmit = (values) => { Modal.confirm({ @@ -47,6 +170,7 @@ function Confirm(props) { isShowHeaderBack={false} onGetData={(data) => { setData(data); + data.isRelated === 1 && getXgfProjectInfo(data.projectId); setIsFromInspection(data.source === 4 || data.source === 5); const hiddenUserPresetsCO = data.hiddenUserPresetsCO || {}; form.setFieldValue("deptId", hiddenUserPresetsCO.rectifyDeptId || data.hiddenFindDept); @@ -102,132 +226,7 @@ function Confirm(props) { ] : []), { name: "hiddenLevelName", label: "隐患级别名称", onlyForLabel: true }, - ...( - hiddenLevel !== "hiddenLevel1001" - ? [ - ...( - data.rectificationType === 2 - ? [ - { - name: "deptId", - label: "整改负责人部门", - render: ( - { - form.setFieldValue("userId", ""); - form.setFieldValue("userName", ""); - }} - onGetLabel={(label) => { - form.setFieldValue("deptName", label); - }} - /> - ), - }, - { name: "deptName", label: "整改负责人部门名称", onlyForLabel: true }, - { - name: "userId", - label: "整改负责人", - render: ( - form.setFieldValue("userName", label)} - /> - ), - }, - { name: "userName", label: "整改负责人名称", onlyForLabel: true }, - { - name: "rectificationDeadline", - label: "整改完成期限", - render: FORM_ITEM_RENDER_ENUM.DATE, - span: 24, - }, - ] - : [ - { - name: "rectificationType", - label: "是否立即整改", - render: FORM_ITEM_RENDER_ENUM.RADIO, - items: [{ bianma: 1, name: "是" }, { bianma: 2, name: "否" }], - span: 24, - componentProps: { - onChange: () => { - form.setFieldValue("checkDeptName", ""); - form.setFieldValue("checkUserName", ""); - }, - }, - }, - { - name: "deptId", - label: "整改负责人部门", - render: ( - { - form.setFieldValue("userId", ""); - form.setFieldValue("userName", ""); - }} - onGetLabel={(label) => { - form.setFieldValue("deptName", label); - }} - /> - ), - }, - { name: "deptName", label: "整改负责人部门名称", onlyForLabel: true }, - { - name: "userId", - label: "整改负责人", - render: ( - form.setFieldValue("userName", label)} - /> - ), - }, - { name: "userName", label: "整改负责人名称", onlyForLabel: true }, - { - name: "rectificationDeadline", - label: "整改完成期限", - render: FORM_ITEM_RENDER_ENUM.DATE, - span: 24, - dependencies: ["rectificationType"], - hidden: formValues => !(formValues.rectificationType === 2), - }, - { - name: "checkDeptId", - label: "验收部门", - required: false, - dependencies: ["rectificationType"], - hidden: formValues => !(formValues.rectificationType === 1), - render: ( - { - form.setFieldValue("checkUserId", ""); - form.setFieldValue("checkUserName", ""); - }} - onGetLabel={(label) => { - form.setFieldValue("checkDeptName", label); - }} - /> - ), - }, - { name: "checkDeptName", label: "验收部门名称", onlyForLabel: true }, - { - name: "checkUserId", - label: "验收人", - required: false, - dependencies: ["rectificationType"], - hidden: formValues => !(formValues.rectificationType === 1), - render: ( - form.setFieldValue("checkUserName", label)} - /> - ), - }, - { name: "checkUserName", label: "验收人名称", onlyForLabel: true }, - ]), - ] - : [] - ), + ...decideOption(), ]} /> ) @@ -280,4 +279,4 @@ const RejectModalComponent = (props) => { }; const RejectModal = Connect([NS_CONFIRM], true)(RejectModalComponent); -export default Connect([NS_CONFIRM], true)(Confirm); +export default Connect([NS_CONFIRM, NS_LEDGER], true)(Confirm); diff --git a/src/pages/Container/BranchCompany/Average/Ledger/Add/index.js b/src/pages/Container/BranchCompany/Average/Ledger/Add/index.js index bd465ac..6fad6b9 100644 --- a/src/pages/Container/BranchCompany/Average/Ledger/Add/index.js +++ b/src/pages/Container/BranchCompany/Average/Ledger/Add/index.js @@ -32,18 +32,21 @@ function Add(props) { const checkDeptId = Form.useWatch("checkDeptId", form); const isAi = Form.useWatch("isAi", form); const isRelated = Form.useWatch("isRelated", form); - const defaultValues = { isRelated: "0", rectificationType: 2 }; + const defaultValues = { isRelated: 0, rectificationType: 2 }; const [aiHiddens, setAiHiddens] = useState([]); const [aiHiddenModalOpen, setAiHiddenModalOpen] = useState(false); - const [selectHiddens, setSelectHiddens] = useState([]); - const [currentProcessHiddenIndex, setCurrentProcessHiddenIndex] = useState(-1); const [imageSelectModalOpen, setImageSelectModalOpen] = useState(false); - const processedImageUids = useRef([]); const [uploadedImages, setUploadedImages] = useState([]); const [modalTitle, setModalTitle] = useState("选择图片进行AI识别"); const [isShowAiButton, setIsShowAiButton] = useState(true); - const [userInfo, setUserInfo] = useState({}); + const [xgfProjectList, setXgfProjectList] = useState([]); + + const userInfo = useRef({}); + const selectHiddens = useRef([]); + const currentProcessHiddenIndex = useRef(-1); + const processedImageUids = useRef([]); + const xgfProjectInfo = useRef({}); const [hiddenPartType, setHiddenPartType] = useState("select"); const [confirmUserList, setConfirmUserList] = useState([]); @@ -90,17 +93,15 @@ function Add(props) { // checkUserId: hiddenAcceptUserCO.userId, // checkUserName: hiddenAcceptUserCO.userName, rectificationDescr: hiddenRectifyUserCO.descr, - isRelated: data.isRelated.toString(), }); } else { - const userInfo = await getUserInfo(); - setUserInfo(userInfo); + userInfo.current = await getUserInfo(); form.setFieldsValue({ - hiddenFindDept: userInfo.departmentId, - creatorId: userInfo.id, - hiddenFindDeptName: userInfo.departmentName, - creatorName: userInfo.name, + hiddenFindDept: userInfo.current.departmentId, + creatorId: userInfo.current.id, + hiddenFindDeptName: userInfo.current.departmentName, + creatorName: userInfo.current.name, }); } }; @@ -110,14 +111,25 @@ function Add(props) { setConfirmUserList(data); }; + const getXgfProjectList = async () => { + const { data } = await props["xgfProjectList"](); + setXgfProjectList(data); + }; + + const getXgfProjectInfo = async (id) => { + const { data } = await props["xgfProjectInfo"]({ id }); + xgfProjectInfo.current = data; + }; + useEffect(() => { getData(); getConfirmUserList(); + getXgfProjectList(); }, []); const clearHiddenRecognizeState = () => { - setSelectHiddens([]); - setCurrentProcessHiddenIndex(-1); + selectHiddens.current = []; + currentProcessHiddenIndex.current = -1; form.setFieldValue("isAi", ""); form.setFieldValue("hiddenDesc", ""); form.setFieldValue("legalBasis", ""); @@ -192,8 +204,8 @@ function Add(props) { ]); }; const isExistNextOneHidden = () => { - if (currentProcessHiddenIndex !== -1) - return currentProcessHiddenIndex !== selectHiddens.length - 1; + if (currentProcessHiddenIndex.current !== -1) + return currentProcessHiddenIndex.current !== selectHiddens.current.length - 1; return false; }; const onSubmit = async (values) => { @@ -240,7 +252,7 @@ function Add(props) { if (success) { message.success("操作成功"); if (isExistNextOneHidden()) { - setCurrentProcessHiddenIndex(currentProcessHiddenIndex + 1); + currentProcessHiddenIndex.current = currentProcessHiddenIndex.current + 1; setIsShowAiButton(false); const currentValues = form.getFieldsValue(); const hiddenImageFiles = form.getFieldValue("hiddenImageFiles"); @@ -254,13 +266,13 @@ function Add(props) { hiddenImageFiles, }); form.setFieldValue("isAi", 1); - form.setFieldValue("hiddenDesc", selectHiddens[currentProcessHiddenIndex + 1].hiddenDescr); - form.setFieldValue("legalBasis", selectHiddens[currentProcessHiddenIndex + 1].legalBasis); - form.setFieldValue("rectificationDescr", selectHiddens[currentProcessHiddenIndex + 1].rectificationSuggestions); - form.setFieldValue("hiddenFindDept", userInfo.departmentId); - form.setFieldValue("creatorId", userInfo.id); - form.setFieldValue("hiddenFindDeptName", userInfo.departmentName); - form.setFieldValue("creatorName", userInfo.name); + form.setFieldValue("hiddenDesc", selectHiddens.current[currentProcessHiddenIndex.current + 1].hiddenDescr); + form.setFieldValue("legalBasis", selectHiddens.current[currentProcessHiddenIndex.current + 1].legalBasis); + form.setFieldValue("rectificationDescr", selectHiddens.current[currentProcessHiddenIndex.current + 1].rectificationSuggestions); + form.setFieldValue("hiddenFindDept", userInfo.current.departmentId); + form.setFieldValue("creatorId", userInfo.current.id); + form.setFieldValue("hiddenFindDeptName", userInfo.current.departmentName); + form.setFieldValue("creatorName", userInfo.current.name); } else { props.history.goBack(); @@ -372,7 +384,7 @@ function Add(props) { name: "isRelated", label: "是否相关方", render: FORM_ITEM_RENDER_ENUM.RADIO, - items: IS_RELATED_ENUM, + items: IS_RELATED_ENUM.map(item => ({ ...item, bianma: +item.bianma })), componentProps: { onChange: () => { form.setFieldValue("projectName", ""); @@ -380,10 +392,7 @@ function Add(props) { form.setFieldValue("rectificationDeptName", ""); form.setFieldValue("rectificationUserId", ""); form.setFieldValue("rectificationUserName", ""); - form.setFieldValue("checkDeptId", ""); - form.setFieldValue("checkDeptName", ""); - form.setFieldValue("checkUserId", ""); - form.setFieldValue("checkUserName", ""); + xgfProjectInfo.current = {}; }, }, }, @@ -391,15 +400,26 @@ function Add(props) { name: "projectId", label: "相关方项目", dependencies: ["isRelated"], - hidden: formValues => !(formValues.isRelated === "1"), + hidden: formValues => !(formValues.isRelated === 1), render: FORM_ITEM_RENDER_ENUM.SELECT, - items: [{ bianma: 1, name: "相关方未做" }, { bianma: 2, name: "后期补全" }], // TODO + items: xgfProjectList, + itemsField: { + valueKey: "id", + labelKey: "projectName", + }, componentProps: { - onChange: (value) => { + onChange: async (value) => { form.setFieldValue("projectName", getLabelName({ - list: [], + list: xgfProjectList, status: value, + idKey: "id", + nameKey: "projectName", })); + await getXgfProjectInfo(value); + form.setFieldValue("rectificationDeptId", xgfProjectInfo.current.corpinfoId); + form.setFieldValue("rectificationUserId", xgfProjectInfo.current.userId); + form.setFieldValue("rectificationDeptName", xgfProjectInfo.current.corpinfoName); + form.setFieldValue("rectificationUserName", xgfProjectInfo.current.userName); }, }, }, @@ -511,13 +531,21 @@ function Add(props) { componentProps: { onChange: (value) => { if (isAi === 1) { - form.setFieldValue("rectificationDescr", selectHiddens[currentProcessHiddenIndex + 1].rectificationSuggestions); + form.setFieldValue("rectificationDescr", selectHiddens.current[currentProcessHiddenIndex.current + 1].rectificationSuggestions); } if (value.target.value === 2) { - form.setFieldValue("rectificationDeptId", ""); - form.setFieldValue("rectificationUserId", ""); - form.setFieldValue("rectificationDeptName", ""); - form.setFieldValue("rectificationUserName", ""); + if (isRelated === 0) { + form.setFieldValue("rectificationDeptId", ""); + form.setFieldValue("rectificationUserId", ""); + form.setFieldValue("rectificationDeptName", ""); + form.setFieldValue("rectificationUserName", ""); + } + else { + form.setFieldValue("rectificationDeptId", xgfProjectInfo.current.corpinfoId); + form.setFieldValue("rectificationUserId", xgfProjectInfo.current.userId); + form.setFieldValue("rectificationDeptName", xgfProjectInfo.current.corpinfoName); + form.setFieldValue("rectificationUserName", xgfProjectInfo.current.userName); + } form.setFieldValue("checkDeptName", ""); form.setFieldValue("checkUserName", ""); } @@ -526,12 +554,20 @@ function Add(props) { const creatorId = form.getFieldValue("creatorId"); const hiddenFindDeptName = form.getFieldValue("hiddenFindDeptName"); const creatorName = form.getFieldValue("creatorName"); - form.setFieldValue("rectificationDeptId", hiddenFindDept); - form.setFieldValue("rectificationUserId", creatorId); + if (isRelated === 0) { + form.setFieldValue("rectificationDeptId", hiddenFindDept); + form.setFieldValue("rectificationUserId", creatorId); + form.setFieldValue("rectificationDeptName", hiddenFindDeptName); + form.setFieldValue("rectificationUserName", creatorName); + } + else { + form.setFieldValue("rectificationDeptId", xgfProjectInfo.current.corpinfoId); + form.setFieldValue("rectificationUserId", xgfProjectInfo.current.userId); + form.setFieldValue("rectificationDeptName", xgfProjectInfo.current.corpinfoName); + form.setFieldValue("rectificationUserName", xgfProjectInfo.current.userName); + } form.setFieldValue("checkDeptId", hiddenFindDept); form.setFieldValue("checkUserId", creatorId); - form.setFieldValue("rectificationDeptName", hiddenFindDeptName); - form.setFieldValue("rectificationUserName", creatorName); form.setFieldValue("checkDeptName", hiddenFindDeptName); form.setFieldValue("checkUserName", creatorName); } @@ -568,65 +604,60 @@ function Add(props) { dependencies: ["rectificationType"], hidden: formValues => !(formValues.rectificationType === 1), }, - { - name: "rectificationDeptId", - label: isRelated === "0" ? "整改部门" : "整改单位", - required: false, - render: ( - isRelated === "0" && ( - { - form.setFieldValue("rectificationUserId", ""); - form.setFieldValue("rectificationUserName", ""); - }} - onGetLabel={(label) => { - form.setFieldValue("rectificationDeptName", label); - }} - /> - ) - ), - componentProps: { - disabled: isRelated === "1", - }, - }, - { name: "rectificationDeptName", label: "整改部门名称", onlyForLabel: true }, - { - name: "rectificationUserId", - label: "整改人", - required: false, - render: ( - isRelated === "0" && ( - form.setFieldValue("rectificationUserName", label)} - /> - ) - ), - componentProps: { - disabled: isRelated === "1", - }, - }, - { name: "rectificationUserName", label: "整改人名称", onlyForLabel: true }, + ...( + isRelated === 0 + ? [ + { + name: "rectificationDeptId", + label: "整改部门", + required: false, + render: ( + { + form.setFieldValue("rectificationUserId", ""); + form.setFieldValue("rectificationUserName", ""); + }} + onGetLabel={(label) => { + form.setFieldValue("rectificationDeptName", label); + }} + /> + ), + }, + { name: "rectificationDeptName", label: "整改部门名称", onlyForLabel: true }, + { + name: "rectificationUserId", + label: "整改人", + required: false, + render: ( + form.setFieldValue("rectificationUserName", label)} + /> + ), + }, + { name: "rectificationUserName", label: "整改人名称", onlyForLabel: true }, + ] + : [ + { name: "rectificationDeptName", label: "整改单位", componentProps: { disabled: true } }, + { name: "rectificationDeptId", label: "整改单位id", onlyForLabel: true }, + { name: "rectificationUserName", label: "整改人", componentProps: { disabled: true } }, + { name: "rectificationUserId", label: "整改人id", onlyForLabel: true }, + ]), { name: "checkDeptId", - label: isRelated === "0" ? "验收部门" : "验收单位", + label: "验收部门", required: false, render: ( - isRelated === "0" && ( - { - form.setFieldValue("checkUserId", ""); - form.setFieldValue("checkUserName", ""); - }} - onGetLabel={(label) => { - form.setFieldValue("checkDeptName", label); - }} - /> - ) + { + form.setFieldValue("checkUserId", ""); + form.setFieldValue("checkUserName", ""); + }} + onGetLabel={(label) => { + form.setFieldValue("checkDeptName", label); + }} + /> ), - componentProps: { - disabled: isRelated === "1", - }, dependencies: ["rectificationType"], hidden: formValues => !(formValues.rectificationType === 1), }, @@ -636,16 +667,11 @@ function Add(props) { label: "验收人", required: false, render: ( - isRelated === "0" && ( - form.setFieldValue("checkUserName", label)} - /> - ) + form.setFieldValue("checkUserName", label)} + /> ), - componentProps: { - disabled: isRelated === "1", - }, dependencies: ["rectificationType"], hidden: formValues => !(formValues.rectificationType === 1), }, @@ -661,8 +687,8 @@ function Add(props) { setAiHiddenModalOpen(false); }} onConfirm={(selectedRows) => { - setSelectHiddens(selectedRows); - setCurrentProcessHiddenIndex(0); + selectHiddens.current = selectedRows; + currentProcessHiddenIndex.current = 0; form.setFieldValue("isAi", 1); form.setFieldValue("hiddenDesc", selectedRows[0].hiddenDescr); form.setFieldValue("legalBasis", selectedRows[0].legalBasis); diff --git a/src/pages/Container/BranchCompany/Average/Rectification/Review/index.js b/src/pages/Container/BranchCompany/Average/Rectification/Review/index.js index 63bd6d5..7e6358d 100644 --- a/src/pages/Container/BranchCompany/Average/Rectification/Review/index.js +++ b/src/pages/Container/BranchCompany/Average/Rectification/Review/index.js @@ -21,7 +21,9 @@ function Rectification(props) { const isRectificationScheme = Form.useWatch("isRectificationScheme", form); const hiddenUserAddCmds = Form.useWatch("hiddenUserAddCmds", form); const { loading: uploadFileLoading, uploadFile } = useUploadFile(); + const [data, setData] = useState({}); + const onSubmit = async (values) => { const { id: afterRectificationImageId } = await uploadFile({ single: false, @@ -80,6 +82,18 @@ function Rectification(props) { onGetData={(data) => { setData(data); form.setFieldValue("tempSafeMeasure", data.tempSafeMeasure); + if (data.isRelated === 0) { + form.setFieldValue("hiddenUserAddCmds", [ + { type: 300 }, + ]); + } + else { + const hiddenConfirmUserCO = data.hiddenConfirmUserCO?.[0] || {}; + const { deptName, deptId, userId, userName } = hiddenConfirmUserCO; + form.setFieldValue("hiddenUserAddCmds", [ + { type: 300, deptName, deptId, userId, userName }, + ]); + } }} /> 隐患整改 @@ -87,9 +101,6 @@ function Rectification(props) { }, - { - name: "hiddenUserAddCmds", - render: FORM_ITEM_RENDER_ENUM.FORM_LIST, - formListUniqueProps: { - addDefaultValue: { type: 300 }, - options: field => ([ - { - name: [field.name, "deptId"], - label: "验收部门", - span: 12, - render: ( - { - form.setFieldValue(["hiddenUserAddCmds", field.name, "userId"], ""); - form.setFieldValue(["hiddenUserAddCmds", field.name, "userName"], ""); - }} - onGetLabel={(label) => { - form.setFieldValue(["hiddenUserAddCmds", field.name, "deptName"], label); - }} - /> - ), - }, - { name: [field.name, "deptName"], deptName: "验收部门名称", onlyForLabel: true }, - { name: [field.name, "type"], deptName: "用户类型", onlyForLabel: true }, - { name: [field.name, "userName"], deptName: "验收人名称", onlyForLabel: true }, - { - name: [field.name, "userId"], - deptName: "验收人", - span: 12, - rules: [{ - validator: (_, value) => { - // 获取已存在的用户名 - const confirmUserName = data?.hiddenConfirmUserCO?.rectifyUserId; - const presetUserName = data?.hiddenUserPresetsCO?.rectifyUserId; + ...( + data.isRelated === 0 + ? [ + { + name: "hiddenUserAddCmds", + render: FORM_ITEM_RENDER_ENUM.FORM_LIST, + formListUniqueProps: { + addDefaultValue: { type: 300 }, + options: field => ([ + { + name: [field.name, "deptId"], + label: "验收部门", + span: 12, + render: ( + { + form.setFieldValue(["hiddenUserAddCmds", field.name, "userId"], ""); + form.setFieldValue(["hiddenUserAddCmds", field.name, "userName"], ""); + }} + onGetLabel={(label) => { + form.setFieldValue(["hiddenUserAddCmds", field.name, "deptName"], label); + }} + /> + ), + }, + { name: [field.name, "deptName"], deptName: "验收部门名称", onlyForLabel: true }, + { name: [field.name, "type"], deptName: "用户类型", onlyForLabel: true }, + { name: [field.name, "userName"], deptName: "验收人名称", onlyForLabel: true }, + { + name: [field.name, "userId"], + deptName: "验收人", + span: 12, + rules: [{ + validator: (_, value) => { + // 获取已存在的用户名 + const confirmUserName = data?.hiddenConfirmUserCO?.rectifyUserId; + const presetUserName = data?.hiddenUserPresetsCO?.rectifyUserId; - // 验证是否与已有用户名相同 - if (value && (value === confirmUserName || value === presetUserName)) { - return Promise.reject(new Error("验收人不能与整改人相同")); - } + // 验证是否与已有用户名相同 + if (value && (value === confirmUserName || value === presetUserName)) { + return Promise.reject(new Error("验收人不能与整改人相同")); + } - return Promise.resolve(); + return Promise.resolve(); + }, + }], + render: ( + form.setFieldValue(["hiddenUserAddCmds", field.name, "userName"], label)} + /> + ), + }, + ]), }, - }], - render: ( - form.setFieldValue(["hiddenUserAddCmds", field.name, "userName"], label)} - /> - ), - }, - ]), - }, - }, + }, + ] + : [ + { + name: "hiddenUserAddCmds", + render: FORM_ITEM_RENDER_ENUM.FORM_LIST, + formListUniqueProps: { + showAddButton: false, + showRemoveButton: false, + options: field => ([ + { name: [field.name, "deptName"], label: "验收部门", span: 12, componentProps: { disabled: true } }, + { name: [field.name, "deptId"], deptName: "验收部门id", onlyForLabel: true }, + { name: [field.name, "type"], deptName: "用户类型", onlyForLabel: true }, + { name: [field.name, "userId"], deptName: "验收人id", onlyForLabel: true }, + { name: [field.name, "userName"], deptName: "验收人", span: 12, componentProps: { disabled: true } }, + ]), + }, + }, + ] + ), { name: "isRectificationScheme", label: "整改方案", diff --git a/src/pages/Container/BranchCompany/Average/SpecialDisposal/Review/index.js b/src/pages/Container/BranchCompany/Average/SpecialDisposal/Review/index.js index 2495c0b..202dd43 100644 --- a/src/pages/Container/BranchCompany/Average/SpecialDisposal/Review/index.js +++ b/src/pages/Container/BranchCompany/Average/SpecialDisposal/Review/index.js @@ -1,5 +1,6 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Divider, Form, message } from "antd"; +import { useState } from "react"; import FormBuilder from "zy-react-library/components/FormBuilder"; import HeaderBack from "zy-react-library/components/HeaderBack"; import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj"; @@ -17,6 +18,9 @@ function Review(props) { const [form] = Form.useForm(); const deptId = Form.useWatch("deptId", form); const { loading: uploadFileLoading, uploadFile } = useUploadFile(); + + const [data, setData] = useState({}); + const onSubmit = async (values) => { const { filePath } = await uploadFile({ files: values.files, params: { type: UPLOAD_FILE_TYPE_ENUM["138"] } }); const { success } = await props["specialDisposalReview"]({ @@ -30,12 +34,14 @@ function Review(props) { props.history.goBack(); } }; + return (
{ + setData(data); form.setFieldValue("tempSafeMeasure", data.tempSafeMeasure); }} /> @@ -81,54 +87,62 @@ function Review(props) { dependencies: ["state"], hidden: formValues => !(formValues.state === 3), }, - { - name: "modifyRectifyPerson", - label: "是否更换整改负责人", - span: 24, - render: FORM_ITEM_RENDER_ENUM.RADIO, - items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }], - componentProps: { - onChange: () => { - form.setFieldValue("deptId", ""); - form.setFieldValue("deptName", ""); - form.setFieldValue("rectifyPersonId", ""); - form.setFieldValue("rectifyPersonName", ""); - }, - }, - dependencies: ["state"], - hidden: formValues => !(formValues.state === 4), - }, - { - name: "deptId", - label: "整改负责人部门", - render: ( - { - form.setFieldValue("rectifyPersonId", ""); - form.setFieldValue("rectifyPersonName", ""); - }} - onGetLabel={(label) => { - form.setFieldValue("deptName", label); - }} - /> - ), - dependencies: ["state", "modifyRectifyPerson"], - hidden: formValues => !(formValues.state === 4 && formValues.modifyRectifyPerson === 1), - }, - { name: "deptName", label: "整改负责人部门名称", onlyForLabel: true }, - { - name: "rectifyPersonId", - label: "整改负责人", - render: ( - form.setFieldValue("rectifyPersonName", label)} - /> - ), - dependencies: ["state", "modifyRectifyPerson"], - hidden: formValues => !(formValues.state === 4 && formValues.modifyRectifyPerson === 1), - }, - { name: "rectifyPersonName", label: "整改负责人名称", onlyForLabel: true }, + ...( + data.isRelated === 0 + ? [ + { + name: "modifyRectifyPerson", + label: "是否更换整改负责人", + span: 24, + render: FORM_ITEM_RENDER_ENUM.RADIO, + items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }], + componentProps: { + onChange: () => { + form.setFieldValue("deptId", ""); + form.setFieldValue("deptName", ""); + form.setFieldValue("rectifyPersonId", ""); + form.setFieldValue("rectifyPersonName", ""); + }, + }, + dependencies: ["state"], + hidden: formValues => !(formValues.state === 4), + }, + { + name: "deptId", + label: "整改部门", + render: ( + { + form.setFieldValue("rectifyPersonId", ""); + form.setFieldValue("rectifyPersonName", ""); + }} + onGetLabel={(label) => { + form.setFieldValue("deptName", label); + }} + /> + ), + dependencies: ["state", "modifyRectifyPerson"], + hidden: formValues => !(formValues.state === 4 && formValues.modifyRectifyPerson === 1), + }, + { name: "deptName", label: "整改部门名称", onlyForLabel: true }, + { + name: "rectifyPersonId", + label: "整改人", + render: ( + form.setFieldValue("rectifyPersonName", label)} + /> + ), + dependencies: ["state", "modifyRectifyPerson"], + hidden: formValues => !(formValues.state === 4 && formValues.modifyRectifyPerson === 1), + }, + { name: "rectifyPersonName", label: "整改人名称", onlyForLabel: true }, + ] + : [ + { name: "modifyRectifyPerson", label: "是否更换整改负责人", onlyForLabel: true }, + ] + ), ]} />