Browse Source

deploy

master
Soleilw 1 month ago
parent
commit
a6e1b4d9b0

+ 1
- 0
dist/8998.c1132b38.async.js
File diff suppressed because it is too large
View File


+ 0
- 1
dist/8998.fe4f49ae.async.js
File diff suppressed because it is too large
View File


+ 1
- 1
dist/index.html View File

</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script src="/umi.710fe7b6.js"></script>
<script src="/umi.00e3fa3d.js"></script>
</body> </body>
</html> </html>

+ 2
- 0
dist/p__Manage__Company__Home__index.0288082d.async.js
File diff suppressed because it is too large
View File


+ 0
- 2
dist/p__Manage__Company__Home__index.422471c6.async.js
File diff suppressed because it is too large
View File


+ 0
- 1
dist/p__Manage__Company__Recommend__index.216eb8fb.async.js
File diff suppressed because it is too large
View File


+ 1
- 0
dist/p__Manage__Company__Recommend__index.ee316ed1.async.js
File diff suppressed because it is too large
View File


+ 0
- 1
dist/p__Manage__Company__Resume__index.23fa92ce.async.js
File diff suppressed because it is too large
View File


+ 1
- 0
dist/p__Manage__Company__Resume__index.ecac8d4e.async.js
File diff suppressed because it is too large
View File


dist/umi.00e3fa3d.js
File diff suppressed because it is too large
View File


+ 4
- 4
src/components/Common/Jobseeker/index.tsx View File

</div> </div>
<div> <div>
{ {
item.work_experience && item.work_experience != 0 && <> <Divider type='vertical'></Divider> 工作经验:{item.work_experience}年</>
item.work_experience_txt && item.work_experience_txt != '' ? <> <Divider type='vertical'></Divider> 工作经验:{item.work_experience_txt}年</> : <><Divider type='vertical'></Divider>无工作经验</>
} }
</div> </div>
</Space> </Space>
footer={() => (<> footer={() => (<>
<Button key="back" onClick={() => { setOpenPreview(false) }}> <Button key="back" onClick={() => { setOpenPreview(false) }}>
关闭 关闭
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容 const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容
const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!); const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!);
saveAs((fileData as Blob), '个人简历.docx') saveAs((fileData as Blob), '个人简历.docx')
}}> }}>
下载简历 下载简历
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
setOpenInvitePreview(true) setOpenInvitePreview(true)
}}> }}>
邀请面试 邀请面试
</Button>,
</Button>


</>)} </>)}
width={1000} width={1000}

+ 4
- 4
src/components/Manage/Company/Resume/Contact/index.tsx View File

footer={() => (<> footer={() => (<>
<Button key="back" onClick={() => { setOpenPreview(false) }}> <Button key="back" onClick={() => { setOpenPreview(false) }}>
关闭 关闭
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容 const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容
const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!); const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!);
saveAs((fileData as Blob), '个人简历.docx') saveAs((fileData as Blob), '个人简历.docx')
}}> }}>
下载简历 下载简历
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
setOpenInvitePreview(true) setOpenInvitePreview(true)
}}> }}>
邀请面试 邀请面试
</Button>,
</Button>


</>)} </>)}
width={1000} width={1000}
<Space direction='vertical' style={{ width: '100%' }}> <Space direction='vertical' style={{ width: '100%' }}>
{/* 普通模板 */} {/* 普通模板 */}
{ {
(detail.resume_template == 0 || detail.resume_template == 1) && <JobseekerResumeDetailCommon bgcolor={'#19be6e'} fontcolor={'#19be6e'} id={detail?.customer_id}></JobseekerResumeDetailCommon>
(detail.resume_template == 0 || detail.resume_template == 1) && <JobseekerResumeDetailCommon bgcolor={'#19be6e'} fontcolor={'#19be6e'} id={detail?.customer_id}></JobseekerResumeDetailCommon>
} }
{/* 简历模板一 */} {/* 简历模板一 */}
{ {

+ 4
- 4
src/components/Manage/Company/Resume/Read/index.tsx View File

footer={() => (<> footer={() => (<>
<Button key="back" onClick={() => { setOpenPreview(false) }}> <Button key="back" onClick={() => { setOpenPreview(false) }}>
关闭 关闭
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容 const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容
const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!); const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!);
saveAs((fileData as Blob), '个人简历.docx') saveAs((fileData as Blob), '个人简历.docx')
}}> }}>
下载简历 下载简历
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
setOpenInvitePreview(true) setOpenInvitePreview(true)
}}> }}>
邀请面试 邀请面试
</Button>,
</Button>


