diff --git a/src/components/AttachmentUpload/index.js b/src/components/AttachmentUpload/index.js
index 3fe8cb4..53b738a 100644
--- a/src/components/AttachmentUpload/index.js
+++ b/src/components/AttachmentUpload/index.js
@@ -4,57 +4,20 @@ import { PlusOutlined } from "@ant-design/icons";
const isImage = (url) =>
/\.(png|jpe?g|gif|bmp|webp|svg)(\?.*)?$/i.test(url || "");
-export default function AttachmentUpload({ name, label, disabled = false, maxCount, accept, extra ,rules, style }) {
+function UploadWithAddon({ addon, disabled, maxCount, accept, fileList, onChange, id }) {
const [previewImage, setPreviewImage] = useState("");
return (
<>
-
{
- if (Array.isArray(value)) {
- return { fileList: value };
- }
- if (typeof value === "string" && value) {
- try {
- const parsed = JSON.parse(value);
- if (Array.isArray(parsed)) {
- return { fileList: parsed };
- }
- } catch {}
- return {
- fileList: value.split(",").map((item) => ({
- url: item,
- uid: item,
- status: "done",
- name: "附件",
- })),
- };
- }
- return { fileList: [] };
- }}
- getValueFromEvent={({ fileList }) => {
- return (
- fileList?.map((file) => ({
- url: file.response?.data?.url || file.url,
- uid: file.uid,
- status: file.status,
- name: file.name,
- percent: file.percent,
- })) || []
- );
- }}
- >
+
上传附件
-
- {previewImage && {
- if (!visible) setPreviewImage("");
- },
- }}
- />}
+ {addon ? (
+
+ {addon}
+
+ ) : null}
+
+ {previewImage && (
+ {
+ if (!visible) setPreviewImage("");
+ },
+ }}
+ />
+ )}
>
);
}
+
+export default function AttachmentUpload({
+ name,
+ label,
+ disabled = false,
+ maxCount,
+ accept,
+ extra,
+ rules,
+ style,
+ addon,
+}) {
+ return (
+ {
+ if (Array.isArray(value)) {
+ return { fileList: value };
+ }
+ if (typeof value === "string" && value) {
+ try {
+ const parsed = JSON.parse(value);
+ if (Array.isArray(parsed)) {
+ return { fileList: parsed };
+ }
+ } catch {}
+ return {
+ fileList: value.split(",").map((item) => ({
+ url: item,
+ uid: item,
+ status: "done",
+ name: "附件",
+ })),
+ };
+ }
+ return { fileList: [] };
+ }}
+ getValueFromEvent={({ fileList }) => {
+ return (
+ fileList?.map((file) => ({
+ url: file.response?.data?.url || file.url,
+ uid: file.uid,
+ status: file.status,
+ name: file.name,
+ percent: file.percent,
+ })) || []
+ );
+ }}
+ >
+
+
+ );
+}
diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js
index 13194d9..3cde032 100644
--- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js
+++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/SurveyContent.js
@@ -1,5 +1,5 @@
import React, { useState, useEffect } from "react";
-import { Form, Button, Flex, Typography, Steps, Tag, Card, Table, message, Popover, Image } from "antd";
+import { Form, Button, Flex, Typography, Steps, Tag, Card, Table, message, Popover, Image, Checkbox } from "antd";
import { CheckCircleFilled, DownloadOutlined } from "@ant-design/icons";
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace";
@@ -160,6 +160,17 @@ const RectificationNoticePanel = ({ readOnly }) => (
accept=".pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg"
disabled={readOnly}
extra="支持 PDF、Word、Excel、PNG、JPG 格式,最多上传 10 个文件"
+ addon={
+ (e.target.checked ? 1 : 0)}
+ getValueProps={(v) => ({ checked: Number(v) === 1 })}
+ >
+ 是否存在重大隐患
+
+ }
/>
);
@@ -235,7 +246,13 @@ const SurveyContent = ({ readOnly, ...props }) => {
STAGES.forEach((s) => {
values[s.key] = map[s.key] || [];
});
- form.setFieldsValue(values);
+ const noticeItem = (res?.data || []).find(
+ (item) => item.attachTypeCode === "RECTIFICATION_NOTICE",
+ );
+ form.setFieldsValue({
+ ...values,
+ checkbox: Number(noticeItem?.checkbox) === 1 ? 1 : 0,
+ });
}
};
@@ -306,6 +323,8 @@ const SurveyContent = ({ readOnly, ...props }) => {
projectId,
attachTypeCode: s.key,
fileUrl: JSON.stringify(fileList),
+ checkbox:
+ s.key === "RECTIFICATION_NOTICE" ? Number(values.checkbox) || 0 : 0,
});
}
const res = await props.evalSurveySaveAttach(payload);