企业端添加 被委托资质审核 被委托资质审核记录
parent
6b31bb3eff
commit
86d1e0e194
|
|
@ -6,8 +6,8 @@
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "node node_modules/@cqsjjb/scripts/webpack.dev.server.js",
|
"serve": "node node_modules/@cqsjjb/scripts/rspack.dev.server.js",
|
||||||
"build": "node node_modules/@cqsjjb/scripts/webpack.build.js",
|
"build": "node node_modules/@cqsjjb/scripts/rspack.build.js",
|
||||||
"push": "jjb-cmd push java production",
|
"push": "jjb-cmd push java production",
|
||||||
"clean-cache": "rimraf node_modules/.cache/webpack",
|
"clean-cache": "rimraf node_modules/.cache/webpack",
|
||||||
"serve:development": "cross-env NODE_ENV=development npm run serve",
|
"serve:development": "cross-env NODE_ENV=development npm run serve",
|
||||||
|
|
@ -30,6 +30,7 @@
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
|
"react-pdf": "^10.4.1",
|
||||||
"zy-react-library": "^1.2.35"
|
"zy-react-library": "^1.2.35"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import Review from "~/pages/Container/Supervision/Qualification/Review/Review";
|
||||||
|
|
||||||
|
function EntrustedQualificationReview(props) {
|
||||||
|
return <Review {...props} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default EntrustedQualificationReview;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function EntrustedQualification(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default EntrustedQualification;
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
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 Search from "zy-react-library/components/Search";
|
||||||
|
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 useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { NS_QUALIFICATION_REVIEW } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const { tableProps, getData } = useTable(props["qualificationReviewList"], {
|
||||||
|
form,
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "qualificationsName", label: "资质名称" },
|
||||||
|
{
|
||||||
|
name: "qualificationsTypeId",
|
||||||
|
label: "资质类别",
|
||||||
|
render: (<DictionarySelect dictValue="qualificationsType" />),
|
||||||
|
},
|
||||||
|
{ name: "stakeholderLevel", label: "资质等级", render: (<DictionarySelect dictValue="stakeholderLevel" />) },
|
||||||
|
]}
|
||||||
|
form={form}
|
||||||
|
onFinish={getData}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{ title: "相关方名称", dataIndex: "corpName" },
|
||||||
|
{
|
||||||
|
title: "所属集团单位",
|
||||||
|
dataIndex: "groupUnitName",
|
||||||
|
render: (_, record) => record.stakeholderLevel === "one-level" ? "-" : record.groupUnitName,
|
||||||
|
},
|
||||||
|
{ title: "资质名称", dataIndex: "qualificationsName" },
|
||||||
|
{ title: "资质类别", dataIndex: "qualificationsTypeName" },
|
||||||
|
{ title: "资质等级", dataIndex: "stakeholderLevelName" },
|
||||||
|
{ title: "材料数", dataIndex: "materialNum" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 180,
|
||||||
|
hidden: !props.permission("fgs-bwtzz-sh"),
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`./review?id=${record.id}&qualificationsAuditId=${record.qualificationsAuditId}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
审核
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export default Connect([NS_QUALIFICATION_REVIEW], true)(Permission(List));
|
||||||
|
|
@ -0,0 +1,138 @@
|
||||||
|
import { WarningOutlined } from "@ant-design/icons";
|
||||||
|
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Button, Form, Space, Tooltip } from "antd";
|
||||||
|
import Page from "zy-react-library/components/Page";
|
||||||
|
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";
|
||||||
|
import useTable from "zy-react-library/hooks/useTable";
|
||||||
|
import { NS_QUALIFICATION_RECORDS } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function List(props) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const { tableProps, getData } = useTable(props["qualificationRecordsList"], {
|
||||||
|
form,
|
||||||
|
transform: (formData) => {
|
||||||
|
const auditStatus = formData.auditStatus?.split("-") || [];
|
||||||
|
return {
|
||||||
|
auditProcess: auditStatus[0],
|
||||||
|
auditStatus: auditStatus[1],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Page isShowAllAction={false}>
|
||||||
|
<Search
|
||||||
|
labelCol={{ span: 8 }}
|
||||||
|
options={[
|
||||||
|
{ name: "qualificationsName", label: "资质名称" },
|
||||||
|
{
|
||||||
|
name: "qualificationsTypeId",
|
||||||
|
label: "资质类别",
|
||||||
|
render: (<DictionarySelect dictValue="qualificationsType" />),
|
||||||
|
},
|
||||||
|
{ name: "stakeholderLevel", label: "资质等级", render: (<DictionarySelect dictValue="stakeholderLevel" />) },
|
||||||
|
// {
|
||||||
|
// 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}
|
||||||
|
/>
|
||||||
|
<Table
|
||||||
|
columns={[
|
||||||
|
{ title: "相关方名称", dataIndex: "corpName" },
|
||||||
|
{ title: "资质名称", dataIndex: "qualificationsName" },
|
||||||
|
{ title: "资质类别", dataIndex: "qualificationsTypeName" },
|
||||||
|
{ title: "时效属性", dataIndex: "isLongTerm", render: (_, record) => record.isLongTerm ? "长期" : "短期" },
|
||||||
|
{ title: "资质等级", dataIndex: "stakeholderLevelName" },
|
||||||
|
{ title: "材料数", dataIndex: "materialNum" },
|
||||||
|
{
|
||||||
|
title: "资质资料状态",
|
||||||
|
dataIndex: "qualificationsStatus",
|
||||||
|
render: (_, record) => (
|
||||||
|
<div>
|
||||||
|
{record.qualificationsStatus === 0 && "正常"}
|
||||||
|
{record.qualificationsStatus === 1 && "资质待完善"}
|
||||||
|
{record.qualificationsStatus === 2 && (
|
||||||
|
<Tooltip
|
||||||
|
overlayStyle={{ width: "auto", maxWidth: "700px", whiteSpace: "normal", wordBreak: "break-word" }}
|
||||||
|
title={
|
||||||
|
record.expireList
|
||||||
|
? (
|
||||||
|
<div style={{ width: "100%" }}>
|
||||||
|
{record.expireList.map((item, index) => (
|
||||||
|
<div key={index}>
|
||||||
|
{item.dataName}
|
||||||
|
{" "}
|
||||||
|
已于
|
||||||
|
{item.qualificationsTermEnd}
|
||||||
|
{" "}
|
||||||
|
过期
|
||||||
|
</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: "审核状态",
|
||||||
|
dataIndex: "auditProcess",
|
||||||
|
render: (_, record) => (
|
||||||
|
<div>
|
||||||
|
{record.auditProcess === "100" && "集团单位"}
|
||||||
|
{record.status === 100 && "待审核"}
|
||||||
|
{record.status === 200 && "审核中"}
|
||||||
|
{record.status === 300 && "已驳回"}
|
||||||
|
{record.status === 400 && "已完成"}
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
// { title: "时效性", dataIndex: "qualificationsTermStart", render: (_, record) => record.qualificationsTermStart ? `${record.qualificationsTermStart}至${record.qualificationsTermEnd}` : "-" },
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 130,
|
||||||
|
hidden: !props.permission("fgs-bwtshjl-ck"),
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`../ViewInfo?id=${record.id}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_QUALIFICATION_RECORDS], true)(Permission(List));
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
function ExpertProjectReviewRecord(props) {
|
||||||
|
return (<div>{props.children}</div>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ExpertProjectReviewRecord;
|
||||||
|
|
@ -54,11 +54,11 @@ function List(props) {
|
||||||
{
|
{
|
||||||
title: "操作",
|
title: "操作",
|
||||||
fixed: "right",
|
fixed: "right",
|
||||||
width: 100,
|
width: 150,
|
||||||
render: (_, record) => (
|
render: (_, record) => (
|
||||||
<Space>
|
<Space>
|
||||||
{/* todo recor里entrustAudit 是200 才能委托,
|
{
|
||||||
*/}
|
(record.entrustAudit === 200 && props.permission("gfd-zrzzsh-wt")) &&
|
||||||
<Button
|
<Button
|
||||||
type="link"
|
type="link"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
|
@ -70,14 +70,7 @@ function List(props) {
|
||||||
>
|
>
|
||||||
委托
|
委托
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
}
|
||||||
type="link"
|
|
||||||
onClick={() => {
|
|
||||||
props.history.push(`./review?id=${record.id}&qualificationsAuditId=${record.qualificationsAuditId}`);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
转交审核
|
|
||||||
</Button>
|
|
||||||
{props.permission("zrzz-jgd-xgfzrzzsh-btn-sh") && (
|
{props.permission("zrzz-jgd-xgfzrzzsh-btn-sh") && (
|
||||||
<Button
|
<Button
|
||||||
type="link"
|
type="link"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
import { Button, Form, message, Modal } from "antd";
|
import { Button, Form, message, Modal } from "antd";
|
||||||
import { useState } from "react";
|
import {useEffect, useState} from "react";
|
||||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||||
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
|
@ -57,7 +57,7 @@ function Review(props) {
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
{rejectModalOpen && <RejectModal onCancel={() => setRejectModalOpen(false)} id={query.id} qualificationsAuditId={query.qualificationsAuditId} />}
|
{rejectModalOpen && <RejectModal onCancel={() => setRejectModalOpen(false)} id={query.id} qualificationsAuditId={query.qualificationsAuditId} />}
|
||||||
{passModalOpen && <PassModal onCancel={() => setPassModalOpen(false)} id={query.id} qualificationsAuditId={query.qualificationsAuditId} />}
|
{passModalOpen && <PassModal onCancel={() => setPassModalOpen(false)} id={query.id} qualificationsAuditId={query.qualificationsAuditId} isLongTerm={info.isLongTerm} periodTermStart={info.periodTermStart} periodTermEnd={info.periodTermEnd} />}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -99,6 +99,7 @@ const RejectModalComponent = (props) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const PassModalComponent = (props) => {
|
const PassModalComponent = (props) => {
|
||||||
|
console.log(props)
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const periodTermStart = Form.useWatch("periodTermStart", form);
|
const periodTermStart = Form.useWatch("periodTermStart", form);
|
||||||
const onSubmit = async (values) => {
|
const onSubmit = async (values) => {
|
||||||
|
|
@ -109,6 +110,12 @@ const PassModalComponent = (props) => {
|
||||||
window.history.back();
|
window.history.back();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
if(props.isLongTerm !== null){
|
||||||
|
form.setFieldsValue({isLongTerm:props.isLongTerm, periodTermStart:props.periodTermStart, periodTermEnd:props.periodTermEnd});
|
||||||
|
}
|
||||||
|
|
||||||
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue