|
|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
|
|
|
|
import { Button, Form, message, Modal, Space } from "antd";
|
|
|
|
|
import { cloneDeep } from "lodash-es";
|
|
|
|
|
import { useEffect, useRef, useState } from "react";
|
|
|
|
|
import {Connect} from "@cqsjjb/jjb-dva-runtime";
|
|
|
|
|
import {Button, Form, message, Modal, Space} from "antd";
|
|
|
|
|
import {cloneDeep} from "lodash-es";
|
|
|
|
|
import {useEffect, useRef, useState} from "react";
|
|
|
|
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
|
|
|
|
import Page from "zy-react-library/components/Page";
|
|
|
|
|
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
|
|
|
|
|
@ -10,8 +10,8 @@ import DictionarySelectTree from "zy-react-library/components/SelectTree/Diction
|
|
|
|
|
import Signature from "zy-react-library/components/Signature";
|
|
|
|
|
import Table from "zy-react-library/components/Table";
|
|
|
|
|
import Upload from "zy-react-library/components/Upload";
|
|
|
|
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
|
|
|
|
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
|
|
|
|
import {FORM_ITEM_RENDER_ENUM} from "zy-react-library/enum/formItemRender";
|
|
|
|
|
import {UPLOAD_FILE_TYPE_ENUM} from "zy-react-library/enum/uploadFile/gwj";
|
|
|
|
|
import useDeleteFile from "zy-react-library/hooks/useDeleteFile";
|
|
|
|
|
import useGetFile from "zy-react-library/hooks/useGetFile";
|
|
|
|
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
|
|
|
|
@ -19,19 +19,19 @@ import useGetUserInfo from "zy-react-library/hooks/useGetUserInfo";
|
|
|
|
|
import useIdle from "zy-react-library/hooks/useIdle";
|
|
|
|
|
import useIsExistenceDuplicateSelection from "zy-react-library/hooks/useIsExistenceDuplicateSelection";
|
|
|
|
|
import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
|
|
|
|
import { getFileUrl, validatorEndTime } from "zy-react-library/utils";
|
|
|
|
|
import { INSPECTION_QUESTION_ENUM, PLAN_ENUM } from "~/enumerate/constant";
|
|
|
|
|
import { NS_INSPECTION, NS_PLAN } from "~/enumerate/namespace";
|
|
|
|
|
import {getFileUrl, validatorEndTime} from "zy-react-library/utils";
|
|
|
|
|
import {INSPECTION_QUESTION_ENUM, PLAN_ENUM} from "~/enumerate/constant";
|
|
|
|
|
import {NS_INSPECTION, NS_PLAN} from "~/enumerate/namespace";
|
|
|
|
|
import HiddenAddModal from "./components/HiddenAdd";
|
|
|
|
|
|
|
|
|
|
function Add(props) {
|
|
|
|
|
const query = useGetUrlQuery();
|
|
|
|
|
const { getUserInfo } = useGetUserInfo();
|
|
|
|
|
const { loading: deleteFileLoading, deleteFile } = useDeleteFile();
|
|
|
|
|
const { loading: getFileLoading, getFile } = useGetFile();
|
|
|
|
|
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
|
|
|
|
|
const { isExistenceDuplicateSelection } = useIsExistenceDuplicateSelection();
|
|
|
|
|
const isIdle = useIdle({ timeout: 50000 });
|
|
|
|
|
const {getUserInfo} = useGetUserInfo();
|
|
|
|
|
const {loading: deleteFileLoading, deleteFile} = useDeleteFile();
|
|
|
|
|
const {loading: getFileLoading, getFile} = useGetFile();
|
|
|
|
|
const {loading: uploadFileLoading, uploadFile} = useUploadFile();
|
|
|
|
|
const {isExistenceDuplicateSelection} = useIsExistenceDuplicateSelection();
|
|
|
|
|
const isIdle = useIdle({timeout: 50000});
|
|
|
|
|
|
|
|
|
|
const [form] = Form.useForm();
|
|
|
|
|
const personUnderInspectionDepartmentId = Form.useWatch(["personUnderInspection", "departmentId"], form);
|
|
|
|
|
@ -52,7 +52,7 @@ function Add(props) {
|
|
|
|
|
const currentHiddenIndex = useRef(-1);
|
|
|
|
|
|
|
|
|
|
const getPlanList = async () => {
|
|
|
|
|
const { data } = await props["planListAll"]();
|
|
|
|
|
const {data} = await props["planListAll"]();
|
|
|
|
|
setPlanList(data);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@ -61,7 +61,7 @@ function Add(props) {
|
|
|
|
|
setUserInfo(userInfo);
|
|
|
|
|
if (query.id) {
|
|
|
|
|
const situationList = [];
|
|
|
|
|
const { data } = await props["inspectionView"]({ inspectionId: query.id });
|
|
|
|
|
const {data} = await props["inspectionView"]({inspectionId: query.id});
|
|
|
|
|
situationList.push(...data.content);
|
|
|
|
|
for (let i = 0; i < situationList.length; i++) {
|
|
|
|
|
if (situationList[i].contentId) {
|
|
|
|
|
@ -76,7 +76,7 @@ function Add(props) {
|
|
|
|
|
setSignatureFilePath(currentInspectorUser?.signature ? getFileUrl() + currentInspectorUser.signature : "");
|
|
|
|
|
form.setFieldsValue({
|
|
|
|
|
...data,
|
|
|
|
|
situationList: situationList.length > 0 ? situationList : [{ content: undefined }],
|
|
|
|
|
situationList: situationList.length > 0 ? situationList : [{content: undefined}],
|
|
|
|
|
inspectorList: data.inspectorVerificationList,
|
|
|
|
|
personUnderInspection: data.inspectedPartyConfirmation,
|
|
|
|
|
initiator: {
|
|
|
|
|
@ -85,14 +85,13 @@ function Add(props) {
|
|
|
|
|
signatureTime: currentInspectorUser.signatureTime,
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
const { data: hiddenList } = await props["hiddenList"]({
|
|
|
|
|
const {data: hiddenList} = await props["hiddenList"]({
|
|
|
|
|
foreignKey: query.inspectionId,
|
|
|
|
|
pageIndex: 1,
|
|
|
|
|
pageSize: 999,
|
|
|
|
|
});
|
|
|
|
|
setHiddenList(hiddenList);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
} else {
|
|
|
|
|
form.setFieldsValue({
|
|
|
|
|
inspectorList: [{
|
|
|
|
|
departmentId: userInfo.departmentId,
|
|
|
|
|
@ -124,7 +123,7 @@ function Add(props) {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const getCurrentHiddenInfo = async (id, hiddenId) => {
|
|
|
|
|
const { data } = await props["hiddenView"]({ id });
|
|
|
|
|
const {data} = await props["hiddenView"]({id});
|
|
|
|
|
const hiddenImageFiles = await getFile({
|
|
|
|
|
eqType: UPLOAD_FILE_TYPE_ENUM["3"],
|
|
|
|
|
eqForeignKey: hiddenId,
|
|
|
|
|
@ -133,17 +132,17 @@ function Add(props) {
|
|
|
|
|
eqType: UPLOAD_FILE_TYPE_ENUM["102"],
|
|
|
|
|
eqForeignKey: hiddenId,
|
|
|
|
|
});
|
|
|
|
|
setCurrentHiddenInfo({ ...data, hiddenImageFiles, hiddenVideoFiles });
|
|
|
|
|
setCurrentHiddenInfo({...data, hiddenImageFiles, hiddenVideoFiles});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 处理签名逻辑
|
|
|
|
|
const handleSignature = async (values) => {
|
|
|
|
|
await deleteFile({ single: false, files: [{ filePath: values.deleteSignature }] });
|
|
|
|
|
await deleteFile({single: false, files: [{filePath: values.deleteSignature}]});
|
|
|
|
|
|
|
|
|
|
if (typeof values.initiator.signature !== "string") {
|
|
|
|
|
const { filePath } = await uploadFile({
|
|
|
|
|
files: [{ originFileObj: values.initiator.signature }],
|
|
|
|
|
params: { type: UPLOAD_FILE_TYPE_ENUM["139"] },
|
|
|
|
|
const {filePath} = await uploadFile({
|
|
|
|
|
files: [{originFileObj: values.initiator.signature}],
|
|
|
|
|
params: {type: UPLOAD_FILE_TYPE_ENUM["139"]},
|
|
|
|
|
});
|
|
|
|
|
return filePath;
|
|
|
|
|
}
|
|
|
|
|
@ -156,11 +155,11 @@ function Add(props) {
|
|
|
|
|
const situationList = cloneDeep(values.situationList.filter(Boolean));
|
|
|
|
|
|
|
|
|
|
for (let i = 0; i < situationList.length; i++) {
|
|
|
|
|
await deleteFile({ single: false, files: situationList[i].deleteFiles });
|
|
|
|
|
const { id } = await uploadFile({
|
|
|
|
|
await deleteFile({single: false, files: situationList[i].deleteFiles});
|
|
|
|
|
const {id} = await uploadFile({
|
|
|
|
|
single: false,
|
|
|
|
|
files: situationList[i].files,
|
|
|
|
|
params: { type: UPLOAD_FILE_TYPE_ENUM["140"], foreignKey: situationList[i].contentId },
|
|
|
|
|
params: {type: UPLOAD_FILE_TYPE_ENUM["140"], foreignKey: situationList[i].contentId},
|
|
|
|
|
});
|
|
|
|
|
situationList[i].imgId = id;
|
|
|
|
|
}
|
|
|
|
|
@ -190,7 +189,7 @@ function Add(props) {
|
|
|
|
|
...values,
|
|
|
|
|
situationList,
|
|
|
|
|
inspectorList,
|
|
|
|
|
initiator: { ...values.initiator, signature: signaturePath },
|
|
|
|
|
initiator: {...values.initiator, signature: signaturePath},
|
|
|
|
|
isDraft,
|
|
|
|
|
source: props.source || "5",
|
|
|
|
|
deleteSignature: undefined,
|
|
|
|
|
@ -212,7 +211,7 @@ function Add(props) {
|
|
|
|
|
files: hiddenList[index].deleteHiddenVideoFiles,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const { id } = await uploadFile({
|
|
|
|
|
const {id} = await uploadFile({
|
|
|
|
|
single: false,
|
|
|
|
|
files: hiddenList[index].hiddenImageFiles,
|
|
|
|
|
params: {
|
|
|
|
|
@ -231,7 +230,8 @@ function Add(props) {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (hiddenList[index].hiddenPartType === "input") {
|
|
|
|
|
await props["partAdd"]({ hiddenregion: hiddenList[index].hiddenPart });
|
|
|
|
|
const { data } = await props["partAdd"]({hiddenregion: hiddenList[index].hiddenPart});
|
|
|
|
|
hiddenList[index].hiddenPart = data
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const hiddenImageFiles = await getFile({
|
|
|
|
|
@ -252,7 +252,7 @@ function Add(props) {
|
|
|
|
|
special: 1,
|
|
|
|
|
extension: 1,
|
|
|
|
|
}),
|
|
|
|
|
hiddenImgAddCmds: hiddenImageFiles.map(item => ({ url: item.url })),
|
|
|
|
|
hiddenImgAddCmds: hiddenImageFiles.map(item => ({url: item.url})),
|
|
|
|
|
hiddenUserId: "",
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
@ -261,7 +261,7 @@ function Add(props) {
|
|
|
|
|
const handleHiddenData = async (traceId, isDraft) => {
|
|
|
|
|
// 删除隐患
|
|
|
|
|
if (deleteHiddenIds.current.length > 0) {
|
|
|
|
|
props["hiddenDelete"]({ ids: deleteHiddenIds.current.join(",") });
|
|
|
|
|
props["hiddenDelete"]({ids: deleteHiddenIds.current.join(",")});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 删除隐患附件
|
|
|
|
|
@ -270,13 +270,13 @@ function Add(props) {
|
|
|
|
|
eqType: UPLOAD_FILE_TYPE_ENUM["3"],
|
|
|
|
|
eqForeignKey: deleteHiddenIds.current[i],
|
|
|
|
|
});
|
|
|
|
|
await deleteFile({ single: false, files: hiddenImageFiles });
|
|
|
|
|
await deleteFile({single: false, files: hiddenImageFiles});
|
|
|
|
|
|
|
|
|
|
const hiddenVideoFiles = await getFile({
|
|
|
|
|
eqType: UPLOAD_FILE_TYPE_ENUM["102"],
|
|
|
|
|
eqForeignKey: deleteHiddenIds.current[i],
|
|
|
|
|
});
|
|
|
|
|
await deleteFile({ single: false, files: hiddenVideoFiles });
|
|
|
|
|
await deleteFile({single: false, files: hiddenVideoFiles});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 新增/更新隐患
|
|
|
|
|
@ -287,7 +287,7 @@ function Add(props) {
|
|
|
|
|
|
|
|
|
|
const onSubmit = async (values, isDraft) => {
|
|
|
|
|
// 检查重复选择
|
|
|
|
|
await isExistenceDuplicateSelection({ data: values.inspectorList, key: "userId", message: "检查人员存在重复项" });
|
|
|
|
|
await isExistenceDuplicateSelection({data: values.inspectorList, key: "userId", message: "检查人员存在重复项"});
|
|
|
|
|
|
|
|
|
|
// 处理签名
|
|
|
|
|
const signatureResult = await handleSignature(values);
|
|
|
|
|
@ -299,7 +299,7 @@ function Add(props) {
|
|
|
|
|
const inspectorList = handleInspectorList(values);
|
|
|
|
|
|
|
|
|
|
// 提交主表单数据
|
|
|
|
|
const { traceId } = await submitInspectionData(values, situationList, inspectorList, signatureResult, isDraft);
|
|
|
|
|
const {traceId} = await submitInspectionData(values, situationList, inspectorList, signatureResult, isDraft);
|
|
|
|
|
|
|
|
|
|
// 处理隐患数据
|
|
|
|
|
await handleHiddenData(traceId, isDraft);
|
|
|
|
|
@ -322,7 +322,7 @@ function Add(props) {
|
|
|
|
|
planId: query.planId,
|
|
|
|
|
type: query.type,
|
|
|
|
|
typeName: query.typeName,
|
|
|
|
|
situationList: [{ content: undefined }],
|
|
|
|
|
situationList: [{content: undefined}],
|
|
|
|
|
}}
|
|
|
|
|
loading={deleteFileLoading || getFileLoading || uploadFileLoading || props.inspection.inspectionLoading}
|
|
|
|
|
onFinish={values => onSubmit(values, 0)}
|
|
|
|
|
@ -350,19 +350,19 @@ function Add(props) {
|
|
|
|
|
name: "planType",
|
|
|
|
|
label: "计划属性",
|
|
|
|
|
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
|
|
|
|
items: PLAN_ENUM.map(item => ({ ...item, bianma: +item.bianma })),
|
|
|
|
|
items: PLAN_ENUM.map(item => ({...item, bianma: +item.bianma})),
|
|
|
|
|
span: planType === 0 ? 24 : 12,
|
|
|
|
|
componentProps: { disabled: true },
|
|
|
|
|
componentProps: {disabled: true},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "planId",
|
|
|
|
|
label: "计划名称",
|
|
|
|
|
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
|
|
|
|
items: planList,
|
|
|
|
|
itemsField: { labelKey: "planName", valueKey: "id" },
|
|
|
|
|
itemsField: {labelKey: "planName", valueKey: "id"},
|
|
|
|
|
dependencies: ["planType"],
|
|
|
|
|
hidden: formValues => !(formValues.planType === 1),
|
|
|
|
|
componentProps: { disabled: true },
|
|
|
|
|
componentProps: {disabled: true},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: ["personUnderInspection", "departmentId"],
|
|
|
|
|
@ -370,7 +370,7 @@ function Add(props) {
|
|
|
|
|
render: (
|
|
|
|
|
<DepartmentSelectTree
|
|
|
|
|
searchType={props.corpSearchType}
|
|
|
|
|
params={{ enterpriseType: 2 }}
|
|
|
|
|
params={{enterpriseType: [2]}}
|
|
|
|
|
onGetLabel={label => form.setFieldValue(["personUnderInspection", "departmentName"], label)}
|
|
|
|
|
onChange={() => {
|
|
|
|
|
form.setFieldValue(["personUnderInspection", "userId"], "");
|
|
|
|
|
@ -379,20 +379,20 @@ function Add(props) {
|
|
|
|
|
/>
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
{ name: ["personUnderInspection", "departmentName"], label: "被检查单位名称", onlyForLabel: true },
|
|
|
|
|
{name: ["personUnderInspection", "departmentName"], label: "被检查单位名称", onlyForLabel: true},
|
|
|
|
|
{
|
|
|
|
|
name: ["personUnderInspection", "userId"],
|
|
|
|
|
label: "被检查单位现场负责人",
|
|
|
|
|
render: (
|
|
|
|
|
<PersonnelSelect
|
|
|
|
|
params={{ departmentId: personUnderInspectionDepartmentId }}
|
|
|
|
|
params={{departmentId: personUnderInspectionDepartmentId}}
|
|
|
|
|
onGetLabel={label => form.setFieldValue(["personUnderInspection", "userName"], label)}
|
|
|
|
|
/>
|
|
|
|
|
),
|
|
|
|
|
formItemProps: { labelCol: { span: 6 } },
|
|
|
|
|
formItemProps: {labelCol: {span: 6}},
|
|
|
|
|
},
|
|
|
|
|
{ name: ["personUnderInspection", "userName"], label: "被检查单位现场负责人名称", onlyForLabel: true },
|
|
|
|
|
{ name: "place", label: "检查场所", span: 24 },
|
|
|
|
|
{name: ["personUnderInspection", "userName"], label: "被检查单位现场负责人名称", onlyForLabel: true},
|
|
|
|
|
{name: "place", label: "检查场所", span: 24},
|
|
|
|
|
{
|
|
|
|
|
name: "type",
|
|
|
|
|
label: "检查类型",
|
|
|
|
|
@ -405,25 +405,25 @@ function Add(props) {
|
|
|
|
|
disabled={!!query.planId}
|
|
|
|
|
/>
|
|
|
|
|
),
|
|
|
|
|
formItemProps: { labelCol: { span: 6 } },
|
|
|
|
|
formItemProps: {labelCol: {span: 6}},
|
|
|
|
|
},
|
|
|
|
|
{ name: "typeName", label: "检查类型名称", onlyForLabel: true },
|
|
|
|
|
{name: "typeName", label: "检查类型名称", onlyForLabel: true},
|
|
|
|
|
{
|
|
|
|
|
name: "timeStart",
|
|
|
|
|
label: "检查开始时间",
|
|
|
|
|
span: 8,
|
|
|
|
|
render: FORM_ITEM_RENDER_ENUM.DATETIME,
|
|
|
|
|
formItemProps: { labelCol: { span: 6 } },
|
|
|
|
|
formItemProps: {labelCol: {span: 6}},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "timeEnd",
|
|
|
|
|
label: "检查结束时间",
|
|
|
|
|
span: 8,
|
|
|
|
|
render: FORM_ITEM_RENDER_ENUM.DATETIME,
|
|
|
|
|
formItemProps: { labelCol: { span: 6 } },
|
|
|
|
|
formItemProps: {labelCol: {span: 6}},
|
|
|
|
|
rules: [validatorEndTime(timeStart)],
|
|
|
|
|
},
|
|
|
|
|
{ label: "检查人员", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
|
|
|
|
|
{label: "检查人员", render: FORM_ITEM_RENDER_ENUM.DIVIDER},
|
|
|
|
|
{
|
|
|
|
|
name: "inspectorList",
|
|
|
|
|
span: 24,
|
|
|
|
|
@ -438,7 +438,7 @@ function Add(props) {
|
|
|
|
|
render: (
|
|
|
|
|
<DepartmentSelectTree
|
|
|
|
|
searchType={props.corpSearchType}
|
|
|
|
|
params={{ inType: [0, 1, 2, 6] }}
|
|
|
|
|
params={{inType: [0, 1, 2, 6]}}
|
|
|
|
|
onChange={() => {
|
|
|
|
|
form.setFieldValue(["inspectorList", field.name, "userId"], "");
|
|
|
|
|
form.setFieldValue(["inspectorList", field.name, "userName"], "");
|
|
|
|
|
@ -449,14 +449,14 @@ function Add(props) {
|
|
|
|
|
/>
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
{ name: [field.name, "departmentName"], label: "检查人员部门名称", onlyForLabel: true },
|
|
|
|
|
{ name: [field.name, "userName"], label: "检查人员名称", onlyForLabel: true },
|
|
|
|
|
{name: [field.name, "departmentName"], label: "检查人员部门名称", onlyForLabel: true},
|
|
|
|
|
{name: [field.name, "userName"], label: "检查人员名称", onlyForLabel: true},
|
|
|
|
|
{
|
|
|
|
|
name: [field.name, "userId"],
|
|
|
|
|
label: "检查人员",
|
|
|
|
|
render: (
|
|
|
|
|
<PersonnelSelect
|
|
|
|
|
params={{ departmentId: inspectorList?.[field.name]?.departmentId || "" }}
|
|
|
|
|
params={{departmentId: inspectorList?.[field.name]?.departmentId || ""}}
|
|
|
|
|
onGetLabel={label => form.setFieldValue(["inspectorList", field.name, "userName"], label)}
|
|
|
|
|
/>
|
|
|
|
|
),
|
|
|
|
|
@ -465,7 +465,7 @@ function Add(props) {
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{ label: "检查情况", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
|
|
|
|
|
{label: "检查情况", render: FORM_ITEM_RENDER_ENUM.DIVIDER},
|
|
|
|
|
{
|
|
|
|
|
name: "situationList",
|
|
|
|
|
span: 24,
|
|
|
|
|
@ -473,8 +473,8 @@ function Add(props) {
|
|
|
|
|
formListUniqueProps: {
|
|
|
|
|
addButtonText: "添加检查情况",
|
|
|
|
|
options: field => ([
|
|
|
|
|
{ name: [field.name, "content"], label: "检查情况", render: FORM_ITEM_RENDER_ENUM.TEXTAREA },
|
|
|
|
|
{ name: [field.name, "deleteFiles"], label: "删除的图片", onlyForLabel: true },
|
|
|
|
|
{name: [field.name, "content"], label: "检查情况", render: FORM_ITEM_RENDER_ENUM.TEXTAREA},
|
|
|
|
|
{name: [field.name, "deleteFiles"], label: "删除的图片", onlyForLabel: true},
|
|
|
|
|
{
|
|
|
|
|
name: [field.name, "files"],
|
|
|
|
|
label: "图片",
|
|
|
|
|
@ -494,14 +494,14 @@ function Add(props) {
|
|
|
|
|
]),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{ label: "发现问题", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
|
|
|
|
|
{label: "发现问题", render: FORM_ITEM_RENDER_ENUM.DIVIDER},
|
|
|
|
|
{
|
|
|
|
|
key: "hiddenList",
|
|
|
|
|
customizeRender: true,
|
|
|
|
|
span: 24,
|
|
|
|
|
render: (
|
|
|
|
|
<Table
|
|
|
|
|
style={{ marginBottom: 20 }}
|
|
|
|
|
style={{marginBottom: 20}}
|
|
|
|
|
pagination={false}
|
|
|
|
|
options={false}
|
|
|
|
|
disabledResizer={true}
|
|
|
|
|
@ -520,7 +520,7 @@ function Add(props) {
|
|
|
|
|
)}
|
|
|
|
|
dataSource={hiddenList}
|
|
|
|
|
columns={[
|
|
|
|
|
{ title: "问题描述", dataIndex: "hiddenDesc" },
|
|
|
|
|
{title: "问题描述", dataIndex: "hiddenDesc"},
|
|
|
|
|
{
|
|
|
|
|
title: "操作",
|
|
|
|
|
width: 120,
|
|
|
|
|
@ -531,9 +531,8 @@ function Add(props) {
|
|
|
|
|
onClick={async () => {
|
|
|
|
|
if (record.hiddenId) {
|
|
|
|
|
getCurrentHiddenInfo(record.id, record.hiddenId);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
setCurrentHiddenInfo({ ...record });
|
|
|
|
|
} else {
|
|
|
|
|
setCurrentHiddenInfo({...record});
|
|
|
|
|
}
|
|
|
|
|
setHiddenDiscovererUserList(getHiddenDiscovererUserList());
|
|
|
|
|
currentHiddenIndex.current = index;
|
|
|
|
|
@ -567,13 +566,13 @@ function Add(props) {
|
|
|
|
|
/>
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
{ name: ["initiator", "userRemarks"], label: "检查人意见", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 },
|
|
|
|
|
{name: ["initiator", "userRemarks"], label: "检查人意见", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24},
|
|
|
|
|
{
|
|
|
|
|
name: ["initiator", "signature"],
|
|
|
|
|
label: "检查人",
|
|
|
|
|
span: 24,
|
|
|
|
|
required: false,
|
|
|
|
|
rules: [{ required: true, message: "请签名" }],
|
|
|
|
|
rules: [{required: true, message: "请签名"}],
|
|
|
|
|
render: (
|
|
|
|
|
<Signature
|
|
|
|
|
url={signatureFilePath}
|
|
|
|
|
@ -588,8 +587,8 @@ function Add(props) {
|
|
|
|
|
/>
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
{ name: ["initiator", "signatureTime"], label: "签字时间", onlyForLabel: true },
|
|
|
|
|
{ name: "deleteSignature", label: "删除的签字图片", onlyForLabel: true },
|
|
|
|
|
{name: ["initiator", "signatureTime"], label: "签字时间", onlyForLabel: true},
|
|
|
|
|
{name: "deleteSignature", label: "删除的签字图片", onlyForLabel: true},
|
|
|
|
|
]}
|
|
|
|
|
/>
|
|
|
|
|
{
|
|
|
|
|
@ -604,8 +603,7 @@ function Add(props) {
|
|
|
|
|
onConfirm={(values) => {
|
|
|
|
|
if (currentHiddenIndex.current === -1) {
|
|
|
|
|
setHiddenList([...hiddenList, values]);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
} else {
|
|
|
|
|
setHiddenList(
|
|
|
|
|
hiddenList.map((item, index) => {
|
|
|
|
|
if (index === currentHiddenIndex.current)
|
|
|
|
|
|