Commit d1b94495 by liguokang

feat:

parent 51a9386c
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: liguokang * @Author: liguokang
* @Date: 2021-07-15 10:28:10 * @Date: 2021-07-15 10:28:10
* @LastEditors: liguokang * @LastEditors: liguokang
* @LastEditTime: 2021-07-15 10:47:25 * @LastEditTime: 2021-07-15 11:32:52
* @Description: * @Description:
* @Copyrigh: ©2021 杭州杰竞科技有限公司 版权所有 * @Copyrigh: ©2021 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -35,4 +35,4 @@ class LaHeader extends React.Component { ...@@ -35,4 +35,4 @@ class LaHeader extends React.Component {
} }
// export default withRouter(LaHeader); // export default withRouter(LaHeader);
const mapStateToProps = ({ city, cityMap }) => ({ city, cityMap }); const mapStateToProps = ({ city, cityMap }) => ({ city, cityMap });
export default connect(mapStateToProps)(LaHeader); export default LaHeader;
/*
* @Author: liguokang
* @Date: 2021-07-15 10:28:10
* @LastEditors: liguokang
* @LastEditTime: 2021-07-15 11:35:57
* @Description:
* @Copyrigh: ©2021 杭州杰竞科技有限公司 版权所有
*/
import React from 'react'; import React from 'react';
import Head from 'next/head'; import Head from 'next/head';
import { changeCity } from '../../redux/action'; import { changeCity } from '../../redux/action';
...@@ -5,12 +13,9 @@ import { changeCity } from '../../redux/action'; ...@@ -5,12 +13,9 @@ import { changeCity } from '../../redux/action';
import XMHeader from './XMHeader/laHeader'; import XMHeader from './XMHeader/laHeader';
import XMFooter from './XMFooter/LaFooter'; import XMFooter from './XMFooter/LaFooter';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { noXiaoHan } from '@/lib/methods';
import Sidebar from '../base/sidebar';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { getCity } from 'static/js/util';
const Fragment = React.Fragment; const Fragment = React.Fragment;
class Layout extends React.Component { class Layout extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
...@@ -28,26 +33,14 @@ class Layout extends React.Component { ...@@ -28,26 +33,14 @@ class Layout extends React.Component {
componentDidMount() { componentDidMount() {
if (window.location.pathname !== '/') { if (window.location.pathname !== '/') {
// 关闭个人中心和商标页的小韩
noXiaoHan();
} }
getCity(this.props.cityMap, window.location.href).then((res) => {
let cityConfig = res.data;
this.setState({ phone: cityConfig.config.phone });
this.setState({ hostname: cityConfig.hostname });
this.setState({ hmurl: cityConfig.config.hmurl });
this.setState({ cityname: cityConfig.config.city });
sessionStorage.setItem('pgtUrl', cityConfig.config.chatAnchor);
});
} }
render() { render() {
let mLink = ''; let mLink = '';
let hmurl = '';
const { title } = this.props; const { title } = this.props;
let city = ''; let city = '';
if (this.state.cityname) { if (this.state.cityname) {
city = this.state.cityname; city = this.state.cityname;
hmurl = this.state.hmurl;
mLink = this.state.hostname[1]; mLink = this.state.hostname[1];
} }
...@@ -57,49 +50,30 @@ class Layout extends React.Component { ...@@ -57,49 +50,30 @@ class Layout extends React.Component {
<title>{title || `${city} `}</title> <title>{title || `${city} `}</title>
<meta charSet="utf-8" /> <meta charSet="utf-8" />
<meta name="viewport" content="initial-scale=1.0, width=device-width" /> <meta name="viewport" content="initial-scale=1.0, width=device-width" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta httpEquiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta httpEquiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" /> <meta http-equiv="Expires" content="0" />
<meta name="renderer" content="webkit|ie-comp|ie-stand" /> <meta name="renderer" content="webkit|ie-comp|ie-stand" />
{/*添加keywords*/}
{this.props.useImgHead && <meta name="referrer" content="no-referrer" />}
<meta name="keywords" content=" " /> <meta name="keywords" content=" " />
<link type="image/x-icon" rel="shortcut icon" href="static/images/favicon.ico" /> <meta name="description" content="" />
<link rel="stylesheet" href="/static/styles/ready.css" />
{/* 部分老页面对antd.css这个文件有依赖,传递useAntd*/}
<meta name="format-detection" content="telephone=no,email=no" /> <meta name="format-detection" content="telephone=no,email=no" />
<meta httpEquiv="mobile-agent" content={'format=xhtml;url=' + mLink} /> <meta httpEquiv="mobile-agent" content={'format=xhtml;url=' + mLink} />
<meta name="description" content="" /> <link type="image/x-icon" rel="shortcut icon" href="static/images/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" href="/static/styles/ready.css" />
<script async defer src=" " /> <script async defer src=" " />
<meta httpEquiv="Expires" content="0" />
</Head> </Head>
<XMHeader city={this.state.cityname} changeCity={this.props.changeCity} noTop={this.props.noTop} /> <XMHeader city={this.state.cityname} changeCity={this.props.changeCity} noTop={this.props.noTop} />
{this.props.children} {this.props.children}
{this.props.noFooter || ( {this.props.noFooter || (
<Fragment> <Fragment>
<div style={{ width: '100%', height: 258, backgroundColor: '#fff' }}></div> <XMFooter phone={this.state.phone} />
<footer style={{ position: 'absolute', bottom: 0, width: '100%' }}>
<XMFooter phone={this.state.phone} />
</footer>
</Fragment> </Fragment>
)} )}
<Sidebar props={{ phone: this.state.phone }} phone={this.state.phone} />
</div> </div>
); );
} }
} }
export default connect( export default Layout;
({ city, cityMap }) => ({ city, cityMap }),
(dispatchEvent) => {
return {
changeCity: (city) => {
dispatchEvent(changeCity(city));
},
};
},
)(Layout);
...@@ -259,6 +259,11 @@ ...@@ -259,6 +259,11 @@
"resolved": "https://registry.npm.taobao.org/@opentelemetry/context-base/download/@opentelemetry/context-base-0.14.0.tgz", "resolved": "https://registry.npm.taobao.org/@opentelemetry/context-base/download/@opentelemetry/context-base-0.14.0.tgz",
"integrity": "sha1-xn/CCk2JFEfKGoVdfXD6eaNTMAE=" "integrity": "sha1-xn/CCk2JFEfKGoVdfXD6eaNTMAE="
}, },
"@types/cookie": {
"version": "0.3.3",
"resolved": "https://registry.nlark.com/@types/cookie/download/@types/cookie-0.3.3.tgz",
"integrity": "sha1-hbx0ungvt6o6UU0RdngysOO8aAM="
},
"@types/hoist-non-react-statics": { "@types/hoist-non-react-statics": {
"version": "3.3.1", "version": "3.3.1",
"resolved": "https://registry.nlark.com/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz?cache=0&sync_timestamp=1621241339435&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fhoist-non-react-statics%2Fdownload%2F%40types%2Fhoist-non-react-statics-3.3.1.tgz", "resolved": "https://registry.nlark.com/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz?cache=0&sync_timestamp=1621241339435&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fhoist-non-react-statics%2Fdownload%2F%40types%2Fhoist-non-react-statics-3.3.1.tgz",
...@@ -273,6 +278,11 @@ ...@@ -273,6 +278,11 @@
"resolved": "https://registry.nlark.com/@types/node/download/@types/node-16.3.2.tgz", "resolved": "https://registry.nlark.com/@types/node/download/@types/node-16.3.2.tgz",
"integrity": "sha1-ZVQygX+DtRrIacLVHdgwX7g0LhY=" "integrity": "sha1-ZVQygX+DtRrIacLVHdgwX7g0LhY="
}, },
"@types/object-assign": {
"version": "4.0.30",
"resolved": "https://registry.nlark.com/@types/object-assign/download/@types/object-assign-4.0.30.tgz?cache=0&sync_timestamp=1621242072851&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fobject-assign%2Fdownload%2F%40types%2Fobject-assign-4.0.30.tgz",
"integrity": "sha1-iUk3HVqZ9Dge4PHfCpt6GH4H5lI="
},
"@types/prop-types": { "@types/prop-types": {
"version": "15.7.4", "version": "15.7.4",
"resolved": "https://registry.nlark.com/@types/prop-types/download/@types/prop-types-15.7.4.tgz", "resolved": "https://registry.nlark.com/@types/prop-types/download/@types/prop-types-15.7.4.tgz",
...@@ -4983,6 +4993,32 @@ ...@@ -4983,6 +4993,32 @@
"object-assign": "^4.1.1" "object-assign": "^4.1.1"
} }
}, },
"react-cookie": {
"version": "3.1.2",
"resolved": "https://registry.npm.taobao.org/react-cookie/download/react-cookie-3.1.2.tgz",
"integrity": "sha1-ODXSXTqr+h2rOHmfa95J9QUFgKw=",
"requires": {
"@types/hoist-non-react-statics": "^3.0.1",
"hoist-non-react-statics": "^3.0.0",
"universal-cookie": "^3.1.0"
}
},
"react-cookies": {
"version": "0.1.1",
"resolved": "https://registry.npm.taobao.org/react-cookies/download/react-cookies-0.1.1.tgz",
"integrity": "sha1-KjWAfgT1oT9YzNGp+2ZXRQaHPIg=",
"requires": {
"cookie": "^0.3.1",
"object-assign": "^4.1.1"
},
"dependencies": {
"cookie": {
"version": "0.3.1",
"resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
}
}
},
"react-dom": { "react-dom": {
"version": "17.0.2", "version": "17.0.2",
"resolved": "https://registry.nlark.com/react-dom/download/react-dom-17.0.2.tgz", "resolved": "https://registry.nlark.com/react-dom/download/react-dom-17.0.2.tgz",
...@@ -5995,6 +6031,24 @@ ...@@ -5995,6 +6031,24 @@
"imurmurhash": "^0.1.4" "imurmurhash": "^0.1.4"
} }
}, },
"universal-cookie": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/universal-cookie/download/universal-cookie-3.1.0.tgz",
"integrity": "sha1-oWlkzLFs+PpGO9oevoZIKUUzmtg=",
"requires": {
"@types/cookie": "^0.3.1",
"@types/object-assign": "^4.0.30",
"cookie": "^0.3.1",
"object-assign": "^4.1.0"
},
"dependencies": {
"cookie": {
"version": "0.3.1",
"resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
}
}
},
"unpipe": { "unpipe": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
......
...@@ -15,9 +15,11 @@ ...@@ -15,9 +15,11 @@
"next": "10.2.3", "next": "10.2.3",
"react": "17.0.2", "react": "17.0.2",
"react-dom": "17.0.2", "react-dom": "17.0.2",
"lottie-web": "^5.7.1", "react-cookie": "^3.1.2",
"react-cookies": "^0.1.0",
"react-lazyload": "^2.5.0", "react-lazyload": "^2.5.0",
"react-redux": "^7.0.3", "react-redux": "^7.0.3",
"lottie-web": "^5.7.1",
"redux": "^4.0.1" "redux": "^4.0.1"
}, },
"devDependencies": { "devDependencies": {
......
...@@ -2,13 +2,12 @@ ...@@ -2,13 +2,12 @@
* @Author: liguokang * @Author: liguokang
* @Date: 2021-07-15 10:34:53 * @Date: 2021-07-15 10:34:53
* @LastEditors: liguokang * @LastEditors: liguokang
* @LastEditTime: 2021-07-15 10:35:22 * @LastEditTime: 2021-07-15 11:32:07
* @Description: * @Description:
* @Copyrigh: ©2021 杭州杰竞科技有限公司 版权所有 * @Copyrigh: ©2021 杭州杰竞科技有限公司 版权所有
*/ */
import React from 'react'; import React from 'react';
import Document, { Head, Main, NextScript } from 'next/document'; import Document, { Head, Main, NextScript } from 'next/document';
const Fragment = React.Fragment; const Fragment = React.Fragment;
export default class MyDocument extends Document { export default class MyDocument extends Document {
......
...@@ -2,17 +2,13 @@ ...@@ -2,17 +2,13 @@
* @Author: liguokang * @Author: liguokang
* @Date: 2021-07-14 20:36:28 * @Date: 2021-07-14 20:36:28
* @LastEditors: liguokang * @LastEditors: liguokang
* @LastEditTime: 2021-07-15 11:23:23 * @LastEditTime: 2021-07-15 11:28:30
* @Description: * @Description:
* @Copyrigh: ©2021 杭州杰竞科技有限公司 版权所有 * @Copyrigh: ©2021 杭州杰竞科技有限公司 版权所有
*/ */
import { useState, useLayoutEffect } from 'react'; import { useState, useLayoutEffect } from 'react';
// import { getJobs } from "../data-source/join-us/request-apis"; import Layout from 'components/layout';
// import Header from '../components/Header';
// import Footer from '../components/Footer';
// import SiderBar from '../components/SiderBar';
// import "./joinUs.less";
export default function JoinUs() { export default function JoinUs() {
const [jobs, setJobs] = useState([]); const [jobs, setJobs] = useState([]);
...@@ -26,267 +22,223 @@ export default function JoinUs() { ...@@ -26,267 +22,223 @@ export default function JoinUs() {
}, []); }, []);
// 获取数据 // 获取数据
async function getData() { async function getData() {}
// const { data } = await getJobs();
// setJobs(data);
// setSelectJobs(data);
}
function handSelectNature(type, flag) { function handSelectNature(type, flag) {
const selectJobs = const selectJobs = type === '全部' ? jobs : jobs.filter((item) => item.jobNature.indexOf(type) !== -1);
type === "全部"
? jobs
: jobs.filter((item) => item.jobNature.indexOf(type) !== -1);
setSelectJobs(selectJobs); setSelectJobs(selectJobs);
setJobNatureFlag(flag); setJobNatureFlag(flag);
} }
function handSelectType(type, flag) { function handSelectType(type, flag) {
const selectJobs = const selectJobs = type === '全部' ? jobs : jobs.filter((item) => item.postType == type);
type === "全部"
? jobs
: jobs.filter((item) => item.postType == type);
setSelectJobs(selectJobs); setSelectJobs(selectJobs);
setPostTypeFlag(flag); setPostTypeFlag(flag);
} }
return ( return (
<div className="" style={{ background: "#fff" }}> <Layout isHome={false}>
{/* <Header active={"aboutUs"} /> */} <div className="" style={{ background: '#fff' }}>
<div className="join-us"> {/* <Header active={"aboutUs"} /> */}
<div className="center" style={{ textAlign: "center" }}> <div className="join-us">
<p>加入我们,麦向美好未来</p> <div className="center" style={{ textAlign: 'center' }}>
<p>加入我们,麦向美好未来</p>
</div>
</div> </div>
</div> <div className="content">
<div className="content"> <div className="center">
<div className="center"> <div className="content-module" style={{ background: '#fff' }}>
<div className="content-module" style={{ background: '#fff' }}> <div className="content-module-body">
<div className="content-module-body"> <p className="join-us-title">
<p className="join-us-title"> 团队成员来自于浙江大学、清华大学、复旦大学、伦敦大学、新加坡国立大学等国内外知名高校,部分成员曾连续成功创业,在K12教育培训、移动互联网产品开发、大数据等领域深耕多年。其中研发和产品团队占据总人数1/2以上,硕士以上学历人数超过15%。
团队成员来自于浙江大学、清华大学、复旦大学、伦敦大学、新加坡国立大学等国内外知名高校,部分成员曾连续成功创业,在K12教育培训、移动互联网产品开发、大数据等领域深耕多年。其中研发和产品团队占据总人数1/2以上,硕士以上学历人数超过15%。 </p>
</p> </div>
</div> </div>
</div> </div>
</div>
<div <div className="content-module content-module-3" style={{ background: '#fff' }}>
className="content-module content-module-3" <div className="center">
style={{ background: "#fff" }} <div className="module-title">热招岗位</div>
> <div className="content-module-body">
<div className="center"> <div className="job-head">
<div className="module-title">热招岗位</div> <div className="work-nature clearfix">
<div className="content-module-body"> <span className="type-nature fl" id="xmtd-type-nature">
<div className="job-head"> 工作性质
<div className="work-nature clearfix">
<span className="type-nature fl" id="xmtd-type-nature">
工作性质
</span>
<div className="button fl clearfix" id="nature">
<span
className={
jobNatureFlag === 0 ? "active" : ""
}
data-id="0"
onClick={() => {
handSelectNature("全部", 0);
}}
>
全部
</span>
<span
className={
jobNatureFlag === 1 ? "active" : ""
}
data-id="1"
onClick={() => {
handSelectNature("社招", 1);
}}
>
社招
</span>
<span
className={
jobNatureFlag === 2 ? "active" : ""
}
data-id="2"
onClick={() => {
this.handSelectNature("校招", 2);
}}
>
校招
</span>
<span
className={
jobNatureFlag === 3 ? "active" : ""
}
data-id="3"
onClick={() => {
handSelectNature("校招", 3);
}}
>
实习
</span>
</div>
</div>
<div className="job-category clearfix">
<span className="type fl">职位类别</span>
<div className="button fl clearfix" id="type">
<span
className={
postTypeFlag === 0 ? "active" : ""
}
data-index="0"
onClick={() => {
handSelectType("全部", 0);
}}
>
全部
</span>
<span
className={
postTypeFlag === 1 ? "active" : ""
}
data-index="1"
onClick={() => {
handSelectType("技术", 1);
}}
>
技术
</span>
<span
className={
postTypeFlag === 2 ? "active" : ""
}
data-index="2"
onClick={() => {
handSelectType("产品", 2);
}}
>
产品
</span>
<span
className={
postTypeFlag === 3 ? "active" : ""
}
data-index="3"
onClick={() => {
handSelectType("设计", 3);
}}
>
设计
</span>
<span
className={
postTypeFlag === 4 ? "active" : ""
}
data-index="4"
onClick={() => {
handSelectType("市场", 4);
}}
>
市场
</span>
<span
className={
postTypeFlag === 5 ? "active" : ""
}
data-index="5"
onClick={() => {
handSelectType("商务顾问", 5);
}}
>
销售
</span>
<span
className={
postTypeFlag === 6 ? "active" : ""
}
data-index="6"
onClick={() => {
handSelectType("运营", 6);
}}
>
运营
</span> </span>
<div className="button fl clearfix" id="nature">
<span
className={jobNatureFlag === 0 ? 'active' : ''}
data-id="0"
onClick={() => {
handSelectNature('全部', 0);
}}
>
全部
</span>
<span
className={jobNatureFlag === 1 ? 'active' : ''}
data-id="1"
onClick={() => {
handSelectNature('社招', 1);
}}
>
社招
</span>
<span
className={jobNatureFlag === 2 ? 'active' : ''}
data-id="2"
onClick={() => {
this.handSelectNature('校招', 2);
}}
>
校招
</span>
<span
className={jobNatureFlag === 3 ? 'active' : ''}
data-id="3"
onClick={() => {
handSelectNature('校招', 3);
}}
>
实习
</span>
</div>
</div> </div>
</div> <div className="job-category clearfix">
</div> <span className="type fl">职位类别</span>
<div className="job-detail" id="job-detail"> <div className="button fl clearfix" id="type">
<ul style={{ padding: 0 }}> <span
<li className="first" id="first"> className={postTypeFlag === 0 ? 'active' : ''}
<span>职位名称</span> data-index="0"
<span>工作性质</span> onClick={() => {
<span>职位类别</span> handSelectType('全部', 0);
<span>工作经验</span> }}
<span>招聘人数</span> >
</li> 全部
{selectJobs.map((item, index) => { </span>
return ( <span
<div className={postTypeFlag === 1 ? 'active' : ''}
key={index} data-index="1"
onClick={() => {
handSelectType('技术', 1);
}}
>
技术
</span>
<span
className={postTypeFlag === 2 ? 'active' : ''}
data-index="2"
onClick={() => {
handSelectType('产品', 2);
}}
>
产品
</span>
<span
className={postTypeFlag === 3 ? 'active' : ''}
data-index="3"
onClick={() => {
handSelectType('设计', 3);
}}
>
设计
</span>
<span
className={postTypeFlag === 4 ? 'active' : ''}
data-index="4"
onClick={() => {
handSelectType('市场', 4);
}}
>
市场
</span>
<span
className={postTypeFlag === 5 ? 'active' : ''}
data-index="5"
onClick={() => { onClick={() => {
detailFlag === index ? setDetailFlag(-1) : setDetailFlag(index); handSelectType('商务顾问', 5);
}} }}
> >
<li className="title"> 销售
<span>{item.jobName}</span> </span>
<span>{item.jobType}</span> <span
<span>{item.postType}</span> className={postTypeFlag === 6 ? 'active' : ''}
<span>{item.jobExperience}</span> data-index="6"
<span className="num xmtd-num"> onClick={() => {
{item.NeedNum} handSelectType('运营', 6);
{detailFlag === index ? ( }}
<i className="icon iconfont up active iconUp fr"> >
运营
</i> </span>
) : ( </div>
<i className="icon iconfont down active iconDown fr xmtd-num"> </div>
</div>
</i> <div className="job-detail" id="job-detail">
)} <ul style={{ padding: 0 }}>
</span> <li className="first" id="first">
</li> <span>职位名称</span>
<li <span>工作性质</span>
className={ <span>职位类别</span>
detailFlag === index <span>工作经验</span>
? "detail active" <span>招聘人数</span>
: "detail" </li>
} {selectJobs.map((item, index) => {
id="detail" return (
<div
key={index}
onClick={() => {
detailFlag === index ? setDetailFlag(-1) : setDetailFlag(index);
}}
> >
<div className="append"> <li className="title">
<div className="duty"> <span>{item.jobName}</span>
<div className="title">岗位职责:</div> <span>{item.jobType}</span>
<div className="list" id="duty-list"> <span>{item.postType}</span>
{item.responsibility && <span>{item.jobExperience}</span>
item.responsibility.map((item1, index1) => { <span className="num xmtd-num">
return <p key={index1}>{item1}</p>; {item.NeedNum}
})} {detailFlag === index ? (
<i className="icon iconfont up active iconUp fr"></i>
) : (
<i className="icon iconfont down active iconDown fr xmtd-num"></i>
)}
</span>
</li>
<li className={detailFlag === index ? 'detail active' : 'detail'} id="detail">
<div className="append">
<div className="duty">
<div className="title">岗位职责:</div>
<div className="list" id="duty-list">
{item.responsibility &&
item.responsibility.map((item1, index1) => {
return <p key={index1}>{item1}</p>;
})}
</div>
</div> </div>
</div> <div className="require">
<div className="require"> <div className="title">岗位要求:</div>
<div className="title">岗位要求:</div> <div className="list" id="require-list">
<div className="list" id="require-list"> {item.requirement &&
{item.requirement && item.requirement.map((item2, index2) => {
item.requirement.map((item2, index2) => { return <p key={index2}>{item2}</p>;
return <p key={index2}>{item2}</p>; })}
})} </div>
</div> </div>
<div className="mail">简历投递:liyan@xiaomai5.com</div>
</div> </div>
<div className="mail">简历投递:liyan@xiaomai5.com</div> </li>
</div> </div>
</li> );
</div> })}
); </ul>
})} </div>
</ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{/* <Footer></Footer> */}
{/* <SiderBar /> */}
</div> </div>
{/* <Footer></Footer> */} </Layout>
{/* <SiderBar /> */}
</div>
); );
} }
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