Commit ad5bf8ab authored by wuhao's avatar wuhao 🎯

asder

parent 34748e22
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
"express": "^4.18.2", "express": "^4.18.2",
"express-http-proxy": "^1.6.3", "express-http-proxy": "^1.6.3",
"react": "17.x", "react": "17.x",
"react-amap": "^1.2.8",
"react-dom": "17.x", "react-dom": "17.x",
"umi": "^3.5.35", "umi": "^3.5.35",
"umi-request": "^1.4.0" "umi-request": "^1.4.0"
......
...@@ -39,18 +39,22 @@ export default [ ...@@ -39,18 +39,22 @@ export default [
name: '加入南高', name: '加入南高',
component: '@/pages/about/join', component: '@/pages/about/join',
}, },
{
path: '/about/joindetail',
name: '加入南高',
component: '@/pages/about/joindetail',
},
{ {
path: '/about/contact', path: '/about/contact',
name: '联系我们', name: '联系我们',
component: '@/pages/index', component: '@/pages/about/contact',
}, },
], ],
}, },
{ {
path: '/together', path: '/together',
name: '战略合作', name: '战略合作',
component: '@/pages/index', component: '@/pages/together',
}, },
{ {
path: '/factory', path: '/factory',
......
...@@ -505,3 +505,25 @@ body, ...@@ -505,3 +505,25 @@ body,
color: #1890ff !important; color: #1890ff !important;
} }
} }
.tags {
background-color: rgba(242, 246, 255, 1);
padding: 2rem;
padding-top: 1rem;
}
.itemlo {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
img {
height: 66px;
}
p {
font-size: 0.8rem;
margin: 0.3rem;
}
p + p {
font-size: 0.6rem;
margin-bottom: 2rem;
}
}
import React, { useState, useEffect, Fragment } from 'react';
import { Map, Marker, InfoWindow } from 'react-amap';
import styles from './index.less';
import { Row, Col, Image, Pagination, Card, Tag, Grid } from 'antd';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
import { EyeFilled } from '@ant-design/icons';
import { history } from 'umi';
const { useBreakpoint } = Grid;
const col = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };
const { Meta } = Card;
const MyGps = () => {
const [dragEnable, setDragEnable] = useState(true);
const [display, setDisplay] = useState(true);
const [zoom, setZoom] = useState(16);
const [viewMode, setViewMode] = useState('2D');
return (
<div style={{ height: '500px', padding: 18, backgroundColor: '#f9f9f9' }}>
<Fragment>
<div style={{ width: '100%', height: 500 }}>
{display && (
<Map
dragEnable={dragEnable}
zoom={zoom}
viewMode={viewMode}
pitch={viewMode === '2D' ? 0 : 70}
center={[118.820014, 31.87894]}
>
<InfoWindow
position={[118.820014, 31.87895]}
offset={[0, -34]}
visible={true}
isCustom
>
<img
src={require('@/assets/logo.png')}
style={{ height: 37 }}
alt=""
/>
</InfoWindow>
<Marker
position={[118.820014, 31.87894]}
title="南京智能制造装备产业促进会"
></Marker>
</Map>
)}
</div>
</Fragment>
</div>
);
};
const arr = [
{
title: '公司地址',
desc: '南京市江宁区东南大学路33号',
},
{
title: '联系电话',
desc: '025-86111901',
},
{
title: '电子邮箱',
desc: 'center@jsnangao.com',
},
];
function Contact({ location: { query } }) {
return (
<div className="container">
<div className="section">
<h2 className="title">联系我们</h2>
<div
className="center"
style={{ justifyContent: 'space-around', margin: '2rem 0' }}
>
{arr.map((it, i) => {
return (
<div className="itemlo">
<img src={require(`@/assets/lo${i + 1}.png`)} alt="" />
<p>{it?.title}</p>
<p>{it?.desc}</p>
</div>
);
})}
</div>
<MyGps></MyGps>
</div>
</div>
);
}
export default Contact;
...@@ -108,3 +108,36 @@ ...@@ -108,3 +108,36 @@
text-align: center; text-align: center;
} }
} }
.join {
display: flex;
justify-content: center;
padding-left: 6vw;
h2 {
font-size: 1rem;
text-indent: 0.5rem;
}
p {
font-size: 0.6rem;
position: relative;
text-indent: 0.6rem;
&::before {
position: absolute;
left: 0;
top: 0.35rem;
width: 8px;
height: 8px;
background-color: #3d67ff;
border-radius: 8px;
content: '';
}
}
}
.joinus {
position: absolute;
bottom: 0;
padding-left: 6vw;
font-size: 2rem;
line-height: 3rem;
color: #fff;
}
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import styles from './index.less'; import styles from './index.less';
import { Row, Col, Image, Pagination, Card, Tag } from 'antd'; import { Row, Col, Image, Pagination, Card, Tag, Grid } from 'antd';
import { useRequest } from 'ahooks'; import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch'; import { doFetch } from '@/utils/doFetch';
import { EyeFilled } from '@ant-design/icons'; import { EyeFilled } from '@ant-design/icons';
import { history } from 'umi'; import { history } from 'umi';
const { useBreakpoint } = Grid;
const col = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }; const col = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };
const { Meta } = Card; const { Meta } = Card;
function Join() { function Join() {
const screens = useBreakpoint();
const { data, loading } = useRequest(async () => { const { data, loading } = useRequest(async () => {
let data = await doFetch({ let data = await doFetch({
url: '/recruit/limitList', url: '/recruit/limitList',
...@@ -18,135 +21,216 @@ function Join() { ...@@ -18,135 +21,216 @@ function Join() {
return data?.data?.dataList; return data?.data?.dataList;
}); });
const onChange = (pageIndex, pageSize) => {
setpage({
pageIndex,
pageSize,
});
};
return ( return (
<div className="section"> <div className="container">
<h2 className="title">招聘岗位</h2> <div className="section">
<p style={{ textAlign: 'center', fontSize: '0.6rem' }}> <h2 className="title">招聘岗位</h2>
如果您对我们感兴趣,欢迎投递简历至 <p style={{ textAlign: 'center', fontSize: '0.6rem' }}>
<a href="mailto:chenjie@jsnangao.com" target="_blank"> 如果您对我们感兴趣,欢迎投递简历至
chenjie@jsnangao.com <a href="mailto:chenjie@jsnangao.com" target="_blank">
</a> chenjie@jsnangao.com
,邮件主题格式:<a>岗位名称+姓名+学校+学历,</a>更多招聘信息请详询: </a>
<a href="tel:025-52187179">025-52187179</a>,期待您的加入! ,邮件主题格式:<a>岗位名称+姓名+学校+学历,</a>更多招聘信息请详询:
</p> <a href="tel:025-52187179">025-52187179</a>,期待您的加入!
<Row gutter={24}> </p>
{data?.map?.((it, i) => { <Row gutter={24}>
return ( {data?.map?.((it, i) => {
<Col {...col} style={{ marginBottom: 24 }}> return (
<Card <Col {...col} style={{ marginBottom: 24 }}>
hoverable <Card
style={{ hoverable
width: '100%',
}}
onClick={() => {
history.push({
pathname: '/about/newsdetail',
query: {
id: it.id,
},
});
}}
>
<p
style={{ style={{
fontSize: '0.8rem',
width: '100%', width: '100%',
marginTop: '1rem',
}} }}
className="spread" onClick={() => {
history.push({
pathname: '/about/joindetail',
query: {
id: it.id,
},
});
}}
> >
<span>{it?.positionName}</span> <p
<span style={{ color: 'rgba(255, 103, 47, 1)' }}>
{it?.salary}
</span>
</p>
<div className="centerl">
{it.positionDepartment && (
<Tag
color="blue"
style={{ fontSize: '0.6rem', padding: '0.2rem' }}
>
{it.positionDepartment}
</Tag>
)}
{it.education && (
<Tag
color="cyan"
style={{ fontSize: '0.6rem', padding: '0.2rem' }}
>
{it.education}
</Tag>
)}
{it.wordExperience && (
<Tag
color="geekblue"
style={{ fontSize: '0.6rem', padding: '0.2rem' }}
>
{it.wordExperience}
</Tag>
)}
</div>
<div className="centerl" style={{ marginTop: '1rem' }}>
<div
style={{ style={{
backgroundColor: '#f0f0f0', fontSize: '0.8rem',
padding: '6px 12px', width: '100%',
fontSize: '0.6rem', marginTop: '1rem',
display: 'inline-block',
width: '4rem',
}} }}
classNam="center" className="spread"
> >
<span> <span>{it?.positionName}</span>
<span style={{ color: 'rgba(255, 103, 47, 1)' }}>
{it?.salary}
</span>
</p>
<div className="centerl">
{it.positionDepartment && (
<Tag
color="blue"
style={{ fontSize: '0.6rem', padding: '0.2rem' }}
>
{it.positionDepartment}
</Tag>
)}
{it.education && (
<Tag
color="cyan"
style={{ fontSize: '0.6rem', padding: '0.2rem' }}
>
{it.education}
</Tag>
)}
{it.wordExperience && (
<Tag
color="geekblue"
style={{ fontSize: '0.6rem', padding: '0.2rem' }}
>
{it.wordExperience}
</Tag>
)}
</div>
<div className="centerl" style={{ marginTop: '1rem' }}>
<div
style={{
backgroundColor: '#f0f0f0',
padding: '6px 12px',
fontSize: '0.6rem',
display: 'inline-block',
width: '4rem',
minWidth: 72,
minHeight: 72,
}}
classNam="center"
>
<span>
<span
style={{
fontSize: '1.2rem',
color: 'rgba(12, 100, 201, 1)',
marginRight: 6,
}}
>
{it?.hiringNum}
</span>
</span>
<br />
<span>招聘人数</span>
</div>
<div
style={{
backgroundColor: '#f0f0f0',
padding: '6px 12px',
fontSize: '0.6rem',
display: 'inline-block',
marginLeft: '1rem',
}}
classNam="center"
>
<span>工作地点</span>
<br />
<span <span
style={{ style={{
fontSize: '1.2rem', fontSize: '0.4rem',
color: 'rgba(12, 100, 201, 1)', color: 'rgba(12, 100, 201, 1)',
marginRight: 6, marginRight: 6,
}} }}
> >
{it?.hiringNum} {it?.workAddress}
</span> </span>
</div>
</span>
<br />
<span>招聘人数</span>
</div>
<div
style={{
backgroundColor: '#f0f0f0',
padding: '6px 12px',
fontSize: '0.6rem',
display: 'inline-block',
marginLeft: '1rem',
}}
classNam="center"
>
<span>工作地点</span>
<br />
<span
style={{
fontSize: '0.4rem',
color: 'rgba(12, 100, 201, 1)',
marginRight: 6,
}}
>
{it?.workAddress}
</span>
</div> </div>
</div> </Card>
</Card> </Col>
</Col> );
); })}
})} </Row>
</Row> </div>
<div
className="section"
style={{
position: 'relative',
background: `url(${require('@/assets/bgblue.jpg')}) no-repeat bottom center`,
backgroundSize: '100% 3rem',
paddingBottom: !screens.md ? '4rem' : 0,
}}
>
<div className="center">
<div
className={styles.join}
style={{
flex: 1,
flexDirection: 'column',
paddingLeft: !screens.md ? '0' : '6vw',
}}
>
<h2>福利待遇</h2>
<p>
五险一金,双休八小时工作制,弹性上下班(最迟9点上班,最早17点下班)
</p>
<p>餐补,交通补贴,全勤奖、敬业奖、团建经费、年终奖</p>
<p>每年定期体检、各类节日福利(情人节、妇女节、生日、纪念日……)</p>
<p>工作氛围轻松愉悦,不限量供应茶点……</p>
</div>
{screens.md && (
<div style={{ flex: 1 }}>
<img
style={{ width: '60%' }}
src={require('@/assets/foli.jpg')}
alt=""
/>
</div>
)}
</div>
<div
className={styles?.joinus}
style={{ paddingLeft: !screens.md ? '0' : '6vw' }}
>
<span>JOIN US</span>
</div>
</div>
<div className="section">
<h2 className="title">选择我们的理由</h2>
<Row gutter={24} style={{ padding: '0 12vw' }}>
<Col span={16} style={{ marginBottom: 24 }}>
<img
style={{ width: '100%', height: 'auto' }}
src={require('@/assets/reson1.jpg')}
alt=""
/>
</Col>
<Col span={8}>
<img
style={{ width: '100%', height: 'auto' }}
src={require('@/assets/reson2.jpg')}
alt=""
/>
</Col>
<Col span={8}>
<img
style={{ width: '100%', height: 'auto' }}
src={require('@/assets/reson3.jpg')}
alt=""
/>
</Col>
<Col span={8}>
<img
style={{ width: '100%', height: 'auto' }}
src={require('@/assets/reson4.jpg')}
alt=""
/>
</Col>
<Col span={8}>
<img
style={{ width: '100%', height: 'auto' }}
src={require('@/assets/reson5.jpg')}
alt=""
/>
</Col>
</Row>
</div>
</div> </div>
); );
} }
......
import React, { useState, useEffect } from 'react';
import styles from './index.less';
import { Row, Col, Image, Pagination, Card, Tag, Grid } from 'antd';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
import { EyeFilled } from '@ant-design/icons';
import { history } from 'umi';
const { useBreakpoint } = Grid;
const col = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };
const { Meta } = Card;
function Join({ location: { query } }) {
const [curid, setcurid] = useState(query.id);
const { data, loading } = useRequest(async () => {
let data = await doFetch({
url: '/recruit/detail',
params: { id: curid },
});
return data?.data?.data;
});
return (
<div className="container">
<div className="section">
<h2 className="title">岗位详情</h2>
<p style={{ textAlign: 'center', fontSize: '0.6rem' }}>
如果您对我们感兴趣,欢迎投递简历至
<a href="mailto:chenjie@jsnangao.com" target="_blank">
chenjie@jsnangao.com
</a>
,邮件主题格式:<a>岗位名称+姓名+学校+学历,</a>更多招聘信息请详询:
<a href="tel:025-52187179">025-52187179</a>,期待您的加入!
</p>
<div className="tags">
<p
style={{
fontSize: '1rem',
width: '100%',
marginTop: '1rem',
textAlign: 'center',
}}
>
<span>{data?.positionName}</span>
<span
style={{ color: 'rgba(255, 103, 47, 1)', paddingLeft: '1.5rem' }}
>
{data?.salary}
</span>
</p>
<div className="center">
{data?.positionDepartment && (
<Tag
color="blue"
style={{ fontSize: '0.6rem', padding: '0.2rem' }}
>
{data?.positionDepartment}
</Tag>
)}
{data?.education && (
<Tag
color="cyan"
style={{ fontSize: '0.6rem', padding: '0.2rem' }}
>
{data?.education}
</Tag>
)}
{data?.wordExperience && (
<Tag
color="geekblue"
style={{ fontSize: '0.6rem', padding: '0.2rem' }}
>
{data?.wordExperience}
</Tag>
)}
{data?.hiringNum && (
<Tag style={{ fontSize: '0.6rem', padding: '0.2rem' }}>
招聘:{data?.hiringNum}
</Tag>
)}
</div>
<div className="center" style={{ marginTop: '1rem' }}>
{data?.workAddress && (
<Tag style={{ fontSize: '0.6rem', padding: '0.2rem' }}>
地点:{data?.workAddress}
</Tag>
)}
</div>
</div>
<div
style={{
backgroundColor: '#ffffff',
fontSize: '0.6rem',
width: '22vw',
margin: '0 auto',
minWidth: 360,
padding: '2rem',
}}
dangerouslySetInnerHTML={{ __html: data?.jobRequirements }}
></div>
</div>
</div>
);
}
export default Join;
import React, { useState, useEffect } from 'react';
import { Row, Col, Image, Pagination, Card, Tag, Grid } from 'antd';
const col = { xs: 24, sm: 24, md: 12, lg: 12, xl: 12, xxl: 12 };
function Together() {
return (
<div className="container">
<img
src={require('@/assets/backs.jpg')}
alt=""
style={{ width: '100%' }}
/>
<Row className="center">
<Col {...col}>
<img
style={{ width: '100%' }}
src={require('@/assets/lefts.jpg')}
alt=""
/>
</Col>
<Col {...col}>
<h2>生态合作</h2>
<p>
根据客户需求为其提供量身定制的产品和服务,通过“政、用、产、学、研”与客户建立长期合作的战略伙伴关系。
</p>
<div>
<img src={require('@/assets/zl.png')} alt="" />
<h2>战略伙伴权益</h2>
<p>
<span>市场营销</span>
<span>技术赋能</span>
</p>
<p>
<span>政策分析</span>
<span>融合生态</span>
</p>
</div>
<div>
<img src={require('@/assets/zl2.png')} alt="" />
<h2>战略合作类型</h2>
<p>
<span>系统集成类</span>
<span>技术攻关类</span>
</p>
<p>
<span>联合申报类</span>
<span>人才培养类</span>
</p>
</div>
</Col>
</Row>
</div>
);
}
export default Together;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment