diff --git a/src/api/qualificationMaintenance/index.js b/src/api/qualificationMaintenance/index.js index df139e3..76c3dbd 100644 --- a/src/api/qualificationMaintenance/index.js +++ b/src/api/qualificationMaintenance/index.js @@ -28,3 +28,12 @@ export const qualificationMaintenanceQualificationsList = declareRequest( "qualificationMaintenanceLoading", `Post > @/xgfManager/qualificationsDetail/list`, ); + + +export const qualificationMaintenanceChangeLogList = declareRequest( + "qualificationMaintenanceLoading", + `Post > @/xgfManager/qualificationsChangeLog/list`, +);export const getQualificationMaintenanceChangeLogByIds = declareRequest( + "qualificationMaintenanceLoading", + `Get > /xgfManager/qualificationsChangeLog/listByIds?ids={ids}`, +); \ No newline at end of file diff --git a/src/api/qualificationReview/index.js b/src/api/qualificationReview/index.js index 4d5e0de..b5bf8d2 100644 --- a/src/api/qualificationReview/index.js +++ b/src/api/qualificationReview/index.js @@ -8,10 +8,6 @@ export const qualificationReviewInfo = declareRequest( "qualificationReviewLoading", `Get > /xgfManager/qualificationsApply/{id}`, ); -export const qualificationReviewInfoBatchNum = declareRequest( - "qualificationReviewLoading", - `Get > /xgfManager/qualificationsApply/{id}/{batchNum}`, -); export const corpInfoDetails = declareRequest( "enterpriseLoading", "Post > @/basicInfo/corpInfo/info/{id}", diff --git a/src/pages/Container/BranchCompany/Qualification/Apply/Add/index.js b/src/pages/Container/BranchCompany/Qualification/Apply/Add/index.js index 0291bb8..9085012 100644 --- a/src/pages/Container/BranchCompany/Qualification/Apply/Add/index.js +++ b/src/pages/Container/BranchCompany/Qualification/Apply/Add/index.js @@ -16,8 +16,8 @@ import useDeleteFile from "zy-react-library/hooks/useDeleteFile"; import useGetFile from "zy-react-library/hooks/useGetFile"; import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; import useUploadFile from "zy-react-library/hooks/useUploadFile"; -import { validatorEndTime } from "zy-react-library/utils"; -import { NS_QUALIFICATION_APPLY } from "~/enumerate/namespace"; +import { validatorEndTime, validatorTimeGTCurrentDay } from "zy-react-library/utils"; +import { NS_QUALIFICATION_APPLY, NS_QUALIFICATION_MAINTENANCE } from "~/enumerate/namespace"; function Add(props) { const query = useGetUrlQuery(); @@ -25,14 +25,16 @@ function Add(props) { const [currentStep, setCurrentStep] = useState(1); const [formValues, setFormValues] = useState({}); const [specialList, setSpecialList] = useState([]); - const [secureList, setSecureList] = useState([]); const getData = async () => { const { data } = await props["qualificationApplyInfo"]({ id: query.id }); + // 重新提交时,删除id + if (query.resubmit) { + delete data.id; + } setFormValues(data); form.setFieldsValue(data); setSpecialList(data.specialList); - setSecureList(data.secureList); }; useEffect(() => { @@ -41,20 +43,19 @@ function Add(props) { return (
- +
{currentStep === 1 - && } + && + } {currentStep === 2 && ( )}
@@ -120,10 +121,10 @@ const StepOneComponent = (props) => { /> ), }, - { name: "qualificationsTypeName", label: "资质类别名称", onlyForLabel: true }, + { name: "qualificationsTypeName", label: "资质类别", onlyForLabel: true }, { name: "stakeholderLevel", - label: "资质等级", + label: "资质级别", render: ( { /> ), }, - { name: "stakeholderLevelName", label: "资质等级名称", onlyForLabel: true }, + { name: "stakeholderLevelName", label: "资质级别", onlyForLabel: true }, { name: "groupUnitId", label: "集团单位", @@ -196,24 +197,23 @@ const StepOneComponent = (props) => { items: qualificationsListAll, itemsField: { labelKey: "qualificationsName", valueKey: "id" }, }, - { name: "qualificationsRemarks", label: "备注", required: false, span: 24, render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, + { name: "remarks", label: "备注", required: false, span: 24, render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, ]} /> ); }; const StepTwoComponent = (props) => { const query = props.query; - const secureList = props.secureList; + const specialList = props.specialList; - const setSecureList = props.setSecureList; const setSpecialList = props.setSpecialList; const [uploadFileModalOpen, setUploadFileModalOpen] = useState(false); + const [typeGroup, setTypeGroup] = useState([]); const [uploadFileModalData, setUploadFileModalData] = useState({ title: "", index: -1, files: [], - currentList: "", isValidity: "", }); @@ -224,33 +224,42 @@ const StepTwoComponent = (props) => { const getData = async () => { if (!props.formValues.qualificationsId) return; - if (specialList.length === 0 || secureList.length === 0) { - const { data } = await props["qualificationApplyQualificationListAll"]({ qualificationsId: props.formValues.qualificationsId }); - setSpecialList(data.specialList || []); - setSecureList(data.secureList || []); - } - else { + if (specialList.length === 0) { + const { data } = await props["qualificationMaintenanceInfo"]({ id: props.formValues.qualificationsId }); + await getTypeGroup(data.details) + setSpecialList(data.details || []); + } else { + await getTypeGroup(specialList) for (let i = 0; i < specialList.length; i++) { - const files = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["148"], eqForeignKey: specialList[i].applyDetailId }); - specialList[i].files = files; - } - for (let i = 0; i < secureList.length; i++) { - const files = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["149"], eqForeignKey: secureList[i].applyDetailId }); - secureList[i].files = files; + specialList[i].files = await getFile({ + eqType: UPLOAD_FILE_TYPE_ENUM["148"], + eqForeignKey: specialList[i].applyDetailId + }); } } + }; + const getTypeGroup = async (details) => { + const typeMap = new Map(); + for (let i = 0; i < details.length; i++) { + const { dataType, dataTypeName } = details[i]; + if (dataType && dataTypeName) { + typeMap.set(dataType, { dataType, dataTypeName }); + } + } + setTypeGroup(Array.from(typeMap.values())); + } + useEffect(() => { getData(); }, [props.formValues.qualificationsId]); - const onUploadFileOpen = (record, index, files, currentList) => { + const onUploadFileOpen = (record, id, files) => { setUploadFileModalData({ + id, title: record.dataName, - index, files, - currentList, isValidity: record.isValidity, qualificationsTermStart: record.qualificationsTermStart, qualificationsTermEnd: record.qualificationsTermEnd, @@ -260,11 +269,12 @@ const StepTwoComponent = (props) => { const onUploadFileConfirm = (values, list) => { const newList = cloneDeep(list); - newList[uploadFileModalData.index].files = values.files; - newList[uploadFileModalData.index].deleteFiles = values.deleteFiles; - newList[uploadFileModalData.index].qualificationsTermStart = values.qualificationsTermStart; - newList[uploadFileModalData.index].qualificationsTermEnd = values.qualificationsTermEnd; - newList[uploadFileModalData.index].uploadedTime = dayjs().format("YYYY-MM-DD HH:mm:ss"); + const index = newList.findIndex(item => item.id === uploadFileModalData.id); + newList[index].files = values.files; + newList[index].deleteFiles = values.deleteFiles; + newList[index].qualificationsTermStart = values.qualificationsTermStart; + newList[index].qualificationsTermEnd = values.qualificationsTermEnd; + newList[index].uploadedTime = dayjs().format("YYYY-MM-DD HH:mm:ss"); return newList; }; @@ -281,8 +291,6 @@ const StepTwoComponent = (props) => { const onSubmit = async () => { if (!validateFileList(specialList)) return; - if (!validateFileList(secureList)) - return; for (let i = 0; i < specialList.length; i++) { await deleteFile({ single: false, files: specialList[i].deleteFiles }); const { id } = await uploadFile({ @@ -292,19 +300,13 @@ const StepTwoComponent = (props) => { }); specialList[i].applyDetailId = id; } - for (let i = 0; i < secureList.length; i++) { - await deleteFile({ single: false, files: secureList[i].deleteFiles }); - const { id } = await uploadFile({ - single: false, - files: secureList[i].files, - params: { type: UPLOAD_FILE_TYPE_ENUM["149"], foreignKey: secureList[i].applyDetailId }, - }); - secureList[i].applyDetailId = id; + // 重新提交时,删除id + if (query.resubmit) { + delete query.id; } - const data = { ...props.formValues, qualificationsApplyDetailList: [...specialList, ...secureList] }; + const data = { ...props.formValues, qualificationsApplyDetailList: [...specialList] }; const { success } = await props[!query.id ? "qualificationApplyAdd" : "qualificationApplyUpdate"]({ ...data, - batchNum: 1, id: query.id, }); if (success) { @@ -318,104 +320,59 @@ const StepTwoComponent = (props) => { -
- 专项资质信息 - record.uploadedTime || "-" }, - { - title: "时效性", - dataIndex: "qualificationsTermStart", - render: (_, record) => record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-", - }, - { - title: "操作", - width: 150, - render: (_, record, index) => ( - - { - record.files?.length > 0 - ? ( + {typeGroup.map((item) => ( +
+ {item.dataTypeName} +
record.dataType === item.dataType)} + pagination={false} + options={false} + disabledResizer={true} + columns={[ + { title: "材料名称", dataIndex: "dataName" }, + { title: "材料名称", dataIndex: "dataName" }, + { title: "上传时间", dataIndex: "uploadedTime", render: (_, record) => record.uploadedTime || "-" }, + { + title: "时效性", + dataIndex: "qualificationsTermStart", + render: (_, record) => record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-", + }, + { + title: "操作", + width: 150, + render: (_, record) => ( + + { + record.files?.length > 0 + ? ( ) - : ( + : ( ) - } - - ), - }, - ]} - /> - -
- 安全资质信息 -
record.uploadedTime || "-" }, - { - title: "时效性", - dataIndex: "qualificationsTermStart", - render: (_, record) => record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-", - }, - { - title: "操作", - width: 150, - render: (_, record, index) => ( - - { - record.files?.length > 0 - ? ( - - ) - : ( - - ) - } - - ), - }, - ]} - /> - + } + + ), + }, + ]} + /> + + )) + }
-
- 专项资质信息 -
record.uploadedTime || "-" }, - { - title: "时效性", - dataIndex: "qualificationsTermStart", - render: (_, record) => record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-", - }, - { - title: "操作", - width: 80, - render: (_, record) => ( - - ), - }, - ]} - /> - -
- 安全资质信息 -
record.uploadedTime || "-" }, - { - title: "时效性", - dataIndex: "qualificationsTermStart", - render: (_, record) => record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-", - }, - { - title: "操作", - width: 80, - render: (_, record) => ( - - ), - }, + { label: "备注", children: info.remarks }, ]} /> + {typeGroup.map((item) => ( +
+ {item.dataTypeName} +
detail.dataType === item.dataType)} + pagination={false} + options={false} + disabledResizer={true} + columns={[ + { title: "材料名称", dataIndex: "dataName" }, + { title: "上传时间", dataIndex: "uploadedTime", render: (_, record) => record.uploadedTime || "-" }, + { + title: "时效性", + dataIndex: "qualificationsTermStart", + render: (_, record) => record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-", + }, + { + title: "操作", + width: 80, + render: (_, record) => ( + + ), + }, + ]} + /> + + )) + } {viewQualificationDetailsModalOpen && setViewQualificationDetailsModalOpen(false)} data={viewQualificationDetailsModalData} />} diff --git a/src/pages/Container/BranchCompany/Qualification/Records/List/index.js b/src/pages/Container/BranchCompany/Qualification/Records/List/index.js index 2650e9e..7f81e9c 100644 --- a/src/pages/Container/BranchCompany/Qualification/Records/List/index.js +++ b/src/pages/Container/BranchCompany/Qualification/Records/List/index.js @@ -1,5 +1,7 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { Button, Form, Space } from "antd"; +import { useState } from "react"; +import { Button, Form, Space, Tooltip } from "antd"; +import { WarningOutlined } from "@ant-design/icons"; import Search from "zy-react-library/components/Search"; import DictionarySelect from "zy-react-library/components/Select/Dictionary"; import Table from "zy-react-library/components/Table"; @@ -8,6 +10,7 @@ import useTable from "zy-react-library/hooks/useTable"; import { NS_QUALIFICATION_RECORDS } from "~/enumerate/namespace"; function List(props) { + const [currentTenantId, setCurrentTenantId] = useState(""); const [form] = Form.useForm(); const { tableProps, getData } = useTable(props["qualificationRecordsList"], { form, @@ -18,6 +21,9 @@ function List(props) { auditStatus: auditStatus[1], }; }, + onSuccess: (data) => { + setCurrentTenantId(data.extValues.currentTenantId); + } }); return ( @@ -28,17 +34,17 @@ function List(props) { { name: "qualificationsName", label: "资质名称" }, { name: "qualificationsTypeId", - label: "相关方类别", + label: "资质类别", render: (), }, - { name: "stakeholderLevel", label: "相关方级别", render: () }, - { name: "auditStatus", label: "审核状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [ - { bianma: "200-200", name: "主管部门审核中" }, - { bianma: "200-300", name: "主管部门已驳回" }, - { bianma: "300-200", name: "安监部门审核中" }, - { bianma: "300-300", name: "安监部门已驳回" }, - { bianma: "400", name: "已完成" }, - ] }, + { name: "stakeholderLevel", label: "资质级别", render: () }, + { + name: "auditStatus", label: "审核状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [ + { bianma: "200-200", name: "主管部门审核中" }, + { bianma: "200-300", name: "主管部门已驳回" }, + { bianma: "400", name: "已完成" }, + ] + }, ]} form={form} onFinish={getData} @@ -48,26 +54,65 @@ function List(props) { { title: "相关方名称", dataIndex: "corpName" }, { title: "资质名称", dataIndex: "qualificationsName" }, { title: "资质类别", dataIndex: "qualificationsTypeName" }, - { title: "资质等级", dataIndex: "stakeholderLevelName" }, + { title: "资质级别", dataIndex: "stakeholderLevelName" }, + { title: "时效属性", dataIndex: "isLongTerm", render: (_, record) => record.isLongTerm ? "长期" : "短期" }, { title: "材料数", dataIndex: "materialNum" }, - { title: "备注", dataIndex: "qualificationsRemarks" }, - { title: "当前状态", dataIndex: "auditProcess", render: (_, record) => ( -
- {record.auditProcess === "100" && "集团单位"} - {record.auditProcess === "200" && "股份主管部门"} - {record.auditProcess === "300" && "股份安监部门"} - {record.status === 100 && "待审核"} - {record.status === 200 && "审核中"} - {record.status === 300 && "已驳回"} - {record.status === 400 && "已通过"} -
- ) }, + { + title: "资质状态", dataIndex: "qualificationsStatus", render: (_, record) => ( +
+ {record.qualificationsStatus === 0 && "正常"} + {record.qualificationsStatus === 1 && "待完善"} + {record.qualificationsStatus === 2 && ( + + {record.expireList.map((item, index) => ( +
+ {item.dataName} 已于 {item.qualificationsTermEnd} 过期 +
+ ))} +
+ ) : "部分资料已过期" + } + > + + 存在异常 + + + )} + {record.qualificationsStatus === 3 && "资质过期"} + + ) + }, + { + title: "当前状态", dataIndex: "auditProcess", render: (_, record) => ( +
+ {record.auditProcess === "100" && "集团单位"} + {record.status === 100 && "待审核"} + {record.status === 200 && "审核中"} + {record.status === 300 && "已驳回"} + {record.status === 400 && "已通过"} +
+ ) + }, { title: "操作", fixed: "right", - width: 100, + width: 200, render: (_, record) => ( + {record.status === 400 && record.corpId === currentTenantId && (record.qualificationsStatus === 1 || record.qualificationsStatus === 2) && ( + + )} - + ), }, diff --git a/src/pages/Container/Supervision/Qualification/Records/History/index.js b/src/pages/Container/Supervision/Qualification/Records/History/index.js index ae25096..d2984d6 100644 --- a/src/pages/Container/Supervision/Qualification/Records/History/index.js +++ b/src/pages/Container/Supervision/Qualification/Records/History/index.js @@ -19,14 +19,40 @@ function History(props) { { title: "相关方名称", dataIndex: "corpName" }, { title: "资质名称", dataIndex: "qualificationsName" }, { title: "资质类别", dataIndex: "qualificationsTypeName" }, - { title: "相关方等级", dataIndex: "stakeholderLevelName" }, + { title: "资质级别", dataIndex: "stakeholderLevelName" }, { title: "材料数", dataIndex: "materialNum" }, - { title: "备注", dataIndex: "qualificationsRemarks" }, + { + title: "资质状态", dataIndex: "qualificationsStatus", render: (_, record) => ( +
+ {record.qualificationsStatus === 0 && "正常"} + {record.qualificationsStatus === 1 && "待完善"} + {record.qualificationsStatus === 2 && ( + + {record.expireList.map((item, index) => ( +
+ {item.dataName} 已于 {item.qualificationsTermEnd} 过期 +
+ ))} +
+ ) : "部分资料已过期" + } + > + + 存在异常 + + + )} + {record.qualificationsStatus === 3 && "资质过期"} + + ) + }, { title: "当前状态", dataIndex: "auditProcess", render: (_, record) => (
{record.auditProcess === "100" && "集团单位"} - {record.auditProcess === "200" && "股份主管部门"} - {record.auditProcess === "300" && "股份安监部门"} {record.status === 100 && "待审核"} {record.status === 200 && "审核中"} {record.status === 300 && "已驳回"} @@ -43,7 +69,7 @@ function History(props) {
+ ) + }, + { + title: "审核状态", dataIndex: "auditProcess", render: (_, record) => ( +
+ {record.auditProcess === "100" && "集团单位"} + {record.status === 100 && "待审核"} + {record.status === 200 && "审核中"} + {record.status === 300 && "已驳回"} + {record.status === 400 && "已通过"} +
+ ) + }, + { title:"时效性", dataIndex:"qualificationsTermStart", render: (_, record) => record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-",}, { title: "操作", fixed: "right", @@ -76,14 +107,6 @@ function List(props) { > 查看 - ), }, diff --git a/src/pages/Container/Supervision/Qualification/Review/List/index.js b/src/pages/Container/Supervision/Qualification/Review/List/index.js index 52562f1..274fb1c 100644 --- a/src/pages/Container/Supervision/Qualification/Review/List/index.js +++ b/src/pages/Container/Supervision/Qualification/Review/List/index.js @@ -20,10 +20,10 @@ function List(props) { { name: "qualificationsName", label: "资质名称" }, { name: "qualificationsTypeId", - label: "相关方类别", + label: "资质类别", render: (), }, - { name: "stakeholderLevel", label: "相关方级别", render: () }, + { name: "stakeholderLevel", label: "资质级别", render: () }, ]} form={form} onFinish={getData} @@ -38,9 +38,37 @@ function List(props) { }, { title: "资质名称", dataIndex: "qualificationsName" }, { title: "资质类别", dataIndex: "qualificationsTypeName" }, - { title: "相关方等级", dataIndex: "stakeholderLevelName" }, + { title: "资质级别", dataIndex: "stakeholderLevelName" }, { title: "材料数", dataIndex: "materialNum" }, - { title: "备注", dataIndex: "qualificationsRemarks" }, + { + title: "资质状态", dataIndex: "qualificationsStatus", render: (_, record) => ( +
+ {record.qualificationsStatus === 0 && "正常"} + {record.qualificationsStatus === 1 && "待完善"} + {record.qualificationsStatus === 2 && ( + + {record.expireList.map((item, index) => ( +
+ {item.dataName} 已于 {item.qualificationsTermEnd} 过期 +
+ ))} +
+ ) : "部分资料已过期" + } + > + + 存在异常 + + + )} + {record.qualificationsStatus === 3 && "资质过期"} + + ) + }, { title: "操作", fixed: "right", diff --git a/src/pages/Container/Supervision/Qualification/ViewInfo/index.js b/src/pages/Container/Supervision/Qualification/ViewInfo/index.js index 67f9ffd..12deeb1 100644 --- a/src/pages/Container/Supervision/Qualification/ViewInfo/index.js +++ b/src/pages/Container/Supervision/Qualification/ViewInfo/index.js @@ -7,7 +7,6 @@ import TooltipPreviewImg from "zy-react-library/components/TooltipPreviewImg"; import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj"; import useGetFile from "zy-react-library/hooks/useGetFile"; import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; -import useTable from "zy-react-library/hooks/useTable"; import { getLabelName } from "zy-react-library/utils"; import ViewQualificationDetailsModal from "~/components/ViewQualificationDetailsModal"; import { NS_QUALIFICATION_REVIEW } from "~/enumerate/namespace"; @@ -29,41 +28,21 @@ function ViewInfo(props) { const [info, setInfo] = useState({ processFlow: [], specialList: [], - secureList: [], }); const [corpInfoData, setCorpInfoData] = useState({}); - const [list, setList] = useState([]); + const [typeGroup, setTypeGroup] = useState([]); const [viewQualificationDetailsModalOpen, setViewQualificationDetailsModalOpen] = useState(false); const [viewQualificationDetailsModalData, setViewQualificationDetailsModalData] = useState({}); - const getFiles = async (list) => { - for (let i = 0; i < list.length; i++) { - const files = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["6"], eqForeignKey: list[i].userQualificationinfoId }); - list[i].files = files; - } - setList(list); - }; - const { tableProps, getData: run } = useTable(props["userQualificationList"], { - useStorageQueryCriteria: false, - params: () => ({ - eqCorpinfoId: info.corpId, - eqQualificationinfoType: 1, - }), - manual: true, - defaultPageSize: 10, - onSuccess: (data) => { - getFiles(data.list); - }, - }); const getData = async () => { if (!query.id) return; - const { data } = await props[query.batchNum ? "qualificationReviewInfoBatchNum" : "qualificationReviewInfo"]({ + const { data } = await props["qualificationReviewInfo"]({ id: query.id, - batchNum: query.batchNum, }); + await getTypeGroup(data); for (let i = 0; i < data.specialList.length; i++) { const files = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["148"], @@ -71,13 +50,6 @@ function ViewInfo(props) { }); data.specialList[i].files = files; } - for (let i = 0; i < data.secureList.length; i++) { - const files = await getFile({ - eqType: UPLOAD_FILE_TYPE_ENUM["149"], - eqForeignKey: data.secureList[i].applyDetailId, - }); - data.secureList[i].files = files; - } setInfo(data); props.onGetData?.(data); @@ -88,9 +60,17 @@ function ViewInfo(props) { }); corpInfoData.licenseFile = licenseFile; setCorpInfoData(corpInfoData); - - run(); }; + const getTypeGroup = async (data) => { + const typeMap = new Map(); + for (let i = 0; i < data.specialList.length; i++) { + const { dataType, dataTypeName } = data.specialList[i]; + if (dataType && dataTypeName) { + typeMap.set(dataType, { dataType, dataTypeName }); + } + } + setTypeGroup(Array.from(typeMap.values())); + } useEffect(() => { getData(); @@ -102,7 +82,42 @@ function ViewInfo(props) {
- 审核信息及流程 + 流程信息 +
+
+ { + info.processFlow.map((item, index) => ( + +
+
+ {item.auditStatus === 400 && "通过"} + {item.auditStatus === 200 && "审核中"} + {item.auditStatus === 100 && "待审核"} + {item.auditStatus === 300 && "已驳回"} +
+
{item.auditUserName}
+
{item.auditCorpDeptName}
+
{item.auditCorpName}
+ { + item.auditRemarks && ( +
+ 驳回原因: + {item.auditRemarks} +
+ ) + } +
+ {index !== info.processFlow.length - 1 &&
} + + )) + } +
+
+
+
+ 审核信息 -
-
- { - info.processFlow.map((item, index) => ( - -
-
- {item.auditStatus === 400 && "通过"} - {item.auditStatus === 200 && "审核中"} - {item.auditStatus === 100 && "待审核"} - {item.auditStatus === 300 && "已驳回"} -
-
{item.auditUserName}
-
{item.auditCorpDeptName}
-
{item.auditCorpName}
- { - item.auditRemarks && ( -
- 驳回原因: - {item.auditRemarks} -
- ) - } -
- {index !== info.processFlow.length - 1 &&
} - - )) - } -
-
+
@@ -189,94 +173,42 @@ function ViewInfo(props) { />
-
- 专项资质信息 - -
record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-", - }, - { - title: "操作", - render: (_, record) => ( - - ), - }, - ]} - /> - - -
- 安全资质信息 - -
record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-", - }, - { - title: "操作", - render: (_, record) => ( - - ), - }, - ]} - /> - - -
- 特证人员列表 -
() }, - ]} - {...tableProps} - dataSource={list} - /> - + {typeGroup.map((item) => ( +
+ {item.dataTypeName} + +
i.dataType === item.dataType) || []} + columns={[ + { title: "材料名称", dataIndex: "dataName" }, + { title: "上传时间", dataIndex: "uploadedTime" }, + { + title: "时效性", + dataIndex: "qualificationsTermStart", + render: (_, record) => record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-", + }, + { + title: "操作", + render: (_, record) => ( + + ), + }, + ]} + /> + + + ))} {viewQualificationDetailsModalOpen && (