</head> | </head> | ||||
<body> | <body> | ||||
<div id="root"></div> | <div id="root"></div> | ||||
<script src="/umi.9a7953c1.js"></script> | |||||
<script src="/umi.9db507e4.js"></script> | |||||
</body> | </body> | ||||
</html> | </html> |
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[787],{45073:function(O,_,e){var s=e(75891),o=e(21532),a=e(32983),r=e(85893),d=function(i){var m=i.description;return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(o.ZP,{theme:{token:{colorPrimary:"#19be6e"},components:{}},children:(0,r.jsx)(a.Z,{description:m})})})};_.Z=(0,s.connect)(function(l){var i=l.dictModel;return{dictModel:i}})(d)},17983:function(O,_,e){e.r(_);var s=e(5574),o=e.n(s),a=e(67294),r=e(21532),d=e(42075),l=e(25593),i=e(96074),m=e(83622),M=e(68872),E=e(17788),C=e(75891),g=e(86492),h=e.n(g),D=e(33011),B=e(96990),x=e(45073),t=e(85893),A=function(){var R=(0,C.useSearchParams)(),y=o()(R,1),T=y[0],j=(0,a.useState)(null),f=o()(j,2),n=f[0],I=f[1],L=(0,a.useState)(!1),v=o()(L,2),p=v[0],P=v[1];return(0,a.useEffect)(function(){(0,D.fc)({keyword:T.get("keyword")}).then(function(c){I(c.data.recruitments&&c.data.recruitments.length>0&&c.data.recruitments[0])})},[]),(0,t.jsx)(t.Fragment,{children:(0,t.jsxs)(r.ZP,{theme:{token:{colorPrimary:"#19be6e"},components:{Button:{colorText:"#19be6e"}}},children:[n&&(0,t.jsx)(t.Fragment,{children:(0,t.jsxs)(d.Z,{direction:"vertical",size:20,style:{width:"100%",minHeight:"800px",backgroundColor:"#ffffff",padding:20,borderRadius:8},children:[(0,t.jsx)(l.Z.Title,{level:3,style:{textAlign:"center"},children:n.title}),(0,t.jsxs)("div",{style:{textAlign:"center",color:"gray"},children:[" \u5F00\u653E\u65F6\u95F4\uFF1A ",n.open_date]}),(0,t.jsx)(i.Z,{}),(0,t.jsx)("div",{dangerouslySetInnerHTML:{__html:h().decode(n.content)}}),n&&n.companys&&n.companys.length>0&&(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(l.Z.Title,{level:2,style:{textAlign:"center"},children:"\u53C2\u4E0E\u4F01\u4E1A"})}),n&&n.companys&&n.companys.length>0&&n.companys.map(function(c,u){return(0,t.jsx)(t.Fragment,{})}),(0,t.jsx)(m.ZP,{type:"primary",onClick:function(){localStorage.getItem("role")&&localStorage.getItem("role")=="personal"&&M.ZP.warning("\u60A8\u5F53\u524D\u72B6\u6001\u4E0D\u662F\u4F01\u4E1A\uFF0C\u65E0\u6CD5\u70B9\u51FB"),localStorage.getItem("token")?E.Z.confirm({title:"\u53C2\u52A0\u62DB\u8058\u4F1A",content:"\u662F\u5426\u8981\u53C2\u52A0\u6B64\u62DB\u8058\u4F1A",onOk:function(){(0,D.Bt)({recruitment_id:n.id,company_id:Number(localStorage.getItem("companyid")),status:1}).then(function(W){M.ZP.success("\u53C2\u52A0\u62DB\u8058\u4F1A\u6210\u529F,\u5F85\u5BA1\u6838\u7ED3\u679C")})},onCancel:function(){console.log("Cancel")},okText:"\u53C2\u52A0",cancelText:"\u53D6\u6D88",centered:!0}):E.Z.confirm({title:"\u8BF7\u5148\u767B\u5F55",content:"\u60A8\u8FD8\u672A\u767B\u5F55\uFF0C\u8BF7\u5148\u767B\u5F55",onOk:function(){P(!0)},onCancel:function(){console.log("Cancel")},okText:"\u767B\u5F55",cancelText:"\u53D6\u6D88",centered:!0})},children:"\u4F01\u4E1A\u53C2\u52A0\u6B64\u62DB\u8058\u4F1A\uFF0C\u70B9\u51FB\u6B64\u6309\u94AE"})]})}),!n&&(0,t.jsx)(x.Z,{description:"\u6682\u65E0\u6570\u636E"}),(0,t.jsx)(E.Z,{open:p,centered:!0,footer:null,onCancel:function(){return P(!1)},destroyOnClose:!0,maskClosable:!1,style:{minWidth:540},children:(0,t.jsx)(B.Z,{loginChangeStatus:function(u){console.log(u),P(u)}})})]})})};_.default=A},33011:function(O,_,e){e.d(_,{fc:function(){return r},Bt:function(){return l}});var s=e(75334),o=e(55375),a={RecruitmentList:o.xw+"/recruitment/list",RecruitmentBookcompany:o.xw+"/recruitmentBook/company",RecruitmentBookAdd:o.xw+"/recruitmentbook/add"},r=(0,s.y)(a.RecruitmentList),d=(0,s.y)(a.RecruitmentBookcompany),l=(0,s.L)(a.RecruitmentBookAdd)}}]); |
}} | }} | ||||
> | > | ||||
<Space direction='vertical' size={10} style={{ width: '100%' }}> | |||||
<Space direction='vertical' size={20} style={{ width: '100%' }}> | |||||
{/* <Flex justify='center' align='center'> | {/* <Flex justify='center' align='center'> | ||||
<Typography.Title level={2}>知名企业</Typography.Title> | <Typography.Title level={2}>知名企业</Typography.Title> | ||||
</Flex> */} | </Flex> */} |
import { useState, useEffect, useRef } from 'react'; | import { useState, useEffect, useRef } from 'react'; | ||||
import { ProList, PageContainer } from '@ant-design/pro-components'; | import { ProList, PageContainer } from '@ant-design/pro-components'; | ||||
import { ConfigProvider, Button, Flex, Input, Space, Image, Tooltip, Row, Col, Pagination, Tag, Card, Affix, Typography, Descriptions } from 'antd'; | import { ConfigProvider, Button, Flex, Input, Space, Image, Tooltip, Row, Col, Pagination, Tag, Card, Affix, Typography, Descriptions } from 'antd'; | ||||
import { SearchOutlined, LikeOutlined, ArrowRightOutlined, StarOutlined } from '@ant-design/icons'; | |||||
import { SearchOutlined, LikeOutlined, FieldTimeOutlined, EnvironmentOutlined } from '@ant-design/icons'; | |||||
import { useModel, connect, history, Link } from 'umi'; | import { useModel, connect, history, Link } from 'umi'; | ||||
import { Imageprefix } from '@/constants'; | import { Imageprefix } from '@/constants'; | ||||
list.length > 0 && list.map((item: any, index: number) => ( | list.length > 0 && list.map((item: any, index: number) => ( | ||||
<> | <> | ||||
<Col span={8}> | <Col span={8}> | ||||
<Link to={{ pathname: `/talent/fair/detail?keyword=${item.title}` }} target="_blank" style={{ width: '100%' }}> | |||||
<Space direction='vertical' size={10} align='center' style={{ width: '100%', background: '#ffffff', borderRadius: 8 }}> | |||||
<Image src={item.photo ? `${Imageprefix}${item.photo}` : '/images/bg.jpg'} preview={false} width={'100%'} height={'210px'} style={{ borderRadius: '8px 8px 0 0' }}></Image> | |||||
<Affix style={{ position: 'absolute', top: 10, right: 0 }}> | |||||
<Tag color="#19be6e">{item.open_date}</Tag> | |||||
</Affix> | |||||
<Typography.Title level={5} style={{ width: '100%', padding: '0 10px' }} | |||||
<Link to={{ pathname: `/talent/fair/detail?id=${item.id}` }} target="_blank"> | |||||
<Flex vertical align='center' justify='center' style={{ background: '#fff', borderRadius: '4px' }}> | |||||
<div style={{ | |||||
width: '100%', | |||||
position: 'relative', | |||||
paddingTop: '56.25%', /* 16:9 的比例 */ | |||||
overflow: 'hidden' | |||||
}}> | |||||
<img src={item.photo ? `${Imageprefix}${item.photo}` : '/images/logo.jpg'} style={{ | |||||
position: 'absolute', | |||||
top: 0, | |||||
left: 0, | |||||
width: '100%', | |||||
height: '100%', | |||||
borderRadius: '8px 8px 0 0' | |||||
}} /> | |||||
</div> | |||||
<Typography.Paragraph | |||||
ellipsis={{ rows: 2 }} | |||||
style={{ fontSize: 16, fontWeight: 'bold', padding: '0 16px', marginTop: 8, minHeight: 50, width: '100%' }} | |||||
> | > | ||||
{item.title} | {item.title} | ||||
</Typography.Title> | |||||
<Descriptions style={{ width: '100%', padding: '0 10px', marginBottom: 20 }}> | |||||
<Descriptions.Item span={24} label="招聘会开放时间"> | |||||
<Tag>{item.open_date}</Tag> | |||||
</Descriptions.Item> | |||||
<Descriptions.Item span={24} label="审核结果"> | |||||
<Tag>{item.status_text}</Tag> | |||||
</Descriptions.Item> | |||||
</Descriptions> | |||||
</Space> | |||||
</Typography.Paragraph> | |||||
<Typography.Paragraph | |||||
ellipsis={{ rows: 1 }} | |||||
style={{ fontSize: 12, color: 'gray', padding: '0 16px', whiteSpace: 'nowrap', width: '100%' }} | |||||
> | |||||
<FieldTimeOutlined /> {item.open_date} {item.close_date ? <>至{item.close_date}</> : ''} | |||||
</Typography.Paragraph> | |||||
<Typography.Paragraph | |||||
ellipsis={{ rows: 1 }} | |||||
style={{ fontSize: 12, color: 'gray', padding: '0 16px', whiteSpace: 'nowrap', width: '100%' }} | |||||
> | |||||
<EnvironmentOutlined /> {item.address} | |||||
</Typography.Paragraph> | |||||
<Typography.Paragraph | |||||
ellipsis={{ rows: 1 }} | |||||
style={{ fontSize: 12, color: 'gray', padding: '0 16px', whiteSpace: 'nowrap', width: '100%' }} | |||||
> | |||||
审核结果: <Tag style={{ fontSize: 12 }}>{item.status_text}</Tag> | |||||
</Typography.Paragraph> | |||||
</Flex > | |||||
</Link> | </Link> | ||||
</Col > | </Col > | ||||
</> | </> |
import { useState, useEffect, useRef } from 'react'; | import { useState, useEffect, useRef } from 'react'; | ||||
import { ProList, PageContainer } from '@ant-design/pro-components'; | import { ProList, PageContainer } from '@ant-design/pro-components'; | ||||
import { ConfigProvider, Button, Flex, Input, Space, Image, Row, Col, Modal, Tag, Card, Avatar, Typography, Anchor, List, Result, Divider, Statistic, message } from 'antd'; | |||||
import { PhoneOutlined, MailOutlined, EnvironmentOutlined, ArrowRightOutlined, FireOutlined, StarOutlined, PayCircleOutlined } from '@ant-design/icons'; | |||||
import { ConfigProvider, Button, Flex, Input, Space, Image, Row, Col, Modal, Tag, Card, Avatar, Typography, Tabs, Result, Divider, Statistic, message } from 'antd'; | |||||
import { PhoneOutlined, MailOutlined, EnvironmentOutlined, FieldTimeOutlined, FireOutlined, StarOutlined, PayCircleOutlined } from '@ant-design/icons'; | |||||
import { useSearchParams, connect, history, Link } from 'umi'; | import { useSearchParams, connect, history, Link } from 'umi'; | ||||
import he from 'he'; | import he from 'he'; | ||||
import { GetRecruitmentList, PostRecruitmentBookAdd } from '@/services/apis/fair'; | |||||
import { GetRecruitmentDetail, PostRecruitmentBookAdd } from '@/services/apis/fair'; | |||||
import LoginIndex from '@/components/Login/Index/index' | import LoginIndex from '@/components/Login/Index/index' | ||||
import EmptyResult from '@/components/Common/EmptyResult'; | import EmptyResult from '@/components/Common/EmptyResult'; | ||||
useEffect(() => { | useEffect(() => { | ||||
GetRecruitmentList({ keyword: searchParams.get('keyword') }).then(res => { | |||||
setDetail(res.data.recruitments && res.data.recruitments.length > 0 && res.data.recruitments[0]) | |||||
GetRecruitmentDetail({ id: searchParams.get('id') }).then(res => { | |||||
setDetail(res.data) | |||||
}) | }) | ||||
}, []); | }, []); | ||||
{ | { | ||||
detail && <> | detail && <> | ||||
<Space direction='vertical' size={20} style={{ width: '100%', minHeight: '800px', backgroundColor: '#ffffff', padding: 20, borderRadius: 8 }}> | |||||
<Typography.Title level={3} style={{ textAlign: 'center' }}>{detail.title}</Typography.Title> | |||||
<div style={{ textAlign: 'center', color: 'gray' }}> 开放时间: {detail.open_date}</div> | |||||
<Divider /> | |||||
<div dangerouslySetInnerHTML={{ __html: he.decode(detail.content) }} /> | |||||
{ | |||||
detail && detail.companys && detail.companys.length > 0 && <> | |||||
<Typography.Title level={2} style={{ textAlign: 'center' }}>参与企业</Typography.Title> | |||||
</> | |||||
} | |||||
{ | |||||
detail && detail.companys && detail.companys.length > 0 && detail.companys.map((item, index) => (<> | |||||
</>)) | |||||
} | |||||
<Button type='primary' onClick={() => { | |||||
if (localStorage.getItem('role') && localStorage.getItem('role') == 'personal') { | |||||
message.warning('您当前状态不是企业,无法点击') | |||||
} | |||||
if (!localStorage.getItem('token')) { | |||||
Modal.confirm({ | |||||
title: '请先登录', | |||||
content: '您还未登录,请先登录', | |||||
onOk() { | |||||
setOpenPreview(true) | |||||
}, | |||||
onCancel() { | |||||
console.log('Cancel'); | |||||
}, | |||||
okText: '登录', | |||||
cancelText: '取消', | |||||
centered: true | |||||
}); | |||||
} else { | |||||
Modal.confirm({ | |||||
title: '参加招聘会', | |||||
content: '是否要参加此招聘会', | |||||
onOk() { | |||||
PostRecruitmentBookAdd({ | |||||
recruitment_id: detail.id, | |||||
company_id: Number(localStorage.getItem('companyid')), | |||||
status: 1 | |||||
}).then(res => { | |||||
message.success('参加招聘会成功,待审核结果') | |||||
}) | |||||
}, | |||||
onCancel() { | |||||
console.log('Cancel'); | |||||
}, | |||||
okText: '参加', | |||||
cancelText: '取消', | |||||
centered: true | |||||
}); | |||||
} | |||||
}}>企业参加此招聘会,点击此按钮</Button> | |||||
<Space direction='vertical' size={20} style={{ width: '100%', minHeight: '1000px', padding: 20, borderRadius: 8 }}> | |||||
<Flex justify='space-between' align='center' style={{ backgroundColor: '#ffffff', padding: 20, borderRadius: 8 }}> | |||||
<Space size={20} direction='vertical'> | |||||
<div style={{ fontSize: '24px' }}>{detail.title}</div> | |||||
<div><Tag color='#19be6e'>进行中</Tag> <FieldTimeOutlined /> {detail.open_date} {detail.close_date ? <>至{detail.close_date}</> : ''}</div> | |||||
<div><EnvironmentOutlined /> {detail.address}</div> | |||||
</Space> | |||||
<Space size={10} direction='vertical'> | |||||
<Button type='primary' onClick={() => { | |||||
if (localStorage.getItem('role') && localStorage.getItem('role') == 'personal') { | |||||
message.warning('您当前状态不是企业,无法点击') | |||||
} | |||||
if (!localStorage.getItem('token')) { | |||||
Modal.confirm({ | |||||
title: '请先登录', | |||||
content: '您还未登录,请先登录', | |||||
onOk() { | |||||
setOpenPreview(true) | |||||
}, | |||||
onCancel() { | |||||
console.log('Cancel'); | |||||
}, | |||||
okText: '登录', | |||||
cancelText: '取消', | |||||
centered: true | |||||
}); | |||||
} else { | |||||
Modal.confirm({ | |||||
title: '参加招聘会', | |||||
content: '是否要参加此招聘会', | |||||
onOk() { | |||||
PostRecruitmentBookAdd({ | |||||
recruitment_id: detail.id, | |||||
company_id: Number(localStorage.getItem('companyid')), | |||||
status: 1 | |||||
}).then(res => { | |||||
message.success('参加招聘会成功,待审核结果') | |||||
}) | |||||
}, | |||||
onCancel() { | |||||
console.log('Cancel'); | |||||
}, | |||||
okText: '参加', | |||||
cancelText: '取消', | |||||
centered: true | |||||
}); | |||||
} | |||||
}}>企业报名参会,点击此处</Button> | |||||
</Space> | |||||
</Flex> | |||||
<div style={{ borderRadius: 8, minHeight: '500px' }}> | |||||
<Tabs items={[ | |||||
{ | |||||
label: '招聘会介绍', | |||||
key: '1', | |||||
children: <> | |||||
<div style={{ borderRadius: 8, backgroundColor: '#ffffff', padding: 20, minHeight: '500px' }}> | |||||
<div dangerouslySetInnerHTML={{ __html: he.decode(detail.content) }} /> | |||||
</div> | |||||
</>, | |||||
}, | |||||
{ | |||||
label: '参与企业', | |||||
key: '2', | |||||
children: <> | |||||
<Row gutter={[16, 16]}> | |||||
{ | |||||
detail && detail.companys && detail.companys.length > 0 && detail.companys.map((item, index) => (<> | |||||
<Col span={8}> | |||||
{ | |||||
item.company_name && (<> | |||||
<Space size={0} direction='vertical' style={{ width: '100%', padding: 20, borderRadius: 8, backgroundColor: '#ffffff' }}> | |||||
<Space size={10} direction='vertical'> | |||||
<div style={{ fontSize: '24px', fontWeight: 'bold' }}> | |||||
{item.company_name} | |||||
</div> | |||||
</Space> | |||||
<Divider></Divider> | |||||
<Space size={10} direction='vertical' style={{ width: '100%', minHeight: 126 }}> | |||||
{ | |||||
item.jobs && item.jobs.length > 0 && item.jobs.map((childItem, childIndex) => (<> | |||||
<Link to={{ pathname: `/talent/job/detail/?id=${childItem.id}` }} target="_blank" style={{ color: '#000000' }}> | |||||
<Flex justify='space-between' align='center'> | |||||
<div>{childItem.job_name}</div> | |||||
<Button size='small'>投递该职位</Button> | |||||
</Flex> | |||||
</Link> | |||||
</>)) | |||||
} | |||||
</Space> | |||||
<Tag>共{item.jobs && item.jobs.length ? item.jobs.length : 0}个职位</Tag> | |||||
</Space> | |||||
</>) | |||||
} | |||||
</Col> | |||||
</>)) | |||||
} | |||||
</Row> | |||||
</>, | |||||
}, | |||||
{ | |||||
label: '参会指南', | |||||
key: '3', | |||||
children: <> | |||||
<div style={{ borderRadius: 8, backgroundColor: '#ffffff', padding: 20, minHeight: '500px' }}> | |||||
暂无参会指南 | |||||
</div> | |||||
</>, | |||||
}, | |||||
]}> | |||||
</Tabs> | |||||
</div> | |||||
</Space> | </Space> | ||||
</> | </> | ||||
} | } | ||||
{ | { | ||||
!detail && <EmptyResult description={'暂无数据'}></EmptyResult> | |||||
!detail && <EmptyResult description={'暂无数据'}></EmptyResult> | |||||
} | } | ||||
{/* 登录 */} | {/* 登录 */} | ||||
<Modal | <Modal | ||||
<LoginIndex loginChangeStatus={(isLogin: boolean) => { | <LoginIndex loginChangeStatus={(isLogin: boolean) => { | ||||
console.log(isLogin) | console.log(isLogin) | ||||
setOpenPreview(isLogin) | setOpenPreview(isLogin) | ||||
}}></LoginIndex> | |||||
}} type='company'></LoginIndex> | |||||
</Modal> | </Modal> | ||||
</ConfigProvider > | </ConfigProvider > | ||||
</> | </> |
import { ConfigProvider, Button, Flex, Input, Space, Image, Tooltip, Row, Col, Pagination, Tag, Card, Affix, Typography, Anchor } from 'antd'; | import { ConfigProvider, Button, Flex, Input, Space, Image, Tooltip, Row, Col, Pagination, Tag, Card, Affix, Typography, Anchor } from 'antd'; | ||||
import { SearchOutlined, LikeOutlined, EnvironmentOutlined, FieldTimeOutlined } from '@ant-design/icons'; | import { SearchOutlined, LikeOutlined, EnvironmentOutlined, FieldTimeOutlined } from '@ant-design/icons'; | ||||
import { useModel, connect, history, Link } from 'umi'; | import { useModel, connect, history, Link } from 'umi'; | ||||
import { Imageprefix } from '@/constants'; | |||||
import { GetRecruitmentList } from '@/services/apis/fair'; | import { GetRecruitmentList } from '@/services/apis/fair'; | ||||
> | > | ||||
<PageContainer | <PageContainer | ||||
header={{ title: '', }} | header={{ title: '', }} | ||||
style={{ minHeight: 800 }} | |||||
style={{ minHeight: 1000 }} | |||||
> | > | ||||
<Flex justify='center' align='center' style={{ marginBottom: '40px' }}> | <Flex justify='center' align='center' style={{ marginBottom: '40px' }}> | ||||
<Input | <Input | ||||
list.length > 0 && list.map((item: any, index: number) => ( | list.length > 0 && list.map((item: any, index: number) => ( | ||||
<> | <> | ||||
<Col span={6}> | <Col span={6}> | ||||
<Link to={{ pathname: `/talent/fair/detail?keyword=${item.title}` }} target="_blank"> | |||||
<Link to={{ pathname: `/talent/fair/detail?id=${item.id}` }} target="_blank"> | |||||
<Flex vertical align='center' justify='center' style={{ background: '#fff', borderRadius: '4px' }}> | <Flex vertical align='center' justify='center' style={{ background: '#fff', borderRadius: '4px' }}> | ||||
<div style={{ | <div style={{ | ||||
width: '100%', | width: '100%', | ||||
style={{ fontSize: 16, fontWeight: 'bold', padding: '0 16px', marginTop: 8, minHeight: 50, width: '100%' }} | style={{ fontSize: 16, fontWeight: 'bold', padding: '0 16px', marginTop: 8, minHeight: 50, width: '100%' }} | ||||
> | > | ||||
{item.title} | {item.title} | ||||
</Typography.Paragraph> | </Typography.Paragraph> | ||||
<Space size={4} style={{ | |||||
padding: '0 16px', marginBottom: 16, width: '100%', color: 'gray' | |||||
}}> | |||||
<Typography.Paragraph | |||||
ellipsis={{ rows: 1 }} | |||||
style={{ fontSize: 12, color: 'gray', padding: '0 16px', whiteSpace: 'nowrap', width: '100%' }} | |||||
> | |||||
<FieldTimeOutlined /> {item.open_date} {item.close_date ? <>至{item.close_date}</> : ''} | <FieldTimeOutlined /> {item.open_date} {item.close_date ? <>至{item.close_date}</> : ''} | ||||
</Space> | |||||
<Space size={4} style={{ | |||||
padding: '0 16px', marginBottom: 16, width: '100%', color: 'gray' | |||||
}}> | |||||
</Typography.Paragraph> | |||||
<Typography.Paragraph | |||||
ellipsis={{ rows: 1 }} | |||||
style={{ fontSize: 12, color: 'gray', padding: '0 16px', whiteSpace: 'nowrap', width: '100%' }} | |||||
> | |||||
<EnvironmentOutlined /> {item.address} | <EnvironmentOutlined /> {item.address} | ||||
</Space> | |||||
</Typography.Paragraph> | |||||
</Flex > | </Flex > | ||||
</Link> | </Link> | ||||
}, | }, | ||||
Segmented: { | Segmented: { | ||||
trackBg: '#f0f0f0', | trackBg: '#f0f0f0', | ||||
itemSelectedColor: '#19be6e' | |||||
itemSelectedColor: '#19be6e', | |||||
trackPadding: -16 | |||||
} | } | ||||
} | } | ||||
}} | }} | ||||
header={{ title: '', }} | header={{ title: '', }} | ||||
style={{ paddingTop: 0 }} | style={{ paddingTop: 0 }} | ||||
> | > | ||||
<Space direction='vertical' size={30} style={{ minHeight: 800 }}> | |||||
<Space direction='vertical' size={0} style={{ minHeight: 800 }}> | |||||
<Flex justify='center' align='center' id='fomaus' style={{ width: '100%' }}> | <Flex justify='center' align='center' id='fomaus' style={{ width: '100%' }}> | ||||
<HomeFamous></HomeFamous> | <HomeFamous></HomeFamous> | ||||
</Flex> | </Flex> |
export const GetRecruitmentList = GetModel(FairUrl.RecruitmentList); | export const GetRecruitmentList = GetModel(FairUrl.RecruitmentList); | ||||
export const GetRecruitmentBookcompany = GetModel(FairUrl.RecruitmentBookcompany); | export const GetRecruitmentBookcompany = GetModel(FairUrl.RecruitmentBookcompany); | ||||
export const PostRecruitmentBookAdd = PostModel(FairUrl.RecruitmentBookAdd); | export const PostRecruitmentBookAdd = PostModel(FairUrl.RecruitmentBookAdd); | ||||
export const GetRecruitmentDetail = GetModel(FairUrl.RecruitmentDetail); | |||||
RecruitmentList?: string; | RecruitmentList?: string; | ||||
RecruitmentBookcompany?: string; | RecruitmentBookcompany?: string; | ||||
RecruitmentBookAdd?: string; | RecruitmentBookAdd?: string; | ||||
RecruitmentDetail?: string; | |||||
} | } | ||||
} | } |
import { web } from '@/constants/index'; | import { web } from '@/constants/index'; | ||||
export const FairUrl: Url.Fair = { | |||||
export const FairUrl: Url.Fair = { | |||||
RecruitmentList: web + '/recruitment/list', | RecruitmentList: web + '/recruitment/list', | ||||
RecruitmentBookcompany: web + '/recruitmentBook/company', | RecruitmentBookcompany: web + '/recruitmentBook/company', | ||||
RecruitmentBookAdd: web + '/recruitmentbook/add', | RecruitmentBookAdd: web + '/recruitmentbook/add', | ||||
RecruitmentDetail: web + '/recruitment/detail' | |||||
} | } | ||||