- {proofFiles.map((file, index) => {
- const fileName = file.name || file.fileName || `专业能力证明${index + 1}.pdf`;
- return (
-
-
- {fileName}
-
- );
- })}
+ {proofMaterialUrl.length ? proofMaterialUrl.map((item) => (
+
- ) : "-"}
+ )) : "-"
+}
diff --git a/src/pages/Container/EnterpriseInfo/QualificationCert/index.js b/src/pages/Container/EnterpriseInfo/QualificationCert/index.js
index 3cf1b0c..4d090dc 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();
@@ -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,
@@ -315,7 +313,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 +334,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 +418,7 @@ function CertFormModal({
-
+
);
diff --git a/src/pages/Container/EnterpriseInfo/ResignationApply/index.js b/src/pages/Container/EnterpriseInfo/ResignationApply/index.js
index b82c52c..7930e3b 100644
--- a/src/pages/Container/EnterpriseInfo/ResignationApply/index.js
+++ b/src/pages/Container/EnterpriseInfo/ResignationApply/index.js
@@ -10,9 +10,9 @@ import {
Select,
Table,
Tag,
- Upload,
} from "antd";
import TableAction from "@cqsjjb/jjb-react-admin-component/TableAction";
+import AttachmentUpload from "~/components/AttachmentUpload";
import { UploadOutlined } from "@ant-design/icons";
import PreviewUrlButton from "~/components/PreviewUrlButton";
import { useEffect, useState } from "react";
@@ -213,7 +213,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();
@@ -226,9 +225,11 @@ function AddModal({ open, staffOptions, requestAdd, onCancel, onSuccess }) {
setSubmitting(true);
values.applyTime =
values.applyTime?.format?.("YYYY-MM-DD HH:mm:ss") || values.applyTime;
+
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("提交成功");
@@ -291,6 +292,7 @@ function AddModal({ open, staffOptions, requestAdd, onCancel, onSuccess }) {
+
{info.remark}
+
+ 查看
+
{info.reportFileUrl ? (
查看文件
diff --git a/src/pages/Container/Layout/menuConfig.js b/src/pages/Container/Layout/menuConfig.js
index f722429..4d872fc 100644
--- a/src/pages/Container/Layout/menuConfig.js
+++ b/src/pages/Container/Layout/menuConfig.js
@@ -69,6 +69,11 @@ const menuItems = [
label: "企业画像管理",
icon: ,
},
+ {
+ key: "/safetyEval/container/Supervision/ExperManage",
+ label: "专家管理",
+ icon: ,
+ },
],
},
{
diff --git a/src/pages/Container/QualApplication/FilingForm/components/BasicInfoStep.jsx b/src/pages/Container/QualApplication/FilingForm/components/BasicInfoStep.jsx
index 17625b7..00ffa23 100644
--- a/src/pages/Container/QualApplication/FilingForm/components/BasicInfoStep.jsx
+++ b/src/pages/Container/QualApplication/FilingForm/components/BasicInfoStep.jsx
@@ -91,7 +91,11 @@ export default function BasicInfoStep({ form, disabled }) {
-
+
diff --git a/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx b/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx
index 9d82e49..364cc2b 100644
--- a/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx
+++ b/src/pages/Container/QualApplication/FilingForm/components/OrgPersonnelSelectModal.jsx
@@ -93,9 +93,9 @@ function OrgPersonnelSelectModalInner(props) {
onChange: (page, pageSize) => getData(page, pageSize),
}}
columns={[
- { title: "人员姓名", dataIndex: "staffName" },
- { title: "类型", dataIndex: "personType" },
- { title: "职务", dataIndex: "positionName" },
+ { title: "人员姓名", dataIndex: "userName" },
+ { title: "类型", dataIndex: "personTypeName" },
+
{ title: "职称", dataIndex: "titleName" },
{
title: "操作",
diff --git a/src/pages/Container/QualApplication/FilingForm/components/PersonnelStep.jsx b/src/pages/Container/QualApplication/FilingForm/components/PersonnelStep.jsx
index 4e03f3a..5e86751 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,9 +36,9 @@ 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" },
{
title: "操作",
diff --git a/src/pages/Container/QualApplication/FilingForm/index.js b/src/pages/Container/QualApplication/FilingForm/index.js
index b6a1f7c..e3343ff 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,14 +144,17 @@ function FilingFormPage(props) {
applyTypeCode: mode === "application" ? 1 : 3,
},
};
-
+
const params = body[`qualFiling${word}AddCmd`];
if (params.materials) {
body[`qualFilingMaterial${word}AddCmds`] = params.materials;
delete params.materials;
}
if (params.personnelList) {
- body[`qualFilingPersonnel${word}AddCmds`] = params.personnelList;
+ body[`qualFilingPersonnel${word}AddCmds`] = params.personnelList.map((item) => ({
+ ...item,
+ personName: item.userName,
+ }));
delete params.personnelList;
}
if (params.equipmentList) {
@@ -164,10 +165,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 +176,7 @@ function FilingFormPage(props) {
setVerifyOpen(false);
message.success(config.isSaveDraft ? "暂存成功" : "提交成功");
props.history.goBack();
- }
+ }
setSubmitting(false);
};
@@ -213,9 +214,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 +226,7 @@ function FilingFormPage(props) {
const handlePersonnelRemove = (record) => {
Modal.confirm({
title: "提示",
- content: `确认删除人员「${record.personName}」?`,
+ content: `确认删除人员「${record.userName}」?`,
onOk: () => {
setDetail((prev) => ({
...prev,
@@ -354,7 +353,6 @@ function FilingFormPage(props) {
title={MODE_TITLE[mode] || "资质备案表单"}
history={props.history}
previous
-
>
-
-
- {stepIndex > 0 && (
-
- )}
- {!isLastStep && (
-
- )}
- {!readOnly && isLastStep && (
- <>
- {mode !== FILING_FORM_MODE.FILED && (
-
- )}
-
i + 1 },
{ title: "人员姓名", dataIndex: "personName", width: 100 },
{ title: "类型", dataIndex: "personTypeName", width: 100 },
- { title: "职务", dataIndex: "positionName", width: 120 },
+
{ title: "职称", dataIndex: "titleName", width: 100 },
{ title: "操作", width: 80,
render: (_, record) => (
diff --git a/src/pages/Container/Supervision/ExperManage/index.js b/src/pages/Container/Supervision/ExperManage/index.js
index 69bb453..33b499b 100644
--- a/src/pages/Container/Supervision/ExperManage/index.js
+++ b/src/pages/Container/Supervision/ExperManage/index.js
@@ -8,7 +8,7 @@ import { AntdTableFuncControl } from "@cqsjjb/jjb-common-decorator/antd";
import { tools } from "@cqsjjb/jjb-common-lib";
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { NS_QUAL_EXPERT } from "~/enumerate/namespace";
-import { GENDER_OPTIONS } from "~/enumerate/constant";
+import { GENDER_OPTIONS, GENDER_MAP } from "~/enumerate/constant";
const { router } = tools;
@@ -116,9 +116,9 @@ const ExperManage = (props) => {
{ title: "账号", dataIndex: "account", width: 140 },
{
title: "性别",
- dataIndex: "genderName",
+ dataIndex: "genderCode",
width: 70,
- render: (text) => text || "--",
+ render: (code) => GENDER_MAP[code] || "--",
},
{ title: "身份证号", dataIndex: "idCardNo", width: 180 },
{ title: "证书", dataIndex: "certificate", width: 120, ellipsis: true },
@@ -213,7 +213,7 @@ const ExperManage = (props) => {
{qualExpertDetail?.userName || "--"}
{qualExpertDetail?.account || "--"}
- {qualExpertDetail?.genderName || "--"}
+ {GENDER_MAP[qualExpertDetail?.genderCode] || "--"}
{qualExpertDetail?.idCardNo || "--"}
{qualExpertDetail?.certificate || "--"}