feat:是否存在与人资从相关方申请的时候去除掉。

master
dearLin 2026-04-27 14:28:21 +08:00
parent 9893d5ed2c
commit 6b31bb3eff
2 changed files with 165 additions and 84 deletions

View File

@ -8,6 +8,10 @@ export const qualificationReviewInfo = declareRequest(
"qualificationReviewLoading", "qualificationReviewLoading",
`Get > /xgfManager/qualificationsApply/{id}`, `Get > /xgfManager/qualificationsApply/{id}`,
); );
export const qualificationEntrustCorpAuditInfo = declareRequest(
"qualificationReviewLoading",
`Post > @/xgfManager/qualificationsApply/entrustCorpAudit`,
);
export const corpInfoDetails = declareRequest( export const corpInfoDetails = declareRequest(
"enterpriseLoading", "enterpriseLoading",
"Post > @/basicInfo/corpInfo/info/{id}", "Post > @/basicInfo/corpInfo/info/{id}",

View File

@ -1,111 +1,188 @@
import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Button, Form, Space } from "antd"; import { Button, Form, message, Modal, Space } from "antd";
import { useState } from "react";
import FormBuilder from "zy-react-library/components/FormBuilder";
import Page from "zy-react-library/components/Page"; import Page from "zy-react-library/components/Page";
import Search from "zy-react-library/components/Search"; import Search from "zy-react-library/components/Search";
import DictionarySelect from "zy-react-library/components/Select/Dictionary"; import DictionarySelect from "zy-react-library/components/Select/Dictionary";
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
import Table from "zy-react-library/components/Table"; import Table from "zy-react-library/components/Table";
import useTable from "zy-react-library/hooks/useTable"; import useTable from "zy-react-library/hooks/useTable";
import { NS_QUALIFICATION_REVIEW } from "~/enumerate/namespace"; import { NS_QUALIFICATION_REVIEW } from "~/enumerate/namespace";
function List(props) { function List(props) {
const [form] = Form.useForm(); const [form] = Form.useForm();
const [entrustModalOpen, setEntrustModalOpen] = useState(false);
const [qualificationsApplyId, setQualificationsApplyId] = useState("");
const [qualificationsAuditId, setQualificationsAuditId] = useState("");
const [qualificationsId, setQualificationsIdId] = useState("");
const { tableProps, getData } = useTable(props["qualificationReviewList"], { const { tableProps, getData } = useTable(props["qualificationReviewList"], {
form, form,
}); });
return ( return (
<Page isShowAllAction={false}> <div>
<Search <Page isShowAllAction={false}>
labelCol={{ span: 8 }} <Search
options={[ labelCol={{ span: 8 }}
{ name: "qualificationsName", label: "资质名称" }, options={[
{ { name: "qualificationsName", label: "资质名称" },
name: "qualificationsTypeId", {
label: "资质类别", name: "qualificationsTypeId",
render: (<DictionarySelect dictValue="qualificationsType" />), label: "资质类别",
}, render: (<DictionarySelect dictValue="qualificationsType" />),
{ name: "stakeholderLevel", label: "资质等级", render: (<DictionarySelect dictValue="stakeholderLevel" />) }, },
]} { name: "stakeholderLevel", label: "资质等级", render: (<DictionarySelect dictValue="stakeholderLevel" />) },
form={form} ]}
onFinish={getData} form={form}
/> onFinish={getData}
<Table />
columns={[ <Table
{ title: "相关方名称", dataIndex: "corpName" }, columns={[
{ { title: "相关方名称", dataIndex: "corpName" },
title: "所属集团单位", {
dataIndex: "groupUnitName", title: "所属集团单位",
render: (_, record) => record.stakeholderLevel === "one-level" ? "-" : record.groupUnitName, dataIndex: "groupUnitName",
}, render: (_, record) => record.stakeholderLevel === "one-level" ? "-" : record.groupUnitName,
{ title: "资质名称", dataIndex: "qualificationsName" }, },
{ title: "资质类别", dataIndex: "qualificationsTypeName" }, { title: "资质名称", dataIndex: "qualificationsName" },
{ title: "资质等级", dataIndex: "stakeholderLevelName" }, { title: "资质类别", dataIndex: "qualificationsTypeName" },
{ title: "材料数", dataIndex: "materialNum" }, { title: "资质等级", dataIndex: "stakeholderLevelName" },
// { { title: "材料数", dataIndex: "materialNum" },
// title: "资质状态", {
// dataIndex: "qualificationsStatus", title: "操作",
// render: (_, record) => ( fixed: "right",
// <div> width: 100,
// {record.qualificationsStatus === 0 && "正常"} render: (_, record) => (
// {record.qualificationsStatus === 1 && "待完善"} <Space>
// {record.qualificationsStatus === 2 && ( {/* todo recorentrustAudit 200
// <Tooltip */}
// overlayStyle={{ width: "auto", maxWidth: "700px", whiteSpace: "normal", wordBreak: "break-word" }} <Button
// title={ type="link"
// record.expireList onClick={() => {
// ? ( setEntrustModalOpen(true);
// <div style={{ width: "100%" }}> setQualificationsApplyId(record.id);
// {record.expireList.map((item, index) => ( setQualificationsAuditId(record.qualificationsAuditId);
// <div key={index}> setQualificationsIdId(record.qualificationsId);
// {item.dataName} }}
// {" "} >
// 已于 委托
// {item.qualificationsTermEnd} </Button>
// {" "}
// 过期
// </div>
// ))}
// </div>
// )
// : "部分资料已过期"
// }
// >
// <span style={{ display: "inline-flex", alignItems: "center" }}>
// 存在异常
// {" "}
// <WarningOutlined style={{ color: "#faad14", marginLeft: 4 }} />
// </span>
// </Tooltip>
// )}
// {(record.qualificationsStatus === 3 || record.qualificationsStatus === 4) && "资质过期"}
// </div>
// ),
// },
{
title: "操作",
fixed: "right",
width: 100,
render: (_, record) => (
<Space>
{props.permission("zrzz-jgd-xgfzrzzsh-btn-sh") && (
<Button <Button
type="link" type="link"
onClick={() => { onClick={() => {
props.history.push(`./review?id=${record.id}&qualificationsAuditId=${record.qualificationsAuditId}`); props.history.push(`./review?id=${record.id}&qualificationsAuditId=${record.qualificationsAuditId}`);
}} }}
> >
审核 转交审核
</Button> </Button>
)} {props.permission("zrzz-jgd-xgfzrzzsh-btn-sh") && (
</Space> <Button
), type="link"
}, onClick={() => {
]} props.history.push(`./review?id=${record.id}&qualificationsAuditId=${record.qualificationsAuditId}`);
{...tableProps} }}
/> >
</Page> 审核
</Button>
)}
</Space>
),
},
]}
{...tableProps}
/>
</Page>
{entrustModalOpen && (
<EntrustModal
onCancel={() => {
setEntrustModalOpen(false);
}}
qualificationsApplyId={qualificationsApplyId}
qualificationsAuditId={qualificationsAuditId}
qualificationsId={qualificationsId}
/>
)}
</div>
); );
} }
const EntrustModalComponent = (props) => {
const [form] = Form.useForm();
const auditCorpDept = Form.useWatch("auditCorpDept", form);
const onSubmit = async (values) => {
const { success } = await props["qualificationEntrustCorpAuditInfo"]({ ...values, auditUser: values.auditUser.join(","), auditUserName: values.auditUserName.join(","), qualificationsApplyId: props.qualificationsApplyId, qualificationsAuditId: props.qualificationsAuditId, qualificationsId: props.qualificationsId });
if (success) {
message.success("委托成功");
props.onCancel();
}
};
return (
<Modal
title="委托审核"
width={600}
open
maskClosable={false}
onCancel={props.onCancel}
onOk={form.submit}
confirmLoading={props.qualificationReview.userQualificationLoading}
>
<FormBuilder
form={form}
span={24}
labelCol={{ span: 10 }}
showActionButtons={false}
onFinish={onSubmit}
loading={props.qualificationReview.userQualificationLoading}
options={[
{ name: "auditCorp", label: "审核部门所属公司", onlyForLabel: true },
{ name: "auditCorpName", label: "审核部门所属公司名称", onlyForLabel: true },
{
name: "auditCorpDept",
label: "审核部门",
render: (
<DepartmentSelectTree
searchType="inType"
params={{ inType: [0] }}
onGetLabel={(label) => {
form.setFieldValue("auditCorpDeptName", label);
}}
onChange={() => {
form.setFieldValue("auditUser", []);
form.setFieldValue("auditUserName", []);
}}
onGetNodePaths={(nodes) => {
const lastNode = nodes.at(-1);
form.setFieldValue("auditCorp", lastNode.corpinfoId);
form.setFieldValue("auditCorpName", lastNode.corpinfoName);
}}
/>
),
},
{ name: "auditCorpDeptName", label: "审核部门名称", onlyForLabel: true },
{
name: "auditUser",
label: "审核人员",
render: (
<PersonnelSelect
extraParams={{ noMain: 1 }}
params={{ departmentId: auditCorpDept }}
mode="multiple"
onGetLabel={(label) => {
form.setFieldValue("auditUserName", label);
}}
/>
),
},
{ name: "auditUserName", label: "审核人名称", onlyForLabel: true },
]}
/>
</Modal>
);
};
const EntrustModal = Connect([NS_QUALIFICATION_REVIEW], true)(EntrustModalComponent);
export default Connect([NS_QUALIFICATION_REVIEW], true)(Permission(List)); export default Connect([NS_QUALIFICATION_REVIEW], true)(Permission(List));