From db9dfb2c29dafe6dbca278cb4584aa59e7eeb824 Mon Sep 17 00:00:00 2001
From: tangjie <122778500@qq.com>
Date: Tue, 7 Jul 2026 13:54:55 +0800
Subject: [PATCH 1/3] feat
---
src/api/orgQualificationCert/index.js | 83 +++--
src/components/CertPreviewImg/index.js | 3 +-
.../EnterpriseInfo/EquipInfo/index.js | 8 +-
.../PersonnelInfo/Certificate/index.js | 23 +-
.../EnterpriseInfo/QualificationCert/index.js | 314 ++++++++----------
5 files changed, 184 insertions(+), 247 deletions(-)
diff --git a/src/api/orgQualificationCert/index.js b/src/api/orgQualificationCert/index.js
index 8ddee75..b79f8cc 100644
--- a/src/api/orgQualificationCert/index.js
+++ b/src/api/orgQualificationCert/index.js
@@ -1,54 +1,45 @@
import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
-import {
- fromPageResponse,
- fromQualificationForm,
- fromSingleResponse,
- toPageQuery,
- toQualificationForm,
-} from "../enterpriseInfo/adapter";
-import { apiGet, apiPost, apiPostDelete, safeAction, safePageResult } from "../enterpriseInfo/http";
-export const orgQualificationCertList = declareRequest("orgQualificationCertLoading", safePageResult(async (params) => {
- const query = toPageQuery(params, { likeCertName: "certName" });
- const res = await apiGet("/safetyEval/org-qualification/page", query);
- return fromPageResponse(res, toQualificationForm);
-}));
+// 分页查询
+export const orgQualificationCertList = declareRequest(
+ "orgQualificationCertLoading",
+ "Get > /safetyEval/org-qualification/page",
+ "orgQualificationCertList: [] | res.data?.records || res.data || [] & orgQualificationCertTotal: 0 | res.data?.total || 0",
+);
-export const orgQualificationCertInfo = declareRequest("orgQualificationCertLoading", safeAction(async (params) => {
- const res = await apiGet("/safetyEval/org-qualification/get", { id: params.id });
- return fromSingleResponse(res, toQualificationForm);
-}));
+// 新增
+export const orgQualificationCertAdd = declareRequest(
+ "orgQualificationCertLoading",
+ "Post > @/safetyEval/org-qualification/save",
+);
-export const orgQualificationCertAdd = declareRequest("orgQualificationCertLoading", safeAction(async (values) => {
- const res = await apiPost("/safetyEval/org-qualification/save", fromQualificationForm(values));
- return fromSingleResponse(res, toQualificationForm);
-}));
+// 查询详情
+export const orgQualificationCertInfo = declareRequest(
+ "orgQualificationCertLoading",
+ "Get > /safetyEval/org-qualification/get",
+ "orgQualificationCertDetail: {} | res.data || {}",
+);
-export const orgQualificationCertEdit = declareRequest("orgQualificationCertLoading", safeAction(async (values) => {
- const res = await apiPost("/safetyEval/org-qualification/modify", fromQualificationForm(values));
- return fromSingleResponse(res, toQualificationForm);
-}));
+// 修改
+export const orgQualificationCertEdit = declareRequest(
+ "orgQualificationCertLoading",
+ "Post > @/safetyEval/org-qualification/modify",
+);
-export const orgQualificationCertRemove = declareRequest("orgQualificationCertLoading", safeAction(async ({ id }) => {
- return apiPostDelete("/safetyEval/org-qualification/delete", id);
-}));
+// 删除
+export const orgQualificationCertRemove = declareRequest(
+ "orgQualificationCertLoading",
+ "Post > @/safetyEval/org-qualification/delete",
+);
-export const orgQualificationCertDisable = declareRequest("orgQualificationCertLoading", safeAction(async ({ id }) => {
- const res = await apiGet("/safetyEval/org-qualification/get", { id });
- const data = res?.data || {};
- return apiPost("/safetyEval/org-qualification/modify", {
- ...data,
- id,
- enableFlag: 2,
- });
-}));
+// 禁用
+export const orgQualificationCertDisable = declareRequest(
+ "orgQualificationCertLoading",
+ "Post > @/safetyEval/org-qualification/disable",
+);
-export const orgQualificationCertEnable = declareRequest("orgQualificationCertLoading", safeAction(async ({ id }) => {
- const res = await apiGet("/safetyEval/org-qualification/get", { id });
- const data = res?.data || {};
- return apiPost("/safetyEval/org-qualification/modify", {
- ...data,
- id,
- enableFlag: 1,
- });
-}));
+// 启用
+export const orgQualificationCertEnable = declareRequest(
+ "orgQualificationCertLoading",
+ "Post > @/safetyEval/org-qualification/enable",
+);
\ No newline at end of file
diff --git a/src/components/CertPreviewImg/index.js b/src/components/CertPreviewImg/index.js
index 172a7bb..b9a9328 100644
--- a/src/components/CertPreviewImg/index.js
+++ b/src/components/CertPreviewImg/index.js
@@ -1,9 +1,8 @@
import { Image, Tooltip, Tag } from "antd";
-import { getFileUrl } from "zy-react-library/utils";
/** 解析附件对象的可访问地址,兼容 filePath(相对路径)与 url(绝对/相对) */
export function resolvePreviewSrc(file = {}) {
- const base = getFileUrl?.() || window.fileUrl || "";
+ const base = window.fileUrl || "";
const path = file.filePath;
const url = file.url;
if (path) {
diff --git a/src/pages/Container/EnterpriseInfo/EquipInfo/index.js b/src/pages/Container/EnterpriseInfo/EquipInfo/index.js
index 3c23977..b0a4394 100644
--- a/src/pages/Container/EnterpriseInfo/EquipInfo/index.js
+++ b/src/pages/Container/EnterpriseInfo/EquipInfo/index.js
@@ -26,7 +26,7 @@ import { NS_EQUIP_INFO } from "~/enumerate/namespace";
import { positiveNumberRule } from "~/utils/validators";
const { router } = tools;
-const DUAL_CHANNEL_MAP = { 1: "是", 0: "否" };
+const DUAL_CHANNEL_MAP = { 1: "是", 2: "否" };
function EquipInfoPage(props) {
const [formModalOpen, setFormModalOpen] = useState(false);
@@ -58,7 +58,7 @@ function EquipInfoPage(props) {
okText: "是",
cancelText: "否",
onOk: async () => {
- const res = await props.equipInfoRemove({ id });
+ const res = await props.equipInfoRemove({ data: id });
if (res?.success !== false) {
message.success("删除成功");
handleSearch();
@@ -111,7 +111,7 @@ function EquipInfoPage(props) {
form={searchForm}
loading={loading}
formLine={[
-
+
diff --git a/src/pages/Container/EnterpriseInfo/PersonnelInfo/Certificate/index.js b/src/pages/Container/EnterpriseInfo/PersonnelInfo/Certificate/index.js
index b3692cc..e22e261 100644
--- a/src/pages/Container/EnterpriseInfo/PersonnelInfo/Certificate/index.js
+++ b/src/pages/Container/EnterpriseInfo/PersonnelInfo/Certificate/index.js
@@ -10,6 +10,7 @@ import { AntdTableFuncControl } from "@cqsjjb/jjb-common-decorator/antd";
import { tools } from "@cqsjjb/jjb-common-lib";
import { NS_STAFF_CERTIFICATE } from "~/enumerate/namespace";
import CertPreviewImg from "~/components/CertPreviewImg";
+import AttachmentUpload from "~/components/AttachmentUpload";
import { dateRangeRule } from "~/utils/validators";
const { router } = tools;
@@ -281,26 +282,8 @@ function CertModal({
- {
- if (Array.isArray(e)) return e;
- return e?.fileList;
- }}
- >
- {
- setUploadFileList(info.fileList);
- }}
- >
- }>上传文件
-
-
+
+
);
diff --git a/src/pages/Container/EnterpriseInfo/QualificationCert/index.js b/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
index aa28759..3cf1b0c 100644
--- a/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
+++ b/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
@@ -1,37 +1,47 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import {
Button,
+ DatePicker,
Descriptions,
Form,
+ Image,
+ Input,
message,
Modal,
+ Select,
Table,
- Upload,
+
} from "antd";
+import AttachmentUpload from "~/components/AttachmentUpload";
+import { PlusOutlined } from "@ant-design/icons";
import { useEffect, useState } from "react";
-import FormBuilder from "zy-react-library/components/FormBuilder";
-import AddIcon from "zy-react-library/components/Icon/AddIcon";
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
import SearchForm from "@cqsjjb/jjb-react-admin-component/SearchForm";
import ControlWrapper from "@cqsjjb/jjb-react-admin-component/ControlWrapper";
import TableAction from "@cqsjjb/jjb-react-admin-component/TableAction";
import { AntdTableFuncControl } from "@cqsjjb/jjb-common-decorator/antd";
import { tools } from "@cqsjjb/jjb-common-lib";
-import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
-import useGetFile from "zy-react-library/hooks/useGetFile";
-import CertPreviewImg, {
- CertTooltipPreviewImg,
-} from "~/components/CertPreviewImg";
import { NS_ORG_QUALIFICATION_CERT } from "~/enumerate/namespace";
import { QUALIFICATION_INDUSTRY_OPTIONS } from "~/enumerate/enterpriseOptions";
-import { formSelectField } from "~/utils/enterpriseForm";
-import { isQualificationEnabled } from "~/api/enterpriseInfo/adapter";
-import { safeGetFiles, safeRequest } from "~/utils";
import { toDayjs } from "~/utils/dateFormat";
-import { mockUploadFileList, resolveUploadFileId } from "~/utils/mockUpload";
import { dateRangeRule } from "~/utils/validators";
const { router } = tools;
+const { TextArea } = Input;
+const { RangePicker } = DatePicker;
+
+/** certImageUrl(逗号分隔URL)↔ 文件列表({ url }[]) */
+function parseCertImageUrl(str) {
+ if (!str) return [];
+ return String(str).split(",").filter(Boolean).map((url, i) => ({
+ url: url.trim(),
+ name: `证书图片${i + 1}.jpg`,
+ }));
+}
+function stringifyCertImageUrl(files) {
+ if (!files?.length) return undefined;
+ return files.map((f) => f.url || f.response?.data?.url).filter(Boolean).join(",");
+}
function QualificationCertPage(props) {
const [addModalOpen, setAddModalOpen] = useState(false);
@@ -52,8 +62,8 @@ function QualificationCertPage(props) {
};
const res = await props.orgQualificationCertList(params);
if (res?.success !== false) {
- setDataSource(res?.data?.records || res?.data || []);
- setTotal(res?.data?.total || 0);
+ setDataSource(res?.data || []);
+ setTotal(res?.total || 0);
}
} catch (err) {
console.warn("[QualificationCert] list failed:", err);
@@ -63,12 +73,18 @@ function QualificationCertPage(props) {
};
const handleReset = (values) => {
- router.query = { ...router.query, ...values, current: 1, pageSize: 10 };
+ router.query = { ...values, validStartDate: undefined, validEndDate: undefined, current: 1, pageSize: 10 };
getData();
};
useEffect(() => {
- form.setFieldsValue(router.query);
+ const params = {
+ ...router.query
+ };
+ if (params.validStartDate && params.validEndDate) {
+ params.validDate = [toDayjs(params.validStartDate), toDayjs(params.validEndDate)];
+ }
+ form.setFieldsValue(params);
getData();
}, []);
@@ -88,32 +104,16 @@ function QualificationCertPage(props) {
});
};
- const onDisable = (id) => {
+ const onToggleStatus = (record) => {
+ const enabled = record.enableFlag === 1;
Modal.confirm({
title: "提示",
- content: "是否停用该证书?",
+ content: enabled ? "是否停用该证书?" : "是否启用该证书?",
okText: "是",
cancelText: "否",
onOk: async () => {
- const res = await props.orgQualificationCertDisable({ id });
- if (res?.success !== false) {
- message.success("操作成功");
- await getData();
- } else {
- message.error(res?.message || "操作失败");
- }
- },
- });
- };
-
- const onEnable = (id) => {
- Modal.confirm({
- title: "提示",
- content: "是否启用该证书?",
- okText: "是",
- cancelText: "否",
- onOk: async () => {
- const res = await props.orgQualificationCertEnable({ id });
+ const action = enabled ? props.orgQualificationCertDisable : props.orgQualificationCertEnable;
+ const res = await action({ id: record.id });
if (res?.success !== false) {
message.success("操作成功");
await getData();
@@ -137,7 +137,7 @@ function QualificationCertPage(props) {
extra={
}
+ icon={}
onClick={() => {
setCurrentId("");
setAddModalOpen(true);
@@ -165,8 +165,12 @@ function QualificationCertPage(props) {
]}
onReset={handleReset}
onFinish={(values) => {
+ if (values.validDate) {
+ values.validStartDate = values.validDate?.[0]?.format("YYYY-MM-DD");
+ values.validEndDate = values.validDate?.[1]?.format("YYYY-MM-DD");
+ delete values.validDate;
+ }
router.query = {
- ...router.query,
...values,
current: 1,
pageSize: 10,
@@ -178,7 +182,7 @@ function QualificationCertPage(props) {
- isQualificationEnabled(record) ? "启用" : "禁用",
+ record.enableFlag === 1 ? "启用" : "禁用",
},
{
title: "照片",
width: 100,
render: (_, record) =>
- record.certImgFiles?.length ? (
-
+ record.certImageUrl ? (
+
) : (
无
),
@@ -230,15 +234,9 @@ function QualificationCertPage(props) {
- {isQualificationEnabled(record) ? (
-
- ) : (
-
- )}
+
),
},
@@ -301,56 +299,31 @@ function CertFormModal({
const [form] = Form.useForm();
const [submitting, setSubmitting] = useState(false);
const [detailLoading, setDetailLoading] = useState(false);
- const { getFile } = useGetFile();
useEffect(() => {
- if (!open) {
- return;
- }
+ if (!open) return;
if (!currentId) {
form.resetFields();
- form.setFieldsValue({ certImgs: mockUploadFileList("证书图片.jpg") });
return;
}
let cancelled = false;
(async () => {
setDetailLoading(true);
try {
- const res = await safeRequest(requestDetails, { id: currentId });
- if (cancelled || !res?.data) {
- return;
- }
+ const res = await requestDetails({ id: currentId });
+ if (cancelled || !res?.data) return;
const data = { ...res.data };
data.issueDate = toDayjs(data.issueDate);
- data.validDate = [
- toDayjs(data.validStartDate),
- toDayjs(data.validEndDate),
- ];
- data.certImgs = data.certImgFiles?.length
- ? data.certImgFiles
- : mockUploadFileList("证书图片.jpg");
+ data.validDate = [toDayjs(data.validStartDate), toDayjs(data.validEndDate)];
+ data.certImageUrl = parseCertImageUrl(data.certImageUrl);
form.setFieldsValue(data);
- setDetailLoading(false);
-
- const files = await safeGetFiles(
- getFile,
- { eqType: "org_cert", eqForeignKey: data.id },
- data.certImgFiles || [],
- );
- if (!cancelled && files.length) {
- form.setFieldValue("certImgs", files);
- }
} catch (err) {
console.warn("[QualificationCert] load detail failed:", err);
} finally {
- if (!cancelled) {
- setDetailLoading(false);
- }
+ if (!cancelled) setDetailLoading(false);
}
})();
- return () => {
- cancelled = true;
- };
+ return () => { cancelled = true; };
}, [open, currentId]);
const handleCancel = () => {
@@ -363,10 +336,8 @@ function CertFormModal({
setSubmitting(true);
values.validStartDate = values.validDate?.[0];
values.validEndDate = values.validDate?.[1];
- values.certImageUrl = resolveUploadFileId(values.certImgs);
- if (currentId) {
- values.id = currentId;
- }
+ values.certImageUrl = stringifyCertImageUrl(values.certImageUrl);
+ if (currentId) values.id = currentId;
const request = currentId ? requestEdit : requestAdd;
const res = await request(values);
if (res?.success !== false) {
@@ -394,66 +365,63 @@ function CertFormModal({
严谨在本互联网非涉密平台处理、传输国家秘密和工作秘密,请确认扫描、传输的文件资料不涉及国家秘密和工作秘密
- ,
- },
- ]}
- labelCol={{ span: 8 }}
- />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
}
@@ -461,7 +429,6 @@ function CertFormModal({
function CertViewModal({ open, currentId, requestDetails, onCancel }) {
const [info, setInfo] = useState({});
const [detailLoading, setDetailLoading] = useState(false);
- const { getFile } = useGetFile();
useEffect(() => {
if (!open || !currentId) {
@@ -472,34 +439,16 @@ function CertViewModal({ open, currentId, requestDetails, onCancel }) {
(async () => {
setDetailLoading(true);
try {
- const res = await safeRequest(requestDetails, { id: currentId });
- if (cancelled || !res?.data) {
- return;
- }
- const data = { ...res.data };
- data.certImgs = data.certImgFiles || [];
- setInfo(data);
- setDetailLoading(false);
-
- const files = await safeGetFiles(
- getFile,
- { eqType: "org_cert", eqForeignKey: data.id },
- data.certImgFiles || [],
- );
- if (!cancelled && files.length) {
- setInfo((prev) => ({ ...prev, certImgs: files }));
- }
+ const res = await requestDetails({ id: currentId });
+ if (cancelled || !res?.data) return;
+ setInfo({ ...res.data, certImageUrlList: parseCertImageUrl(res.data.certImageUrl) });
} catch (err) {
console.warn("[QualificationCert] load view failed:", err);
} finally {
- if (!cancelled) {
- setDetailLoading(false);
- }
+ if (!cancelled) setDetailLoading(false);
}
})();
- return () => {
- cancelled = true;
- };
+ return () => { cancelled = true; };
}, [open, currentId]);
return (
@@ -515,7 +464,7 @@ function CertViewModal({ open, currentId, requestDetails, onCancel }) {
onCancel={onCancel}
>
- {info.certType}
+ {info.licenseTypeName}
{info.certName}
{info.certNo}
{info.issueOrg}
@@ -525,7 +474,22 @@ function CertViewModal({ open, currentId, requestDetails, onCancel }) {
{info.remark || "-"}
-
+ {info.certImageUrlList?.length ? (
+
+ {info.certImageUrlList.map((file, idx) => (
+
+ ))}
+
+ ) : (
+ 暂无图片
+ )}
@@ -535,4 +499,4 @@ function CertViewModal({ open, currentId, requestDetails, onCancel }) {
export default Connect(
[NS_ORG_QUALIFICATION_CERT],
true,
-)(AntdTableFuncControl(QualificationCertPage));
+)(AntdTableFuncControl(QualificationCertPage));
\ No newline at end of file
From 4b2483fd3a1225bc8cada153f4ea417fef42b692 Mon Sep 17 00:00:00 2001
From: tangjie <122778500@qq.com>
Date: Tue, 7 Jul 2026 13:59:46 +0800
Subject: [PATCH 2/3] feat
---
.../Container/EnterpriseInfo/QualificationCert/index.js | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/pages/Container/EnterpriseInfo/QualificationCert/index.js b/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
index 3cf1b0c..6bffe2c 100644
--- a/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
+++ b/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
@@ -95,7 +95,7 @@ function QualificationCertPage(props) {
okText: "是",
cancelText: "否",
onOk: async () => {
- const res = await props.orgQualificationCertRemove({ id });
+ const res = await props.orgQualificationCertRemove({ data: id });
if (res?.success !== false) {
message.success("删除成功");
getData();
@@ -315,7 +315,7 @@ function CertFormModal({
const data = { ...res.data };
data.issueDate = toDayjs(data.issueDate);
data.validDate = [toDayjs(data.validStartDate), toDayjs(data.validEndDate)];
- data.certImageUrl = parseCertImageUrl(data.certImageUrl);
+ data.certImageUrl = data.certImageUrl;
form.setFieldsValue(data);
} catch (err) {
console.warn("[QualificationCert] load detail failed:", err);
@@ -336,7 +336,7 @@ function CertFormModal({
setSubmitting(true);
values.validStartDate = values.validDate?.[0];
values.validEndDate = values.validDate?.[1];
- values.certImageUrl = stringifyCertImageUrl(values.certImageUrl);
+ values.certImageUrl = values.certImageUrl?.map((item) => item.url).join(",");
if (currentId) values.id = currentId;
const request = currentId ? requestEdit : requestAdd;
const res = await request(values);
@@ -420,7 +420,7 @@ function CertFormModal({
-
+
);
From 3aefacff9565a22655ae6647c34b169233cb09d1 Mon Sep 17 00:00:00 2001
From: tangjie <122778500@qq.com>
Date: Tue, 7 Jul 2026 14:32:37 +0800
Subject: [PATCH 3/3] feat
---
.../EnterpriseInfo/QualificationCert/index.js | 8 +-
.../EnterpriseInfo/ResignationApply/index.js | 35 +------
.../components/OrgPersonnelSelectModal.jsx | 4 +-
.../FilingForm/components/PersonnelStep.jsx | 3 +-
.../QualApplication/FilingForm/index.js | 93 +++++++++----------
5 files changed, 53 insertions(+), 90 deletions(-)
diff --git a/src/pages/Container/EnterpriseInfo/QualificationCert/index.js b/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
index 6bffe2c..4d090dc 100644
--- a/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
+++ b/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
@@ -113,7 +113,7 @@ function QualificationCertPage(props) {
cancelText: "否",
onOk: async () => {
const action = enabled ? props.orgQualificationCertDisable : props.orgQualificationCertEnable;
- const res = await action({ id: record.id });
+ const res = await action({ data: record.id });
if (res?.success !== false) {
message.success("操作成功");
await getData();
@@ -234,15 +234,13 @@ function QualificationCertPage(props) {
-
+
),
},
]}
dataSource={dataSource}
- scroll={{ y: props.scrollY }}
+ scroll={{ y: props.scrollY , x: 1400}}
loading={loading}
pagination={{
total,
diff --git a/src/pages/Container/EnterpriseInfo/ResignationApply/index.js b/src/pages/Container/EnterpriseInfo/ResignationApply/index.js
index edfbbc5..ed7e681 100644
--- a/src/pages/Container/EnterpriseInfo/ResignationApply/index.js
+++ b/src/pages/Container/EnterpriseInfo/ResignationApply/index.js
@@ -10,10 +10,9 @@ import {
Select,
Table,
Tag,
- Upload,
} from "antd";
import TableAction from "@cqsjjb/jjb-react-admin-component/TableAction";
-import { UploadOutlined } from "@ant-design/icons";
+import AttachmentUpload from "~/components/AttachmentUpload";
import { useEffect, useState } from "react";
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
import SearchForm from "@cqsjjb/jjb-react-admin-component/SearchForm";
@@ -212,7 +211,6 @@ function ResignationApplyPage(props) {
function AddModal({ open, staffOptions, requestAdd, onCancel, onSuccess }) {
const [form] = Form.useForm();
const [submitting, setSubmitting] = useState(false);
- const [uploading, setUploading] = useState(false);
const handleCancel = () => {
form.resetFields();
@@ -228,6 +226,7 @@ function AddModal({ open, staffOptions, requestAdd, onCancel, onSuccess }) {
values.expectedResignDate =
values.expectedResignDate?.format?.("YYYY-MM-DD") ||
values.expectedResignDate;
+ values.reportFileUrl = values.reportFileUrl?.map?.((f) => f.url).filter(Boolean).join(",") || undefined;
const res = await requestAdd(values);
if (res?.success !== false) {
message.success("提交成功");
@@ -290,35 +289,7 @@ function AddModal({ open, staffOptions, requestAdd, onCancel, onSuccess }) {
-
- {
- if (info.file.status === "uploading") {
- setUploading(true);
- } else {
- setUploading(false);
- if (info.file.status === "done") {
- const data = info.file.response?.data;
- if (data) {
- form.setFieldsValue({ reportFileUrl: data.url || data });
- }
- }
- }
- }}
- >
- }>
- 上传文件
-
-
-
+
);
diff --git a/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx b/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx
index 9d82e49..c784488 100644
--- a/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx
+++ b/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx
@@ -93,8 +93,8 @@ function OrgPersonnelSelectModalInner(props) {
onChange: (page, pageSize) => getData(page, pageSize),
}}
columns={[
- { title: "人员姓名", dataIndex: "staffName" },
- { title: "类型", dataIndex: "personType" },
+ { title: "人员姓名", dataIndex: "userName" },
+ { title: "类型", dataIndex: "personTypeName" },
{ title: "职务", dataIndex: "positionName" },
{ title: "职称", dataIndex: "titleName" },
{
diff --git a/src/pages/Container/QualApplication/FilingForm/components/PersonnelStep.jsx b/src/pages/Container/QualApplication/FilingForm/components/PersonnelStep.jsx
index 4e03f3a..2724f10 100644
--- a/src/pages/Container/QualApplication/FilingForm/components/PersonnelStep.jsx
+++ b/src/pages/Container/QualApplication/FilingForm/components/PersonnelStep.jsx
@@ -14,6 +14,7 @@ export default function PersonnelStep({
const [viewId, setViewId] = useState("");
const existingIds = personnelList.map((item) => String(item.sourcePersonnelId || ""));
+ console.log(personnelList);
return (
<>
@@ -35,7 +36,7 @@ export default function PersonnelStep({
dataSource={personnelList}
columns={[
{ title: "序号", width: 60, render: (_, __, index) => index + 1 },
- { title: "人员姓名", dataIndex: "personName" },
+ { title: "人员姓名", dataIndex: "userName" },
{ title: "类型", dataIndex: "personTypeName" },
{ title: "职务", dataIndex: "positionName" },
{ title: "职称", dataIndex: "titleName" },
diff --git a/src/pages/Container/QualApplication/FilingForm/index.js b/src/pages/Container/QualApplication/FilingForm/index.js
index b6a1f7c..b151dc2 100644
--- a/src/pages/Container/QualApplication/FilingForm/index.js
+++ b/src/pages/Container/QualApplication/FilingForm/index.js
@@ -49,8 +49,6 @@ function FilingFormPage(props) {
const detailRef = useRef(null);
const readOnly = query.readOnly;
-
-
const saveActionHint =
mode === FILING_FORM_MODE.FILED
? "请点击提交后保存"
@@ -74,7 +72,7 @@ function FilingFormPage(props) {
loadPersonnelOptions();
if (query.id) {
let aciotn = () => {};
-
+
if (mode === FILING_FORM_MODE.CHANGE) {
aciotn = fetchQualChangeDetail;
} else {
@@ -138,7 +136,7 @@ function FilingFormPage(props) {
setSubmitting(true);
const currentDetail = collectCurrentDetail();
- const word= mode === "change" ? "Change" : "";
+ const word = mode === "change" ? "Change" : "";
const body = {
[`qualFiling${word}AddCmd`]: {
...currentDetail,
@@ -146,7 +144,7 @@ function FilingFormPage(props) {
applyTypeCode: mode === "application" ? 1 : 3,
},
};
-
+
const params = body[`qualFiling${word}AddCmd`];
if (params.materials) {
body[`qualFilingMaterial${word}AddCmds`] = params.materials;
@@ -164,10 +162,10 @@ function FilingFormPage(props) {
body[`qualFilingCommitment${word}AddCmd`] = params.commitment;
delete params.commitment;
}
-
- let action=props.submitQualFiling;
+
+ let action = props.submitQualFiling;
if (mode === FILING_FORM_MODE.CHANGE) {
- action=props.submitQualFilingChange;
+ action = props.submitQualFilingChange;
}
const result = await action(body);
@@ -175,7 +173,7 @@ function FilingFormPage(props) {
setVerifyOpen(false);
message.success(config.isSaveDraft ? "暂存成功" : "提交成功");
props.history.goBack();
- }
+ }
setSubmitting(false);
};
@@ -213,9 +211,7 @@ function FilingFormPage(props) {
const rowMap = new Map((rows || []).map((row) => [String(row.id), row]));
const newRows = idsToAdd.map((id) => {
const row = rowMap.get(String(id));
- return row
- ? mapStaffRowToFilingPersonnel(row)
- : mapStaffRowToFilingPersonnel({ id });
+ return row;
});
setDetail((prev) => ({
...prev,
@@ -227,7 +223,7 @@ function FilingFormPage(props) {
const handlePersonnelRemove = (record) => {
Modal.confirm({
title: "提示",
- content: `确认删除人员「${record.personName}」?`,
+ content: `确认删除人员「${record.userName}」?`,
onOk: () => {
setDetail((prev) => ({
...prev,
@@ -354,7 +350,6 @@ function FilingFormPage(props) {
title={MODE_TITLE[mode] || "资质备案表单"}
history={props.history}
previous
-
>
-
-
- {stepIndex > 0 && (
-
- )}
- {!isLastStep && (
-
- )}
- {!readOnly && isLastStep && (
- <>
- {mode !== FILING_FORM_MODE.FILED && (
-
- )}
-