Merge remote-tracking branch 'origin/master'

master
dearLin 2026-02-09 16:13:35 +08:00
commit 86e2750ac4
12 changed files with 257 additions and 101 deletions

View File

@ -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.32" "zy-react-library": "^1.1.42"
}, },
"devDependencies": { "devDependencies": {
"@antfu/eslint-config": "^5.4.1", "@antfu/eslint-config": "^5.4.1",

View File

@ -28,9 +28,12 @@ export const projectUpdate = declareRequest(
"qualificationStatisticsLoading", "qualificationStatisticsLoading",
`Put > @/xgfManager/project/edit`, `Put > @/xgfManager/project/edit`,
); );
export const userQualificationInfo = declareRequest( export const userQualificationList = declareRequest(
`Post > @/certificate/userCertificate/listPage`, `Post > @/certificate/userCertificate/listPage`,
); );
export const userQualificationInfo = declareRequest(
`Get > /certificate/userCertificate/getInfoById/{id}`,
);
export const projectDetail = declareRequest( export const projectDetail = declareRequest(
"qualificationStatisticsLoading", "qualificationStatisticsLoading",
`Get > /xgfManager/project/{id}`, `Get > /xgfManager/project/{id}`,

View File

@ -1,72 +1,139 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Button, Form, Modal } from "antd"; import { Button, Descriptions, Divider, Form, Modal } from "antd";
import { useEffect, useMemo, useRef, useState } from "react"; import { useEffect, useState } from "react";
import PreviewImg from "zy-react-library/components/PreviewImg";
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 Table from "zy-react-library/components/Table";
import TooltipPreviewImg from "zy-react-library/components/TooltipPreviewImg"; import TooltipPreviewImg from "zy-react-library/components/TooltipPreviewImg";
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj"; import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
import useGetFile from "zy-react-library/hooks/useGetFile"; import useGetFile from "zy-react-library/hooks/useGetFile";
import useTable from "zy-react-library/hooks/useTable"; import useTable from "zy-react-library/hooks/useTable";
import { getLabelName } from "zy-react-library/utils";
import { NS_QUALIFICATION_STATISTICS } from "~/enumerate/namespace"; import { NS_QUALIFICATION_STATISTICS } from "~/enumerate/namespace";
const EMPLOYMENT_STATUS_ENUM = [
{ label: "离职", value: 0 },
{ label: "在职", value: 1 },
{ label: "信息变更中", value: 2 },
{ label: "未入职", value: 3 },
{ label: "实习生", value: 4 },
{ label: "实习结束", value: 5 },
{ label: "退休", value: 6 },
{ label: "劳务派遣", value: 7 },
{ label: "劳务派遣结束", value: 8 },
{ label: "入职待审核", value: 11 },
{ label: "离职待审核", value: 10 },
];
const ViewProjectReviewUserModal = (props) => { const ViewProjectReviewUserModal = (props) => {
const [form] = Form.useForm(); const [form] = Form.useForm();
const [realData, setRealData] = useState([]); const [realData, setRealData] = useState([]);
const [viewInfoModalVisible, setViewInfoModalVisible] = useState(false);
const [currentId, setCurrentId] = useState("");
const { loading: getFileLoading, getFile } = useGetFile(); const { loading: getFileLoading, getFile } = useGetFile();
const { tableProps } = useTable(props["userQualificationInfo"], { const { tableProps, getData } = useTable(props["userQualificationList"], {
form, form,
params: { params: {
eqUserId: props.data.userRealId ? props.data.userRealId : props.data.id, eqUserId: props.data.userRealId ? props.data.userRealId : props.data.id,
}, },
useStorageQueryCriteria: false, useStorageQueryCriteria: false,
onSuccess: async (data) => { onSuccess: async (data) => {
const list = data.list; const list = await getFile({
for (let i = 0; i < list.length; i++) { single: false,
const fileItems = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["159"], eqForeignKey: list[i].userCertificateId }); dataSource: data.list,
list[i].files = fileItems; foreignKey: "userCertificateId",
} eqType: UPLOAD_FILE_TYPE_ENUM["159"],
});
setRealData(list); setRealData(list);
}, },
}); });
const [tableData, setTableData] = useState([]);
const hasFetchedRef = useRef(false);
useEffect(() => {
// 只在第一次获取数据时执行,或者数据真正变化时
if (tableProps.dataSource
&& tableProps.dataSource.length > 0
&& !getFileLoading
&& !hasFetchedRef.current) {
hasFetchedRef.current = true;
const fetchFiles = async () => { return (
const dataWithFiles = await Promise.all( <div>
tableProps.dataSource.map(async (item) => { <Modal
try { title="特种证书"
const files = await getFile({ width={1200}
eqType: UPLOAD_FILE_TYPE_ENUM["6"], open
eqForeignKey: item.userId, maskClosable={false}
}); onCancel={props.onCancel}
return { ...item, files: files || [] }; footer={[
} <Button key="cancel" onClick={props.onCancel}>取消</Button>,
catch (error) { ]}
console.error("获取文件失败:", error); >
return { ...item, files: [] }; <Search
} labelCol={{ span: 8 }}
}), options={[
{ name: "likeUserName", label: "姓名" },
{ name: "eqType", label: "证书类型", render: (<DictionarySelect dictValue="zslx" />) },
]}
form={form}
onFinish={getData}
/>
<Table
options={false}
disabledResizer={true}
columns={[
{ title: "姓名", dataIndex: "name" },
{ title: "证书类型", dataIndex: "typeName" },
{ title: "证书名称", dataIndex: "certificateName" },
{ title: "证书编号", dataIndex: "certificateCode" },
{
title: "有效期",
dataIndex: "certificateDateStart",
render: (_, record) => `${record.certificateDateStart}${record.certificateDateEnd}`,
},
{ title: "图片", dataIndex: "files", render: (_, record) => (<TooltipPreviewImg files={record.files} />) },
{
title: "操作",
width: 100,
fixed: "right",
render: (_, record) => (
<Button
type="link"
onClick={() => {
setViewInfoModalVisible(true);
setCurrentId(record.id);
}}
>
查看
</Button>
),
},
]}
{...tableProps}
dataSource={realData}
loading={getFileLoading || tableProps.loading}
/>
</Modal>
{viewInfoModalVisible && (
<ViewInfoModal
id={currentId}
onCancel={() => {
setViewInfoModalVisible(false);
setCurrentId("");
}}
/>
)}
</div>
); );
};
setTableData(dataWithFiles); const ViewInfoModalComponent = (props) => {
const [info, setInfo] = useState({});
const { getFile } = useGetFile();
const getData = async () => {
const { data } = await props["userQualificationInfo"]({ id: props.id });
const fileItems = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["159"], eqForeignKey: data.userCertificateId });
console.log(fileItems);
setInfo({ ...data, files: fileItems });
}; };
fetchFiles(); useEffect(() => {
} getData();
}, [tableProps.dataSource, getFileLoading, getFile]); }, []);
// 使用 useMemo 避免重复计算
const enhancedTableProps = useMemo(() => ({
...tableProps,
dataSource: tableData.length > 0 ? tableData : tableProps.dataSource || [],
}), [tableProps, tableData]);
return ( return (
<Modal <Modal
@ -79,23 +146,100 @@ const ViewProjectReviewUserModal = (props) => {
<Button key="cancel" onClick={props.onCancel}>取消</Button>, <Button key="cancel" onClick={props.onCancel}>取消</Button>,
]} ]}
> >
<Table <Divider orientation="left">人员信息</Divider>
options={false} <Descriptions
disabledResizer={true} column={1}
columns={[ bordered
{ title: "姓名", dataIndex: "name" }, styles={{ label: { width: 200 } }}
{ title: "证书名称", dataIndex: "certificateName" }, items={[
{ title: "行业类别", dataIndex: "industryCategoryName" }, { label: "姓名", children: info.userName },
{ title: "操作项目", dataIndex: "industryOperatingItemsName" }, { label: "企业名称", children: info.corpinfoName },
{ title: "证书编号", dataIndex: "certificateCode" }, { label: "部门名称", children: info.departmentName },
{ title: "图片", dataIndex: "files", render: (_, record) => (<TooltipPreviewImg files={record.files} />) }, { label: "岗位名称", children: info.postName },
{ label: "就职状态", children: getLabelName({ list: EMPLOYMENT_STATUS_ENUM, status: info.employmentStatus }) },
]} ]}
{...enhancedTableProps}
dataSource={realData}
/> />
<Divider orientation="left">证书信息</Divider>
{
info.type === "tezhongzuoye" && (
<Descriptions
column={1}
bordered
styles={{ label: { width: 200 } }}
items={[
{ label: "证书名称", children: info.certificateName },
{ label: "证书编号", children: info.certificateCode },
{ label: "发证机构", children: info.issuingAuthority },
{ label: "作业类别", children: info.industryCategoryName },
{ label: "操作项目", children: info.industryOperatingItemsName },
{ label: "发证日期", children: info.dateIssue },
{ label: "有效日期", children: `${info.certificateDateStart}${info.certificateDateEnd}` },
{ label: "复审日期", children: info.reviewDate },
{ label: "证书照片", children: (<PreviewImg files={info.files} />) },
]}
/>
)
}
{
info.type === "tzsbczry" && (
<Descriptions
column={1}
bordered
styles={{ label: { width: 200 } }}
items={[
{ label: "证书名称", children: info.certificateName },
{ label: "证书编号", children: info.certificateCode },
{ label: "操作类别", children: info.assignmentCategoryName },
{ label: "作业项目", children: info.assignmentOperatingItemsName },
{ label: "发证机构", children: info.issuingAuthority },
{ label: "发证日期", children: info.dateIssue },
{ label: "复审日期", children: info.reviewDate },
{ label: "有效日期", children: `${info.certificateDateStart}${info.certificateDateEnd}` },
{ label: "证书照片", children: (<PreviewImg files={info.files} />) },
]}
/>
)
}
{
info.type === "zyfzr" && (
<Descriptions
column={1}
bordered
styles={{ label: { width: 200 } }}
items={[
{ label: "证书名称", children: info.certificateName },
{ label: "证书编号", children: info.certificateCode },
{ label: "岗位名称", children: info.postName },
{ label: "发证机构", children: info.issuingAuthority },
{ label: "发证日期", children: info.dateIssue },
{ label: "有效日期", children: `${info.certificateDateStart}${info.certificateDateEnd}` },
{ label: "证书照片", children: (<PreviewImg files={info.files} />) },
]}
/>
)
}
{
info.type === "aqscglry" && (
<Descriptions
column={1}
bordered
styles={{ label: { width: 200 } }}
items={[
{ label: "证书名称", children: info.certificateName },
{ label: "证书编号", children: info.certificateCode },
{ label: "岗位名称", children: info.postName },
{ label: "发证机构", children: info.issuingAuthority },
{ label: "发证日期", children: info.dateIssue },
{ label: "有效日期", children: `${info.certificateDateStart}${info.certificateDateEnd}` },
{ label: "证书照片", children: (<PreviewImg files={info.files} />) },
]}
/>
)
}
</Modal> </Modal>
); );
}; };
const ViewInfoModal = Connect([NS_QUALIFICATION_STATISTICS], true)(ViewInfoModalComponent);
export default Connect([NS_QUALIFICATION_STATISTICS], true)(ViewProjectReviewUserModal); export default Connect([NS_QUALIFICATION_STATISTICS], true)(ViewProjectReviewUserModal);

