fixed:部分bug修复
parent
c969a353b9
commit
ce9b37d261
|
|
@ -30,7 +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",
|
||||||
"zy-react-library": "^1.1.26"
|
"zy-react-library": "^1.1.28"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@antfu/eslint-config": "^5.4.1",
|
"@antfu/eslint-config": "^5.4.1",
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ function Add(props) {
|
||||||
const { data } = await props["qualificationApplyInfo"]({ id: query.id });
|
const { data } = await props["qualificationApplyInfo"]({ id: query.id });
|
||||||
// 重新提交时,删除id
|
// 重新提交时,删除id
|
||||||
if (query.resubmit) {
|
if (query.resubmit) {
|
||||||
|
data.resubmitId = query.id;
|
||||||
delete data.id;
|
delete data.id;
|
||||||
}
|
}
|
||||||
if (data.groupUnitUser) {
|
if (data.groupUnitUser) {
|
||||||
|
|
@ -330,9 +331,11 @@ const StepTwoComponent = (props) => {
|
||||||
delete query.id;
|
delete query.id;
|
||||||
}
|
}
|
||||||
const data = { ...props.formValues, qualificationsApplyDetailList: [...specialList] };
|
const data = { ...props.formValues, qualificationsApplyDetailList: [...specialList] };
|
||||||
if (data.groupUnitUser && data.groupUnitUser.length !== 0) {
|
if (data.groupUnitUser && Array.isArray(data.groupUnitUser)) {
|
||||||
data.groupUnitUser = data.groupUnitUser.join(",");
|
data.groupUnitUser = data.groupUnitUser.join(",");
|
||||||
data.groupUnitUserName = data.groupUnitUserName?.join(",");
|
}
|
||||||
|
if (data.groupUnitUserName && Array.isArray(data.groupUnitUserName)) {
|
||||||
|
data.groupUnitUserName = data.groupUnitUserName.join(",");
|
||||||
}
|
}
|
||||||
const { success } = await props[!query.id ? "qualificationApplyAdd" : "qualificationApplyUpdate"]({
|
const { success } = await props[!query.id ? "qualificationApplyAdd" : "qualificationApplyUpdate"]({
|
||||||
...data,
|
...data,
|
||||||
|
|
@ -351,7 +354,7 @@ const StepTwoComponent = (props) => {
|
||||||
>
|
>
|
||||||
{typeGroup.map(item => (
|
{typeGroup.map(item => (
|
||||||
<div key={item.dataType}>
|
<div key={item.dataType}>
|
||||||
<Divider orientation="left">{item.dataTypeName}</Divider>
|
<Divider orientation="left">{`${item.dataTypeName}信息`}</Divider>
|
||||||
<Table
|
<Table
|
||||||
dataSource={specialList.filter(record => record.dataType === item.dataType)}
|
dataSource={specialList.filter(record => record.dataType === item.dataType)}
|
||||||
pagination={false}
|
pagination={false}
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ function View(props) {
|
||||||
</div>
|
</div>
|
||||||
{typeGroup.map(item => (
|
{typeGroup.map(item => (
|
||||||
<div key={item.dataType}>
|
<div key={item.dataType}>
|
||||||
<Divider orientation="left">{item.dataTypeName}</Divider>
|
<Divider orientation="left">{`${item.dataTypeName}信息`}</Divider>
|
||||||
<Table
|
<Table
|
||||||
dataSource={specialList.filter(detail => detail.dataType === item.dataType)}
|
dataSource={specialList.filter(detail => detail.dataType === item.dataType)}
|
||||||
pagination={false}
|
pagination={false}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import useTable from "zy-react-library/hooks/useTable";
|
||||||
import { NS_QUALIFICATION_RECORDS } from "~/enumerate/namespace";
|
import { NS_QUALIFICATION_RECORDS } from "~/enumerate/namespace";
|
||||||
|
|
||||||
function List(props) {
|
function List(props) {
|
||||||
const [currentTenantId, setCurrentTenantId] = useState("");
|
const [currentUserId, setCurrentUserId] = useState("");
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const { tableProps, getData } = useTable(props["qualificationRecordsList"], {
|
const { tableProps, getData } = useTable(props["qualificationRecordsList"], {
|
||||||
form,
|
form,
|
||||||
|
|
@ -24,7 +24,7 @@ function List(props) {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onSuccess: (data) => {
|
onSuccess: (data) => {
|
||||||
setCurrentTenantId(data.extValues.currentTenantId);
|
setCurrentUserId(data.extValues.currentUserId);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ function List(props) {
|
||||||
{ title: "资质名称", dataIndex: "qualificationsName" },
|
{ title: "资质名称", dataIndex: "qualificationsName" },
|
||||||
{ title: "资质类别", dataIndex: "qualificationsTypeName" },
|
{ title: "资质类别", dataIndex: "qualificationsTypeName" },
|
||||||
{ title: "资质等级", dataIndex: "stakeholderLevelName" },
|
{ title: "资质等级", dataIndex: "stakeholderLevelName" },
|
||||||
{ title: "时效属性", dataIndex: "isLongTerm", render: (_, record) => record.isLongTerm ? "长期" : "短期" },
|
{ title: "时效属性", dataIndex: "isLongTerm", render: (_, record) => record.isLongTerm === 1 ? "长期" : "短期" },
|
||||||
{ title: "材料数", dataIndex: "materialNum" },
|
{ title: "材料数", dataIndex: "materialNum" },
|
||||||
{
|
{
|
||||||
title: "资质状态",
|
title: "资质状态",
|
||||||
|
|
@ -98,19 +98,15 @@ function List(props) {
|
||||||
</span>
|
</span>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
)}
|
)}
|
||||||
{record.qualificationsStatus === 3 && "资质过期"}
|
{(record.qualificationsStatus === 3 || record.qualificationsStatus === 4) && "资质过期"}
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "当前状态",
|
title: "当前状态",
|
||||||
dataIndex: "auditProcess",
|
dataIndex: "status",
|
||||||
render: (_, record) => (
|
render: (_, record) => (
|
||||||
<div>
|
<div>
|
||||||
{record.auditProcess === "100" && "集团单位"}
|
|
||||||
{record.status === 100 && "待审核"}
|
|
||||||
{record.status === 200 && "审核中"}
|
|
||||||
{record.status === 300 && "已驳回"}
|
|
||||||
{record.status === 400 && "已通过"}
|
{record.status === 400 && "已通过"}
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
|
|
@ -121,7 +117,9 @@ function List(props) {
|
||||||
width: 200,
|
width: 200,
|
||||||
render: (_, record) => (
|
render: (_, record) => (
|
||||||
<Space>
|
<Space>
|
||||||
{(props.permission(props.cxtjbtn || "zrzz-jtgs-zrzzjl-btn-cxtj") && record.status === 400 && record.corpId === currentTenantId && (record.qualificationsStatus === 1 || record.qualificationsStatus === 2)) && (
|
{(props.permission(props.cxtjbtn || "zrzz-jtgs-zrzzjl-btn-cxtj")
|
||||||
|
&& record.status === 400 && record.createId === currentUserId
|
||||||
|
&& (record.isAnnualInspection === 1)) && (
|
||||||
<Button
|
<Button
|
||||||
type="link"
|
type="link"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,140 @@
|
||||||
|
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 { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||||
|
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 && "资质过期"}
|
||||||
|
</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,
|
||||||
|
render: (_, record) => (
|
||||||
|
<Space>
|
||||||
|
{props.permission("zrzz-sdgs-zrzzjl-btn-ck") && (
|
||||||
|
<Button
|
||||||
|
type="link"
|
||||||
|
onClick={() => {
|
||||||
|
props.history.push(`../ViewInfo?id=${record.id}`);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
|
</Space>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
{...tableProps}
|
||||||
|
/>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_QUALIFICATION_RECORDS], true)(Permission(List));
|
||||||
|
|
@ -8,7 +8,7 @@ import { validatorEndTime } from "zy-react-library/utils";
|
||||||
import { NS_QUALIFICATION_REVIEW } from "~/enumerate/namespace";
|
import { NS_QUALIFICATION_REVIEW } from "~/enumerate/namespace";
|
||||||
import ViewInfo from "../../ViewInfo";
|
import ViewInfo from "../../ViewInfo";
|
||||||
|
|
||||||
function Review(props) {
|
function Review() {
|
||||||
const query = useGetUrlQuery();
|
const query = useGetUrlQuery();
|
||||||
const [rejectModalOpen, setRejectModalOpen] = useState(false);
|
const [rejectModalOpen, setRejectModalOpen] = useState(false);
|
||||||
const [passModalOpen, setPassModalOpen] = useState(false);
|
const [passModalOpen, setPassModalOpen] = useState(false);
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@ function Add(props) {
|
||||||
render: (
|
render: (
|
||||||
<DepartmentSelectTree
|
<DepartmentSelectTree
|
||||||
disabled={query.id}
|
disabled={query.id}
|
||||||
searchType="company"
|
searchType="inType"
|
||||||
params={{ inType: corpTypeList }}
|
params={{ inType: corpTypeList }}
|
||||||
onGetLabel={(label) => {
|
onGetLabel={(label) => {
|
||||||
form.setFieldValue("managerDeptName", label);
|
form.setFieldValue("managerDeptName", label);
|
||||||
|
|
@ -153,7 +153,7 @@ function Add(props) {
|
||||||
render: (
|
render: (
|
||||||
<DepartmentSelectTree
|
<DepartmentSelectTree
|
||||||
disabled={query.id}
|
disabled={query.id}
|
||||||
searchType="company"
|
searchType="inType"
|
||||||
params={{ inType: [2] }}
|
params={{ inType: [2] }}
|
||||||
onGetLabel={(label) => {
|
onGetLabel={(label) => {
|
||||||
form.setFieldValue("shareDeptName", label);
|
form.setFieldValue("shareDeptName", label);
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,24 @@ function ViewInfo(props) {
|
||||||
<Page headerTitle={props.title || "查看"} contentPadding="0 20px 20px 20px" extraActionButtons={props.extraActionButtons}>
|
<Page headerTitle={props.title || "查看"} contentPadding="0 20px 20px 20px" extraActionButtons={props.extraActionButtons}>
|
||||||
<div className="qualification-view">
|
<div className="qualification-view">
|
||||||
<div>
|
<div>
|
||||||
<Divider orientation="left">流程信息</Divider>
|
<Divider orientation="left">审核信息及流程</Divider>
|
||||||
|
<Spin spinning={props.qualificationReview.qualificationReviewLoading}>
|
||||||
|
<Descriptions
|
||||||
|
column={2}
|
||||||
|
bordered
|
||||||
|
styles={{ label: { width: 200 }, content: { width: 500 } }}
|
||||||
|
items={[
|
||||||
|
{ label: "相关方名称", children: info.corpName },
|
||||||
|
{ label: "所属集团单位", children: info.groupUnitName },
|
||||||
|
{ label: "资质名称", children: info.qualificationsName },
|
||||||
|
{ label: "资质类别", children: info.qualificationsTypeName },
|
||||||
|
{ label: "资质等级", children: info.stakeholderLevelName },
|
||||||
|
{ label: "材料数", children: info.materialNum },
|
||||||
|
{ label: "备注", children: info.remarks },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</Spin>
|
||||||
<div className="flows-container">
|
<div className="flows-container">
|
||||||
<div className="flows">
|
<div className="flows">
|
||||||
{
|
{
|
||||||
|
|
@ -105,6 +122,7 @@ function ViewInfo(props) {
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
<div className="info">{item.auditTime}</div>
|
||||||
</div>
|
</div>
|
||||||
{index !== info.processFlow.length - 1 && <div className="line" />}
|
{index !== info.processFlow.length - 1 && <div className="line" />}
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
|
@ -113,26 +131,6 @@ function ViewInfo(props) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<Divider orientation="left">审核信息</Divider>
|
|
||||||
<Spin spinning={props.qualificationReview.qualificationReviewLoading}>
|
|
||||||
<Descriptions
|
|
||||||
column={2}
|
|
||||||
bordered
|
|
||||||
styles={{ label: { width: 200 }, content: { width: 500 } }}
|
|
||||||
items={[
|
|
||||||
{ label: "相关方名称", children: info.corpName },
|
|
||||||
{ label: "所属集团单位", children: info.groupUnitName },
|
|
||||||
{ label: "资质名称", children: info.qualificationsName },
|
|
||||||
{ label: "资质类别", children: info.qualificationsTypeName },
|
|
||||||
{ label: "资质等级", children: info.stakeholderLevelName },
|
|
||||||
{ label: "材料数", children: info.materialNum },
|
|
||||||
{ label: "备注", children: info.remarks },
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
|
|
||||||
</Spin>
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<Divider orientation="left">基础信息</Divider>
|
<Divider orientation="left">基础信息</Divider>
|
||||||
<Spin spinning={props.qualificationReview.enterpriseLoading || getFileLoading}>
|
<Spin spinning={props.qualificationReview.enterpriseLoading || getFileLoading}>
|
||||||
|
|
@ -172,7 +170,7 @@ function ViewInfo(props) {
|
||||||
</div>
|
</div>
|
||||||
{typeGroup.map(item => (
|
{typeGroup.map(item => (
|
||||||
<div key={item.dataType}>
|
<div key={item.dataType}>
|
||||||
<Divider orientation="left">{item.dataTypeName}</Divider>
|
<Divider orientation="left">{`${item.dataTypeName}信息`}</Divider>
|
||||||
<Spin spinning={props.qualificationReview.qualificationReviewLoading}>
|
<Spin spinning={props.qualificationReview.qualificationReviewLoading}>
|
||||||
<Table
|
<Table
|
||||||
options={false}
|
options={false}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue