完善相关方

master
LiuJiaNan 2025-12-24 09:36:03 +08:00
parent 87c4f74907
commit b8624ae3df
6 changed files with 421 additions and 341 deletions

View File

@ -31,7 +31,7 @@
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-to-print": "^3.2.0", "react-to-print": "^3.2.0",
"zy-react-library": "^1.0.176" "zy-react-library": "^1.0.178"
}, },
"devDependencies": { "devDependencies": {
"@antfu/eslint-config": "^5.4.1", "@antfu/eslint-config": "^5.4.1",

View File

@ -28,3 +28,11 @@ export const hiddenAiRecognize = declareRequest(
"ledgerLoading", "ledgerLoading",
`Post > @/hidden/hidden/aiHidden`, `Post > @/hidden/hidden/aiHidden`,
); );
export const xgfProjectList = declareRequest(
"xgfProjectLoading",
`Get > /xgfManager/project/listAllByCorp`,
);
export const xgfProjectInfo = declareRequest(
"xgfProjectLoading",
`Get > /xgfManager/project/{id}`,
);

View File

@ -1,6 +1,6 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Button, Divider, Form, message, Modal } from "antd"; 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 FormBuilder from "zy-react-library/components/FormBuilder";
import HeaderBack from "zy-react-library/components/HeaderBack"; import HeaderBack from "zy-react-library/components/HeaderBack";
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj"; 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 DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj"; import HiddenLevelSelectTree from "zy-react-library/components/SelectTree/HiddenLevel/Gwj";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; 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) { function Confirm(props) {
const [data, setData] = useState({});
// 是否来自安全环保检查
const [isFromInspection, setIsFromInspection] = useState(false);
const [form] = Form.useForm(); const [form] = Form.useForm();
const hiddenLevel = Form.useWatch("hiddenLevel", form); const hiddenLevel = Form.useWatch("hiddenLevel", form);
const deptId = Form.useWatch("deptId", form); const deptId = Form.useWatch("deptId", form);
const checkDeptId = Form.useWatch("checkDeptId", form); const checkDeptId = Form.useWatch("checkDeptId", form);
const [data, setData] = useState({});
const [rejectModalOpen, setRejectModalOpen] = useState(false); 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: (
<DepartmentSelectTree
onChange={() => {
form.setFieldValue("userId", "");
form.setFieldValue("userName", "");
}}
onGetLabel={(label) => {
form.setFieldValue("deptName", label);
}}
/>
),
},
{ name: "deptName", label: "整改部门名称", onlyForLabel: true },
{
name: "userId",
label: "整改人",
render: (
<PersonnelSelect
params={{ departmentId: deptId }}
onGetLabel={label => 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: (
<DepartmentSelectTree
isNeedCorpInfoId={data.isRelated === 1}
params={{ eqCorpinfoId: data.isRelated === 1 ? data.hiddenFindDept : "" }}
onChange={() => {
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: (
<PersonnelSelect
params={{ departmentId: checkDeptId }}
onGetLabel={label => form.setFieldValue("checkUserName", label)}
/>
),
},
{ name: "checkUserName", label: "验收人名称", onlyForLabel: true },
];
}
}
return [];
};
const onSubmit = (values) => { const onSubmit = (values) => {
Modal.confirm({ Modal.confirm({
@ -47,6 +170,7 @@ function Confirm(props) {
isShowHeaderBack={false} isShowHeaderBack={false}
onGetData={(data) => { onGetData={(data) => {
setData(data); setData(data);
data.isRelated === 1 && getXgfProjectInfo(data.projectId);
setIsFromInspection(data.source === 4 || data.source === 5); setIsFromInspection(data.source === 4 || data.source === 5);
const hiddenUserPresetsCO = data.hiddenUserPresetsCO || {}; const hiddenUserPresetsCO = data.hiddenUserPresetsCO || {};
form.setFieldValue("deptId", hiddenUserPresetsCO.rectifyDeptId || data.hiddenFindDept); form.setFieldValue("deptId", hiddenUserPresetsCO.rectifyDeptId || data.hiddenFindDept);
@ -102,132 +226,7 @@ function Confirm(props) {
] ]
: []), : []),
{ name: "hiddenLevelName", label: "隐患级别名称", onlyForLabel: true }, { name: "hiddenLevelName", label: "隐患级别名称", onlyForLabel: true },
...( ...decideOption(),
hiddenLevel !== "hiddenLevel1001"
? [
...(
data.rectificationType === 2
? [
{
name: "deptId",
label: "整改负责人部门",
render: (
<DepartmentSelectTree
onChange={() => {
form.setFieldValue("userId", "");
form.setFieldValue("userName", "");
}}
onGetLabel={(label) => {
form.setFieldValue("deptName", label);
}}
/>
),
},
{ name: "deptName", label: "整改负责人部门名称", onlyForLabel: true },
{
name: "userId",
label: "整改负责人",
render: (
<PersonnelSelect
params={{ departmentId: deptId }}
onGetLabel={label => 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: (
<DepartmentSelectTree
onChange={() => {
form.setFieldValue("userId", "");
form.setFieldValue("userName", "");
}}
onGetLabel={(label) => {
form.setFieldValue("deptName", label);
}}
/>
),
},
{ name: "deptName", label: "整改负责人部门名称", onlyForLabel: true },
{
name: "userId",
label: "整改负责人",
render: (
<PersonnelSelect
params={{ departmentId: deptId }}
onGetLabel={label => 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: (
<DepartmentSelectTree
onChange={() => {
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: (
<PersonnelSelect
params={{ departmentId: checkDeptId }}
onGetLabel={label => form.setFieldValue("checkUserName", label)}
/>
),
},
{ name: "checkUserName", label: "验收人名称", onlyForLabel: true },
]),
]
: []
),
]} ]}
/> />
) )
@ -280,4 +279,4 @@ const RejectModalComponent = (props) => {
}; };
const RejectModal = Connect([NS_CONFIRM], true)(RejectModalComponent); const RejectModal = Connect([NS_CONFIRM], true)(RejectModalComponent);
export default Connect([NS_CONFIRM], true)(Confirm); export default Connect([NS_CONFIRM, NS_LEDGER], true)(Confirm);

View File

@ -32,18 +32,21 @@ function Add(props) {
const checkDeptId = Form.useWatch("checkDeptId", form); const checkDeptId = Form.useWatch("checkDeptId", form);
const isAi = Form.useWatch("isAi", form); const isAi = Form.useWatch("isAi", form);
const isRelated = Form.useWatch("isRelated", form); const isRelated = Form.useWatch("isRelated", form);
const defaultValues = { isRelated: "0", rectificationType: 2 }; const defaultValues = { isRelated: 0, rectificationType: 2 };
const [aiHiddens, setAiHiddens] = useState([]); const [aiHiddens, setAiHiddens] = useState([]);
const [aiHiddenModalOpen, setAiHiddenModalOpen] = useState(false); const [aiHiddenModalOpen, setAiHiddenModalOpen] = useState(false);
const [selectHiddens, setSelectHiddens] = useState([]);
const [currentProcessHiddenIndex, setCurrentProcessHiddenIndex] = useState(-1);
const [imageSelectModalOpen, setImageSelectModalOpen] = useState(false); const [imageSelectModalOpen, setImageSelectModalOpen] = useState(false);
const processedImageUids = useRef([]);
const [uploadedImages, setUploadedImages] = useState([]); const [uploadedImages, setUploadedImages] = useState([]);
const [modalTitle, setModalTitle] = useState("选择图片进行AI识别"); const [modalTitle, setModalTitle] = useState("选择图片进行AI识别");
const [isShowAiButton, setIsShowAiButton] = useState(true); 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 [hiddenPartType, setHiddenPartType] = useState("select");
const [confirmUserList, setConfirmUserList] = useState([]); const [confirmUserList, setConfirmUserList] = useState([]);
@ -90,17 +93,15 @@ function Add(props) {
// checkUserId: hiddenAcceptUserCO.userId, // checkUserId: hiddenAcceptUserCO.userId,
// checkUserName: hiddenAcceptUserCO.userName, // checkUserName: hiddenAcceptUserCO.userName,
rectificationDescr: hiddenRectifyUserCO.descr, rectificationDescr: hiddenRectifyUserCO.descr,
isRelated: data.isRelated.toString(),
}); });
} }
else { else {
const userInfo = await getUserInfo(); userInfo.current = await getUserInfo();
setUserInfo(userInfo);
form.setFieldsValue({ form.setFieldsValue({
hiddenFindDept: userInfo.departmentId, hiddenFindDept: userInfo.current.departmentId,
creatorId: userInfo.id, creatorId: userInfo.current.id,
hiddenFindDeptName: userInfo.departmentName, hiddenFindDeptName: userInfo.current.departmentName,
creatorName: userInfo.name, creatorName: userInfo.current.name,
}); });
} }
}; };
@ -110,14 +111,25 @@ function Add(props) {
setConfirmUserList(data); 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(() => { useEffect(() => {
getData(); getData();
getConfirmUserList(); getConfirmUserList();
getXgfProjectList();
}, []); }, []);
const clearHiddenRecognizeState = () => { const clearHiddenRecognizeState = () => {
setSelectHiddens([]); selectHiddens.current = [];
setCurrentProcessHiddenIndex(-1); currentProcessHiddenIndex.current = -1;
form.setFieldValue("isAi", ""); form.setFieldValue("isAi", "");
form.setFieldValue("hiddenDesc", ""); form.setFieldValue("hiddenDesc", "");
form.setFieldValue("legalBasis", ""); form.setFieldValue("legalBasis", "");
@ -192,8 +204,8 @@ function Add(props) {
]); ]);
}; };
const isExistNextOneHidden = () => { const isExistNextOneHidden = () => {
if (currentProcessHiddenIndex !== -1) if (currentProcessHiddenIndex.current !== -1)
return currentProcessHiddenIndex !== selectHiddens.length - 1; return currentProcessHiddenIndex.current !== selectHiddens.current.length - 1;
return false; return false;
}; };
const onSubmit = async (values) => { const onSubmit = async (values) => {
@ -240,7 +252,7 @@ function Add(props) {
if (success) { if (success) {
message.success("操作成功"); message.success("操作成功");
if (isExistNextOneHidden()) { if (isExistNextOneHidden()) {
setCurrentProcessHiddenIndex(currentProcessHiddenIndex + 1); currentProcessHiddenIndex.current = currentProcessHiddenIndex.current + 1;
setIsShowAiButton(false); setIsShowAiButton(false);
const currentValues = form.getFieldsValue(); const currentValues = form.getFieldsValue();
const hiddenImageFiles = form.getFieldValue("hiddenImageFiles"); const hiddenImageFiles = form.getFieldValue("hiddenImageFiles");
@ -254,13 +266,13 @@ function Add(props) {
hiddenImageFiles, hiddenImageFiles,
}); });
form.setFieldValue("isAi", 1); form.setFieldValue("isAi", 1);
form.setFieldValue("hiddenDesc", selectHiddens[currentProcessHiddenIndex + 1].hiddenDescr); form.setFieldValue("hiddenDesc", selectHiddens.current[currentProcessHiddenIndex.current + 1].hiddenDescr);
form.setFieldValue("legalBasis", selectHiddens[currentProcessHiddenIndex + 1].legalBasis); form.setFieldValue("legalBasis", selectHiddens.current[currentProcessHiddenIndex.current + 1].legalBasis);
form.setFieldValue("rectificationDescr", selectHiddens[currentProcessHiddenIndex + 1].rectificationSuggestions); form.setFieldValue("rectificationDescr", selectHiddens.current[currentProcessHiddenIndex.current + 1].rectificationSuggestions);
form.setFieldValue("hiddenFindDept", userInfo.departmentId); form.setFieldValue("hiddenFindDept", userInfo.current.departmentId);
form.setFieldValue("creatorId", userInfo.id); form.setFieldValue("creatorId", userInfo.current.id);
form.setFieldValue("hiddenFindDeptName", userInfo.departmentName); form.setFieldValue("hiddenFindDeptName", userInfo.current.departmentName);
form.setFieldValue("creatorName", userInfo.name); form.setFieldValue("creatorName", userInfo.current.name);
} }
else { else {
props.history.goBack(); props.history.goBack();
@ -372,7 +384,7 @@ function Add(props) {
name: "isRelated", name: "isRelated",
label: "是否相关方", label: "是否相关方",
render: FORM_ITEM_RENDER_ENUM.RADIO, render: FORM_ITEM_RENDER_ENUM.RADIO,
items: IS_RELATED_ENUM, items: IS_RELATED_ENUM.map(item => ({ ...item, bianma: +item.bianma })),
componentProps: { componentProps: {
onChange: () => { onChange: () => {
form.setFieldValue("projectName", ""); form.setFieldValue("projectName", "");
@ -380,10 +392,7 @@ function Add(props) {
form.setFieldValue("rectificationDeptName", ""); form.setFieldValue("rectificationDeptName", "");
form.setFieldValue("rectificationUserId", ""); form.setFieldValue("rectificationUserId", "");
form.setFieldValue("rectificationUserName", ""); form.setFieldValue("rectificationUserName", "");
form.setFieldValue("checkDeptId", ""); xgfProjectInfo.current = {};
form.setFieldValue("checkDeptName", "");
form.setFieldValue("checkUserId", "");
form.setFieldValue("checkUserName", "");
}, },
}, },
}, },
@ -391,15 +400,26 @@ function Add(props) {
name: "projectId", name: "projectId",
label: "相关方项目", label: "相关方项目",
dependencies: ["isRelated"], dependencies: ["isRelated"],
hidden: formValues => !(formValues.isRelated === "1"), hidden: formValues => !(formValues.isRelated === 1),
render: FORM_ITEM_RENDER_ENUM.SELECT, render: FORM_ITEM_RENDER_ENUM.SELECT,
items: [{ bianma: 1, name: "相关方未做" }, { bianma: 2, name: "后期补全" }], // TODO items: xgfProjectList,
itemsField: {
valueKey: "id",
labelKey: "projectName",
},
componentProps: { componentProps: {
onChange: (value) => { onChange: async (value) => {
form.setFieldValue("projectName", getLabelName({ form.setFieldValue("projectName", getLabelName({
list: [], list: xgfProjectList,
status: value, 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: { componentProps: {
onChange: (value) => { onChange: (value) => {
if (isAi === 1) { if (isAi === 1) {
form.setFieldValue("rectificationDescr", selectHiddens[currentProcessHiddenIndex + 1].rectificationSuggestions); form.setFieldValue("rectificationDescr", selectHiddens.current[currentProcessHiddenIndex.current + 1].rectificationSuggestions);
} }
if (value.target.value === 2) { if (value.target.value === 2) {
if (isRelated === 0) {
form.setFieldValue("rectificationDeptId", ""); form.setFieldValue("rectificationDeptId", "");
form.setFieldValue("rectificationUserId", ""); form.setFieldValue("rectificationUserId", "");
form.setFieldValue("rectificationDeptName", ""); form.setFieldValue("rectificationDeptName", "");
form.setFieldValue("rectificationUserName", ""); 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("checkDeptName", "");
form.setFieldValue("checkUserName", ""); form.setFieldValue("checkUserName", "");
} }
@ -526,12 +554,20 @@ function Add(props) {
const creatorId = form.getFieldValue("creatorId"); const creatorId = form.getFieldValue("creatorId");
const hiddenFindDeptName = form.getFieldValue("hiddenFindDeptName"); const hiddenFindDeptName = form.getFieldValue("hiddenFindDeptName");
const creatorName = form.getFieldValue("creatorName"); const creatorName = form.getFieldValue("creatorName");
if (isRelated === 0) {
form.setFieldValue("rectificationDeptId", hiddenFindDept); form.setFieldValue("rectificationDeptId", hiddenFindDept);
form.setFieldValue("rectificationUserId", creatorId); form.setFieldValue("rectificationUserId", creatorId);
form.setFieldValue("checkDeptId", hiddenFindDept);
form.setFieldValue("checkUserId", creatorId);
form.setFieldValue("rectificationDeptName", hiddenFindDeptName); form.setFieldValue("rectificationDeptName", hiddenFindDeptName);
form.setFieldValue("rectificationUserName", creatorName); 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("checkDeptName", hiddenFindDeptName); form.setFieldValue("checkDeptName", hiddenFindDeptName);
form.setFieldValue("checkUserName", creatorName); form.setFieldValue("checkUserName", creatorName);
} }
@ -568,12 +604,14 @@ function Add(props) {
dependencies: ["rectificationType"], dependencies: ["rectificationType"],
hidden: formValues => !(formValues.rectificationType === 1), hidden: formValues => !(formValues.rectificationType === 1),
}, },
...(
isRelated === 0
? [
{ {
name: "rectificationDeptId", name: "rectificationDeptId",
label: isRelated === "0" ? "整改部门" : "整改单位", label: "整改部门",
required: false, required: false,
render: ( render: (
isRelated === "0" && (
<DepartmentSelectTree <DepartmentSelectTree
onChange={() => { onChange={() => {
form.setFieldValue("rectificationUserId", ""); form.setFieldValue("rectificationUserId", "");
@ -583,11 +621,7 @@ function Add(props) {
form.setFieldValue("rectificationDeptName", label); form.setFieldValue("rectificationDeptName", label);
}} }}
/> />
)
), ),
componentProps: {
disabled: isRelated === "1",
},
}, },
{ name: "rectificationDeptName", label: "整改部门名称", onlyForLabel: true }, { name: "rectificationDeptName", label: "整改部门名称", onlyForLabel: true },
{ {
@ -595,24 +629,25 @@ function Add(props) {
label: "整改人", label: "整改人",
required: false, required: false,
render: ( render: (
isRelated === "0" && (
<PersonnelSelect <PersonnelSelect
params={{ departmentId: rectificationDeptId }} params={{ departmentId: rectificationDeptId }}
onGetLabel={label => form.setFieldValue("rectificationUserName", label)} onGetLabel={label => form.setFieldValue("rectificationUserName", label)}
/> />
)
), ),
componentProps: {
disabled: isRelated === "1",
},
}, },
{ name: "rectificationUserName", label: "整改人名称", onlyForLabel: true }, { 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", name: "checkDeptId",
label: isRelated === "0" ? "验收部门" : "验收单位", label: "验收部门",
required: false, required: false,
render: ( render: (
isRelated === "0" && (
<DepartmentSelectTree <DepartmentSelectTree
onChange={() => { onChange={() => {
form.setFieldValue("checkUserId", ""); form.setFieldValue("checkUserId", "");
@ -622,11 +657,7 @@ function Add(props) {
form.setFieldValue("checkDeptName", label); form.setFieldValue("checkDeptName", label);
}} }}
/> />
)
), ),
componentProps: {
disabled: isRelated === "1",
},
dependencies: ["rectificationType"], dependencies: ["rectificationType"],
hidden: formValues => !(formValues.rectificationType === 1), hidden: formValues => !(formValues.rectificationType === 1),
}, },
@ -636,16 +667,11 @@ function Add(props) {
label: "验收人", label: "验收人",
required: false, required: false,
render: ( render: (
isRelated === "0" && (
<PersonnelSelect <PersonnelSelect
params={{ departmentId: checkDeptId }} params={{ departmentId: checkDeptId }}
onGetLabel={label => form.setFieldValue("checkUserName", label)} onGetLabel={label => form.setFieldValue("checkUserName", label)}
/> />
)
), ),
componentProps: {
disabled: isRelated === "1",
},
dependencies: ["rectificationType"], dependencies: ["rectificationType"],
hidden: formValues => !(formValues.rectificationType === 1), hidden: formValues => !(formValues.rectificationType === 1),
}, },
@ -661,8 +687,8 @@ function Add(props) {
setAiHiddenModalOpen(false); setAiHiddenModalOpen(false);
}} }}
onConfirm={(selectedRows) => { onConfirm={(selectedRows) => {
setSelectHiddens(selectedRows); selectHiddens.current = selectedRows;
setCurrentProcessHiddenIndex(0); currentProcessHiddenIndex.current = 0;
form.setFieldValue("isAi", 1); form.setFieldValue("isAi", 1);
form.setFieldValue("hiddenDesc", selectedRows[0].hiddenDescr); form.setFieldValue("hiddenDesc", selectedRows[0].hiddenDescr);
form.setFieldValue("legalBasis", selectedRows[0].legalBasis); form.setFieldValue("legalBasis", selectedRows[0].legalBasis);

View File

@ -21,7 +21,9 @@ function Rectification(props) {
const isRectificationScheme = Form.useWatch("isRectificationScheme", form); const isRectificationScheme = Form.useWatch("isRectificationScheme", form);
const hiddenUserAddCmds = Form.useWatch("hiddenUserAddCmds", form); const hiddenUserAddCmds = Form.useWatch("hiddenUserAddCmds", form);
const { loading: uploadFileLoading, uploadFile } = useUploadFile(); const { loading: uploadFileLoading, uploadFile } = useUploadFile();
const [data, setData] = useState({}); const [data, setData] = useState({});
const onSubmit = async (values) => { const onSubmit = async (values) => {
const { id: afterRectificationImageId } = await uploadFile({ const { id: afterRectificationImageId } = await uploadFile({
single: false, single: false,
@ -80,6 +82,18 @@ function Rectification(props) {
onGetData={(data) => { onGetData={(data) => {
setData(data); setData(data);
form.setFieldValue("tempSafeMeasure", data.tempSafeMeasure); 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 },
]);
}
}} }}
/> />
<Divider orientation="left">隐患整改</Divider> <Divider orientation="left">隐患整改</Divider>
@ -87,9 +101,6 @@ function Rectification(props) {
<FormBuilder <FormBuilder
values={{ values={{
status: 1, status: 1,
hiddenUserAddCmds: [
{ type: 300 },
],
}} }}
span={24} span={24}
form={form} form={form}
@ -126,6 +137,9 @@ function Rectification(props) {
}, },
{ name: "tempSafeMeasure", label: "临时安全措施", render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, { name: "tempSafeMeasure", label: "临时安全措施", render: FORM_ITEM_RENDER_ENUM.TEXTAREA },
{ name: "afterRectificationImageFiles", label: "整改后图片", render: <Upload /> }, { name: "afterRectificationImageFiles", label: "整改后图片", render: <Upload /> },
...(
data.isRelated === 0
? [
{ {
name: "hiddenUserAddCmds", name: "hiddenUserAddCmds",
render: FORM_ITEM_RENDER_ENUM.FORM_LIST, render: FORM_ITEM_RENDER_ENUM.FORM_LIST,
@ -179,6 +193,25 @@ function Rectification(props) {
]), ]),
}, },
}, },
]
: [
{
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", name: "isRectificationScheme",
label: "整改方案", label: "整改方案",

View File

@ -1,5 +1,6 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Divider, Form, message } from "antd"; import { Divider, Form, message } from "antd";
import { useState } from "react";
import FormBuilder from "zy-react-library/components/FormBuilder"; import FormBuilder from "zy-react-library/components/FormBuilder";
import HeaderBack from "zy-react-library/components/HeaderBack"; import HeaderBack from "zy-react-library/components/HeaderBack";
import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj"; import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
@ -17,6 +18,9 @@ function Review(props) {
const [form] = Form.useForm(); const [form] = Form.useForm();
const deptId = Form.useWatch("deptId", form); const deptId = Form.useWatch("deptId", form);
const { loading: uploadFileLoading, uploadFile } = useUploadFile(); const { loading: uploadFileLoading, uploadFile } = useUploadFile();
const [data, setData] = useState({});
const onSubmit = async (values) => { const onSubmit = async (values) => {
const { filePath } = await uploadFile({ files: values.files, params: { type: UPLOAD_FILE_TYPE_ENUM["138"] } }); const { filePath } = await uploadFile({ files: values.files, params: { type: UPLOAD_FILE_TYPE_ENUM["138"] } });
const { success } = await props["specialDisposalReview"]({ const { success } = await props["specialDisposalReview"]({
@ -30,12 +34,14 @@ function Review(props) {
props.history.goBack(); props.history.goBack();
} }
}; };
return ( return (
<div> <div>
<HeaderBack title="特殊处理审核" /> <HeaderBack title="特殊处理审核" />
<HiddenInfo <HiddenInfo
isShowHeaderBack={false} isShowHeaderBack={false}
onGetData={(data) => { onGetData={(data) => {
setData(data);
form.setFieldValue("tempSafeMeasure", data.tempSafeMeasure); form.setFieldValue("tempSafeMeasure", data.tempSafeMeasure);
}} }}
/> />
@ -81,6 +87,9 @@ function Review(props) {
dependencies: ["state"], dependencies: ["state"],
hidden: formValues => !(formValues.state === 3), hidden: formValues => !(formValues.state === 3),
}, },
...(
data.isRelated === 0
? [
{ {
name: "modifyRectifyPerson", name: "modifyRectifyPerson",
label: "是否更换整改负责人", label: "是否更换整改负责人",
@ -100,7 +109,7 @@ function Review(props) {
}, },
{ {
name: "deptId", name: "deptId",
label: "整改负责人部门", label: "整改部门",
render: ( render: (
<DepartmentSelectTree <DepartmentSelectTree
onChange={() => { onChange={() => {
@ -115,10 +124,10 @@ function Review(props) {
dependencies: ["state", "modifyRectifyPerson"], dependencies: ["state", "modifyRectifyPerson"],
hidden: formValues => !(formValues.state === 4 && formValues.modifyRectifyPerson === 1), hidden: formValues => !(formValues.state === 4 && formValues.modifyRectifyPerson === 1),
}, },
{ name: "deptName", label: "整改负责人部门名称", onlyForLabel: true }, { name: "deptName", label: "整改部门名称", onlyForLabel: true },
{ {
name: "rectifyPersonId", name: "rectifyPersonId",
label: "整改负责人", label: "整改人",
render: ( render: (
<PersonnelSelect <PersonnelSelect
params={{ departmentId: deptId }} params={{ departmentId: deptId }}
@ -128,7 +137,12 @@ function Review(props) {
dependencies: ["state", "modifyRectifyPerson"], dependencies: ["state", "modifyRectifyPerson"],
hidden: formValues => !(formValues.state === 4 && formValues.modifyRectifyPerson === 1), hidden: formValues => !(formValues.state === 4 && formValues.modifyRectifyPerson === 1),
}, },
{ name: "rectifyPersonName", label: "整改负责人名称", onlyForLabel: true }, { name: "rectifyPersonName", label: "整改人名称", onlyForLabel: true },
]
: [
{ name: "modifyRectifyPerson", label: "是否更换整改负责人", onlyForLabel: true },
]
),
]} ]}
/> />
</div> </div>