View File

@ -29,6 +29,7 @@ function Add(props) {
const query = useGetUrlQuery(); const query = useGetUrlQuery();
const [form] = Form.useForm(); const [form] = Form.useForm();
const [userInfo, setUserInfo] = useState({}); const [userInfo, setUserInfo] = useState({});
// const [currentStep, setCurrentStep] = useState(1);
const [currentStep, setCurrentStep] = useState(1); const [currentStep, setCurrentStep] = useState(1);
const [formValues, setFormValues] = useState({}); const [formValues, setFormValues] = useState({});
const [projectFileAddCmdList, setProjectFileAddCmdList] = useState([]); // 项目资料 const [projectFileAddCmdList, setProjectFileAddCmdList] = useState([]); // 项目资料
@ -83,7 +84,7 @@ function Add(props) {
}, []); }, []);
return ( return (
<Page headerTitle={query.id ? "编辑" : "新增"} isShowFooter={false}> <Page headerTitle={query.id ? "编辑" : "项目备案申请"} isShowFooter={false}>
<> <>
{currentStep === 1 {currentStep === 1
&& ( && (
@ -226,7 +227,7 @@ const StepOneComponent = (props) => {
}, [props.formValues]); }, [props.formValues]);
return ( return (
<FormBuilder <FormBuilder
labelCol={{ span: 5 }} labelCol={{ span: 6 }}
form={form} form={form}
span={8} span={8}
loading={props.qualificationStatistics.qualificationStatisticsLoading} loading={props.qualificationStatistics.qualificationStatisticsLoading}
@ -283,7 +284,7 @@ const StepOneComponent = (props) => {
{ name: "chooseForm", label: "项目选取形式", render: <DictionarySelect dictValue="project_choose_form" onGetLabel={label => form.setFieldValue("chooseFormName", label)} /> }, { name: "chooseForm", label: "项目选取形式", render: <DictionarySelect dictValue="project_choose_form" onGetLabel={label => form.setFieldValue("chooseFormName", label)} /> },
{ name: "chooseFormName", label: "项目选取形式名称", onlyForLabel: true }, { name: "chooseFormName", label: "项目选取形式名称", onlyForLabel: true },
{ name: "fourNewFlag", label: "是否涉及四新工作内容", labelCol: { span: 8 }, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }] }, { name: "fourNewFlag", label: "是否涉及四新工作内容", labelCol: { span: 8 }, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }] },
{ name: "threePeopleFlag", label: "是否涉及三人及以上工作内容", labelCol: { span: 9 }, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }] }, { name: "threePeopleFlag", label: "是否涉及三人及以上工作内容", labelCol: { span: 10 }, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }] },
{ name: "nightWorkFlag", label: "是否涉及夜间作业", labelCol: { span: 8 }, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }] }, { name: "nightWorkFlag", label: "是否涉及夜间作业", labelCol: { span: 8 }, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }] },
{ name: "specialFlag", label: "是否包含特殊作业", labelCol: { span: 8 }, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }] }, { name: "specialFlag", label: "是否包含特殊作业", labelCol: { span: 8 }, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ bianma: 1, name: "是" }, { bianma: 0, name: "否" }] },
{ label: "项目审核信息", render: FORM_ITEM_RENDER_ENUM.DIVIDER }, { label: "项目审核信息", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
@ -430,7 +431,6 @@ const StepOneComponent = (props) => {
: [ : [
{ {
name: "manageDeptId", name: "manageDeptId",
labelCol: { span: 5 },
label: "选择主管部门", label: "选择主管部门",
render: FORM_ITEM_RENDER_ENUM.SELECT, render: FORM_ITEM_RENDER_ENUM.SELECT,
items: deptList, items: deptList,
@ -484,8 +484,7 @@ const StepOneComponent = (props) => {
}, },
{ {
name: "approvalCorpId", name: "approvalCorpId",
label: "项目执行属地公司名称", label: "项目属地单位",
labelCol: { span: 7 },
items: corpInfoList, items: corpInfoList,
render: FORM_ITEM_RENDER_ENUM.SELECT, render: FORM_ITEM_RENDER_ENUM.SELECT,
itemsField: { valueKey: "id", labelKey: "corpName" }, itemsField: { valueKey: "id", labelKey: "corpName" },
@ -502,11 +501,10 @@ const StepOneComponent = (props) => {
}, },
}, },
}, },
{ name: "approvalCorpName", label: "项目执行属地公司名称", onlyForLabel: true }, { name: "approvalCorpName", label: "项目属地单位名称", onlyForLabel: true },
{ {
name: "approvalDeptId", name: "approvalDeptId",
labelCol: { span: 7 }, label: "项目属地单位部门",
label: "项目执行属地公司部门",
render: ( render: (
<DepartmentSelectTree <DepartmentSelectTree
params={{ eqCorpinfoId: approvalCorpId }} params={{ eqCorpinfoId: approvalCorpId }}
@ -521,11 +519,10 @@ const StepOneComponent = (props) => {
/> />
), ),
}, },
{ name: "approvalDeptName", label: "项目执行属地公司部门名称", onlyForLabel: true }, { name: "approvalDeptName", label: "项目属地单位部门名称", onlyForLabel: true },
{ {
name: "approvalUserIds", name: "approvalUserIds",
label: "项目执行属地公司人员", label: "项目属地单位人员",
labelCol: { span: 7 },
render: ( render: (
<PersonnelSelect <PersonnelSelect
params={{ departmentId: approvalDeptId }} params={{ departmentId: approvalDeptId }}
@ -534,11 +531,12 @@ const StepOneComponent = (props) => {
/> />
), ),
}, },
{ name: "approvalUserNames", label: "项目执行属地公司人员名称", onlyForLabel: true }, { name: "approvalUserNames", label: "项目属地单位人员名称", onlyForLabel: true },
{ {
name: "projectFiles", name: "projectFiles",
label: "安全管理协议", label: "安全管理协议",
span: 24, span: 24,
labelCol: { span: 2 },
render: ( render: (
<Upload <Upload
fileType="image" fileType="image"
@ -593,7 +591,7 @@ const StepTwoComponent = (props) => {
} }
}; };
useEffect(() => { useEffect(() => {
getData(); query.id && getData();
}, []); }, []);
// 点击新增项目相关资料 // 点击新增项目相关资料
const onUploadFileOpen = () => { const onUploadFileOpen = () => {
@ -738,6 +736,7 @@ const StepTwoComponent = (props) => {
setProjectFileList(prev => [...prev, ...formattedRows]); setProjectFileList(prev => [...prev, ...formattedRows]);
setChooseFilsListModalOpen(false); setChooseFilsListModalOpen(false);
}; };
return ( return (
<div> <div>
<Spin <Spin
@ -773,7 +772,7 @@ const StepTwoComponent = (props) => {
pagination={false} pagination={false}
options={false} options={false}
disabledResizer={true} disabledResizer={true}
rowKey={record => record.id || record.dataName} rowKey={record => record.id || record.detailId}
columns={[ columns={[
{ title: "材料名称", key: "dataName", dataIndex: "dataName" }, { title: "材料名称", key: "dataName", dataIndex: "dataName" },
{ title: "上传时间", key: "createTime", dataIndex: "createTime", render: (_, record) => record.createTime || "-" }, { title: "上传时间", key: "createTime", dataIndex: "createTime", render: (_, record) => record.createTime || "-" },
@ -973,8 +972,6 @@ const UserSelectComponent = (props) => {
const { tableProps, getData } = useTable(props["userList"], { const { tableProps, getData } = useTable(props["userList"], {
form, form,
params: { params: {
likeName: "",
likeUserIdCard: "",
inDepartmentId, inDepartmentId,
eqEmploymentFlag: 1, // 在职 eqEmploymentFlag: 1, // 在职
}, },

View File

@ -3,8 +3,8 @@ import { Button, Descriptions, Divider, Form, Input, message, Modal, Space } fro
import { useEffect, 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 Page from "zy-react-library/components/Page"; import Page from "zy-react-library/components/Page";
import PreviewImg from "zy-react-library/components/PreviewImg";
import Table from "zy-react-library/components/Table"; import Table from "zy-react-library/components/Table";
import TooltipPreviewImg from "zy-react-library/components/TooltipPreviewImg";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj"; import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
import useGetFile from "zy-react-library/hooks/useGetFile"; import useGetFile from "zy-react-library/hooks/useGetFile";
@ -269,7 +269,8 @@ function Review(props) {
<Divider orientation="left">项目基础信息</Divider> <Divider orientation="left">项目基础信息</Divider>
<Descriptions <Descriptions
bordered bordered
column={4} column={2}
styles={{ label: { width: 200 }, content: { width: 500 } }}
items={[ items={[
{ label: "项目名称", children: info.projectName }, { label: "项目名称", children: info.projectName },
{ label: "项目负责人", children: info.userName }, { label: "项目负责人", children: info.userName },
@ -283,7 +284,7 @@ function Review(props) {
{ label: "项目类别", children: info.qualificationsTypeName }, { label: "项目类别", children: info.qualificationsTypeName },
{ label: "是否存在分包项目", children: info.subcontractFlag === 1 ? "是" : "否" }, { label: "是否存在分包项目", children: info.subcontractFlag === 1 ? "是" : "否" },
{ label: "是否为属地公司推荐", children: info.isLocalCompany === 1 ? "是" : "否" }, { label: "是否为属地公司推荐", children: info.isLocalCompany === 1 ? "是" : "否" },
{ label: "安全管理协议", children: <TooltipPreviewImg files={info.files} /> }, { label: "安全管理协议", children: <PreviewImg files={info.files} /> },
]} ]}
/> />
</div> </div>
@ -291,7 +292,8 @@ function Review(props) {
<Divider orientation="left">企业基础信息</Divider> <Divider orientation="left">企业基础信息</Divider>
<Descriptions <Descriptions
bordered bordered
column={4} column={2}
styles={{ label: { width: 200 }, content: { width: 500 } }}
items={[ items={[
{ label: "公司名称", children: info.corpInfo?.corpName }, { label: "公司名称", children: info.corpInfo?.corpName },
{ label: "企业状态", children: info.corpInfo?.corpStateName }, { label: "企业状态", children: info.corpInfo?.corpStateName },
@ -310,9 +312,8 @@ function Review(props) {
{ label: "资产总额(万元)", children: info.corpInfo?.totalAssets }, { label: "资产总额(万元)", children: info.corpInfo?.totalAssets },
{ label: "注册资金(万元)", children: info.corpInfo?.regcapital }, { label: "注册资金(万元)", children: info.corpInfo?.regcapital },
{ label: "企业类型", children: getLabelName({ list: typeList, status: info.corpInfo?.type }) }, { label: "企业类型", children: getLabelName({ list: typeList, status: info.corpInfo?.type }) },
{ label: "营业执照", children: <TooltipPreviewImg files={info.corpInfo?.files || []} /> }, { label: "营业执照", children: <PreviewImg files={info.corpInfo?.files || []} /> },
{ label: "营业执照有效期", children: info.corpInfo?.licenseStart ? `${info.corpInfo?.licenseStart}-${info.corpInfo?.licenseEnd}` : "-" }, { label: "营业执照有效期", children: info.corpInfo?.licenseStart ? `${info.corpInfo?.licenseStart}-${info.corpInfo?.licenseEnd}` : "-" },
{ label: "", children: "" },
]} ]}
/> />
</div> </div>
@ -422,7 +423,18 @@ function Review(props) {
{ title: "部门", dataIndex: "departmentName" }, { title: "部门", dataIndex: "departmentName" },
{ title: "姓名", dataIndex: "userName" }, { title: "姓名", dataIndex: "userName" },
{ title: "时间", dataIndex: "approvalTime" }, { title: "时间", dataIndex: "approvalTime" },
{ title: "审核结果", dataIndex: "approvalStatus", render: (_, record) => getLabelName({ list: [{ name: record.auditType === 2 ? "确认中" : "审核中", bianma: "1" }, { name: record.auditType === 2 ? "已确认" : "已通过", bianma: "2" }, { name: "已驳回", bianma: "3" }], status: record.approvalStatus }) }, {
title: "审核结果",
dataIndex: "approvalStatus",
render: (_, record) => getLabelName({
list: [
{ name: record.auditType === 2 ? "确认中" : "审核中", bianma: "1" },
{ name: record.auditType === 2 ? "已确认" : "已通过", bianma: "2" },
{ name: "已驳回", bianma: "3" },
],
status: record.approvalStatus,
}),
},
]} ]}
/> />
</div> </div>

View File

@ -778,8 +778,6 @@ const UsercontentComponent = (props) => {
const { tableProps, getData } = useTable(props["userList"], { const { tableProps, getData } = useTable(props["userList"], {
form, form,
params: { params: {
likeName: "",
likeUserIdCard: "",
inDepartmentId, inDepartmentId,
eqEmploymentFlag: 1, // 在职 eqEmploymentFlag: 1, // 在职
}, },

View File

@ -35,7 +35,7 @@ function List(props) {
<Search <Search
labelCol={{ span: 8 }} labelCol={{ span: 8 }}
options={[ options={[
{ name: "likeProjectName", label: "项目名称" }, { name: "likeProjectName", label: "二级项目名称" },
{ {
name: "eqQualificationsTypeId", name: "eqQualificationsTypeId",
label: "项目类别", label: "项目类别",

View File

@ -25,7 +25,7 @@ function List(props) {
<Search <Search
labelCol={{ span: 8 }} labelCol={{ span: 8 }}
options={[ options={[
{ name: "likeProjectName", label: "项目名称" }, { name: "likeProjectName", label: "二级项目名称" },
{ {
name: "eqQualificationsTypeId", name: "eqQualificationsTypeId",
label: "项目类别", label: "项目类别",

View File

@ -52,6 +52,7 @@ function List(props) {
{ title: "项目名称", dataIndex: "projectName" }, { title: "项目名称", dataIndex: "projectName" },
{ title: "股份主管部门", dataIndex: "manageDeptName" }, { title: "股份主管部门", dataIndex: "manageDeptName" },
{ title: "项目类别", dataIndex: "qualificationsTypeName" }, { title: "项目类别", dataIndex: "qualificationsTypeName" },
{ title: "是否存在分包", dataIndex: "subcontractFlag", render: (_, record) => record.subcontractFlag === 1 ? "是" : "否" },
{ title: "项目属地单位", dataIndex: "companyName" }, { title: "项目属地单位", dataIndex: "companyName" },
{ {
title: "项目备案审核状态", title: "项目备案审核状态",

View File

@ -157,8 +157,6 @@ const UserSelectComponent = (props) => {
const { tableProps, getData } = useTable(props["userList"], { const { tableProps, getData } = useTable(props["userList"], {
form, form,
params: { params: {
likeName: "",
likeUserIdCard: "",
inDepartmentId, inDepartmentId,
noMain: 1, noMain: 1,
eqEmploymentFlag: 1, // 在职 eqEmploymentFlag: 1, // 在职

View File

@ -70,15 +70,15 @@ function Add(props) {
<DictionarySelect <DictionarySelect
disabled={query.id} disabled={query.id}
dictValue="qualificationsType" dictValue="qualificationsType"
onGetOption={(v) => { onChange={(value) => {
if (v.dictValue === "wzgll") { if (value === "wzgll") {
setCorpTypeList([2, 6]); setCorpTypeList([2, 6]);
} }
else { else {
setCorpTypeList([2]); setCorpTypeList([2]);
} }
form.setFieldValue("managerDept", []); form.setFieldValue("managerDept", "");
form.setFieldValue("managerDeptName", []); form.setFieldValue("managerDeptName", "");
form.setFieldValue("managerUser", []); form.setFieldValue("managerUser", []);
form.setFieldValue("managerUserName", []); form.setFieldValue("managerUserName", []);
}} }}
@ -115,12 +115,15 @@ function Add(props) {
onGetLabel={(label) => { onGetLabel={(label) => {
form.setFieldValue("managerDeptName", label); form.setFieldValue("managerDeptName", label);
}} }}
onChange={(_, __, extra) => { onChange={() => {
form.setFieldValue("managerUser", []); form.setFieldValue("managerUser", []);
form.setFieldValue("managerUserName", []); form.setFieldValue("managerUserName", []);
form.setFieldValue("corpId", extra.triggerNode.props.corpinfoId); }}
form.setFieldValue("managerCorpId", extra.triggerNode.props.corpinfoId); onGetNodePaths={(nodes) => {
form.setFieldValue("managerCorpName", extra.triggerNode.props.corpinfoName); const lastNode = nodes.at(-1);
form.setFieldValue("corpId", lastNode.corpinfoId);
form.setFieldValue("managerCorpId", lastNode.corpinfoId);
form.setFieldValue("managerCorpName", lastNode.corpinfoName);
}} }}
/> />
), ),

View File

@ -2,8 +2,8 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Button, Descriptions, Divider, Spin } from "antd"; import { Button, Descriptions, Divider, Spin } from "antd";
import { Fragment, useEffect, useState } from "react"; import { Fragment, useEffect, useState } from "react";
import Page from "zy-react-library/components/Page"; import Page from "zy-react-library/components/Page";
import PreviewImg from "zy-react-library/components/PreviewImg";
import Table from "zy-react-library/components/Table"; import Table from "zy-react-library/components/Table";
import TooltipPreviewImg from "zy-react-library/components/TooltipPreviewImg";
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj"; import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
import useGetFile from "zy-react-library/hooks/useGetFile"; import useGetFile from "zy-react-library/hooks/useGetFile";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
@ -162,7 +162,7 @@ function ViewInfo(props) {
label: "企业类型", label: "企业类型",
children: getLabelName({ status: corpInfoData.type, list: ENTERPRISE_TYPE }), children: getLabelName({ status: corpInfoData.type, list: ENTERPRISE_TYPE }),
}, },
{ label: "营业执照", children: <TooltipPreviewImg files={corpInfoData.licenseFile} /> }, { label: "营业执照", children: <PreviewImg files={corpInfoData.licenseFile} /> },
{ label: "营业执照有效期", children: corpInfoData.licenseStart ? `${corpInfoData.licenseStart}${corpInfoData.licenseEnd}` : "" }, { label: "营业执照有效期", children: corpInfoData.licenseStart ? `${corpInfoData.licenseStart}${corpInfoData.licenseEnd}` : "" },
]} ]}
/> />