</>)} </>)}
width={1000} width={1000}
<Space direction='vertical' style={{ width: '100%' }}> <Space direction='vertical' style={{ width: '100%' }}>
{/* 普通模板 */} {/* 普通模板 */}
{ {
(detail.resume_template == 0 || detail.resume_template == 1) && <JobseekerResumeDetailCommon bgcolor={'#19be6e'} fontcolor={'#19be6e'} id={detail?.customer_id}></JobseekerResumeDetailCommon>
(detail.resume_template == 0 || detail.resume_template == 1) && <JobseekerResumeDetailCommon bgcolor={'#19be6e'} fontcolor={'#19be6e'} id={detail?.customer_id}></JobseekerResumeDetailCommon>
} }
{/* 简历模板一 */} {/* 简历模板一 */}
{ {

+ 3
- 3
src/components/Manage/Company/Resume/Recomment/index.tsx View File

footer={() => (<> footer={() => (<>
<Button key="back" onClick={() => { setOpenPreview(false) }}> <Button key="back" onClick={() => { setOpenPreview(false) }}>
关闭 关闭
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容 const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容
const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!); const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!);
saveAs((fileData as Blob), '个人简历.docx') saveAs((fileData as Blob), '个人简历.docx')
}}> }}>
下载简历 下载简历
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
setOpenInvitePreview(true) setOpenInvitePreview(true)
}}> }}>
邀请面试 邀请面试
</Button>,
</Button>


</>)} </>)}
width={1000} width={1000}

+ 4
- 4
src/components/Manage/Company/Resume/Talent/index.tsx View File

footer={() => (<> footer={() => (<>
<Button key="back" onClick={() => { setOpenPreview(false) }}> <Button key="back" onClick={() => { setOpenPreview(false) }}>
关闭 关闭
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容 const htmlContent = document.getElementById('resume-box'); // 获取需要转换的HTML内容
const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!); const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!);
saveAs((fileData as Blob), '个人简历.docx') saveAs((fileData as Blob), '个人简历.docx')
}}> }}>
下载简历 下载简历
</Button>,
</Button>
<Button key="submit" type="primary" onClick={async () => { <Button key="submit" type="primary" onClick={async () => {
setOpenInvitePreview(true) setOpenInvitePreview(true)
}}> }}>
邀请面试 邀请面试
</Button>,
</Button>


