2.0提交

cyl/dev
wangxia 4 years ago
parent 6c4ebe1229
commit 1e771fca37

@ -32,7 +32,7 @@ export default {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
// text-align: center;
color: #2c3e50;
// color: #2c3e50;
height: 100%;
}

@ -17,21 +17,21 @@ export function getJobDetailApi(data) {
// 获取职位特色
export function getJobSpecialApi() {
return request({
url: `/labels/getListByTypeAndIndustry?type=90&industry=2`,
url: `/yishoudan/labels/getListByTypeAndIndustry?type=90&industry=2`,
method: "get",
});
}
// 获取省份
export function getProvinceApi() {
return request({
url: `/city/getCityTree`,
url: `/yishoudan/city/getCityTree`,
method: "get",
});
}
// 获取市县
export function getCityApi(id) {
return request({
url: `/city/getCityByPid?pid=${id}`,
url: `/yishoudan/city/getCityByPid?pid=${id}`,
method: "get",
});
}

@ -10,7 +10,7 @@ export function loginApi(data) {
// 获取验证码
export function getPhoneCodeApi(data) {
return request({
url: "/commons/sendMsgCode",
url: "/yishoudan/commons/sendMsgCode",
method: "post",
params: data,
});
@ -30,3 +30,11 @@ export function logoutApi() {
// params: data,
});
}
// 修改密码
export function updatePswApi(data) {
return request({
url: "/yishoudan/updatePassword",
params: data,
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

@ -54,6 +54,54 @@
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe8dc;</span>
<div class="name">关闭实心</div>
<div class="code-name">&amp;#xe8dc;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe700;</span>
<div class="name">默认头像</div>
<div class="code-name">&amp;#xe700;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe620;</span>
<div class="name">头像</div>
<div class="code-name">&amp;#xe620;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6fe;</span>
<div class="name">选中</div>
<div class="code-name">&amp;#xe6fe;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6ff;</span>
<div class="name">未选中</div>
<div class="code-name">&amp;#xe6ff;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6fa;</span>
<div class="name">一个专门服务代理的平台2</div>
<div class="code-name">&amp;#xe6fa;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6f8;</span>
<div class="name">一个专门服务代理的平台</div>
<div class="code-name">&amp;#xe6f8;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6f7;</span>
<div class="name">顶部logo</div>
<div class="code-name">&amp;#xe6f7;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6f5;</span>
<div class="name">下拉</div>
@ -66,12 +114,6 @@
<div class="code-name">&amp;#xe608;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6f4;</span>
<div class="name">未选中</div>
<div class="code-name">&amp;#xe6f4;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6f3;</span>
<div class="name">短信验证</div>
@ -108,36 +150,18 @@
<div class="code-name">&amp;#xe6ee;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6ec;</span>
<div class="name">选中</div>
<div class="code-name">&amp;#xe6ec;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6e9;</span>
<div class="name">微信 </div>
<div class="code-name">&amp;#xe6e9;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6e4;</span>
<div class="name">一个专门服务代理的平台</div>
<div class="code-name">&amp;#xe6e4;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6e1;</span>
<div class="name">sologan</div>
<div class="code-name">&amp;#xe6e1;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6e2;</span>
<div class="name">广告</div>
<div class="code-name">&amp;#xe6e2;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6df;</span>
<div class="name">定位</div>
@ -168,9 +192,9 @@
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.woff2?t=1643011389900') format('woff2'),
url('iconfont.woff?t=1643011389900') format('woff'),
url('iconfont.ttf?t=1643011389900') format('truetype');
src: url('iconfont.woff2?t=1644306892433') format('woff2'),
url('iconfont.woff?t=1644306892433') format('woff'),
url('iconfont.ttf?t=1644306892433') format('truetype');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@ -197,20 +221,38 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-xiala"></span>
<span class="icon iconfont icon-guanbishixin"></span>
<div class="name">
下拉
关闭实心
</div>
<div class="code-name">.icon-xiala
<div class="code-name">.icon-guanbishixin
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-sousuo"></span>
<span class="icon iconfont icon-morentouxiang"></span>
<div class="name">
搜索
默认头像
</div>
<div class="code-name">.icon-sousuo
<div class="code-name">.icon-morentouxiang
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-touxiang"></span>
<div class="name">
头像
</div>
<div class="code-name">.icon-touxiang
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-xuanzhong"></span>
<div class="name">
选中
</div>
<div class="code-name">.icon-xuanzhong
</div>
</li>
@ -223,6 +265,51 @@
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yigezhuanmenfuwudailidepingtai2"></span>
<div class="name">
一个专门服务代理的平台2
</div>
<div class="code-name">.icon-yigezhuanmenfuwudailidepingtai2
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yigezhuanmenfuwudailidepingtai"></span>
<div class="name">
一个专门服务代理的平台
</div>
<div class="code-name">.icon-yigezhuanmenfuwudailidepingtai
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-dingbulogo"></span>
<div class="name">
顶部logo
</div>
<div class="code-name">.icon-dingbulogo
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-xiala"></span>
<div class="name">
下拉
</div>
<div class="code-name">.icon-xiala
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-sousuo"></span>
<div class="name">
搜索
</div>
<div class="code-name">.icon-sousuo
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-duanxinyanzheng"></span>
<div class="name">
@ -277,15 +364,6 @@
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-xuanzhong"></span>
<div class="name">
选中
</div>
<div class="code-name">.icon-xuanzhong
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-weixin"></span>
<div class="name">
@ -295,15 +373,6 @@
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yigezhuanmenfuwudailidepingtai"></span>
<div class="name">
一个专门服务代理的平台
</div>
<div class="code-name">.icon-yigezhuanmenfuwudailidepingtai
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-sologan"></span>
<div class="name">
@ -313,15 +382,6 @@
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-guanggao"></span>
<div class="name">
广告
</div>
<div class="code-name">.icon-guanggao
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-dingwei"></span>
<div class="name">
@ -369,18 +429,34 @@
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xiala"></use>
<use xlink:href="#icon-guanbishixin"></use>
</svg>
<div class="name">下拉</div>
<div class="code-name">#icon-xiala</div>
<div class="name">关闭实心</div>
<div class="code-name">#icon-guanbishixin</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-sousuo"></use>
<use xlink:href="#icon-morentouxiang"></use>
</svg>
<div class="name">搜索</div>
<div class="code-name">#icon-sousuo</div>
<div class="name">默认头像</div>
<div class="code-name">#icon-morentouxiang</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-touxiang"></use>
</svg>
<div class="name">头像</div>
<div class="code-name">#icon-touxiang</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xuanzhong"></use>
</svg>
<div class="name">选中</div>
<div class="code-name">#icon-xuanzhong</div>
</li>
<li class="dib">
@ -391,6 +467,46 @@
<div class="code-name">#icon-weixuanzhong</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yigezhuanmenfuwudailidepingtai2"></use>
</svg>
<div class="name">一个专门服务代理的平台2</div>
<div class="code-name">#icon-yigezhuanmenfuwudailidepingtai2</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yigezhuanmenfuwudailidepingtai"></use>
</svg>
<div class="name">一个专门服务代理的平台</div>
<div class="code-name">#icon-yigezhuanmenfuwudailidepingtai</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dingbulogo"></use>
</svg>
<div class="name">顶部logo</div>
<div class="code-name">#icon-dingbulogo</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xiala"></use>
</svg>
<div class="name">下拉</div>
<div class="code-name">#icon-xiala</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-sousuo"></use>
</svg>
<div class="name">搜索</div>
<div class="code-name">#icon-sousuo</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-duanxinyanzheng"></use>
@ -439,14 +555,6 @@
<div class="code-name">#icon-chenggong</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xuanzhong"></use>
</svg>
<div class="name">选中</div>
<div class="code-name">#icon-xuanzhong</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-weixin"></use>
@ -455,14 +563,6 @@
<div class="code-name">#icon-weixin</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yigezhuanmenfuwudailidepingtai"></use>
</svg>
<div class="name">一个专门服务代理的平台</div>
<div class="code-name">#icon-yigezhuanmenfuwudailidepingtai</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-sologan"></use>
@ -471,14 +571,6 @@
<div class="code-name">#icon-sologan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-guanggao"></use>
</svg>
<div class="name">广告</div>
<div class="code-name">#icon-guanggao</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dingwei"></use>

@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 3135652 */
src: url('iconfont.woff2?t=1643011389900') format('woff2'),
url('iconfont.woff?t=1643011389900') format('woff'),
url('iconfont.ttf?t=1643011389900') format('truetype');
src: url('iconfont.woff2?t=1644306892433') format('woff2'),
url('iconfont.woff?t=1644306892433') format('woff'),
url('iconfont.ttf?t=1644306892433') format('truetype');
}
.iconfont {
@ -13,6 +13,38 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-guanbishixin:before {
content: "\e8dc";
}
.icon-morentouxiang:before {
content: "\e700";
}
.icon-touxiang:before {
content: "\e620";
}
.icon-xuanzhong:before {
content: "\e6fe";
}
.icon-weixuanzhong:before {
content: "\e6ff";
}
.icon-yigezhuanmenfuwudailidepingtai2:before {
content: "\e6fa";
}
.icon-yigezhuanmenfuwudailidepingtai:before {
content: "\e6f8";
}
.icon-dingbulogo:before {
content: "\e6f7";
}
.icon-xiala:before {
content: "\e6f5";
}
@ -21,10 +53,6 @@
content: "\e608";
}
.icon-weixuanzhong:before {
content: "\e6f4";
}
.icon-duanxinyanzheng:before {
content: "\e6f3";
}
@ -49,26 +77,14 @@
content: "\e6ee";
}
.icon-xuanzhong:before {
content: "\e6ec";
}
.icon-weixin:before {
content: "\e6e9";
}
.icon-yigezhuanmenfuwudailidepingtai:before {
content: "\e6e4";
}
.icon-sologan:before {
content: "\e6e1";
}
.icon-guanggao:before {
content: "\e6e2";
}
.icon-dingwei:before {
content: "\e6df";
}

File diff suppressed because one or more lines are too long

@ -5,6 +5,62 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "2076434",
"name": "关闭实心",
"font_class": "guanbishixin",
"unicode": "e8dc",
"unicode_decimal": 59612
},
{
"icon_id": "27504455",
"name": "默认头像",
"font_class": "morentouxiang",
"unicode": "e700",
"unicode_decimal": 59136
},
{
"icon_id": "4889788",
"name": "头像",
"font_class": "touxiang",
"unicode": "e620",
"unicode_decimal": 58912
},
{
"icon_id": "27498467",
"name": "选中",
"font_class": "xuanzhong",
"unicode": "e6fe",
"unicode_decimal": 59134
},
{
"icon_id": "27498468",
"name": "未选中",
"font_class": "weixuanzhong",
"unicode": "e6ff",
"unicode_decimal": 59135
},
{
"icon_id": "27445234",
"name": "一个专门服务代理的平台2",
"font_class": "yigezhuanmenfuwudailidepingtai2",
"unicode": "e6fa",
"unicode_decimal": 59130
},
{
"icon_id": "27443739",
"name": "一个专门服务代理的平台",
"font_class": "yigezhuanmenfuwudailidepingtai",
"unicode": "e6f8",
"unicode_decimal": 59128
},
{
"icon_id": "27433814",
"name": "顶部logo",
"font_class": "dingbulogo",
"unicode": "e6f7",
"unicode_decimal": 59127
},
{
"icon_id": "27411236",
"name": "下拉",
@ -19,13 +75,6 @@
"unicode": "e608",
"unicode_decimal": 58888
},
{
"icon_id": "27386047",
"name": "未选中",
"font_class": "weixuanzhong",
"unicode": "e6f4",
"unicode_decimal": 59124
},
{
"icon_id": "27386041",
"name": "短信验证",
@ -68,13 +117,6 @@
"unicode": "e6ee",
"unicode_decimal": 59118
},
{
"icon_id": "27321955",
"name": "选中",
"font_class": "xuanzhong",
"unicode": "e6ec",
"unicode_decimal": 59116
},
{
"icon_id": "27321723",
"name": "微信 ",
@ -82,13 +124,6 @@
"unicode": "e6e9",
"unicode_decimal": 59113
},
{
"icon_id": "27232101",
"name": "一个专门服务代理的平台",
"font_class": "yigezhuanmenfuwudailidepingtai",
"unicode": "e6e4",
"unicode_decimal": 59108
},
{
"icon_id": "27229336",
"name": "sologan",
@ -96,13 +131,6 @@
"unicode": "e6e1",
"unicode_decimal": 59105
},
{
"icon_id": "27229337",
"name": "广告",
"font_class": "guanggao",
"unicode": "e6e2",
"unicode_decimal": 59106
},
{
"icon_id": "27146284",
"name": "定位",

Binary file not shown.

Binary file not shown.

@ -1,6 +1,7 @@
<template>
<div class="recommend-container">
<div class="recommendposition" :class="isdetail ? 'showborder' : ''">
<div class="recommendposition">
<!-- :class="isdetail ? 'showborder' : ''" -->
<h1 class="bottombox" style="text-align: center"><i>推荐职位</i></h1>
<div style="text-align: center">
<a-spin tip="加载中..." :spinning="isspinning"> </a-spin>
@ -140,13 +141,23 @@ export default {
.recommendposition {
width: 270px;
// height: 1008px;
overflow: hidden;
background: #ffffff;
border-radius: 4px;
padding: 20px 20px 4px 20px;
padding: 0px 20px 4px 20px;
h1 {
// margin-bottom: 12px;
text-align: left;
&::after {
display: none;
}
i {
display: inline-block;
line-height: 20px;
border-bottom: 3px solid #ff6a00;
padding: 6px 0;
}
span {
display: inline-block;
vertical-align: middle;
@ -157,6 +168,9 @@ export default {
background: #ff6a00;
}
}
.jobinfobox:last-of-type {
border-bottom: none;
}
.jobinfobox {
width: 230px;
// height: 298px;
@ -165,6 +179,8 @@ export default {
// border: 1px solid rgba(77, 87, 94, 0.1);
border-radius: 4px;
// padding: 16px;
border-bottom: 1px solid #f2f0ec;
margin-bottom: 20px;
.imgbox {
width: 230px;
@ -191,15 +207,15 @@ export default {
}
}
.jobname {
height: 45px;
// height: 45px;
// margin: 12px 0;
font-size: 18px;
font-weight: bold;
text-align: left;
color: #4d575e;
line-height: 45px;
margin-top: 12px;
border-bottom: 1px solid #f2f0ec;
line-height: 18px;
margin-top: 16px;
// border-bottom: 1px solid #f2f0ec;
}
.jobinfo {
margin-top: 16px;
@ -224,9 +240,13 @@ export default {
background: rgba(51, 51, 51, 0.06);
border-radius: 4px;
}
span:nth-of-type(n + 4) {
display: none;
}
}
.jobprice {
margin-top: 16px;
margin-bottom: 16px;
font-size: 16px;
text-align: left;
color: #ff6a00;

@ -1,5 +1,65 @@
<template>
<div class="detail-container">
<a-modal
title="录单"
:visible="visible"
class="modal"
:confirm-loading="confirmLoading"
@ok="handleOk"
@cancel="handleCancel"
:maskClosable="false"
okText="提交"
cancelText="取消"
:destroyOnClose="true"
>
<a-form-model ref="ruleForm" :model="form" :rules="rules" :colon="false">
<a-form-model-item ref="name" label="老乡姓名" prop="name">
<a-input
v-model="form.name"
@blur="
() => {
$refs.name.onFieldBlur();
}
"
/>
</a-form-model-item>
<a-form-model-item ref="tel" label="老乡电话" prop="tel">
<a-input
v-model="form.tel"
@blur="
() => {
$refs.tel.onFieldBlur();
}
"
/>
</a-form-model-item>
<a-form-model-item
ref="peoplecard"
label="老乡身份证号"
prop="peoplecard"
>
<a-input v-model="form.peoplecard" />
</a-form-model-item>
<a-form-model-item ref="username" label="报名人" prop="username">
<a-input v-model="form.username" />
</a-form-model-item>
</a-form-model>
</a-modal>
<!-- 面包屑 -->
<a-breadcrumb class="w">
<a-breadcrumb-item href="">
<router-link to="/main"><a-icon type="home" /></router-link>
</a-breadcrumb-item>
<a-breadcrumb-item href="">
<router-link to="/list">
<span>一手职位</span>
</router-link>
</a-breadcrumb-item>
<a-breadcrumb-item href="">
<span>企业详情</span>
</a-breadcrumb-item>
</a-breadcrumb>
<!-- 主体区域 -->
<div class="maincontent w">
<div class="maincontentleft">
<div class="subset">
@ -68,13 +128,13 @@
</div>
<div class="billbutton">
<span>服务费 <i>1.5</i>/小时</span>
<button></button>
<button @click="showmodal"></button>
</div>
</div>
</div>
</div>
<div class="jobinformationbox">
<h1 class="bottombox"><i>职位信息</i></h1>
<h1><i>职位信息</i></h1>
<div
v-html="jobDetail.baseInfo"
@ -90,13 +150,14 @@
<div class="companyinfo">
<div class="companydetail">
<h1 class="bottombox"><i>企业详情</i></h1>
<p>无锡健鼎科技</p>
<p style="text-align: center">{{ jobDetail.aliasName }}</p>
<div class="imgbox">
<img src="../../assets/无锡健鼎.png" alt="" />
<img v-if="storeImage.length !== 0" :src="storeImage[0]" alt="" />
<img v-else src="../../../static/img/nopicture.png" alt="" />
</div>
<p>
我是文案我很长很长我是文案我 很长很长我是文案我很长很长我
是文案我很长很长我是文案我很 长很长
<!-- 我是文案我很长很长我是文案我 很长很长我是文案我很长很长我
是文案我很长很长我是文案我很 长很长 -->
</p>
</div>
<div class="companylocation">
@ -133,6 +194,20 @@ export default {
jobDetail: {},
storeImage: [],
id: this.$route.params.id,
visible: false, //
confirmLoading: false, // loading
form: {
//
name: "",
tel: "",
peoplecard: "",
username: "",
},
rules: {
//
name: [{ required: true, message: "请输入姓名", trigger: "submit" }],
tel: [{ required: true, message: "请输入手机号", trigger: "submit" }],
},
};
},
//
@ -178,6 +253,39 @@ export default {
console.log(error);
}
},
//
handleCancel() {
this.visible = false;
this.form = {
//
name: "",
tel: "",
peoplecard: "",
username: "",
};
},
//
handleOk() {
this.$refs.ruleForm.validate((ispass, no) => {
console.log(ispass);
if (ispass) {
this.confirmLoading = true;
setTimeout(() => {
this.confirmLoading = false;
this.visible = false;
}, 2000);
} else {
console.log(123);
}
console.log(no);
});
},
//
showmodal(id) {
this.visible = true;
console.log(id);
},
},
};
</script>
@ -185,9 +293,22 @@ export default {
<style scoped lang="less">
.detail-container {
overflow: hidden;
border-top: 1px solid #eeefef;
// border-top: 1px solid #eeefef;
background-color: #fff;
background-color: #f6f6f6;
}
//
.modal {
.ant-form-item {
// margin-bottom: 0;
.ant-input {
// width: 430px;
height: 40px;
border: none;
box-shadow: none !important;
background-color: rgba(77, 87, 94, 0.1);
}
}
}
/deep/ .maincontent {
display: flex;
@ -203,14 +324,15 @@ export default {
padding: 16px;
margin-bottom: 16px;
width: 914px;
background-color: #fff;
// height: 302px;
border-radius: 4px;
border: 1px solid #eeefef;
// border: 1px solid #eeefef;
.subsetleft {
display: flex;
.imgbox {
width: 409px;
height: 230px;
width: 320px;
// height: 240px;
margin-right: 20px;
overflow: hidden;
position: relative;
@ -223,16 +345,18 @@ export default {
// transition: all 0s ease 0s !important;
// }
img {
position: absolute;
// width: 100%;
height: 230px;
// position: absolute;
width: 100%;
// height: 100%;
height: 240px;
// top: 50%;
// left: 50%;
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto;
// left: 0;
// top: 0;
// right: 0;
// bottom: 0;
// margin: auto;
// transform: translateX(-50%) translateY(-50%);
}
@ -276,9 +400,9 @@ export default {
text-align: left;
color: #4d575e;
line-height: 20px;
&:hover {
color: #ff6a00;
}
// &:hover {
// color: #ff6a00;
// }
}
.jobinfo {
margin-top: 16px;
@ -438,15 +562,22 @@ export default {
}
.jobinformationbox {
width: 914px;
border: 1px solid #eeefef;
// border: 1px solid #eeefef;
overflow: hidden;
border-radius: 4px;
padding: 20px;
padding: 0 20px 20px 20px;
background-color: #fff;
h1 {
font-size: 24px;
font-size: 20px;
text-align: left;
color: #4d575e;
line-height: 33px;
margin-bottom: 30px;
margin-bottom: 20px;
font-weight: bold;
padding: 10px 0;
border-bottom: 1px solid #eeefef;
span {
height: 25px;
}
@ -475,11 +606,13 @@ export default {
}
.hotphone {
width: 270px;
overflow: hidden;
// height: 114px;
padding: 20px;
padding: 0 20px 20px 20px;
border-radius: 4px;
background-color: #fff;
border: 1px solid #eeefef;
text-align: center;
// border: 1px solid #eeefef;
p {
font-size: 24px;
color: #ff6a00;
@ -488,17 +621,24 @@ export default {
}
}
.companyinfo {
padding: 20px;
overflow: hidden;
padding: 0 20px 20px 20px;
border-radius: 4px;
border: 1px solid #eeefef;
// border: 1px solid #eeefef;
background-color: #fff;
.companydetail {
p:first-of-type {
width: 230px;
font-size: 18px;
font-weight: bold;
text-align: left;
color: #4d575e;
margin-bottom: 12px;
line-height: 22px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.imgbox {
width: 230px;
@ -522,8 +662,8 @@ export default {
// height: 50px;
// line-height: 50px;
padding-top: 10px;
text-align: left;
border-top: 1px solid #eeefef;
text-align: center;
// border-top: 1px solid #eeefef;
}
.imgbox {
width: 230px;

@ -5,6 +5,54 @@
<span></span>
</div>
</div> -->
<!-- 录单弹出框 -->
<a-modal
title="录单"
:visible="visible"
class="modal"
:confirm-loading="confirmLoading"
@ok="handleOk"
@cancel="handleCancel"
:maskClosable="false"
okText="提交"
cancelText="取消"
:destroyOnClose="true"
>
<a-form-model ref="ruleForm" :model="form" :rules="rules" :colon="false">
<a-form-model-item ref="name" label="老乡姓名" prop="name">
<a-input
v-model="form.name"
placeholder="请输入老乡姓名"
@blur="
() => {
$refs.name.onFieldBlur();
}
"
/>
</a-form-model-item>
<a-form-model-item ref="tel" label="老乡电话" prop="tel">
<a-input
v-model="form.tel"
placeholder="请输入老乡电话"
@blur="
() => {
$refs.tel.onFieldBlur();
}
"
/>
</a-form-model-item>
<a-form-model-item
ref="peoplecard"
label="老乡身份证号"
prop="peoplecard"
>
<a-input v-model="form.peoplecard" placeholder="请输入老乡身份证号" />
</a-form-model-item>
<a-form-model-item ref="username" label="报名人" prop="username">
<a-input v-model="form.username" placeholder="请输入报名人" />
</a-form-model-item>
</a-form-model>
</a-modal>
<!-- 筛选导航 -->
<div class="navigation">
<div class="w">
@ -16,14 +64,16 @@
v-for="(item, index) in specialList"
:key="index"
@click.stop="specialclick(index, item)"
:class="{ 'special-active': specialactive.indexOf(index) > -1 }"
:class="{
'special-active': specialactive.indexOf(item.name) > -1,
}"
>
{{ item.name }}
</li>
</ul>
</div>
</div>
<ul>
<ul class="filterbox">
<li>
<i class="iconfont icon-dingwei"></i
><a-cascader
@ -34,6 +84,9 @@
v-model="formvalue.district"
popupClassName="flitercity"
id="city"
:popupStyle="{
transform: 'all .1s',
}"
><i slot="suffixIcon" class="iconfont icon-xiala"></i
></a-cascader>
</li>
@ -65,7 +118,15 @@
@click.stop="isspecialboxshowclick"
:style="isspecialboxshow ? 'color:#ff6a00' : ''"
>
<span :style="specialactive.length != 0 ? 'color:#ff6a00' : ''"
<ul class="showspecial" v-if="specialvalue.length !== 0">
<li v-for="(item, index) in specialactive" :key="index">
{{ item }}<i></i>
</li>
</ul>
<span v-if="specialvalue.length >= 3">...</span>
<span
:style="specialactive.length != 0 ? 'color:#ff6a00' : ''"
v-if="specialvalue.length === 0"
>特色</span
><i
class="iconfont icon-xiala"
@ -91,34 +152,49 @@
<a-input
placeholder="搜索企业/公司"
@keyup.enter="onSearch"
@search="onSearch"
@input="resetsearch"
v-model="searchvalue"
class="searchinput"
><i slot="prefix" class="iconfont icon-sousuo"></i>
<button slot="suffix"></button>
<button slot="suffix" @click="onSearch"></button>
</a-input>
</span>
</div>
</div>
<!-- 面包屑 -->
<!-- <a-breadcrumb class="w">
<a-breadcrumb-item href="">
<router-link to="/main"><a-icon type="home" /></router-link>
</a-breadcrumb-item>
<a-breadcrumb-item href="">
<span>一手职位</span>
</a-breadcrumb-item>
</a-breadcrumb> -->
<!-- 主体部分 -->
<div class="maincontent w">
<div class="maincontentleft">
<div style="text-align: center">
<a-spin tip="加载中..." :spinning="isspinning"> </a-spin>
</div>
<div
<!-- <div
class="nodata"
v-if="jobMainList.length === 0 && isspinning === false"
>
<p>没有符合条件的岗位</p>
</div>
> -->
<template v-if="jobMainList.length === 0 && isspinning === false">
<a-empty class="nodata" description="暂无符合条件的岗位" />
</template>
<!-- </div> -->
<div v-if="!isspinning">
<div class="subset" v-for="(item, index) in jobMainList" :key="index">
<div class="subsetleft">
<router-link target="_blank" :to="'/detail/' + item.id">
<div class="imgbox" @click="totop">
<img v-if="item.logo.length !== 0" :src="item.logo" />
<img v-else src="../../../static/img/nopicture.png" />
<img
v-else
src="../../../static/img/nopicture.png"
style="height: 169px; width: "
/>
</div>
</router-link>
<div class="jobinfobox">
@ -160,28 +236,26 @@
</div>
</div>
<div class="subsetright">
<div
class="topbox"
:style="{
opacity:
item.returnFee &&
item.returnFee !== -1 &&
item.returnFee !== null
? '1'
: '0',
}"
>
<div class="topbox">
<div>服务费</div>
<div>
<span>{{ item.returnFee }}</span
>/小时
<span
v-if="
item.returnFee &&
item.returnFee !== -1 &&
item.returnFee !== null
? true
: false
"
>{{ item.returnFee }}</span
><i v-else>--</i> /
</div>
</div>
<div class="bottombox">
<div class="bottombox1">
<router-link target="_blank" :to="'/detail/' + item.id">
<button>更多</button>
</router-link>
<button>录单</button>
<button @click="showmodal(item.id)"></button>
</div>
</div>
</div>
@ -199,14 +273,35 @@
ref="pageinput"
type="text"
@keyup.enter="inputpageChange"
@blur="inputpageChange"
/>
</div>
</div>
</div>
<div class="maincontentright">
<div class="dateinfo">
<h1 class="bottombox"><i>我的日历</i></h1>
<p
class="day"
:style="{
'font-size': '60px',
color: '#FF6A00',
'line-height': '80px',
'margin-top': '8px',
}"
>
{{ dateinfo.day }}
</p>
<p class="week" :style="{ 'font-size': '16px', color: '#FF6A00' }">
{{ dateinfo.week }}
</p>
<p class="date" :style="{ 'font-size': '16px', color: '#FF6A00' }">
{{ dateinfo.date }}
</p>
</div>
<div class="hotphone">
<h1 class="bottombox"><i>服务热线</i></h1>
<p>0371-666666666</p>
<p>0371-6666 6666</p>
</div>
<div class="relationme">
<p class="bottombox"><i>一手单合作</i></p>
@ -229,7 +324,7 @@ import { moneyToFixed } from "../../utils/commonUtil";
import recommend from "@/components/FirstJob/components/recommend.vue";
export default {
//
inject: ["getJobList"],
inject: ["getJobList", "reload"],
//
name: "",
//
@ -257,12 +352,30 @@ export default {
return {
// jobMainList: [], //
specialList: [], //
searchvalue: "",
specialactive: [], //
specialvalue: [], //
visible: false, //
confirmLoading: false, // loading
cityoption: [], //
newFormValue: [],
dateinfo: {
day: "",
week: "",
date: "",
},
form: {
//
name: "",
tel: "",
peoplecard: "",
username: "",
},
rules: {
//
name: [{ required: true, message: "请输入姓名", trigger: "submit" }],
tel: [{ required: true, message: "请输入手机号", trigger: "submit" }],
},
options: {
//
price: [
@ -323,34 +436,34 @@ export default {
//
// if(e.city !== undefined){
if (e.district.length === 0) {
document.getElementById("city").style.width = 95 + "px";
document.getElementById("city").style.width = 85 + "px";
} else {
const result = e.district.join("");
console.log(result);
if (result.length > 6) {
document.getElementById("city").style.width =
(result.length + 3) * 18 + "px";
(result.length + 3) * 14 + "px";
document.getElementById("city").style.maxWidth = "250px";
document.querySelector("#city").nextElementSibling.style.width = // s
(result.length + 3) * 18 + "px";
(result.length + 3) * 14 + "px";
document.getElementById("city").nextElementSibling.style.maxWidth =
"250px";
} else if (result.length > 5) {
document.getElementById("city").style.width =
(result.length + 2.6) * 18 + "px";
(result.length + 2.8) * 14 + "px";
document.querySelector("#city").nextElementSibling.style.width =
(result.length + 2.6) * 18 + "px";
(result.length + 2.6) * 14 + "px";
} else if (result.length > 4) {
document.getElementById("city").style.width =
(result.length + 2.4) * 18 + "px";
(result.length + 2.4) * 14 + "px";
document.querySelector("#city").nextElementSibling.style.width =
(result.length + 2.4) * 18 + "px";
(result.length + 2.4) * 14 + "px";
} else {
document.getElementById("city").style.width =
(result.length + 1.5) * 18 + "px";
(result.length + 1.5) * 14 + "px";
document.getElementById("city").style.minWidth = 72 + "px";
document.querySelector("#city").nextElementSibling.style.width =
(result.length + 1.5) * 18 + "px";
(result.length + 1.5) * 14 + "px";
}
}
// }
@ -360,9 +473,9 @@ export default {
} else {
const result = e.monthlyPayStr.join("");
if (result.length >= 0) {
document.getElementById("price").style.width = "140px";
document.getElementById("price").style.width = "120px";
document.getElementById("price").nextElementSibling.style.width =
"150px";
"130px";
// document.querySelector(".ant-cascader-picker-label").style.width =
// "150px";
}
@ -373,9 +486,9 @@ export default {
} else {
const result = e.ageStr.join("");
if (result.length >= 0) {
document.getElementById("age").style.width = "100px";
document.getElementById("age").style.width = "90px";
document.getElementById("age").nextElementSibling.style.width =
"100px";
"90px";
// document.querySelector(".ant-cascader-picker-label").style.width =
// "150px";
}
@ -394,6 +507,7 @@ export default {
this.getJobList();
this.getJobSpecial();
this.getProvince();
this.getdateinfo();
},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
@ -416,19 +530,26 @@ export default {
//
onSearch(e) {
console.log(e);
if (typeof e === "string" || typeof e === "number") {
if (e.length !== 0) {
console.log("zifuchuan ");
this.formvalue.aliasName = e;
this.getJobList();
}
} else if (e.target.value.trim() !== "") {
// if (typeof e === "string" || typeof e === "number") {
// if (e.length !== 0) {
// console.log("zifuchuan ");
// this.formvalue.aliasName = e;
// this.getJobList();
// }
// } else
if (e.target.value.trim() !== "") {
console.log("search");
this.formvalue.aliasName = e.target.value.trim();
this.getJobList();
} else if (this.searchvalue.trim() !== "") {
console.log("search1");
this.formvalue.aliasName = this.searchvalue;
this.getJobList();
}
this.$router.push("/list").catch((err) => {
console.log(err);
});
// this.$router.push("/list").catch((err) => {
// console.log(err);
// });
},
//
async getJobSpecial() {
@ -487,7 +608,7 @@ export default {
handleChange() {},
claerfilter() {
const { pageNum, pageSize, total } = this.formvalue;
// this.formvalue = {
// this.formvalue = { // 使vue,
// district: [],
// monthlyPayStr: [],
// ageStr: [],
@ -510,12 +631,13 @@ export default {
},
specialclick(index, item) {
console.log(item);
let arrIndex = this.specialactive.indexOf(index);
console.log(index);
let arrIndex = this.specialactive.indexOf(item.name);
if (arrIndex > -1) {
this.specialactive.splice(arrIndex, 1);
this.specialvalue.splice(arrIndex, 1);
} else {
this.specialactive.push(index);
this.specialactive.push(item.name);
this.specialvalue.push(item.id);
}
this.formvalue.jobSpecialLabelIds = this.specialvalue;
@ -545,15 +667,77 @@ export default {
this.getJobList();
}
this.$router.push("/list").catch((err) => {
console.log(err);
// this.$router.push("/list").catch((err) => {
// console.log(err);
// });
},
//
handleCancel() {
this.visible = false;
this.form = {
//
name: "",
tel: "",
peoplecard: "",
username: "",
};
},
//
handleOk() {
this.$refs.ruleForm.validate((ispass, no) => {
console.log(ispass);
if (ispass) {
this.confirmLoading = true;
setTimeout(() => {
this.confirmLoading = false;
this.visible = false;
}, 2000);
} else {
console.log(123);
}
console.log(no);
});
},
//
showmodal(id) {
this.visible = true;
console.log(id);
},
//
getdateinfo() {
const date = new Date();
// console.log(date);
// console.log(date.getDate());
// console.log(date.getDay());
// console.log(date.getFullYear());
// console.log(date.getMonth());
if (date.getDay() === 1) {
this.dateinfo.week = "星期一";
} else if (date.getDay() === 2) {
this.dateinfo.week = "星期二";
} else if (date.getDay() === 3) {
this.dateinfo.week = "星期三";
} else if (date.getDay() === 4) {
this.dateinfo.week = "星期四";
} else if (date.getDay() === 5) {
this.dateinfo.week = "星期五";
} else if (date.getDay() === 6) {
this.dateinfo.week = "星期六";
} else if (date.getDay() === 7) {
this.dateinfo.week = "星期日";
}
this.dateinfo.day = "0" + date.getDate();
this.dateinfo.date = date.getFullYear() + "." + (date.getMonth() + 1);
},
},
};
</script>
<style scoped lang="less">
// :focus-visible {
// outline: none;
// }
// .searchbox {
// background-color: #fff;
// // border-bottom: 1px solid #eeefef;
@ -575,12 +759,45 @@ export default {
// }
// }
// }
//
.modal {
.ant-form-item {
// margin-bottom: 0;
margin-top: -8px;
.ant-input {
// width: 430px;
height: 40px;
// border: none;
border: 1px solid #dddddd;
box-shadow: none !important;
// background-color: #f6f6f6;
}
}
/deep/ .ant-modal-footer {
padding: 10px 24px;
.ant-btn-primary {
background-color: #ff6a00 !important;
border: none;
line-height: 32px;
margin-left: 12px;
}
}
/deep/ .ant-modal-header {
.ant-modal-title {
font-size: 20px;
// font-weight: bold;
}
}
/deep/ .ant-modal-body {
padding: 24px 24px 8px 24px;
}
}
/deep/ .navigation {
// margin-top: -1px;
background-color: #fff;
border: 1px solid #f6f6f6;
height: 72px;
// margin-bottom: 10px;
// line-height: 100px;
position: relative;
@ -605,29 +822,41 @@ export default {
display: flex;
justify-content: flex-start;
> span {
margin-top: 14px;
margin-top: 20px;
// margin-right: 285px;
i {
font-size: 18px;
margin-left: 4px;
color: #adadad;
}
.ant-input-affix-wrapper {
position: relative;
.ant-input-prefix {
position: absolute;
left: 8px;
top: 16px;
}
.ant-input-suffix {
right: 0 !important;
}
}
.ant-input {
width: 400px;
width: 320px;
height: 32px;
text-indent: 20px;
text-indent: 10px;
background: #fff;
border: 1px solid rgba(77, 87, 94, 0.3);
// border: 1px solid rgba(77, 87, 94, 0.3);
border-radius: 136px;
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.04);
font-size: 14px !important;
padding-right: 0;
&::placeholder {
text-indent: 20px;
font-size: 14px;
text-indent: 10px;
font-size: 14px !important;
}
&:hover {
border-color: #d9d9d9;
border-color: #ff6a00;
box-shadow: none;
}
&:focus {
border-color: #ff6a00;
@ -636,17 +865,27 @@ export default {
button {
width: 70px;
height: 32px;
color: white;
background: #ff6a00;
border-color: #ff6a00;
border: none;
border-radius: 16px;
font-size: 14px;
box-shadow: none;
cursor: pointer;
outline: none;
&:hover {
background-color: #ff842b;
}
// &:focus {
// border: none;
// }
}
}
.specialbox {
position: absolute;
border-bottom: 1px solid #f6f6f6;
box-shadow: 5px 5px 10px rgb(223, 223, 223);
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
// display: ;
transition: all 0.4s;
left: 0;
@ -664,18 +903,23 @@ export default {
float: left;
background: rgba(216, 216, 216, 0.3);
border-radius: 15px;
font-size: 16px;
font-size: 14px;
color: #4d575e;
line-height: 22px;
&:hover {
color: rgb(254, 97, 0);
background-color: rgba(255, 106, 0, 0.1);
}
}
}
}
> ul {
.filterbox {
display: flex;
justify-content: flex-start;
min-width: 595px;
li {
margin-top: 24px;
font-size: 16px;
font-size: 14px;
color: #4d575e;
// margin-right: 20px;
.ant-cascader-picker {
@ -687,7 +931,7 @@ export default {
}
.icon-xiala {
font-size: 12px;
transform: translateY(-1px) scale(0.5);
transform: translateY(1px) scale(0.5);
}
.ant-cascader-input {
width: 60px;
@ -703,7 +947,7 @@ export default {
// text-indent: 20px;
color: #4d575ecc;
line-height: 20px;
font-size: 16px;
font-size: 14px;
}
}
@ -711,10 +955,10 @@ export default {
width: 60px;
// max-width: 150px;
color: rgb(255, 106, 0) !important;
font-size: 18px;
font-size: 14px;
padding: 0 20px 0 0;
text-align: left;
line-height: 18px !important;
line-height: 22px !important;
}
}
}
@ -722,23 +966,23 @@ export default {
> i {
position: relative;
display: inline-block;
width: 18px;
height: 18px;
margin-right: 8px;
font-size: 16px;
color: #4d575ecc;
width: 12px;
height: 14px;
margin-right: 4px;
font-size: 12px;
color: #ff6a00;
// margin-top: -9px;
&::before {
position: absolute;
left: 0;
// top: -15px;
top: -2px;
}
}
.ant-cascader-picker {
width: auto;
position: relative;
.ant-cascader-input {
min-width: 95px;
min-width: 85px;
&:hover &::placeholder {
color: #ff6a00;
}
@ -749,7 +993,7 @@ export default {
color: #4d575ecc;
text-indent: 0;
line-height: 20px;
font-size: 16px;
font-size: 14px;
}
span {
// width: auto;
@ -766,32 +1010,51 @@ export default {
margin-top: -2px;
line-height: 32px;
color: #4d575ecc;
display: flex;
cursor: pointer;
> .showspecial {
height: 32px;
overflow: hidden;
li {
margin: 6px 5px 0 0;
float: left;
height: 20px;
line-height: 20px;
padding: 0 6px;
color: #fff;
background-color: #ff6a00;
border-radius: 999px;
&:nth-child(n + 4) {
display: none;
}
}
}
.icon-xiala {
transition: all 0.2s;
position: relative;
// float: left;
color: #c5c5c5;
margin-left: 10px;
margin-left: 4px;
display: inline-block;
font-size: 12px;
transform: translateY(-2px) scale(0.5);
transform: translateY(0px) scale(0.5);
}
// .turn {
// transform: translateY(-1px) scale(0.6) rotate(180deg);
// }
}
}
li:last-child {
> li:last-child {
position: relative;
color: #8c8d8f;
font-size: 16px;
margin: 27px 30px 0 25px;
font-size: 14px;
margin: 28px 30px 0 25px;
// color: rgba(78, 88, 95, 0.8);
transform: translateY(-2px);
transform: translateY(-1px);
// margin-left: 25px;
a {
transition: all 0.5s;
line-height: 16px;
line-height: 14px;
&:active {
color: rgb(255, 106, 0);
@ -813,7 +1076,8 @@ export default {
text-align: left;
.nodata {
overflow: hidden;
height: 100px;
height: 230px;
padding-top: 30px;
text-align: center;
background-color: #fff;
border-radius: 5px;
@ -829,7 +1093,7 @@ export default {
display: flex;
justify-content: space-between;
width: 914px;
height: 212px;
// height: 212px;
padding: 16px;
margin-bottom: 16px;
background: #ffffff;
@ -837,11 +1101,18 @@ export default {
.subsetleft {
display: flex;
.imgbox {
width: 240px;
height: 180px;
width: 169px;
height: 169px;
margin-right: 20px;
position: relative;
overflow: hidden;
img {
width: 100%;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
// width: 100%;
height: 100%;
}
}
@ -882,7 +1153,7 @@ export default {
}
}
.jobpricemonth {
margin-top: 16px;
margin-top: 12px;
font-size: 16px;
font-weight: 400;
text-align: left;
@ -890,7 +1161,7 @@ export default {
line-height: 22px;
}
.jobpricehour {
margin-top: 16px;
margin-top: 12px;
font-size: 16px;
font-weight: bold;
text-align: left;
@ -939,28 +1210,35 @@ export default {
font-weight: bold;
}
}
.bottombox {
.bottombox1 {
button {
width: 100px;
height: 32px;
font-size: 16px;
border: 1px solid rgba(77, 87, 94, 0.3);
// border: 1px solid rgba(77, 87, 94, 0.3);
border-radius: 4px;
}
a {
button:first-child {
border: 1px solid rgba(140, 147, 153, 0.3);
border: 1px solid #d9d9d9;
// border-radius: 4px;
color: #4d575e;
background-color: #fff;
cursor: pointer;
&:hover {
border-color: #ff7614;
}
}
}
button:last-child {
> button:last-child {
margin-left: 16px;
border: 1px solid #ff6a00;
background-color: #fff;
color: rgba(255, 106, 0, 1);
cursor: pointer;
&:hover {
background-color: rgba(255, 121, 26, 0.1);
}
}
}
}
@ -1018,35 +1296,70 @@ export default {
> div {
margin-bottom: 16px;
}
.dateinfo {
text-align: center;
overflow: hidden;
border-radius: 4px;
position: relative;
padding-bottom: 10px;
background-color: #fff1e7;
.bottombox {
position: relative;
margin-top: 0;
margin-bottom: 0;
padding-top: 10px;
font-size: 16px;
border-bottom: none;
color: #fff;
background-color: #ff6a00;
&::after {
left: 0;
}
}
}
.hotphone {
overflow: hidden;
position: relative;
width: 270px;
height: 160px;
// height: 114px;
padding: 20px 20px;
padding: 0 20px 20px 20px;
border-radius: 4px;
background-color: #fff;
text-align: center;
p {
position: absolute;
width: 100%;
font-size: 24px;
color: #ff6a00;
// font-weight: bold;
margin-top: 12px;
top: 65%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
}
.relationme {
overflow: hidden;
position: relative;
width: 270px;
padding: 20px 20px;
height: 160px;
padding: 0 20px 20px;
background: #ffffff;
border-radius: 4px;
text-align: center;
button {
width: 198px;
position: absolute;
width: 120px;
height: 32px;
margin-top: 16px;
font-size: 16px;
line-height: 20px;
border-radius: 4px;
border-radius: 999px;
border: 0;
background-color: #ff6a00;
color: #fff;
top: 55%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
}
}

@ -58,7 +58,7 @@ export default {
<style scoped lang="less">
.timebox {
display: inline-block;
width: 92px;
width: 72px;
text-align: center;
}
</style>

@ -66,18 +66,18 @@
</a-input>
</a-form-item>
<div class="autologin">
<span
><input
type="checkbox"
id="register"
v-model="ischecked"
@change="checked"
style="margin-right: 5px; vertical-align: middle"
va
/>
<span @click="isauto = !isauto" style="opacity: 0">
<i class="iconfont icon-xuanzhong" v-if="isauto"></i>
<i
class="iconfont icon-weixuanzhong"
v-else
style="color: #999"
></i>
<label for="register">下次自动登录</label></span
>
<a class="login-form-forgot" href="">忘记密码</a>
<router-link to="updatepsw" class="login-form-forgot" href=""
>忘记密码</router-link
>
</div>
<a-form-item>
<a-button
@ -103,7 +103,7 @@
<a-form-item style="text-align: left">
<a-input
v-decorator="[
'phone',
'tel',
{
rules: [
{ required: true, message: '请输入手机号' },
@ -155,17 +155,18 @@
</a-input>
</a-form-item>
<div class="autologin">
<span>
<input
type="checkbox"
id="register"
v-model="ischecked"
@change="checked"
style="margin-right: 5px; vertical-align: middle"
/>
<span @click="isauto = !isauto" style="opacity: 0">
<i class="iconfont icon-xuanzhong" v-if="isauto"></i>
<i
class="iconfont icon-weixuanzhong"
v-else
style="color: #999"
></i>
<label for="register">下次自动登录</label>
</span>
<a class="login-form-forgot" href="">忘记密码</a>
<router-link to="/updatepsw" class="login-form-forgot" href=""
>忘记密码</router-link
>
</div>
<a-form-item>
<a-button
@ -191,6 +192,7 @@ import { loginApi, getPhoneCodeApi } from "../../api/login";
import timmer from "./components/countback.vue";
export default {
inject: ["reload"],
//
name: "",
//
@ -204,6 +206,7 @@ export default {
return {
loginway: 1,
ischecked: false,
isauto: false, //
form: this.$form.createForm(this),
form1: this.$form.createForm(this),
timedata: {
@ -249,7 +252,7 @@ export default {
}
localStorage.setItem("LOGIN_DATA", JSON.stringify(data.data));
this.$router.push("/list");
this.reload();
// this.$router.push("/list");
} catch (err) {
console.log(err);
@ -267,8 +270,15 @@ export default {
if (!err) {
params = { ...values, loginType: 1 };
try {
const data = await loginApi(params);
const { data } = await loginApi(params);
console.log(data);
if (data.status !== 200) {
this.$message.warning(data.msg);
return;
}
localStorage.setItem("LOGIN_DATA", JSON.stringify(data.data));
this.$router.push("/list");
this.reload();
} catch (err) {
console.log(err);
}
@ -280,15 +290,18 @@ export default {
async getPhoneCode() {
const that = this;
this.form1.validateFields(["phone"], async (err, values) => {
this.form1.validateFields(["tel"], async (err, values) => {
console.log(values);
if (!err) {
that.timedata.isfinish = false;
try {
const data = await getPhoneCodeApi({ tel: values.phone });
const { data } = await getPhoneCodeApi({ tel: values.tel });
console.log(data);
if (data.status !== 200) {
this.$message.warning(data.msg);
}
} catch (error) {
console.log(error);
}
@ -306,7 +319,8 @@ export default {
<style scoped lang="less">
.center {
width: 290px;
width: 240px;
margin: 0 auto;
overflow: hidden;
/deep/ .login-form {
background-color: #fff !important;
@ -326,7 +340,7 @@ export default {
}
li {
padding: 0 0 4px 0;
margin-bottom: 25px;
margin-bottom: 50px;
font-size: 14px;
text-align: left;
color: #cccccc;
@ -339,7 +353,13 @@ export default {
// margin-bottom: 0px !important;
// padding-bottom: 20px !important;
// }
/deep/.ant-input-affix-wrapper {
/deep/.ant-form-item {
margin-top: -10px;
/deep/ .ant-form-explain {
margin-top: -2px;
line-height: 20px;
min-height: 20px !important;
}
i {
font-size: 26px;
// margin: 0 8px 0 4px;
@ -347,10 +367,12 @@ export default {
}
.ant-input {
height: 36px;
height: 32px;
text-indent: 15px;
background-color: #f6f6f6;
border: none;
// background-color: #f6f6f6;
// border: none;
padding: 0 0 0 23px !important;
border: 1px solid #dddddd;
&:hover {
border-color: #ff6a00;
}
@ -368,7 +390,7 @@ export default {
.login-form-button {
width: 100%;
height: 36px;
margin-top: 40px;
margin-top: 20px;
border-radius: 27px;
background-color: #ff6a00;
font-size: 16px;
@ -394,19 +416,27 @@ export default {
display: flex;
justify-content: space-between;
font-size: 12px;
margin-top: -16px;
> span {
cursor: pointer;
input {
line-height: 18px;
margin-top: 2px;
i {
color: #ff6a00;
font-size: 14px;
vertical-align: middle;
&:hover {
border-color: #ff6a00;
}
margin-right: 5px;
}
input {
margin-top: -3px;
vertical-align: bottom;
}
label {
transition: all 0.2s;
}
&:hover {
color: #ff6a00;
font-size: 12px;
&:hover {
color: #ff6a00;
}
}
}
a {
@ -414,15 +444,16 @@ export default {
}
}
.getrulecode {
padding: 0 0 0 10px;
// padding: 0 0 0 10px;
font-size: 12px;
width: 82px;
width: 67px;
text-align: center;
border-left: 1px #cccccc solid;
line-height: 12px;
color: #4d575e;
span[data-mark="getcode"] {
padding: 0 0 0 5px;
cursor: pointer;
}
}

@ -0,0 +1,383 @@
<template>
<div class="center">
<div class="formcontainer">
<ul class="loginchange centerall">
<li class="loginactive">找回密码</li>
</ul>
<div class="formbox">
<template>
<a-form
id="components-form-demo-normal-login"
:form="form1"
class="login-form"
@submit="phonehandleSubmit"
>
<a-form-item style="text-align: left">
<a-input
v-decorator="[
'tel',
{
rules: [
{ required: true, message: '请输入手机号' },
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确手机号',
},
],
validateTrigger: 'submit',
},
]"
autocomplete="off"
:maxLength="11"
placeholder="请输入手机号"
>
<i
slot="prefix"
class="icon-shouji iconfont"
style="font-size: 24px"
/>
</a-input>
</a-form-item>
<a-form-item style="text-align: left">
<a-input
v-decorator="[
'code',
{
rules: [
{
required: true,
message: '请输入验证码',
},
],
validateTrigger: 'submit',
},
]"
type="text"
placeholder="请输入短信验证码"
>
<i slot="prefix" class="icon-duanxinyanzheng iconfont" />
<span class="getrulecode" slot="suffix"
><span
@click="getPhoneCode"
data-mark="getcode"
v-if="timedata.isfinish"
>获取验证码</span
><timmer :timedata="timedata" v-if="!timedata.isfinish"
/></span>
</a-input>
</a-form-item>
<a-form-item style="text-align: left">
<a-input
@input="getpassword"
v-decorator="[
'password',
{
rules: [
{
required: true,
message: '请输入密码',
},
],
validateTrigger: 'submit',
},
]"
type="password"
placeholder="请输入密码"
>
<i slot="prefix" class="iconfont icon-mima" />
</a-input>
</a-form-item>
<a-form-item style="text-align: left">
<a-input
v-decorator="[
'newpassword',
{
rules: [
{
required: true,
message: '请再次输入密码',
},
{
validator: replacepassword,
},
],
validateTrigger: 'submit',
validateFirst: true,
},
]"
type="password"
placeholder="请再次输入密码"
>
<i slot="prefix" class="iconfont icon-mima" />
</a-input>
</a-form-item>
<a-form-item>
<a-button
type="primary"
html-type="submit"
class="login-form-button"
>
提交
</a-button>
</a-form-item>
</a-form>
<!-- <div class="register">
<router-link to="/register">还没有账号立即注册</router-link>
</div> -->
</template>
</div>
</div>
</div>
</template>
<script>
import { getPhoneCodeApi, updatePswApi } from "../../api/login";
import timmer from "./components/countback.vue";
export default {
inject: ["reload"],
//
name: "",
//
components: {
timmer,
},
//
props: {},
//
data() {
return {
loginway: 1,
ischecked: false,
setpassword: "", //
form1: this.$form.createForm(this),
timedata: {
isfinish: true,
deadline: 60,
timmer: null,
},
};
},
//
computed: {},
//
watch: {},
//
/**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/
mounted() {},
//
methods: {
phonehandleSubmit(e) {
e.preventDefault();
let params;
this.form1.validateFields(async (err, values) => {
console.log(err);
console.log(values);
if (!err) {
params = { ...values };
try {
const { data } = await updatePswApi(params);
console.log(data);
if (data.status !== 200) {
this.$message.warning(data.msg);
return;
}
// localStorage.setItem("LOGIN_DATA", JSON.stringify(data.data));
this.$router.push("/login");
this.reload();
} catch (err) {
console.log(err);
}
} else {
console.log(err);
}
});
},
async getPhoneCode() {
const that = this;
this.form1.validateFields(["tel"], async (err, values) => {
console.log(values);
if (!err) {
that.timedata.isfinish = false;
try {
const { data } = await getPhoneCodeApi({ tel: values.tel });
console.log(data);
if (data.status !== 200) {
this.$message.warning(data.msg);
}
} catch (error) {
console.log(error);
}
} else {
console.log(err);
}
});
},
checked() {
console.log(this.ischecked);
},
getpassword(e) {
this.setpassword = e.target.value;
console.log(e);
},
//
replacepassword(rule, value, callback) {
console.log(rule);
console.log(value);
if (this.setpassword !== value) {
callback("两次密码不一致");
}
callback();
// console.log(callback);
},
},
};
</script>
<style scoped lang="less">
.center {
width: 240px;
overflow: hidden;
margin: 0 auto;
/deep/ .login-form {
background-color: #fff !important;
}
.centerall {
margin: 0 auto;
}
.loginchange {
display: flex;
width: 230px;
justify-content: center;
margin-top: 32px;
.loginactive {
color: #4d575e;
border-bottom: 1px solid #4d575e;
}
li {
padding: 0 0 4px 0;
margin-bottom: 24px;
font-size: 14px;
text-align: left;
color: #cccccc;
line-height: 22px;
cursor: pointer;
}
}
.formbox {
// /deep/ .ant-form-item {
// margin-bottom: 0px !important;
// padding-bottom: 20px !important;
// }
// .ant-form-item {
// margin-top: -8px !important;
// }
/deep/ .ant-form-explain {
margin-top: -2px;
line-height: 20px;
min-height: 20px !important;
}
/deep/.ant-input-affix-wrapper {
i {
font-size: 26px;
// margin: 0 8px 0 4px;
color: #4d575e;
}
.ant-input {
height: 36px;
text-indent: 15px;
// background-color: #f6f6f6;
// border: none;
padding: 0 0 0 23px !important;
border: 1px solid #dddddd;
&:hover {
border-color: #ff6a00;
}
&:focus {
box-shadow: none;
}
&::placeholder {
opacity: 0.4;
color: #4d575e;
font-size: 14px;
text-indent: 15px;
}
}
}
.login-form-button {
width: 100%;
height: 36px;
margin-top: 8px;
border-radius: 27px;
background-color: #ff6a00;
font-size: 16px;
border: none;
color: white;
}
.register {
display: flex;
justify-content: center;
font-size: 12px;
span {
color: #4d575e;
i {
vertical-align: middle;
margin-right: 10px;
}
}
a {
color: #353649;
}
}
.autologin {
display: flex;
justify-content: space-between;
font-size: 12px;
> span {
cursor: pointer;
line-height: 18px;
margin-top: 2px;
input {
margin-top: -3px;
vertical-align: bottom;
}
label {
transition: all 0.2s;
}
&:hover {
color: #ff6a00;
}
}
a {
color: #4d575e;
}
}
.getrulecode {
font-size: 12px;
width: 67px;
text-align: center;
border-left: 1px #cccccc solid;
line-height: 12px;
color: #4d575e;
span[data-mark="getcode"] {
padding: 0 0 0 5px;
cursor: pointer;
}
}
}
}
</style>

@ -22,7 +22,7 @@
<i class="iconfont icon-dingwei"></i
><span ref="maplocation">河南省郑州市航空港区XX街道XX号</span>
</div>
<button>录单</button>
<!-- <button>录单</button> -->
</div>
</div>
</div>
@ -46,31 +46,35 @@
<i class="iconfont icon-dingwei"></i
><span ref="maplocation">河南省许昌市襄城县XX街道XX号</span>
</div>
<button>录单</button>
<!-- <button>录单</button> -->
</div>
</div>
</div>
</div>
<div class="maincontentright">
<div class="hotphone">
<h1>服务热线</h1>
<p>0371-666666666</p>
<h1 class="bottombox"><i>服务热线</i></h1>
<p>0371-6666 6666</p>
</div>
<recommend :relationList="relationList" />
<div class="relationme">
<p class="bottombox"><i>一手单合作</i></p>
<button>发布一手单</button>
</div>
<!-- <recommend :relationList="relationList" /> -->
</div>
</div>
</div>
</template>
<script>
import recommend from "@/components/FirstJob/components/recommend.vue";
// import recommend from "@/components/FirstJob/components/recommend.vue";
export default {
//
name: "",
//
components: {
recommend,
// recommend,
},
//
props: {},
@ -116,6 +120,7 @@ export default {
.maincontentleft {
width: 914px;
margin-right: 16px;
margin-bottom: 130px;
text-align: left;
.subset {
display: flex;
@ -165,7 +170,10 @@ export default {
}
}
button {
padding: 5px 20px;
// padding: 5px 20px;
width: 100px;
height: 32px;
line-height: 32px;
border: 1px solid #ff6a00;
font-size: 16px;
color: #ff6a00;
@ -175,64 +183,79 @@ export default {
}
}
}
.pagecontainer {
text-align: center;
margin-bottom: 80px;
// .pagecontainer {
// text-align: center;
// margin-bottom: 80px;
.ant-pagination-item {
border: none;
a:hover {
color: #ff6a00;
}
}
.ant-pagination-item-active {
background: #ff6a00;
a {
color: white;
}
a:hover {
color: white;
}
}
.ant-pagination-item-link {
border: none;
}
}
// .ant-pagination-item {
// border: none;
// a:hover {
// color: #ff6a00;
// }
// }
// .ant-pagination-item-active {
// background: #ff6a00;
// a {
// color: white;
// }
// a:hover {
// color: white;
// }
// }
// .ant-pagination-item-link {
// border: none;
// }
// }
}
.maincontentright {
> div {
margin-bottom: 16px;
}
.hotphone {
overflow: hidden;
position: relative;
width: 270px;
height: 106px;
padding: 20px 32px;
height: 160px;
// height: 114px;
padding: 0 20px 20px;
border-radius: 4px;
background-color: #fff;
text-align: center;
p {
position: absolute;
width: 100%;
font-size: 24px;
color: #ff6a00;
font-weight: bold;
margin-top: 12px;
// font-weight: bold;
top: 65%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
}
.relationme {
overflow: hidden;
position: relative;
width: 270px;
height: 110px;
padding: 20px 40px;
height: 160px;
padding: 0 20px 20px;
color: rgba(0, 0, 0, 0.85);
background: #ffffff;
border-radius: 4px;
text-align: center;
button {
width: 190px;
position: absolute;
width: 120px;
height: 32px;
margin-top: 16px;
font-size: 18px;
font-size: 16px;
line-height: 20px;
border-radius: 4px;
border-radius: 999px;
border: 0;
background-color: #ff6a00;
color: #fff;
top: 55%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
}
}

@ -6,7 +6,7 @@
<img src="../../assets/banner2.png" alt="" />
<img src="../../assets/banner3.png" alt="" />
</a-carousel>
<div class="middleslogan">
<div class="middleslogan" :style="{ opacity: isshow ? '1' : '0' }">
<i class="iconfont icon-yigezhuanmenfuwudailidepingtai"></i>
</div>
<div class="bottominfo">
@ -29,7 +29,9 @@ export default {
props: {},
//
data() {
return {};
return {
isshow: false,
};
},
//
computed: {},
@ -39,7 +41,11 @@ export default {
/**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {},
created() {
setTimeout(() => {
this.isshow = true;
}, 500);
},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
@ -72,6 +78,7 @@ export default {
transform: translateX(-50%) translateY(-50%);
color: #fff;
z-index: 99999;
transition: all 1.5s;
i {
font-size: 90px;
text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4);

@ -5,6 +5,7 @@ import store from "./store";
import antd from "ant-design-vue";
import "ant-design-vue/dist/antd.css";
import "../src/style/index.less";
import "@/permission"; // permission control
Vue.config.productionTip = false;
Vue.use(antd);
new Vue({

@ -0,0 +1,33 @@
// 路由权限的配置
import router from "./router";
router.beforeEach(async (to, from, next) => {
// 路由守卫
const whiteList = [
"/login",
"/404",
"/serviceoutlets",
"/aboutus",
"/main",
"/updatepsw",
]; // 设置白名单
const isLogin = localStorage.getItem("LOGIN_DATA") !== null ? true : false;
console.log(to);
if (isLogin) {
if (to.path === "/login") {
next("/login");
} else {
next();
}
} else {
if (
whiteList.some((obj) => {
return obj === to.path;
})
) {
next();
} else {
next("/login");
}
}
});
router.afterEach(() => {});

@ -46,16 +46,28 @@ const routes = [
name: "login",
// component: () => import("../components/Login/login.vue"),
component: () => import("../views/login.vue"),
// redirect: "/login",
children: [
{
path: "/login",
name: "login",
component: () => import("../components/Login/login.vue"),
},
{
path: "/updatepsw",
name: "updatepsw",
component: () => import("../components/Login/updatepsw.vue"),
},
],
},
],
},
{
path: "*",
name: "404",
component: () => import("../views/404.vue"),
},
// {
// path: "/login",
// name: "Loginpage",

@ -102,7 +102,7 @@ body {
// background-color: #eef1f5;
background-color: #f6f6f6;
font-size: 18px;
text-align: center;
// text-align: center;
}
p {
font-size: 18px;
@ -118,7 +118,6 @@ i {
url("../assets/fontfile/iconfont.woff") format("woff"),
url("../assets/fontfile/iconfont.ttf") format("truetype");
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
@ -127,6 +126,38 @@ i {
-moz-osx-font-smoothing: grayscale;
}
.icon-guanbishixin:before {
content: "\e8dc";
}
.icon-morentouxiang:before {
content: "\e700";
}
.icon-touxiang:before {
content: "\e620";
}
.icon-xuanzhong:before {
content: "\e6fe";
}
.icon-weixuanzhong:before {
content: "\e6ff";
}
.icon-yigezhuanmenfuwudailidepingtai2:before {
content: "\e6fa";
}
.icon-yigezhuanmenfuwudailidepingtai:before {
content: "\e6f8";
}
.icon-dingbulogo:before {
content: "\e6f7";
}
.icon-xiala:before {
content: "\e6f5";
}
@ -135,10 +166,6 @@ i {
content: "\e608";
}
.icon-weixuanzhong:before {
content: "\e6f4";
}
.icon-duanxinyanzheng:before {
content: "\e6f3";
}
@ -163,26 +190,14 @@ i {
content: "\e6ee";
}
.icon-xuanzhong:before {
content: "\e6ec";
}
.icon-weixin:before {
content: "\e6e9";
}
.icon-yigezhuanmenfuwudailidepingtai:before {
content: "\e6e4";
}
.icon-sologan:before {
content: "\e6e1";
}
.icon-guanggao:before {
content: "\e6e2";
}
.icon-dingwei:before {
content: "\e6df";
}
@ -191,6 +206,7 @@ i {
content: "\e6e0";
}
// 公用样式类名
.w {
width: 1200px;
@ -200,9 +216,10 @@ i {
.ant-cascader-menus.agestr {
width: 100vw;
margin: 0 auto;
top: 152px !important;
-webkit-box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
top: 152px !important;
-webkit-box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
transition: none !important;
.ant-cascader-menu {
height: auto;
width: 100%;
@ -217,15 +234,36 @@ i {
}
}
}
.ant-cascader-menus.slide-up-leave-active{
animation: none !important;
transition: none !important;
}
.ant-cascader-menus.slide-up-enter-active{
animation: none !important;
transition: none !important;
}
.ant-cascader-menus.slide-up-leave{
transition: none !important;
animation: none !important;
}
.ant-cascader-menus.slide-up-enter{
animation: none !important;
transition: none !important;
}
.ant-cascader-menus.flitercity {
left: calc((100vw - 1216px) / 2) !important;
top: 152px !important;
border-radius: 0 0 4px 4px !important;
-webkit-box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
left: calc((100vw - 1216px) / 2) !important;
top: 152px !important;
border-radius: 0 0 4px 4px !important;
-webkit-box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
.ant-cascader-menu {
height: 500px;
.ant-cascader-menu-item {
height: 500px;
.ant-cascader-menu-item {
width: 100%;
text-align: left;
// padding-left: calc((100vw - 1200px) / 2) !important ;
@ -234,8 +272,40 @@ i {
color: rgb(255, 106, 0);
}
}
}
}
.logindropdown{
// left: 0;
left: calc((100vw - 1200px) / 2 + 1013px) !important;
.loginbox {
width: 180px;
height: 114px;
overflow: hidden;
background-color: #fff;
border-radius: 4px;
text-align: center;
box-shadow: 0px 0px 10px rgba(128, 128, 128,0.4);
div:first-child {
margin-top: 24px;
text-align: center;
font-size: 14px;
font-weight: bold;
}
button {
width: 130px;
height: 32px;
margin-top: 15px;
border: 1px solid rgba(77, 87, 94, 0.1);
border-radius: 17px;
color: #ff6a00;
font-size: 14px;
line-height: 32px;
background-color: #fff;
cursor: pointer;
}
}
}
.beforeblock {
display: inline-block;
vertical-align: middle;
@ -247,16 +317,29 @@ i {
}
h1.bottombox,
p.bottombox {
text-align: center;
// border-bottom: 1px solid #eeefef;
margin-bottom: 16px;
i {
display: inline-block;
line-height: 20px;
border-bottom: 3px solid #ff6a00;
padding: 6px 0;
position: relative;
text-align: center;
// border-bottom: 1px solid #eeefef;
margin-top: 12px;
padding-bottom: 12px;
margin-bottom: 16px;
color: rgba(0, 0, 0, 0.85);
&::after{
content: '';
display: block;
position: absolute;
width: 270px;
height: 1px;
bottom: 0;
left: -20px;
background-color: #eeefef;
}
// i {
// display: inline-block;
// line-height: 20px;
// border-bottom: 3px solid #ff6a00;
// padding: 6px 0;
// }
}
.ant-cascader-menu {
max-height: 300px !important;
@ -276,9 +359,15 @@ p.bottombox {
-webkit-box-shadow: inset 0 0 5px rgba(112, 112, 112, 0.06);
border-radius: 0;
background: rgba(0, 0, 0, 0.1);
}
}
}
// 面包屑样式
.ant-breadcrumb{
margin-top:15px;
.ant-breadcrumb-link{
cursor:default
}
};
// 媒体查询
@media screen and (max-width: 1910px) {
.loginlogo {

@ -1201,7 +1201,7 @@ export function disposeJobListData(jobList) {
Array.isArray(item.jobSpecialLabelNames)
) {
item.jobSpecialLabelNames.forEach((item, index) => {
if (index <= 1) {
if (index <= 2) {
jobSpecialLabelNames.push(item);
// console.log(jobSpecialLabelNames);
} else {

@ -2,7 +2,7 @@ import axios from "axios";
const baseURL = "https://d.matripe.com.cn";
// const baseURL = "http://bl7.matripe.com.cn:8001";
const service = axios.create({
// baseURL: "/api", // url = base url + request url
// baseURL: "/api_prod", // url = base url + request url
baseURL: baseURL, // baseURL: "/api", // url = base url + request url // url = base url + request url
withCredentials: true, // send cookies when cross-domain requests
timeout: 10000, // request timeout

@ -0,0 +1,43 @@
<template>
<div class="warning404">
<img src="../assets/404.png" alt="" />
</div>
</template>
<script>
export default {
//
name: "",
//
components: {},
//
props: {},
//
data() {
return {};
},
//
computed: {},
//
watch: {},
//
/**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/
mounted() {},
//
methods: {},
};
</script>
<style scoped lang="less">
img {
width: 100vw;
height: 100vh;
}
</style>

@ -2,10 +2,14 @@
<div class="login-container">
<div class="centerbox">
<div class="contentleft">
<div class="slogan"><img src="../assets/slogan1.png" alt="" /></div>
<div class="slogan">
<i class="iconfont icon-yigezhuanmenfuwudailidepingtai2"></i>
</div>
</div>
<div class="contentright">
<div class="logo"><img src="../assets/loginlogo.png" alt="" /></div>
<div class="logo">
<i class="iconfont icon-dingbulogo" @click="push123"></i>
</div>
<div class="contentbox">
<router-view></router-view>
</div>
@ -42,20 +46,30 @@ export default {
/**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {},
created() {
const path = this.$route.fullPath;
if (path.indexOf()) {
this.islogoshow = true;
}
console.log(path);
},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/
mounted() {},
//
methods: {},
methods: {
push123() {
this.$router.push({ name: "updatepsw" });
},
},
};
</script>
<style scoped lang="less">
.login-container {
height: calc(100% - 80px);
height: calc(100% - 230px);
width: 100%;
position: relative;
// background: url("../assets/Bg.png") no-repeat center;
@ -63,40 +77,41 @@ export default {
// box-shadow: 5px 5px 10px gray;
.centerbox {
position: absolute;
width: 800px;
height: 480px;
width: 640px;
height: 400px;
// background-color: pink;
left: 0;
top: 0;
bottom: 0;
right: 0;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
margin: auto;
border-radius: 16px;
overflow: hidden;
.contentleft {
width: 400px;
width: 320px;
height: 100%;
float: left;
position: relative;
background-color: #ff6a00;
.slogan {
position: absolute;
width: 275px;
height: 107px;
left: 0;
top: 0;
bottom: 0;
right: 0;
margin: auto;
top: 50%;
left: 50%;
// margin: auto;
transform: translateX(-50%) translateY(-50%);
// background-color: skyblue;
img {
width: 100%;
height: 100%;
// img {
// width: 100%;
// height: 100%;
// }
i {
font-size: 91px;
color: #fff;
line-height: 91px;
}
}
}
.contentright {
width: 400px;
width: 320px;
height: 100%;
float: left;
// padding: 40px 55px;
@ -105,10 +120,15 @@ export default {
.logo {
width: 120px;
height: 52px;
margin: 40px auto 20px;
img {
width: 100%;
height: 100%;
margin: 30px auto 0px;
// img {
// width: 100%;
// height: 100%;
// }
i {
font-size: 52px;
line-height: 52px;
color: #ff6a00;
}
}
.contentbox {

@ -5,9 +5,9 @@
<div class="w">
<span>
<!-- <i class="iconfont icon-yigezhuanmenfuwudailidepingtai"></i> -->
<router-link to="/list"
><img src="../assets/toplogo.png" alt=""
/></router-link>
<router-link to="/main"
><i class="iconfont icon-dingbulogo"></i
></router-link>
</span>
<span>
<ul>
@ -49,18 +49,16 @@
</li>
</ul>
</span>
<span>
<a-dropdown v-if="isLogin">
<span
><i class="iconfont icon-yonghu" style="margin-right: 5px"></i
>用户名:{{ loginValue.tel }}</span
>
<a-menu slot="overlay">
<a-menu-item>
<a href="javascript:;" @click="logout">退</a>
</a-menu-item>
</a-menu>
</a-dropdown>
<span class="login">
<span v-if="isLogin">
<a-dropdown overlayClassName="logindropdown">
<span><i class="iconfont icon-touxiang"></i></span>
<div class="loginbox" slot="overlay">
<div>{{ loginValue.tel }}</div>
<button @click="logout">退</button>
</div>
</a-dropdown>
</span>
<span v-if="!isLogin">
<!-- <router-link to="/register">注册</router-link>/ -->
<router-link to="/login"
@ -128,7 +126,7 @@
</div>
</div> -->
<!-- banner广告栏 -->
<div class="banner" v-if="isfootershow">
<div class="banner" v-if="isbannershow">
<div class="w">
<i class="iconfont icon-yigezhuanmenfuwudailidepingtai"></i>
<!-- <img src="../assets/phone.png" alt="" /> -->
@ -138,7 +136,7 @@
<footer v-if="isfootershow">
<div class="w">
<ul>
<li @click="totop"><router-link to="/">一手职位</router-link></li>
<li @click="totop"><router-link to="/list">一手职位</router-link></li>
<li></li>
<li @click="totop">
<router-link to="/serviceoutlets">服务网点</router-link>
@ -192,6 +190,7 @@ export default {
isspecialboxshow: false,
isfootershow: true,
laoxiangshow: false,
isbannershow: true,
isLogin: false,
loginValue: {},
jobMainList: [],
@ -372,6 +371,7 @@ export default {
if (data.status === 200) {
localStorage.removeItem("LOGIN_DATA");
this.reload();
this.$router.push("/main");
} else {
console.log(1);
}
@ -400,11 +400,17 @@ export default {
showfooter() {
const path = this.$route.fullPath;
if (path.indexOf("main") > -1 || path.indexOf("login") > -1) {
if (path.indexOf("main") > -1) {
this.isbannershow = false;
this.isfootershow = false;
} else {
this.isbannershow = true;
this.isfootershow = true;
}
if (path.indexOf("login") > -1) {
this.isbannershow = false;
}
},
},
};
@ -428,24 +434,27 @@ export default {
// display: flex;
// justify-content: space-between;
// line-height: 36px;
span {
float: left;
}
span:first-child {
> span:first-of-type {
display: block;
width: 120px;
height: 52px;
// width: 228px;
// height: 36px;
img {
width: 100%;
height: 100%;
}
// i {
// font-size: 20px;
// img {
// width: 100%;
// height: 100%;
// }
i {
font-size: 46px;
line-height: 52px;
color: #ff6a00;
}
}
span:nth-of-type(2) {
> span:nth-of-type(2) {
ul {
font-size: 16px;
display: flex;
@ -455,14 +464,42 @@ export default {
margin-right: 40px;
line-height: 52px;
text-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.05);
&:hover {
color: #ff6a00;
a {
transition: none;
&:hover {
color: #ff6a00;
}
}
}
}
}
span:last-child {
.login {
float: right;
width: 70px;
line-height: 52px;
span {
span {
width: 36px;
height: 36px;
margin-top: 8px;
margin-left: 33px;
border-radius: 999px;
// background-color: #ff6a00;
margin-right: -3px;
text-align: center;
}
i {
font-size: 32px;
line-height: 30px;
color: #ff6a00;
cursor: pointer;
&:hover {
color: #ff842b;
}
}
}
button {
width: 70px;
height: 32px;
@ -470,7 +507,7 @@ export default {
margin-top: 10px;
background-color: #fff;
border: 1px solid #ff6a00;
line-height: 32px;
line-height: 30px;
border-radius: 999px;
color: #ff6a00;
text-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.05);
@ -589,6 +626,7 @@ export default {
height: 72px;
margin-top: 20px;
background-color: rgba(255, 106, 0);
margin-bottom: -20px;
.w {
display: flex;
height: 100%;
@ -608,12 +646,13 @@ export default {
}
footer {
padding: 30px;
margin-top: 20px;
.w {
ul {
display: flex;
justify-content: center;
li {
font-size: 18px;
font-size: 16px;
text-align: center;
color: #4d575e;
line-height: 25px;
@ -621,20 +660,20 @@ export default {
li:nth-of-type(2n) {
width: 1px;
height: 20px;
margin: 0 54px;
margin: 5px 54px;
background-color: #4d575e;
}
}
div {
text-align: center;
margin-top: 20px;
margin-top: 16px;
color: #4d575e;
font-size: 14px;
i {
display: inline-block;
vertical-align: middle;
width: 1px;
height: 20px;
height: 16px;
margin: 0 10px;
background-color: #4d575e;
}

@ -13,7 +13,7 @@ const name = defaultSettings.title || "vue Admin Template"; // page title
// For example, Mac: sudo npm run
// You can change the port by the following methods:
// port = 9528 npm run dev OR npm run dev --port = 9528
const port = 8888 || process.env.port || process.env.npm_config_port || 9528; // dev port
const port = 8080 || process.env.port || process.env.npm_config_port; // dev port
// All configuration item explanations can be find in https://cli.vuejs.org/config/
module.exports = {
@ -41,14 +41,40 @@ module.exports = {
},
proxy: {
// 地址中有 /api 的时候会触发代理
"/api": {
"/api_prod": {
// target: "http://localhost:8001/",
target: "http://bl7.matripe.com.cn:8001",
changeOrigin: false, // 确定是否跨域
// target: "http://bl7.matripe.com.cn:8001",
target: "https://d.matripe.com.cn",
ws: true, // proxy websockets
changeOrigin: true, // 确定是否跨域
pathRewrite: {
"^/api": "",
"^/api_prod": "",
},
},
// '/api_prod': {
// target: 'http://a.matripe.com.cn',
// ws: true, // proxy websockets
// changeOrigin: true, // needed for virtual hosted sites
// pathRewrite: {
// '^/api_prod': '' // rewrite path
// }
// },
// '/api_dev': {
// target: 'http://nb.renminshitang.com.cn:8001',
// ws: true, // proxy websockets
// changeOrigin: true, // needed for virtual hosted sites
// pathRewrite: {
// '^/api_dev': '/' // rewrite path
// }
// }
// ,'/api_test': {
// target: 'http://localhost:8003',
// ws: true, // proxy websockets
// changeOrigin: true, // needed for virtual hosted sites
// pathRewrite: {
// '^/api_test': '' // rewrite path
// }
// }
},
// before: require('./mock/mock-server.js')
},

Loading…
Cancel
Save