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
&& (