</>)} </>)}
width={1000} width={1000}
<Space direction='vertical' style={{ width: '100%' }}> <Space direction='vertical' style={{ width: '100%' }}>
{/* 普通模板 */} {/* 普通模板 */}
{ {
(detail.resume_template == 0 || detail.resume_template == 1) && <JobseekerResumeDetailCommon bgcolor={'#19be6e'} fontcolor={'#19be6e'} id={detail?.customer_id}></JobseekerResumeDetailCommon>
(detail.resume_template == 0 || detail.resume_template == 1) && <JobseekerResumeDetailCommon bgcolor={'#19be6e'} fontcolor={'#19be6e'} id={detail?.customer_id}></JobseekerResumeDetailCommon>
} }
{/* 简历模板一 */} {/* 简历模板一 */}
{ {

+ 1
- 5
src/models/dictModel.ts View File

id: 2, id: 2,
checked: false checked: false
}], }],
sexList: [{
name: '不限',
value: '0',
checked: true
}, {
sexList: [ {
name: '男', name: '男',
value: '男', value: '男',
checked: false checked: false

+ 92
- 87
src/pages/Manage/Company/Home/index.tsx View File





const HomePage: React.FC = ({ dispatch, dictModel }: any) => { const HomePage: React.FC = ({ dispatch, dictModel }: any) => {
const [detail, setDetail] = useState({})
const [detail1, setDetail1] = useState({})
const [detail, setDetail] = useState<object | null>(null)
const [detail1, setDetail1] = useState<object | null>(null)
const [companyJobTotal, setCompanyJobTotal] = useState<number>(0); const [companyJobTotal, setCompanyJobTotal] = useState<number>(0);
const [resumeTotal, setResumeTotal] = useState<number>(0); const [resumeTotal, setResumeTotal] = useState<number>(0);
const [interviewTotal, setInterviewTotal] = useState<number>(0); const [interviewTotal, setInterviewTotal] = useState<number>(0);
if (dictModel.industryPostList.length > 0 && detail) { if (dictModel.industryPostList.length > 0 && detail) {
if (detail) { if (detail) {
let allFound = true; // 假设所有 id 都找到了 let allFound = true; // 假设所有 id 都找到了
let result;
if(detail.industry) {
let result = false;
if (detail.industry) {
result = findItemById(dictModel.industryPostList, detail.industry); result = findItemById(dictModel.industryPostList, detail.industry);
} }
if(result && detail.industry2) {
if (result && detail.industry2) {
result = findItemById(dictModel.industryPostList, detail.industry2); result = findItemById(dictModel.industryPostList, detail.industry2);
} }
if (!result) { if (!result) {
header={{ title: '', }} header={{ title: '', }}
style={{ minHeight: 800 }} style={{ minHeight: 800 }}
> >
<Row gutter={[20, 20]}>
<Col span={8}>
<Space direction='vertical' size={30} style={{ width: '100%' }}>
<Card
bordered={false}
title={<Link to={{ pathname: `/talent/company/detail?id=${localStorage.getItem('companyid')}` }} target="_blank" style={{ color: '#000000', fontSize: 16, marginRight: 10 }}>
{detail.full_name}
</Link>}
extra={<Link to={{ pathname: `/manage/company/info` }} style={{ color: '#19be6e', fontSize: 14, marginRight: 10 }}>
<Button >编辑资料</Button>
</Link>}
style={{ boxShadow: '0 8px 20px #f0f0f0' }}>
<Space direction='vertical' style={{ borderRadius: 10, width: '100%' }}>
<Descriptions>
<Descriptions.Item label="企业编号" span={24}>{detail.id}</Descriptions.Item>
<Descriptions.Item label="登录账号" span={24}>{detail.mobile}</Descriptions.Item>
<Descriptions.Item label="访问次数" span={24}>{detail1.click_count}</Descriptions.Item>
<Descriptions.Item label="月浏览简历联系方式次数" span={24}>{detail1.month_look_resume_qty}</Descriptions.Item>
<Descriptions.Item label="剩余可查看简历联系方式" span={24}>{detail1.limit_resume_qty}</Descriptions.Item>
<Descriptions.Item span={24}><Divider></Divider></Descriptions.Item>
<Descriptions.Item label="注册日期" span={24}>{detail.establishment_date}</Descriptions.Item>
<Descriptions.Item label="所属行业" span={24}>{detail.industry_text}{detail.industry2_text}</Descriptions.Item>
<Descriptions.Item label="企业性质" span={24}>{detail.nature_text}</Descriptions.Item>
<Descriptions.Item label="企业规模" span={24}>{detail.scale_text}</Descriptions.Item>
</Descriptions>
</Space>
</Card>
<Card
bordered={false}
style={{ boxShadow: '0 8px 20px #f0f0f0', backgroundColor: '#fafafa' }}>
<Space direction='vertical' style={{ borderRadius: 10, width: '100%' }}>
<Descriptions>
<Descriptions.Item label="社会统一信用代码" span={24}>{detail.registration_number}</Descriptions.Item>
<Descriptions.Item label="联系手机" span={24}>{detail.mobile}</Descriptions.Item>
<Descriptions.Item label="联系固话" span={24}>{detail.phone}</Descriptions.Item>
<Descriptions.Item label="企业邮箱" span={24}>{detail.email}</Descriptions.Item>
<Descriptions.Item label="企业官网" span={24}>{detail.website}</Descriptions.Item>
<Descriptions.Item label="企业传真" span={24}>{detail.fax}</Descriptions.Item>

</Descriptions>
{
(detail && detail1) && <>
<Row gutter={[20, 20]}>
<Col span={8}>
<Space direction='vertical' size={30} style={{ width: '100%' }}>
<Card
bordered={false}
title={<Link to={{ pathname: `/talent/company/detail?id=${localStorage.getItem('companyid')}` }} target="_blank" style={{ color: '#000000', fontSize: 16, marginRight: 10 }}>
{detail.full_name}
</Link>}
extra={<Link to={{ pathname: `/manage/company/info` }} style={{ color: '#19be6e', fontSize: 14, marginRight: 10 }}>
<Button >编辑资料</Button>
</Link>}
style={{ boxShadow: '0 8px 20px #f0f0f0' }}>
<Space direction='vertical' style={{ borderRadius: 10, width: '100%' }}>
<Descriptions>
<Descriptions.Item label="企业编号" span={24}>{detail.id}</Descriptions.Item>
<Descriptions.Item label="登录账号" span={24}>{detail.mobile}</Descriptions.Item>
<Descriptions.Item label="访问次数" span={24}>{detail1.click_count}</Descriptions.Item>
<Descriptions.Item label="月浏览简历联系方式次数" span={24}>{detail1.month_look_resume_qty}</Descriptions.Item>
<Descriptions.Item label="剩余可查看简历联系方式" span={24}>{detail1.limit_resume_qty}</Descriptions.Item>
<Descriptions.Item span={24}><Divider></Divider></Descriptions.Item>
<Descriptions.Item label="注册日期" span={24}>{detail.establishment_date}</Descriptions.Item>
<Descriptions.Item label="所属行业" span={24}>{detail.industry_text}{detail.industry2_text}</Descriptions.Item>
<Descriptions.Item label="企业性质" span={24}>{detail.nature_text}</Descriptions.Item>
<Descriptions.Item label="企业规模" span={24}>{detail.scale_text}</Descriptions.Item>
</Descriptions>
</Space>
</Card>
<Card
bordered={false}
style={{ boxShadow: '0 8px 20px #f0f0f0', backgroundColor: '#fafafa' }}>
<Space direction='vertical' style={{ borderRadius: 10, width: '100%' }}>
<Descriptions>
<Descriptions.Item label="社会统一信用代码" span={24}>{detail.registration_number}</Descriptions.Item>
<Descriptions.Item label="联系手机" span={24}>{detail.mobile}</Descriptions.Item>
<Descriptions.Item label="联系固话" span={24}>{detail.phone}</Descriptions.Item>
<Descriptions.Item label="企业邮箱" span={24}>{detail.email}</Descriptions.Item>
<Descriptions.Item label="企业官网" span={24}>{detail.website}</Descriptions.Item>
<Descriptions.Item label="企业传真" span={24}>{detail.fax}</Descriptions.Item>

</Descriptions>
</Space>
</Card>
</Space> </Space>
</Card>
</Space>

</Col>
<Col span={16}>
<Space direction='vertical' size={20} style={{ width: '100%' }}>
<Row gutter={16}>
<Col span={6}>
<Link to={{ pathname: `/manage/company/post` }}>
<Card bordered={false} size='small' style={{ boxShadow: '0 2px 4px #ccc' }}>
<Statistic title="职位数" value={companyJobTotal} valueStyle={{ color: '#19be6e' }} />
</Card>
</Link>
</Col>
<Col span={6}>
<Link to={{ pathname: `/manage/company/resume` }}>
<Card bordered={false} size='small' style={{ boxShadow: '0 2px 4px #ccc' }}>
<Statistic title="待看简历" value={resumeTotal} />
</Card>
</Link>
</Col>
<Col span={6}>
<Link to={{ pathname: `/manage/company/resume` }}>
<Card bordered={false} size='small' style={{ boxShadow: '0 2px 4px #ccc' }}>
<Statistic title="面试邀请" value={interviewTotal} valueStyle={{ color: '#19be6e' }} />
</Card>
</Link>
</Col>
<Col span={6}>
<Link to={{ pathname: `/manage/company/resume` }}>
<Card bordered={false} size='small' style={{ boxShadow: '0 2px 4px #ccc' }}>
<Statistic title="人才库" value={talentPoolTotal} />
</Card>
</Link>
</Col>
</Row>
{/* <Card title="面试日历,共5个面试" bordered={false}>

</Col>
<Col span={16}>
<Space direction='vertical' size={20} style={{ width: '100%' }}>
<Row gutter={16}>
<Col span={6}>
<Link to={{ pathname: `/manage/company/post` }}>
<Card bordered={false} size='small' style={{ boxShadow: '0 2px 4px #ccc' }}>
<Statistic title="职位数" value={companyJobTotal} valueStyle={{ color: '#19be6e' }} />
</Card>
</Link>
</Col>
<Col span={6}>
<Link to={{ pathname: `/manage/company/resume` }}>
<Card bordered={false} size='small' style={{ boxShadow: '0 2px 4px #ccc' }}>
<Statistic title="待看简历" value={resumeTotal} />
</Card>
</Link>
</Col>
<Col span={6}>
<Link to={{ pathname: `/manage/company/resume` }}>
<Card bordered={false} size='small' style={{ boxShadow: '0 2px 4px #ccc' }}>
<Statistic title="面试邀请" value={interviewTotal} valueStyle={{ color: '#19be6e' }} />
</Card>
</Link>
</Col>
<Col span={6}>
<Link to={{ pathname: `/manage/company/resume` }}>
<Card bordered={false} size='small' style={{ boxShadow: '0 2px 4px #ccc' }}>
<Statistic title="人才库" value={talentPoolTotal} />
</Card>
</Link>
</Col>
</Row>
{/* <Card title="面试日历,共5个面试" bordered={false}>
<CompanyHomeCalendar ></CompanyHomeCalendar> <CompanyHomeCalendar ></CompanyHomeCalendar>
</Card> */} </Card> */}
{/* <Row gutter={[12, 12]}>
{/* <Row gutter={[12, 12]}>
<Col span={12}> <Col span={12}>
<Card title="今日沟通数: 5个" bordered={false} style={{ backgroundColor: '#edfff3' }}> <Card title="今日沟通数: 5个" bordered={false} style={{ backgroundColor: '#edfff3' }}>
<Statistic <Statistic
</Col> </Col>
</Row> */} </Row> */}


<ManageCompanyResumeRecomment></ManageCompanyResumeRecomment>
</Space>
</Col>
</Row>
<ManageCompanyResumeRecomment></ManageCompanyResumeRecomment>
</Space>
</Col>
</Row>

</>}

</PageContainer > </PageContainer >


</ConfigProvider > </ConfigProvider >

+ 12
- 3
src/pages/Manage/Company/Recommend/index.tsx View File

> >


<Space direction='vertical' size={30} style={{ minHeight: '800px' }}> <Space direction='vertical' size={30} style={{ minHeight: '800px' }}>
{jobseekerType == '搜索结果' ? (<>
{/* {jobseekerType == '搜索结果' ? (<>
<SearchFilter getSearchParams={onSearchParams} <SearchFilter getSearchParams={onSearchParams}
page={page} page={page}
pagesize={pagesize} pagesize={pagesize}
<Switch checkedChildren="关闭搜索" unCheckedChildren="开启搜索" onChange={async (checked: boolean) => { <Switch checkedChildren="关闭搜索" unCheckedChildren="开启搜索" onChange={async (checked: boolean) => {
if (checked) { if (checked) {
setJobseekerType('搜索结果') setJobseekerType('搜索结果')

} else { } else {
setJobseekerType('推荐简历') setJobseekerType('推荐简历')
} }
}}></Switch> }}></Switch>
</Flex> </Flex>
</>)}

</>)} */}
{
jobseekerType == '搜索结果' && (
<SearchFilter getSearchParams={onSearchParams}
page={page}
pagesize={pagesize}
></SearchFilter>
)
}
<Row gutter={[16, 16]}> <Row gutter={[16, 16]}>
<Col span={24}> <Col span={24}>
<Space direction='vertical' size='small' style={{ width: '100%' }} > <Space direction='vertical' size='small' style={{ width: '100%' }} >
</Flex> </Flex>
} }
</>)} </>)}

{jobseekerType == '搜索结果' && (<> {jobseekerType == '搜索结果' && (<>
{ {
list && list.length > 0 && (<> list && list.length > 0 && (<>

Loading…
Cancel
Save