申请人简历生成器集成
Some checks failed
Node CI / build (14.x, macOS-latest) (push) Has been cancelled
Node CI / build (14.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (14.x, windows-latest) (push) Has been cancelled
Node CI / build (16.x, macOS-latest) (push) Has been cancelled
Node CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (16.x, windows-latest) (push) Has been cancelled
coverage CI / build (push) Has been cancelled
Node pnpm CI / build (16.x, macOS-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, windows-latest) (push) Has been cancelled

This commit is contained in:
francis-fh
2026-07-24 11:26:57 +08:00
parent aa48790c24
commit 4900040e6b

View File

@@ -1,8 +1,8 @@
import React, { Fragment, useEffect, useRef, useState } from 'react'; import React, { Fragment, useEffect, useRef, useState } from 'react';
import { FormattedMessage, useAccess, useParams } from '@umijs/max'; import { FormattedMessage, useAccess, useNavigate, useParams } from '@umijs/max';
import { Button, FormInstance, message, Tag } from 'antd'; import { Button, FormInstance, message, Tag } from 'antd';
import { ActionType, ProColumns, ProTable } from '@ant-design/pro-components'; import { ActionType, ProColumns, ProTable } from '@ant-design/pro-components';
import { FormOutlined, PlusOutlined, AlignLeftOutlined, SendOutlined, FilterOutlined } from '@ant-design/icons'; import { FormOutlined, PlusOutlined, AlignLeftOutlined, SendOutlined, FilterOutlined, ArrowLeftOutlined } from '@ant-design/icons';
import { getDictValueEnum } from '@/services/system/dict'; import { getDictValueEnum } from '@/services/system/dict';
import DictTag from '@/components/DictTag'; import DictTag from '@/components/DictTag';
import { exportCmsAppUserExport } from '@/services/mobileusers/list'; import { exportCmsAppUserExport } from '@/services/mobileusers/list';
@@ -14,7 +14,6 @@ import {
import similarityJobs from '@/utils/similarity_Job'; import similarityJobs from '@/utils/similarity_Job';
import Detail from './detail'; import Detail from './detail';
import Hire from './hire'; import Hire from './hire';
import ResumeView from './resumeView';
import InterviewInvite from '../ResumeRecommend/InterviewInvite'; import InterviewInvite from '../ResumeRecommend/InterviewInvite';
import ResumeFilter from './resumeFilter'; import ResumeFilter from './resumeFilter';
@@ -35,6 +34,7 @@ const handleExport = async (values: API.MobileUser.ListParams) => {
function ManagementList() { function ManagementList() {
const access = useAccess(); const access = useAccess();
const navigate = useNavigate();
const formTableRef = useRef<FormInstance>(); const formTableRef = useRef<FormInstance>();
const actionRef = useRef<ActionType>(); const actionRef = useRef<ActionType>();
@@ -52,7 +52,6 @@ function ManagementList() {
const [hireVisible, setHireVisible] = useState<boolean>(false); const [hireVisible, setHireVisible] = useState<boolean>(false);
const [jobInfo, setJobInfo] = useState({}); const [jobInfo, setJobInfo] = useState({});
const [matchingDegree, setMatchingDegree] = useState<any>(null); const [matchingDegree, setMatchingDegree] = useState<any>(null);
const [resumeVisible, setResumeVisible] = useState<boolean>(false);
const [inviteVisible, setInviteVisible] = useState<boolean>(false); const [inviteVisible, setInviteVisible] = useState<boolean>(false);
const [filterVisible, setFilterVisible] = useState<boolean>(false); const [filterVisible, setFilterVisible] = useState<boolean>(false);
const [hireAdd, setHireAdd] = useState<any>(null); const [hireAdd, setHireAdd] = useState<any>(null);
@@ -205,11 +204,10 @@ function ManagementList() {
icon={<AlignLeftOutlined/>} icon={<AlignLeftOutlined/>}
hidden={!access.hasPerms('cms:userworkexperiences:list')} hidden={!access.hasPerms('cms:userworkexperiences:list')}
onClick={() => { onClick={() => {
setCurrentRow(record); navigate(`/usermgmt/appuser/resume/${record.userId}?readOnly=1`);
setResumeVisible(true);
}} }}
> >
</Button> </Button>
<Button <Button
type="link" type="link"
@@ -283,6 +281,7 @@ function ManagementList() {
rowKey="jobId" rowKey="jobId"
key="index" key="index"
columns={columns} columns={columns}
search={{ defaultCollapsed: false }}
request={(params) => request={(params) =>
exportCmsJobCandidates(jobId).then((res) => { exportCmsJobCandidates(jobId).then((res) => {
// const v = similarityJobs.calculationMatchingDegreeJob(res.rows[0]); // const v = similarityJobs.calculationMatchingDegreeJob(res.rows[0]);
@@ -296,6 +295,13 @@ function ManagementList() {
}) })
} }
toolBarRender={() => [ toolBarRender={() => [
<Button
key="back-to-list"
icon={<ArrowLeftOutlined />}
onClick={() => navigate(-1)}
>
</Button>,
<Button <Button
type="primary" type="primary"
key="export" key="export"
@@ -345,15 +351,6 @@ function ManagementList() {
} }
}} }}
></Hire> ></Hire>
<ResumeView
values={currentRow}
open={resumeVisible}
matching={{ jobId, companyId: (jobInfo as any)?.companyId, applyId: currentRow?.applyId, jobName: (jobInfo as any)?.jobTitle }}
onClose={() => {
setResumeVisible(false);
setCurrentRow(undefined);
}}
/>
<InterviewInvite <InterviewInvite
open={inviteVisible} open={inviteVisible}
userId={currentRow?.userId} userId={currentRow?.userId}