cyl/dev
wangxia 3 years ago
parent 6a7ee9735a
commit 911d91240f

@ -18,6 +18,7 @@
"js-cookie": "^3.0.1", "js-cookie": "^3.0.1",
"moment": "^2.29.1", "moment": "^2.29.1",
"popmotion": "^9.3.5", "popmotion": "^9.3.5",
"v-viewer": "^1.6.4",
"vue": "^2.6.11", "vue": "^2.6.11",
"vue-amap": "^0.5.10", "vue-amap": "^0.5.10",
"vue-cropper": "^0.5.8", "vue-cropper": "^0.5.8",
@ -45,8 +46,7 @@
"prettier": "^2.2.1", "prettier": "^2.2.1",
"vue-template-compiler": "^2.6.11" "vue-template-compiler": "^2.6.11"
}, },
"gitHooks": { "gitHooks": {},
},
"lint-staged": { "lint-staged": {
"*.{js,jsx,vue}": [ "*.{js,jsx,vue}": [
"vue-cli-service lint", "vue-cli-service lint",

@ -1,97 +1,106 @@
import request from "../utils/request"; import request from "../utils/request";
import qs from "qs";
let setqs = function (data) {
return qs.stringify(data);
};
// 获取职位列表 // 获取职位列表
export function JobListApi(data) { export function JobListApi(data) {
return request({ return request({
url: "/yishoudan/store/job/list", url: "/yishoudan/store/job/list",
method: "post", method: "post",
params: data, // data: setqs(data),
}); // headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: setqs(data),
});
} }
// 获取职位详情 // 获取职位详情
export function getJobDetailApi(data) { export function getJobDetailApi(data) {
return request({ return request({
url: `/yishoudan/store/job/getStoreJobDetailById?storeJobId=${data}`, url: `/yishoudan/store/job/getStoreJobDetailById?storeJobId=${data}`,
method: "get", method: "get",
}); });
} }
// 获取职位特色 // 获取职位特色
export function getJobSpecialApi() { export function getJobSpecialApi() {
return request({ return request({
url: `/yishoudan/labels/getListByTypeAndIndustry?type=90&industry=2`, url: `/yishoudan/labels/getListByTypeAndIndustry?type=90&industry=2`,
method: "get", method: "get",
}); });
} }
// 获取省份 // 获取省份
export function getProvinceApi() { export function getProvinceApi() {
return request({ return request({
url: `/yishoudan/city/getCityTree`, url: `/yishoudan/city/getCityTree`,
method: "get", method: "get",
}); });
} }
// 获取市县 // 获取市县
export function getCityApi(id) { export function getCityApi(id) {
return request({ return request({
url: `/yishoudan/city/getCityByPid?pid=${id}`, url: `/yishoudan/city/getCityByPid?pid=${id}`,
method: "get", method: "get",
}); });
} }
// 录单报名 // 录单报名
export function recordBillApi(data) { export function recordBillApi(data) {
return request({ console.log(data);
url: "/yishoudan/user/apply/order/addByAgency",
method: "post", return request({
params: data, url: "/yishoudan/user/apply/order/addByAgency",
}); method: "post",
data,
headers: { "Content-Type": "application/x-www-form-urlencoded" },
});
} }
// 报名上传识别身份证信息 // 报名上传识别身份证信息
export function getIdCardInfoApi(data) { export function getIdCardInfoApi(data) {
return request({ return request({
url: "/yishoudan/commons/idCardOcrRecognize", url: "/yishoudan/commons/idCardOcrRecognize",
method: "post", method: "post",
data: data, data,
headers: { "Content-Type": "multipart/form-data" }, headers: { "Content-Type": "multipart/form-data" },
}); });
} }
// 获取渠道经理对应代理id // 获取渠道经理对应代理id
export function getProxyInfoApi(data) { export function getProxyInfoApi(data) {
return request({ return request({
url: `/yishoudan/agency/getByPmdUserId?pmdUserId=${data}`, url: `/yishoudan/agency/getByPmdUserId?pmdUserId=${data}`,
}); });
} }
// 根据关键字获取企业的列表 // 根据关键字获取企业的列表
export function getStoreAliasApi(data) { export function getStoreAliasApi(data) {
return request({ return request({
url: `/yishoudan/store/getAllStoreAliasName?keys=${data}`, url: `/yishoudan/store/getAllStoreAliasName?keys=${data}`,
}); });
} }
// 根据关键字获取企业的列表 // 根据关键字获取企业的列表
export function getStoreJobApi(data) { export function getStoreJobApi(data) {
return request({ return request({
url: `/yishoudan/store/job/getJobNameByStoreId?storeId=${data}`, url: `/yishoudan/store/job/getJobNameByStoreId?storeId=${data}`,
}); });
} }
// 根据岗位id获取政策 // 根据岗位id获取政策
export function getPolicyByJobIdApi(data) { export function getPolicyByJobIdApi(data) {
return request({ return request({
url: `/yishoudan/store/job/getPolicyByStoreJobId?storeJobId=${data}`, url: `/yishoudan/store/job/getPolicyByStoreJobId?storeJobId=${data}`,
}); });
} }
// 获取热门职位城市 // 获取热门职位城市
export function getHotCityApi() { export function getHotCityApi() {
return request({ return request({
url: `/yishoudan/city/getHotCity`, url: `/yishoudan/city/getHotCity`,
}); });
} }
// 获取热门职位城市 // 获取热门职位城市
export function getCityWhichHasJobApi() { export function getCityWhichHasJobApi() {
return request({ return request({
url: `/yishoudan/city/getCityHasOnlineJob`, url: `/yishoudan/city/getCityHasOnlineJob`,
}); });
} }
// 获取热门企业 // 获取热门企业
export function getHotStoreApi() { export function getHotStoreApi() {
return request({ return request({
url: `/yishoudan/store/getHotStore`, url: `/yishoudan/store/getHotStore`,
}); });
} }

@ -1,10 +1,14 @@
import request from "../utils/request"; import request from "../utils/request";
import qs from "qs";
let setqs = function (data) {
return qs.stringify(data);
};
// 登录相关接口 // 登录相关接口
export function loginApi(data) { export function loginApi(data) {
return request({ return request({
url: "/yishoudan/login", url: "/yishoudan/login",
method: "post", method: "post",
params: data, data: setqs(data),
}); });
} }
// 获取验证码 // 获取验证码
@ -12,7 +16,7 @@ export function getPhoneCodeApi(data) {
return request({ return request({
url: "/yishoudan/commons/sendMsgCode", url: "/yishoudan/commons/sendMsgCode",
method: "post", method: "post",
params: data, data: setqs(data),
}); });
} }
// 注册接口 // 注册接口
@ -20,14 +24,14 @@ export function registerApi(data) {
return request({ return request({
url: "/yishoudan/register", url: "/yishoudan/register",
method: "post", method: "post",
params: data, data: setqs(data),
}); });
} }
// 退出登录 // 退出登录
export function logoutApi() { export function logoutApi() {
return request({ return request({
url: "/yishoudan/logout", url: "/yishoudan/logout",
// params: data, // data: data,
}); });
} }
// 修改密码 // 修改密码
@ -35,6 +39,6 @@ export function logoutApi() {
export function updatePswApi(data) { export function updatePswApi(data) {
return request({ return request({
url: "/yishoudan/updatePassword", url: "/yishoudan/updatePassword",
params: data, data: data,
}); });
} }

@ -1,179 +1,211 @@
import request from "../utils/request"; import request from "../utils/request";
import qs from "qs";
let setqs = function (data) {
return qs.stringify(data);
};
// 获取卡券信息 // 获取卡券信息
export function userCardApi(data) { export function userCardApi(data) {
return request({ return request({
url: "/yishoudan/usercoupon/list", url: "/yishoudan/usercoupon/list",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 获取用户余额信息 // 获取用户余额信息
export function userBalanceApi(data) { export function userBalanceApi(data) {
return request({ return request({
url: "/yishoudan/wallet/info", url: "/yishoudan/wallet/info",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 获取用户提现详情 // 获取用户提现详情
export function userDetailApi(data) { export function userDetailApi(data) {
return request({ return request({
url: "/yishoudan/wallet/withdrawal/list", url: "/yishoudan/wallet/withdrawal/list",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// // 获取我的老乡信息 // // 获取我的老乡信息
// export function userTownsmanApi(data) { // export function userTownsmanApi(data) {
// return request({ // return request({
// url: "/yishoudan/workorder/getLaoXiangList", // url: "/yishoudan/workorder/getLaoXiangList",
// // method: "post", // // method: "post",
// params: data, // data: data,
// }); // });
// } // }
// 获取我的报名信息 // 获取我的报名信息
export function userBillApi(data) { export function userBillApi(data) {
return request({ return request({
url: "/yishoudan/user/apply/order/list", url: "/yishoudan/user/apply/order/list",
// method: "post", method: "post",
params: data, data: setqs(data),
}); });
} }
// 获取我的报名状态数量 // 获取我的报名状态数量
export function userBillNumberApi(data) { export function userBillNumberApi(data) {
return request({ return request({
url: "/yishoudan/user/apply/order/listStatisticsNum", url: "/yishoudan/user/apply/order/listStatisticsNum",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 获取跟进记录详情 // 获取跟进记录详情
export function userBillDetailApi(data) { export function userBillDetailApi(data) {
return request({ return request({
url: "/yishoudan/user/apply/order/details?orderId=" + data, url: "/yishoudan/user/apply/order/details?orderId=" + data,
// method: "post", // method: "post",
}); });
} }
// 获取用户信息 // 获取用户信息
export function userBaseInfoApi(data) { export function userBaseInfoApi(data) {
return request({ return request({
url: "/yishoudan/user/getUserInfo", url: "/yishoudan/user/getUserInfo",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 获取用户积分信息 // 获取用户积分信息
export function getPointApi(data) { export function getPointApi(data) {
return request({ return request({
url: "/yishoudan/wallet/getPoint", url: "/yishoudan/wallet/getPoint",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 获取用户积分使用信息 // 获取用户积分使用信息
export function getPointDetailApi(data) { export function getPointDetailApi(data) {
return request({ return request({
url: "/yishoudan/pointUseRecord/list", url: "/yishoudan/pointUseRecord/list",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 登录状态账号设置修改密码 // 登录状态账号设置修改密码
export function setUserPswApi(data) { export function setUserPswApi(data) {
return request({ return request({
url: "/yishoudan/changePassword", url: "/yishoudan/changePassword",
// method: "post", method: "post",
params: data, data: setqs(data),
}); });
} }
// 登录状态账号修改绑定手机号 // 登录状态账号修改绑定手机号
export function setUserTelApi(data) { export function setUserTelApi(data) {
return request({ return request({
url: "/yishoudan/user/changeTel", url: "/yishoudan/user/changeTel",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 账号修改绑定银行卡 // 账号修改绑定银行卡
export function getUserBankListApi(data) { export function getUserBankListApi(data) {
return request({ return request({
url: "/yishoudan/user/bank/getUserBankList", url: "/yishoudan/user/bank/getUserBankList",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 实名认证 // 实名认证
export function setUserRealNameApi(data) { export function setUserRealNameApi(data) {
return request({ return request({
url: "/yishoudan/user/realNameAuth", url: "/yishoudan/user/realNameAuth",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 获取用户微信绑定的二维码 // 获取用户微信绑定的二维码
export function getUserWxApi(data) { export function getUserWxApi(data) {
return request({ return request({
url: "/yishoudan/user/getMiniAppQrCodeOfBindUser", url: "/yishoudan/user/getMiniAppQrCodeOfBindUser",
// method: "post", // method: "post",
params: data, data: data,
}); });
} }
// 上传用户头像 // 上传用户头像
export function uploadUserAvatarApi(data) { export function uploadUserAvatarApi(data) {
return request({ return request({
url: "/yishoudan/user/changeUserImgsrc", url: "/yishoudan/user/changeUserImgsrc",
method: "post", method: "post",
headers: { "Content-Type": "multipart/form-data" }, headers: { "Content-Type": "multipart/form-data" },
data: data, data: data,
// data, // data,
}); });
} }
// 获取我的老乡 // 获取我的老乡
export function userTownsmanApi(data) { export function userTownsmanApi(data) {
return request({ return request({
url: "/yishoudan/agency/user/list", url: "/yishoudan/agency/user/list",
method: "post", method: "post",
params: data, data: setqs(data),
// data, // data,
}); });
}
// 获取点击的老乡详情
export function townsmanDetailApi(data) {
return request({
url: "/yishoudan/agency/user/details/" + data,
// data,
});
}
// 获取点击的老乡图片
export function townsmanDetailImgsApi(data) {
return request({
url: "/imgs/list/" + data + "?type=20",
// data,
});
}
// 删除图片
export function delTowmsmanDetailImgApi(data) {
return request({
url: "/imgs/del/" + data,
});
}
// 提交老乡的信息
export function updateTownsmanInfoApi(data) {
return request({
url: "/user/updateInfo",
method: "post",
data: data,
});
} }
// 我的老乡各个状态统计 // 我的老乡各个状态统计
export function gettownsManCountApi(data) { export function gettownsManCountApi(data) {
return request({ return request({
url: "/yishoudan/agency/user/listStatistics", url: "/yishoudan/agency/user/listStatistics",
method: "post", method: "post",
params: data, data: data,
}); });
} }
// 成员管理:获取成员列表 // 成员管理:获取成员列表
export function getMemberListApi(data) { export function getMemberListApi(data) {
return request({ return request({
url: "/yishoudan/user/getAgencyCorpUsers", url: "/yishoudan/user/getAgencyCorpUsers",
method: "post", method: "post",
params: data, data: data,
}); });
} }
// 成员管理:删除成员 // 成员管理:删除成员
export function deleteMemberApi(data) { export function deleteMemberApi(data) {
return request({ return request({
url: "/yishoudan/user/delAgencyCorpUser", url: "/yishoudan/user/delAgencyCorpUser",
method: "post", method: "post",
params: data, data: data,
}); });
} }
// 成员管理:添加成员 // 成员管理:添加成员
export function addMemberApi(data) { export function addMemberApi(data) {
return request({ return request({
url: "/yishoudan/user/addAgencyUser", url: "/yishoudan/user/addAgencyUser",
method: "post", method: "post",
params: data, data: data,
}); });
} }

@ -89,7 +89,7 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-form-model> </a-form-model>
</a-modal> --> </a-modal>-->
<!-- <a-drawer <!-- <a-drawer
title="报名" title="报名"
@ -102,20 +102,20 @@
@close="onClose" @close="onClose"
> >
<recordbill :visible.sync="visible" :firminfo="jobDetail"></recordbill> <recordbill :visible.sync="visible" :firminfo="jobDetail"></recordbill>
</a-drawer> --> </a-drawer>-->
<!-- 面包屑 --> <!-- 面包屑 -->
<a-breadcrumb class="w"> <a-breadcrumb class="w">
<a-breadcrumb-item href=""> <a-breadcrumb-item href>
<router-link to="/main"> <router-link to="/main">
<a-icon type="home" /> <a-icon type="home" />
</router-link> </router-link>
</a-breadcrumb-item> </a-breadcrumb-item>
<a-breadcrumb-item href=""> <a-breadcrumb-item href>
<a @click="toList"> <a @click="toList">
<span>一手职位</span> <span>一手职位</span>
</a> </a>
</a-breadcrumb-item> </a-breadcrumb-item>
<a-breadcrumb-item href=""> <a-breadcrumb-item href>
<span style="color: #333">企业详情</span> <span style="color: #333">企业详情</span>
</a-breadcrumb-item> </a-breadcrumb-item>
</a-breadcrumb> </a-breadcrumb>
@ -123,45 +123,19 @@
<div class="maincontent w"> <div class="maincontent w">
<div class="maincontentleft"> <div class="maincontentleft">
<div class="subset"> <div class="subset">
<a-skeleton <a-skeleton avatar active class="skeleton1" v-show="skeletonshow" :paragraph="{ rows: 4 }" />
avatar
active
class="skeleton1"
v-show="skeletonshow"
:paragraph="{ rows: 4 }"
/>
<div class="subsetleft" v-show="!skeletonshow"> <div class="subsetleft" v-show="!skeletonshow">
<div class="imgbox"> <div class="imgbox">
<a-carousel <a-carousel arrows :autoplay="true" effect="fade" :dots="true" ref="scrollimg" v-if="storeImage.length !== 0">
arrows <div slot="prevArrow" class="custom-slick-arrow" style="left: 5px; z-index: 99">
:autoplay="true"
effect="fade"
:dots="true"
ref="scrollimg"
v-if="storeImage.length !== 0"
>
<div
slot="prevArrow"
class="custom-slick-arrow"
style="left: 5px; z-index: 99"
>
<a-icon type="left-circle" /> <a-icon type="left-circle" />
</div> </div>
<div <div slot="nextArrow" class="custom-slick-arrow" style="right: 5px; z-index: 99">
slot="nextArrow"
class="custom-slick-arrow"
style="right: 5px; z-index: 99"
>
<a-icon type="right-circle" /> <a-icon type="right-circle" />
</div> </div>
<img <img v-for="(item, index) in storeImage" :key="index" :src="item" alt />
v-for="(item, index) in storeImage"
:key="index"
:src="item"
alt=""
/>
</a-carousel> </a-carousel>
<img v-else src="../../../static/img/nopicture.png" alt="" /> <img v-else src="../../../static/img/nopicture.png" alt />
</div> </div>
<div class="jobinfobox"> <div class="jobinfobox">
<div class="jobname">{{ jobDetail.jobName }}</div> <div class="jobname">{{ jobDetail.jobName }}</div>
@ -172,52 +146,30 @@
</div> </div>
<div class="jobtag"> <div class="jobtag">
<!-- <span>返费</span> --> <!-- <span>返费</span> -->
<a-tag <a-tag :color="labelColor[index % labelColor.length]" v-for="(item, index) in jobDetail.jobRequestLabelNames" :key="index">{{ item }}</a-tag>
:color="labelColor[index % labelColor.length]"
v-for="(item, index) in jobDetail.jobRequestLabelNames"
:key="index"
>{{ item }}</a-tag
>
</div> </div>
<div <div style="height: 27px" v-if="!jobDetail.jobRequestLabelNames" class="jobtag">
style="height: 27px"
v-if="!jobDetail.jobRequestLabelNames"
class="jobtag"
>
<a-tag :color="labelColor[1]">暂无要求</a-tag> <a-tag :color="labelColor[1]">暂无要求</a-tag>
</div> </div>
<div class="jobtag1"> <div class="jobtag1">
<!-- <span>返费</span> --> <!-- <span>返费</span> -->
<a-tag <a-tag v-for="(item, index) in jobDetail.jobSpecialLabelNames" :key="index">{{ item }}</a-tag>
v-for="(item, index) in jobDetail.jobSpecialLabelNames"
:key="index"
>{{ item }}</a-tag
>
</div> </div>
<div <div style="height: 27px" v-if="!jobDetail.jobSpecialLabelNames" class="jobtag">
style="height: 27px"
v-if="!jobDetail.jobSpecialLabelNames"
class="jobtag"
>
<a-tag style="backgroundcolor: #f5f5f5">暂无特色</a-tag> <a-tag style="backgroundcolor: #f5f5f5">暂无特色</a-tag>
</div> </div>
<div <div style="
style="
display: flex; display: flex;
align-items: center; align-items: center;
height: 26px; height: 26px;
margin-top: 16px; margin-top: 16px;
" ">
> <div class="jobpricehour" v-html="
<div
class="jobpricehour"
v-html="
getSalaryClassifyValue( getSalaryClassifyValue(
jobDetail.salaryClassify, jobDetail.salaryClassify,
jobDetail.salaryClassifyValue jobDetail.salaryClassifyValue
) )
" ">
>
<!-- <template v-if="jobDetail.hourlyPay" <!-- <template v-if="jobDetail.hourlyPay"
><span>{{ jobDetail.hourlyPay }}</span ><span>{{ jobDetail.hourlyPay }}</span
>/小时</template >/小时</template
@ -225,13 +177,12 @@
<template v-else-if="jobDetail.dayPay" <template v-else-if="jobDetail.dayPay"
><span>{{ jobDetail.dayPay }}</span ><span>{{ jobDetail.dayPay }}</span
>/</template >/</template
> --> >-->
</div> </div>
<span style="font-size: 16px">&nbsp;&nbsp;|&nbsp;&nbsp;</span> <span style="font-size: 16px">&nbsp;&nbsp;|&nbsp;&nbsp;</span>
<div class="jobpricemonth"> <div class="jobpricemonth">
<span>{{ jobDetail.minMonthlyPay }}</span <span>{{ jobDetail.minMonthlyPay }}</span>-
>-<span>{{ jobDetail.maxMonthlyPay }}</span <span>{{ jobDetail.maxMonthlyPay }}</span>/
>/
</div> </div>
</div> </div>
@ -249,7 +200,7 @@
<a-menu-item @click="torecord"> </a-menu-item> <a-menu-item @click="torecord"> </a-menu-item>
</a-menu> </a-menu>
</a-dropdown> </a-dropdown>
</div> --> </div>-->
</div> </div>
</div> </div>
<div class="subsetright"> <div class="subsetright">
@ -263,14 +214,8 @@
<!-- <a-popover title="" trigger="click" placement="bottomRight"> <!-- <a-popover title="" trigger="click" placement="bottomRight">
<a-button type="primary" class="jobDesp">职位详单</a-button> <a-button type="primary" class="jobDesp">职位详单</a-button>
</a-popover> --> </a-popover>-->
<button <button class="dropdown bottombox1" @click="torecord()" v-if="jobDetail.recruitment == '1'"></button>
class="dropdown bottombox1"
@click="torecord()"
v-if="jobDetail.recruitment == '1'"
>
报名
</button>
<button class="norecruitment bottombox1" v-else></button> <button class="norecruitment bottombox1" v-else></button>
</div> </div>
</div> </div>
@ -278,60 +223,37 @@
<!-- <div class="proxy"> <!-- <div class="proxy">
<h1><i>代理政策</i></h1> <h1><i>代理政策</i></h1>
<div>{{ jobDetail.returnFeeDesp }}</div> <div>{{ jobDetail.returnFeeDesp }}</div>
</div> --> </div>-->
<div class="jobinformationbox"> <div class="jobinformationbox">
<h1> <h1>
<div class="infotitle"> <div class="infotitle">
<span <span @click="tabchange = 1" :class="tabchange === 1 ? 'active' : ''">基本信息</span>
@click="tabchange = 1" <span @click="tabchange = 0" :class="tabchange === 0 ? 'active' : ''">财务结算</span>
:class="tabchange === 1 ? 'active' : ''" <span @click="tabchange = 2" :class="tabchange === 2 ? 'active' : ''">职位通告</span>
>基本信息</span
>
<span
@click="tabchange = 0"
:class="tabchange === 0 ? 'active' : ''"
>财务结算</span
>
<span
@click="tabchange = 2"
:class="tabchange === 2 ? 'active' : ''"
>职位通告</span
>
</div> </div>
<!-- <div class="copy" @click="xiangdanVisible = true">通告</div>--> <!-- <div class="copy" @click="xiangdanVisible = true">通告</div>-->
<a-modal <a-modal v-model="xiangdanVisible" title="通告" class="xiangdan" :footer="null" @ok="handleOk">
v-model="xiangdanVisible"
title="通告"
class="xiangdan"
:footer="null"
@ok="handleOk"
>
<!-- <template slot="content" class="jobDesp_content"> --> <!-- <template slot="content" class="jobDesp_content"> -->
<div class="copy" @click="copyText($event)"></div> <div class="copy" @click="copyText($event)"></div>
<span v-if="jobDetail.jobDesp" class="copyInfo">{{ <span v-if="jobDetail.jobDesp" class="copyInfo">
{{
jobDetail.jobDesp jobDetail.jobDesp
}}</span }}
><span v-else></span> </span>
<span v-else></span>
<!-- </template> --> <!-- </template> -->
</a-modal> </a-modal>
</h1> </h1>
<div class="pay" id="tip" v-show="tabchange === 1"> <div class="pay" id="tip" v-show="tabchange === 1">
<div class="mb12 mt20 titlestyle">温馨提示</div> <div class="mb12 mt20 titlestyle">温馨提示</div>
<div class="showInfo" style="width: unset"> <div class="showInfo" style="width: unset">{{ jobDetail.notes || "-" }}</div>
{{ jobDetail.notes || "-" }}
</div>
</div> </div>
<div v-if="tabchange === 1" style="display: flex"> <div v-if="tabchange === 1" style="display: flex">
<!-- 薪资 --> <!-- 薪资 -->
<div class="baseInfoContent" v-if="tabchange === 1"> <div class="baseInfoContent" v-if="tabchange === 1">
<div class="pay" id="pay"> <div class="pay" id="pay">
<div class="mb12 mt20">薪资待遇</div> <div class="mb12 mt20">薪资待遇</div>
<a-descriptions <a-descriptions bordered size="small" :column="1" class="leftDesc boubleLevel">
bordered
size="small"
:column="1"
class="leftDesc boubleLevel"
>
<!-- <a-descriptions-item class="test1"> <!-- <a-descriptions-item class="test1">
<span slot="label" class="fw500">工价</span> <span slot="label" class="fw500">工价</span>
<span>{{ jobDetail.calculationUnit }}</span> <span>{{ jobDetail.calculationUnit }}</span>
@ -343,7 +265,7 @@
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">薪资明细</span> <span slot="label" class="fw500">薪资明细</span>
<span>{{ jobDetail.salaryDetail }}</span> <span>{{ jobDetail.salaryDetail }}</span>
</a-descriptions-item> --> </a-descriptions-item>-->
<a-descriptions-item class="test1"> <a-descriptions-item class="test1">
<span slot="label" class="fw500">薪资明细</span> <span slot="label" class="fw500">薪资明细</span>
<span>{{ jobDetail.salaryDetail || "-" }}</span> <span>{{ jobDetail.salaryDetail || "-" }}</span>
@ -374,9 +296,11 @@
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">薪资说明</span> <span slot="label" class="fw500">薪资说明</span>
<span style="white-space: break-spaces">{{ <span style="white-space: break-spaces">
{{
jobDetail.salaryDesp || "-" jobDetail.salaryDesp || "-"
}}</span> }}
</span>
</a-descriptions-item> </a-descriptions-item>
<!-- <a-descriptions-item style="padding: 0"> <!-- <a-descriptions-item style="padding: 0">
<span slot="label">薪资说明</span> <span slot="label">薪资说明</span>
@ -408,32 +332,28 @@
<span v-html="jobDetail.salaryDesp"></span> <span v-html="jobDetail.salaryDesp"></span>
</a-descriptions-item> </a-descriptions-item>
</a-descriptions> </a-descriptions>
</a-descriptions-item> --> </a-descriptions-item>-->
</a-descriptions> </a-descriptions>
</div> </div>
<!-- 岗位要求 --> <!-- 岗位要求 -->
<div class="required" id="required"> <div class="required" id="required">
<div class="mb12 mt20">面试要求</div> <div class="mb12 mt20">面试要求</div>
<a-descriptions <a-descriptions bordered size="small" :column="1" class="leftDesc">
bordered
size="small"
:column="1"
class="leftDesc"
>
<a-descriptions-item class="test1"> <a-descriptions-item class="test1">
<span slot="label" class="fw500">性别年龄</span> <span slot="label" class="fw500">性别年龄</span>
<span> <span>
<span class="man" v-if="jobDetail.minAgeMan" <span class="man" v-if="jobDetail.minAgeMan">
> {{ jobDetail.minAgeMan }} {{ jobDetail.minAgeMan }}
<span v-if="jobDetail.maxAgeMan">{{ <span v-if="jobDetail.maxAgeMan">
{{
"- " + jobDetail.maxAgeMan "- " + jobDetail.maxAgeMan
}}</span }}
> </span </span>
><span class="woman" v-if="jobDetail.minAgeWoman"> </span>
<span class="woman" v-if="jobDetail.minAgeWoman">
{{ jobDetail.minAgeWoman }} {{ jobDetail.minAgeWoman }}
<span> {{ "- " + jobDetail.maxAgeWoman }}</span <span>{{ "- " + jobDetail.maxAgeWoman }}</span>
></span </span>
>
</span> </span>
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item> <a-descriptions-item>
@ -459,7 +379,7 @@
<!-- <a-descriptions-item> <!-- <a-descriptions-item>
<span slot="label" class="fw500">面试资料</span> <span slot="label" class="fw500">面试资料</span>
<span>{{ jobDetail.idCard || "-" }}</span> <span>{{ jobDetail.idCard || "-" }}</span>
</a-descriptions-item> --> </a-descriptions-item>-->
<!-- <a-descriptions-item> <!-- <a-descriptions-item>
<span slot="label" class="fw500">证件</span> <span slot="label" class="fw500">证件</span>
<span>{{ jobDetail.certificate }}</span> <span>{{ jobDetail.certificate }}</span>
@ -469,7 +389,7 @@
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">带手机</span> <span slot="label" class="fw500">带手机</span>
<span>{{ jobDetail.carryTel }}</span> <span>{{ jobDetail.carryTel }}</span>
</a-descriptions-item> --> </a-descriptions-item>-->
<!-- <a-descriptions-item> <!-- <a-descriptions-item>
<span slot="label" class="fw500">体检要求</span> <span slot="label" class="fw500">体检要求</span>
<span>{{ jobDetail.healthRequire || "-" }}</span> <span>{{ jobDetail.healthRequire || "-" }}</span>
@ -477,18 +397,13 @@
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">其它要求</span> <span slot="label" class="fw500">其它要求</span>
<span>{{ jobDetail.otherRequire || "-" }}</span> <span>{{ jobDetail.otherRequire || "-" }}</span>
</a-descriptions-item> --> </a-descriptions-item>-->
</a-descriptions> </a-descriptions>
</div> </div>
<!-- 基本信息 --> <!-- 基本信息 -->
<div class=" " id="contentspecial"> <div class id="contentspecial">
<div class="mb12 mt20">岗位说明</div> <div class="mb12 mt20">岗位说明</div>
<a-descriptions <a-descriptions bordered size="small" :column="1" class="leftDesc">
bordered
size="small"
:column="1"
class="leftDesc"
>
<a-descriptions-item class="test1"> <a-descriptions-item class="test1">
<span slot="label" class="fw500">工作内容</span> <span slot="label" class="fw500">工作内容</span>
<span>{{ jobDetail.workContent || "-" }}</span> <span>{{ jobDetail.workContent || "-" }}</span>
@ -522,12 +437,14 @@
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">倒班频次</span> <span slot="label" class="fw500">倒班频次</span>
<span>{{ jobDetail.workByTurns }}</span> <span>{{ jobDetail.workByTurns }}</span>
</a-descriptions-item> --> </a-descriptions-item>-->
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">换岗调班</span> <span slot="label" class="fw500">换岗调班</span>
<span style="white-space: break-spaces">{{ <span style="white-space: break-spaces">
{{
jobDetail.otherDesp || "-" jobDetail.otherDesp || "-"
}}</span> }}
</span>
</a-descriptions-item> </a-descriptions-item>
</a-descriptions> </a-descriptions>
</div> </div>
@ -539,16 +456,16 @@
<div>吃饭</div> <div>吃饭</div>
<ul> <ul>
<li> <li>
<span>吃饭</span <span>吃饭</span>
><span>{{ jobDetail.workingLunch || "-" }}</span> <span>{{ jobDetail.workingLunch || "-" }}</span>
</li> </li>
<!-- <li> <!-- <li>
<span>餐补</span <span>餐补</span
><span>{{ jobDetail.mealSubsidy }}</span> ><span>{{ jobDetail.mealSubsidy }}</span>
</li> --> </li>-->
<!-- <li> <!-- <li>
<span>餐费</span><span>{{ jobDetail.mealFee }}</span> <span>餐费</span><span>{{ jobDetail.mealFee }}</span>
</li> --> </li>-->
<!-- <li> <!-- <li>
<span>餐卡押金</span <span>餐卡押金</span
@ -556,48 +473,49 @@
</li> </li>
<li> <li>
<span>民族窗口</span><span>{{ jobDetail.muslim }}</span> <span>民族窗口</span><span>{{ jobDetail.muslim }}</span>
</li> --> </li>-->
<!-- <li> <!-- <li>
<span>补充说明</span <span>补充说明</span
><span style="white-space: break-spaces">{{ ><span style="white-space: break-spaces">{{
jobDetail.workingLunchDesp || "-" jobDetail.workingLunchDesp || "-"
}}</span> }}</span>
</li> --> </li>-->
</ul> </ul>
</li> </li>
<li> <li>
<div>住宿</div> <div>住宿</div>
<ul> <ul>
<li> <li>
<span>住宿费用</span <span>住宿费用</span>
><span>{{ jobDetail.dormitory || "-" }}</span> <span>{{ jobDetail.dormitory || "-" }}</span>
</li> </li>
<li> <li>
<span>宿舍设施</span <span>宿舍设施</span>
><span>{{ jobDetail.dormitoryFacilities || "-" }}</span> <span>{{ jobDetail.dormitoryFacilities || "-" }}</span>
</li> </li>
<li> <li>
<span>宿舍距离</span <span>宿舍距离</span>
><span>{{ jobDetail.dormDistance || "-" }}</span> <span>{{ jobDetail.dormDistance || "-" }}</span>
</li> </li>
<li> <li>
<span>厂车</span><span>{{ jobDetail.bus || "-" }}</span> <span>厂车</span>
<span>{{ jobDetail.bus || "-" }}</span>
</li> </li>
<li> <li>
<span>住宿要求</span <span>住宿要求</span>
><span>{{ jobDetail.dormitoryDesp || "-" }}</span> <span>{{ jobDetail.dormitoryDesp || "-" }}</span>
</li> </li>
<!-- <li> <!-- <li>
<span>宿舍距离</span <span>宿舍距离</span
><span>{{ jobDetail.dormitoryDistance }}</span> ><span>{{ jobDetail.dormitoryDistance }}</span>
</li> --> </li>-->
<!-- <li> <!-- <li>
<span>住宿费</span <span>住宿费</span
><span>{{ jobDetail.dormitoryCost }}</span> ><span>{{ jobDetail.dormitoryCost }}</span>
</li> </li>
--> -->
<!-- <li> <!-- <li>
<span>单间人数</span <span>单间人数</span
@ -606,20 +524,20 @@
<li> <li>
<span>硬件设施</span <span>硬件设施</span
><span>{{ jobDetail.dormitoryFacilities }}</span> ><span>{{ jobDetail.dormitoryFacilities }}</span>
</li> --> </li>-->
<!-- <li> <!-- <li>
<span>水电费</span <span>水电费</span
><span>{{ jobDetail.waterAndElec || "-" }}</span> ><span>{{ jobDetail.waterAndElec || "-" }}</span>
</li> --> </li>-->
<!-- <li> <!-- <li>
<span>班车</span><span>{{ jobDetail.regularBus }}</span> <span>班车</span><span>{{ jobDetail.regularBus }}</span>
</li> --> </li>-->
<!-- <li> <!-- <li>
<span>补充说明</span <span>补充说明</span
><span style="white-space: break-spaces">{{ ><span style="white-space: break-spaces">{{
jobDetail.dormitoryDesp || "-" jobDetail.dormitoryDesp || "-"
}}</span> }}</span>
</li> --> </li>-->
</ul> </ul>
</li> </li>
</ul> </ul>
@ -662,16 +580,14 @@
<span slot="label" class="fw500">班次时间</span> <span slot="label" class="fw500">班次时间</span>
<span>9:30-14:0017:00-22:00</span> <span>9:30-14:0017:00-22:00</span>
</a-descriptions-item> </a-descriptions-item>
</a-descriptions> --> </a-descriptions>-->
</div> </div>
<div class="otherInfo" id="other"> <div class="otherInfo" id="other">
<div class="mb12 mt20">其他信息</div> <div class="mb12 mt20">其他信息</div>
<div style="white-space: break-spaces"> <div style="white-space: break-spaces">{{ jobDetail.otherInfo || "-" }}</div>
{{ jobDetail.otherInfo || "-" }}
</div>
</div> </div>
</div> </div>
<a-anchor @click.prevent="" class="navigation"> <a-anchor @click.prevent class="navigation">
<a-anchor-link href="#pay" title="薪资" /> <a-anchor-link href="#pay" title="薪资" />
<a-anchor-link href="#required" title="要求" /> <a-anchor-link href="#required" title="要求" />
<a-anchor-link href="#contentspecial" title="岗位" /> <a-anchor-link href="#contentspecial" title="岗位" />
@ -684,17 +600,9 @@
<div v-else-if="tabchange == 0"> <div v-else-if="tabchange == 0">
<div class="pay" id="tip"> <div class="pay" id="tip">
<div class="mb12 mt20 titlestyle">代理须知</div> <div class="mb12 mt20 titlestyle">代理须知</div>
<div class="showInfo" style="width: 640px"> <div class="showInfo" style="width: 640px">{{ jobDetail.agencyStatement || "-" }}</div>
{{ jobDetail.agencyStatement || "-" }}
</div>
</div> </div>
<a-descriptions <a-descriptions bordered size="small" :column="1" class="leftDesc mt20" style="width: 900px">
bordered
size="small"
:column="1"
class="leftDesc mt20"
style="width: 900px"
>
<a-descriptions-item class="test1"> <a-descriptions-item class="test1">
<span slot="label" class="fw500">代理利润</span> <span slot="label" class="fw500">代理利润</span>
<span>{{ jobDetail.agencyProfit || "-" }}</span> <span>{{ jobDetail.agencyProfit || "-" }}</span>
@ -702,7 +610,7 @@
<!-- <a-descriptions-item> <!-- <a-descriptions-item>
<span slot="label" class="fw500">代理政策</span> <span slot="label" class="fw500">代理政策</span>
<span>{{ jobDetail.returnFeeDesp }}</span> <span>{{ jobDetail.returnFeeDesp }}</span>
</a-descriptions-item> --> </a-descriptions-item>-->
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">扣税说明</span> <span slot="label" class="fw500">扣税说明</span>
<span>{{ jobDetail.deductTaxDesp || "-" }}</span> <span>{{ jobDetail.deductTaxDesp || "-" }}</span>
@ -710,7 +618,7 @@
<!-- <a-descriptions-item> <!-- <a-descriptions-item>
<span slot="label" class="fw500">支付周期</span> <span slot="label" class="fw500">支付周期</span>
<span>{{ jobDetail.paymentCycle }}</span> <span>{{ jobDetail.paymentCycle }}</span>
</a-descriptions-item> --> </a-descriptions-item>-->
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">出名单</span> <span slot="label" class="fw500">出名单</span>
<span>{{ jobDetail.outListTime || "-" }}</span> <span>{{ jobDetail.outListTime || "-" }}</span>
@ -726,7 +634,7 @@
<div class="mb12 mt20 titlestyle">职位通告</div> <div class="mb12 mt20 titlestyle">职位通告</div>
<div class="showInfo" style="width: unset;color: #000 !important;"> <div class="showInfo" style="width: unset;color: #000 !important;">
<div class="copy" @click="copyText($event)"></div> <div class="copy" @click="copyText($event)"></div>
<!-- {{ jobDetail.jobDesp || "-" }}--> <!-- {{ jobDetail.jobDesp || "-" }}-->
<div class="copyInfo" style="border: none; padding: 0 0; width: unset;">{{ jobDetail.jobDesp || "-" }}</div> <div class="copyInfo" style="border: none; padding: 0 0; width: unset;">{{ jobDetail.jobDesp || "-" }}</div>
</div> </div>
</div> </div>
@ -735,28 +643,34 @@
</div> </div>
<div class="maincontentright"> <div class="maincontentright">
<div class="hotphone"> <div class="hotphone">
<h1 class="bottombox"><i>服务热线</i></h1> <h1 class="bottombox">
<i>服务热线</i>
</h1>
<p>0371-6611 3723</p> <p>0371-6611 3723</p>
</div> </div>
<!-- <div class="jobDetailInfo" style="display:none"> <!-- <div class="jobDetailInfo" style="display:none">
<h1 class="bottombox"><i>职位详版</i> <span class="copy" @click="copyText"></span></h1> <h1 class="bottombox"><i>职位详版</i> <span class="copy" @click="copyText"></span></h1>
<p class="copyInfo">{{ jobDetail.jobDesp || "-" }}</p> <p class="copyInfo">{{ jobDetail.jobDesp || "-" }}</p>
</div> --> </div>-->
<div class="companyinfo"> <div class="companyinfo">
<div class="companydetail"> <div class="companydetail">
<h1 class="bottombox"><i>企业详情</i></h1> <h1 class="bottombox">
<i>企业详情</i>
</h1>
<p style="text-align: center">{{ jobDetail.aliasName }}</p> <p style="text-align: center">{{ jobDetail.aliasName }}</p>
<div class="imgbox"> <div class="imgbox">
<img v-if="storeImage.length !== 0" :src="storeImage[0]" alt="" /> <img v-if="storeImage.length !== 0" :src="storeImage[0]" alt />
<img v-else src="../../../static/img/nopicture.png" alt="" /> <img v-else src="../../../static/img/nopicture.png" alt />
</div> </div>
<p> <p>
<!-- 我是文案我很长很长我是文案我 很长很长我是文案我很长很长我 <!-- 我是文案我很长很长我是文案我 很长很长我是文案我很长很长我
是文案我很长很长我是文案我很 长很长 --> 是文案我很长很长我是文案我很 长很长-->
</p> </p>
</div> </div>
<div class="companylocation" v-if="positionInfo.lng"> <div class="companylocation" v-if="positionInfo.lng">
<h1 class="bottombox"><i>企业位置</i></h1> <h1 class="bottombox">
<i>企业位置</i>
</h1>
<div class="imgbox"> <div class="imgbox">
<!-- <GDMap/> --> <!-- <GDMap/> -->
<GDMap :positionInfo="positionInfo"></GDMap> <GDMap :positionInfo="positionInfo"></GDMap>
@ -774,25 +688,22 @@
<p>服务热线</p> <p>服务热线</p>
<p>0371-6611 3723</p> <p>0371-6611 3723</p>
</div> </div>
</div> --> </div>-->
<div class="mask" v-if="!(jobDetail.recruitment == '1')"></div> <div class="mask" v-if="!(jobDetail.recruitment == '1')"></div>
</div> </div>
</template> </template>
<script> <script>
import { getJobDetailApi } from "../../api/job"; import { getJobDetailApi } from '../../api/job'
import { import { disposeJobListData, getSalaryClassifyValue } from '../../utils/commonUtil'
disposeJobListData, import recommend from '../../components/FirstJob/components/recommend.vue'
getSalaryClassifyValue, import { nationlist } from '../../utils/datalist'
} from "../../utils/commonUtil"; import GDMap from '../map.vue'
import recommend from "../../components/FirstJob/components/recommend.vue";
import { nationlist } from "../../utils/datalist";
import GDMap from "../map.vue";
// import recordbill from "@/components/FirstJob/components/recordbill.vue"; // import recordbill from "@/components/FirstJob/components/recordbill.vue";
import Clipboard from "clipboard"; import Clipboard from 'clipboard'
// import map from '../map.vue' // import map from '../map.vue'
export default { export default {
// //
name: "", name: '',
// //
components: { components: {
recommend, recommend,
@ -818,29 +729,20 @@ export default {
skeletonshow: true, skeletonshow: true,
tabchange: 1, tabchange: 1,
nationlist, nationlist,
labelColor: [ labelColor: ['pink', 'blue', 'purple', 'orange', 'green', 'cyan', 'red', 'purple'],
"pink",
"blue",
"purple",
"orange",
"green",
"cyan",
"red",
"purple",
],
form: { form: {
// //
name: "", name: '',
peoplecard: "", peoplecard: '',
gender: "", gender: '',
nation: "", nation: '',
location: "", location: '',
firm: "", firm: '',
post: "", post: '',
pattern: "", pattern: '',
policy: "", policy: '',
proxy: "", proxy: '',
facedate: "", facedate: '',
}, },
storeJob: {}, storeJob: {},
// rules: { // rules: {
@ -849,7 +751,7 @@ export default {
// // tel: [{ required: true, message: "", trigger: "submit" }], // // tel: [{ required: true, message: "", trigger: "submit" }],
// }, // },
apply: {}, apply: {},
}; }
}, },
// //
computed: {}, computed: {},
@ -863,8 +765,8 @@ export default {
beforeCreate() {}, beforeCreate() {},
created() { created() {
// console.log(this.$router.matcher.match()); // console.log(this.$router.matcher.match());
console.log(this.$route); // params console.log(this.$route) // params
this.getJobDetail(); this.getJobDetail()
// Object.defineProperties("window.opener", "sessionStorage", { // Object.defineProperties("window.opener", "sessionStorage", {
// LOGIN_DATA: {}, // LOGIN_DATA: {},
// }); // });
@ -882,35 +784,33 @@ export default {
methods: { methods: {
async getJobDetail() { async getJobDetail() {
try { try {
const { data } = await getJobDetailApi(this.id); const { data } = await getJobDetailApi(this.id)
console.log(data); console.log(data)
if (data.status === 200) { if (data.status === 200) {
console.log(data); console.log(data)
this.jobDetail = disposeJobListData(data.data.storeJob); this.jobDetail = disposeJobListData(data.data.storeJob)
this.positionInfo = data.data.store; this.positionInfo = data.data.store
this.positionInfo.desc = this.positionInfo.detailPosition; this.positionInfo.desc = this.positionInfo.detailPosition
this.positionInfo.containerName = "mapContainer"; this.positionInfo.containerName = 'mapContainer'
this.positionInfo.name = this.positionInfo.aliasName; this.positionInfo.name = this.positionInfo.aliasName
this.skeletonshow = false; this.skeletonshow = false
this.jobDetail.district = disposeJobListData( this.jobDetail.district = disposeJobListData(data.data.store).district
data.data.store
).district;
let newdata = { let newdata = {
id: data.data.storeJob.id, id: data.data.storeJob.id,
aliasName: data.data.store.aliasName, aliasName: data.data.store.aliasName,
jobName: data.data.storeJob.jobName, jobName: data.data.storeJob.jobName,
}; }
this.storeInfo = newdata; this.storeInfo = newdata
let regs = /\.(jpg|jpeg|png)(\?.*)?$/; let regs = /\.(jpg|jpeg|png)(\?.*)?$/
data.data.storeImage.forEach((item) => { data.data.storeImage.forEach((item) => {
if (regs.test(item.url.toLowerCase())) { if (regs.test(item.url.toLowerCase())) {
this.storeImage.push(item.url); this.storeImage.push(item.url)
} }
}); })
// console.log(this.storeImage); // console.log(this.storeImage);
} else { } else {
this.$message.warning("数据获取失败"); this.$message.warning('数据获取失败')
} }
// = data.data.recordList; // = data.data.recordList;
@ -922,31 +822,31 @@ export default {
}, },
// //
handleCancel() { handleCancel() {
this.visible = false; this.visible = false
this.form = { this.form = {
// //
name: "", name: '',
tel: "", tel: '',
peoplecard: "", peoplecard: '',
username: "", username: '',
}; }
}, },
// //
handleOk() { handleOk() {
this.$refs.ruleForm.validate((ispass, no) => { this.$refs.ruleForm.validate((ispass, no) => {
// console.log(ispass); // console.log(ispass);
if (ispass) { if (ispass) {
this.confirmLoading = true; this.confirmLoading = true
setTimeout(() => { setTimeout(() => {
this.confirmLoading = false; this.confirmLoading = false
this.visible = false; this.visible = false
}, 2000); }, 2000)
} else { } else {
// console.log(123); // console.log(123);
} }
console.log(no); console.log(no)
}); })
}, },
// //
// showmodal() { // showmodal() {
@ -954,68 +854,68 @@ export default {
// console.log(this.id); // console.log(this.id);
// }, // },
showmodal() { showmodal() {
this.visible = true; this.visible = true
// this.apply = item; // this.apply = item;
// console.log(this.apply); // console.log(this.apply);
// console.log(id); // console.log(id);
}, },
onClose() { onClose() {
this.visible = false; this.visible = false
this.form = { this.form = {
// //
name: "", name: '',
peoplecard: "", peoplecard: '',
gender: "", // gender: '', //
nation: "", // nation: '', //
location: "", // location: '', //
firm: "", // firm: '', //
post: "", // post: '', //
pattern: "", // pattern: '', //
policy: "", // policy: '', //
proxy: "", // proxy: '', //
facedate: "", // facedate: '', //
}; }
}, },
torecord(item) { torecord(item) {
// //
console.log(item); console.log(item)
// let userinfo = JSON.stringify(item); // let userinfo = JSON.stringify(item);
console.log(this.jobDetail); console.log(this.jobDetail)
console.log(this.storeInfo); console.log(this.storeInfo)
this.storeInfo.currentPageNum = this.currentPageNum; this.storeInfo.currentPageNum = this.currentPageNum
console.log(this.storeInfo); console.log(this.storeInfo)
this.$router.push({ name: "recordbill", params: this.storeInfo }); this.$router.push({ name: 'recordbill', params: this.storeInfo })
sessionStorage.setItem("CURRENT_FIRM", JSON.stringify(this.storeInfo)); sessionStorage.setItem('CURRENT_FIRM', JSON.stringify(this.storeInfo))
}, },
getSalaryClassifyValue(salaryClassify, salaryClassifyValue) { getSalaryClassifyValue(salaryClassify, salaryClassifyValue) {
return getSalaryClassifyValue(salaryClassify, salaryClassifyValue); return getSalaryClassifyValue(salaryClassify, salaryClassifyValue)
}, },
copyText() { copyText() {
console.log(123); console.log(123)
var clipboard = new Clipboard(".copy", { var clipboard = new Clipboard('.copy', {
// .copy // .copy
target: function () { target: function () {
// target // target
return document.querySelector(".copyInfo"); // .copyInfo return document.querySelector('.copyInfo') // .copyInfo
}, },
}); })
clipboard.on("success", (e) => { clipboard.on('success', (e) => {
// success success => error // success success => error
console.log(e); console.log(e)
this.$message.success("复制成功"); this.$message.success('复制成功')
}); })
}, },
toList() { toList() {
// //
this.$router.push({ this.$router.push({
name: "JobList", name: 'JobList',
params: { params: {
pagenum: this.currentPageNum, pagenum: this.currentPageNum,
}, },
}); })
}, },
}, },
}; }
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
@ -1740,12 +1640,7 @@ export default {
font-size: 16px; font-size: 16px;
color: #333; color: #333;
} }
.boubleLevel .boubleLevel > .ant-descriptions-view > table > tbody > .ant-descriptions-row:last-child > .ant-descriptions-item-content {
> .ant-descriptions-view
> table
> tbody
> .ant-descriptions-row:last-child
> .ant-descriptions-item-content {
// padding: 0 !important; // padding: 0 !important;
.noborder { .noborder {
.ant-descriptions-view { .ant-descriptions-view {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,200 +1,143 @@
<template> <template>
<div class="center"> <div class="center">
<div class="formcontainer"> <div class="formcontainer">
<div class="logo"> <div class="logo">
<!-- <svg class="icon" aria-hidden="true"> <!-- <svg class="icon" aria-hidden="true">
<use xlink:href="#icon-yishoudanlogo"></use> <use xlink:href="#icon-yishoudanlogo"></use>
</svg> --> </svg> -->
<img <img src="http://matripe.oss-cn-beijing.aliyuncs.com/bcSVG/dtLogo.png" style="width: 80px; text-align: center" alt="" />
src="http://matripe.oss-cn-beijing.aliyuncs.com/bcSVG/dtLogo.png" </div>
style="width: 80px; text-align: center" <ul class="loginchange centerall">
alt="" <li :class="{ loginactive: loginway === 1 }" @click="loginway = 1">用户名密码登录</li>
/> <li :class="{ loginactive: loginway === 2 }" @click="loginway = 2">手机验证码登录</li>
</div> </ul>
<ul class="loginchange centerall"> <div class="formbox">
<li :class="{ loginactive: loginway === 1 }" @click="loginway = 1"> <template v-if="loginway === 1">
用户名密码登录 <a-form id="components-form-demo-normal-login" :form="form" class="login-form" @submit="userhandleSubmit">
</li> <a-form-item style="text-align: left">
<li :class="{ loginactive: loginway === 2 }" @click="loginway = 2"> <a-input
手机验证码登录 v-decorator="[
</li> 'tel',
</ul> {
<div class="formbox"> rules: [
<template v-if="loginway === 1"> {
<a-form required: true,
id="components-form-demo-normal-login" message: '请输入用户名',
:form="form" },
class="login-form" {
@submit="userhandleSubmit" pattern: /^1[3456789]\d{9}$/,
> message: '请输入正确手机号',
<a-form-item style="text-align: left"> },
<a-input ],
v-decorator="[ validateTrigger: 'submit',
'tel', },
{ ]"
rules: [ :maxLength="11"
{ placeholder="请输入用户名"
required: true, >
message: '请输入用户名', <i slot="prefix" class="iconfont icon-yonghuming" style="font-size: 24px" />
}, </a-input>
{ </a-form-item>
pattern: /^1[3456789]\d{9}$/, <a-form-item style="text-align: left">
message: '请输入正确手机号', <a-input
}, v-decorator="[
], 'password',
validateTrigger: 'submit', {
}, rules: [
]" {
:maxLength="11" required: true,
placeholder="请输入用户名" message: '请输入密码',
> },
<i ],
slot="prefix" validateTrigger: 'submit',
class="iconfont icon-yonghuming" },
style="font-size: 24px" ]"
/> type="password"
</a-input> placeholder="请输入密码"
</a-form-item> >
<a-form-item style="text-align: left"> <i slot="prefix" class="iconfont icon-mima" />
<a-input </a-input>
v-decorator="[ </a-form-item>
'password', <div class="autologin">
{ <span @click="isauto = !isauto" style="opacity: 0">
rules: [ <i class="iconfont icon-xuanzhong" v-if="isauto"></i>
{ <i class="iconfont icon-weixuanzhong" v-else style="color: #999"></i>
required: true, <label for="register">下次自动登录</label></span
message: '请输入密码', >
}, <router-link to="updatepsw" class="login-form-forgot" href="">忘记密码</router-link>
], </div>
validateTrigger: 'submit', <a-form-item>
}, <a-button type="primary" html-type="submit" class="login-form-button"> 登录 </a-button>
]" </a-form-item>
type="password" </a-form>
placeholder="请输入密码" <!-- <div class="register">
>
<i slot="prefix" class="iconfont icon-mima" />
</a-input>
</a-form-item>
<div class="autologin">
<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
>
<router-link to="updatepsw" class="login-form-forgot" href=""
>忘记密码</router-link
>
</div>
<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> <router-link to="/register">还没有账号立即注册</router-link>
</div> --> </div> -->
</template> </template>
<template v-if="loginway === 2"> <template v-if="loginway === 2">
<a-form <a-form id="components-form-demo-normal-login" :form="form1" class="login-form" @submit="phonehandleSubmit">
id="components-form-demo-normal-login" <a-form-item style="text-align: left">
:form="form1" <a-input
class="login-form" v-decorator="[
@submit="phonehandleSubmit" 'tel',
> {
<a-form-item style="text-align: left"> rules: [
<a-input { required: true, message: '请输入手机号' },
v-decorator="[ {
'tel', pattern: /^1[3456789]\d{9}$/,
{ message: '请输入正确手机号',
rules: [ },
{ required: true, message: '请输入手机号' }, ],
{ validateTrigger: 'submit',
pattern: /^1[3456789]\d{9}$/, },
message: '请输入正确手机号', ]"
}, autocomplete="off"
], :maxLength="11"
validateTrigger: 'submit', placeholder="请输入手机号"
}, >
]" <i slot="prefix" class="icon-shouji iconfont" style="font-size: 24px" />
autocomplete="off" </a-input>
:maxLength="11" </a-form-item>
placeholder="请输入手机号" <a-form-item style="text-align: left">
> <a-input
<i v-decorator="[
slot="prefix" 'code',
class="icon-shouji iconfont" {
style="font-size: 24px" rules: [
/> {
</a-input> required: true,
</a-form-item> message: '请输入验证码',
<a-form-item style="text-align: left"> },
<a-input ],
v-decorator="[ validateTrigger: 'submit',
'code', },
{ ]"
rules: [ type="text"
{ placeholder="请输入验证码"
required: true, >
message: '请输入验证码', <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>
validateTrigger: 'submit', </a-form-item>
}, <div class="autologin">
]" <span @click="isauto = !isauto" style="opacity: 0">
type="text" <i class="iconfont icon-xuanzhong" v-if="isauto"></i>
placeholder="请输入验证码" <i class="iconfont icon-weixuanzhong" v-else style="color: #999"></i>
> <label for="register">下次自动登录</label>
<i slot="prefix" class="icon-duanxinyanzheng iconfont" /> </span>
<span class="getrulecode" slot="suffix" <router-link to="/updatepsw" class="login-form-forgot" href="">忘记密码</router-link>
><span </div>
@click="getPhoneCode" <a-form-item>
data-mark="getcode" <a-button type="primary" html-type="submit" class="login-form-button"> 登录 </a-button>
v-if="timedata.isfinish" </a-form-item>
>获取验证码</span </a-form>
><timmer :timedata="timedata" v-if="!timedata.isfinish" <!-- <div class="register">
/></span>
</a-input>
</a-form-item>
<div class="autologin">
<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>
<router-link to="/updatepsw" class="login-form-forgot" href=""
>忘记密码</router-link
>
</div>
<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> <router-link to="/register">还没有账号立即注册</router-link>
</div> --> </div> -->
</template> </template>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
@ -203,301 +146,300 @@ import timmer from "./components/countback.vue";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
export default { export default {
inject: ["reload"], inject: ["reload"],
// //
name: "", name: "",
// //
components: { components: {
timmer, timmer,
}, },
// //
props: {}, props: {},
// //
data() { data() {
return { return {
loginway: 1, loginway: 1,
ischecked: false, ischecked: false,
isauto: false, // isauto: false, //
form: this.$form.createForm(this), form: this.$form.createForm(this),
form1: this.$form.createForm(this), form1: this.$form.createForm(this),
timedata: { timedata: {
isfinish: true, isfinish: true,
deadline: 60, deadline: 60,
timmer: null, timmer: null,
}, },
}; };
}, },
// //
computed: {}, computed: {},
// //
watch: {}, watch: {},
// //
/** /**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在 * 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/ */
created() {}, created() {},
/** /**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子 * el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内 * 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/ */
mounted() {}, mounted() {},
// //
methods: { methods: {
userhandleSubmit(e) { userhandleSubmit(e) {
// //
e.preventDefault(); e.preventDefault();
let params; let params;
this.form.validateFields(async (err, values) => { this.form.validateFields(async (err, values) => {
console.log(values); console.log(values);
if (!err) { if (!err) {
params = { ...values, loginType: 0 }; params = { ...values, loginType: 0 };
console.log(params); console.log(params);
try { try {
const { data } = await loginApi(params); const { data } = await loginApi(params);
console.log(data); console.log(data);
if (data.status !== 200) { if (data.status !== 200) {
this.$message.warning(data.msg); this.$message.warning(data.msg);
return; return;
} }
sessionStorage.setItem("LOGIN_DATA", JSON.stringify(data.data)); localStorage.setItem("LOGIN_DATA", JSON.stringify(data.data));
Cookies.set("LOGIN_DATA", JSON.stringify(data.data)); this.$router.push("/list");
this.$router.push("/list"); // console.log(Cookies.get("LOGIN_DATA"));
this.reload(); this.reload();
// this.$router.push("/list"); // this.$router.push("/list");
} catch (err) { } catch (err) {
console.log(err); console.log(err);
} }
} else { } else {
console.log(err); console.log(err);
} }
}); });
}, },
phonehandleSubmit(e) { phonehandleSubmit(e) {
e.preventDefault(); e.preventDefault();
let params; let params;
this.form1.validateFields(async (err, values) => { this.form1.validateFields(async (err, values) => {
console.log(err); console.log(err);
if (!err) { if (!err) {
params = { ...values, loginType: 1 }; params = { ...values, loginType: 1 };
try { try {
const { data } = await loginApi(params); const { data } = await loginApi(params);
console.log(data); console.log(data);
if (data.status !== 200) { if (data.status !== 200) {
this.$message.warning(data.msg); this.$message.warning(data.msg);
return; return;
} }
sessionStorage.setItem("LOGIN_DATA", JSON.stringify(data.data)); localStorage.setItem("LOGIN_DATA", JSON.stringify(data.data));
Cookies.set("LOGIN_DATA", JSON.stringify(data.data)); this.$router.push("/list");
this.$router.push("/list"); this.reload();
this.reload(); } catch (err) {
} catch (err) { console.log(err);
console.log(err); }
} } else {
} else { console.log(err);
console.log(err); }
} });
}); },
}, async getPhoneCode() {
async getPhoneCode() { const that = this;
const that = this;
this.form1.validateFields(["tel"], async (err, values) => { this.form1.validateFields(["tel"], async (err, values) => {
console.log(values); console.log(values);
if (!err) { if (!err) {
that.timedata.isfinish = false; that.timedata.isfinish = false;
try { try {
const { data } = await getPhoneCodeApi({ tel: values.tel }); const { data } = await getPhoneCodeApi({ tel: values.tel });
console.log(data); console.log(data);
if (data.status !== 200) { if (data.status !== 200) {
this.$message.warning(data.msg); this.$message.warning(data.msg);
} }
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
} else { } else {
console.log(err); console.log(err);
} }
}); });
}, },
checked() { checked() {
console.log(this.ischecked); console.log(this.ischecked);
}, },
}, },
}; };
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.center { .center {
width: 240px; width: 240px;
margin: 0 auto; margin: 0 auto;
overflow: hidden; overflow: hidden;
/deep/ .login-form { /deep/ .login-form {
background-color: #fff !important; background-color: #fff !important;
} }
.centerall { .centerall {
margin: 0 auto; margin: 0 auto;
} }
.logo { .logo {
margin: 30px auto 0px; margin: 30px auto 0px;
text-align: center; text-align: center;
// img { // img {
// width: 100%; // width: 100%;
// height: 100%; // height: 100%;
// } // }
svg { svg {
width: 150px; width: 150px;
// height: 46px; // height: 46px;
text-align: center; text-align: center;
font-size: 52px; font-size: 52px;
line-height: 52px; line-height: 52px;
// color: initial; // color: initial;
} }
} }
.loginchange { .loginchange {
display: flex; display: flex;
width: 230px; width: 230px;
justify-content: space-between; justify-content: space-between;
margin-top: 10px; margin-top: 10px;
.loginactive { .loginactive {
color: #4d575e; color: #4d575e;
border-bottom: 1px solid #4d575e; border-bottom: 1px solid #4d575e;
} }
li { li {
padding: 0 0 4px 0; padding: 0 0 4px 0;
margin-bottom: 24px; margin-bottom: 24px;
margin-top: 20px; margin-top: 20px;
font-size: 14px; font-size: 14px;
text-align: left; text-align: left;
color: #cccccc; color: #cccccc;
line-height: 22px; line-height: 22px;
cursor: pointer; cursor: pointer;
} }
} }
.formbox { .formbox {
// /deep/ .ant-form-item { // /deep/ .ant-form-item {
// margin-bottom: 0px !important; // margin-bottom: 0px !important;
// padding-bottom: 20px !important; // padding-bottom: 20px !important;
// } // }
/deep/.ant-form-item { /deep/.ant-form-item {
// margin-top: -10px; // margin-top: -10px;
/deep/ .ant-form-explain { /deep/ .ant-form-explain {
// //
margin-top: -2px; margin-top: -2px;
line-height: 20px; line-height: 20px;
min-height: 20px !important; min-height: 20px !important;
} }
i { i {
font-size: 26px; font-size: 26px;
// margin: 0 8px 0 4px; // margin: 0 8px 0 4px;
color: #4d575e; color: #4d575e;
} }
.ant-input { .ant-input {
height: 36px; height: 36px;
text-indent: 15px; text-indent: 15px;
// background-color: #f6f6f6; // background-color: #f6f6f6;
// border: none; // border: none;
padding: 0 0 0 23px !important; padding: 0 0 0 23px !important;
border: 1px solid #dddddd; border: 1px solid #dddddd;
&:hover { &:hover {
border-color: #ff4400; border-color: #ff4400;
} }
&:focus { &:focus {
box-shadow: none; box-shadow: none;
} }
&::placeholder { &::placeholder {
opacity: 0.4; opacity: 0.4;
color: #4d575e; color: #4d575e;
font-size: 14px; font-size: 14px;
text-indent: 15px; text-indent: 15px;
} }
} }
} }
.login-form-button { .login-form-button {
width: 100%; width: 100%;
height: 36px; height: 36px;
margin-top: 20px; margin-top: 20px;
border-radius: 27px; border-radius: 27px;
background-color: #ff4400; background-color: #ff4400;
font-size: 16px; font-size: 16px;
border: none; border: none;
color: white; color: white;
box-shadow: none; box-shadow: none;
&::after { &::after {
display: none; display: none;
} }
&:hover { &:hover {
background-color: #ff4400cc; background-color: #ff4400cc;
} }
&:active { &:active {
background-color: #ff4400; background-color: #ff4400;
} }
} }
.register { .register {
display: flex; display: flex;
justify-content: center; justify-content: center;
font-size: 12px; font-size: 12px;
span { span {
color: #4d575e; color: #4d575e;
i { i {
vertical-align: middle; vertical-align: middle;
margin-right: 10px; margin-right: 10px;
} }
} }
a { a {
color: #353649; color: #353649;
} }
} }
.autologin { .autologin {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
font-size: 12px; font-size: 12px;
margin-top: -16px; margin-top: -16px;
> span { > span {
cursor: pointer; cursor: pointer;
line-height: 18px; line-height: 18px;
margin-top: 2px; margin-top: 2px;
i { i {
color: #ff4400; color: #ff4400;
font-size: 14px; font-size: 14px;
vertical-align: middle; vertical-align: middle;
margin-right: 5px; margin-right: 5px;
} }
input { input {
margin-top: -3px; margin-top: -3px;
vertical-align: bottom; vertical-align: bottom;
} }
label { label {
transition: all 0.2s; transition: all 0.2s;
font-size: 12px; font-size: 12px;
&:hover { &:hover {
color: #ff4400; color: #ff4400;
} }
} }
} }
a { a {
color: #4d575e; color: #4d575e;
} }
} }
.getrulecode { .getrulecode {
// padding: 0 0 0 10px; // padding: 0 0 0 10px;
font-size: 12px; font-size: 12px;
width: 67px; width: 67px;
text-align: center; text-align: center;
border-left: 1px #cccccc solid; border-left: 1px #cccccc solid;
line-height: 12px; line-height: 12px;
color: #4d575e; color: #4d575e;
span[data-mark="getcode"] { span[data-mark="getcode"] {
padding: 0 0 0 5px; padding: 0 0 0 5px;
cursor: pointer; cursor: pointer;
} }
} }
} }
} }
</style> </style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -25,12 +25,7 @@ router.beforeEach(async (to, from, next) => {
"/updatepsw", "/updatepsw",
// "/register", // "/register",
]; ];
if (Cookies.get("LOGIN_DATA")) { if (localStorage.getItem("LOGIN_DATA")) {
console.log(!sessionStorage.getItem("LOGIN_DATA"));
if (!sessionStorage.getItem("LOGIN_DATA")) {
console.log("notset");
sessionStorage.setItem("LOGIN_DATA", Cookies.get("LOGIN_DATA"));
}
var isLogin = true; var isLogin = true;
} }
// const isLogin = localStorage.getItem("LOGIN_DATA") !== null ? true : false; // const isLogin = localStorage.getItem("LOGIN_DATA") !== null ? true : false;

@ -1,4 +1,4 @@
@import "http://at.alicdn.com/t/c/font_3135652_me9fsfpihrt.css"; @import "http://at.alicdn.com/t/c/font_3135652_jrvheq4b5p.css";
// 初始化页面样式 // 初始化页面样式
body, body,
h1, h1,
@ -587,3 +587,14 @@ p.bottombox {
border-color: #ddd !important; border-color: #ddd !important;
box-shadow: none !important; box-shadow: none !important;
} }
.ant-btn-primary:hover {
border-color: #ff4400;
background-color: #ff5416;
color: #fff;
}
.ant-input:hover {
border-color: #ff4400;
}
.ant-select-selection:active {
box-shadow: none;
}

@ -1,4 +1,4 @@
@import "http://at.alicdn.com/t/c/font_3135652_me9fsfpihrt.css"; @import "http://at.alicdn.com/t/c/font_3135652_jrvheq4b5p.css";
body, body,
h1, h1,
h2, h2,
@ -526,3 +526,14 @@ p.bottombox::after {
border-color: #ddd !important; border-color: #ddd !important;
box-shadow: none !important; box-shadow: none !important;
} }
.ant-btn-primary:hover {
border-color: #ff4400;
background-color: #ff5416;
color: #fff;
}
.ant-input:hover {
border-color: #ff4400;
}
.ant-select-selection:active {
box-shadow: none;
}

@ -1,234 +1,234 @@
export let nationlist = [ export let nationlist = [
{ {
id: "01", id: "01",
name: "汉族", name: "汉族",
}, },
{ {
id: "02", id: "02",
name: "蒙古族", name: "蒙古族",
}, },
{ {
id: "03", id: "03",
name: "回族", name: "回族",
}, },
{ {
id: "04", id: "04",
name: "藏族", name: "藏族",
}, },
{ {
id: "05", id: "05",
name: "维吾尔族", name: "维吾尔族",
}, },
{ {
id: "06", id: "06",
name: "苗族", name: "苗族",
}, },
{ {
id: "07", id: "07",
name: "彝族", name: "彝族",
}, },
{ {
id: "08", id: "08",
name: "壮族", name: "壮族",
}, },
{ {
id: "09", id: "09",
name: "布依族", name: "布依族",
}, },
{ {
id: "10", id: "10",
name: "朝鲜族", name: "朝鲜族",
}, },
{ {
id: "11", id: "11",
name: "满族", name: "满族",
}, },
{ {
id: "12", id: "12",
name: "侗族", name: "侗族",
}, },
{ {
id: "13", id: "13",
name: "瑶族", name: "瑶族",
}, },
{ {
id: "14", id: "14",
name: "白族", name: "白族",
}, },
{ {
id: "15", id: "15",
name: "土家族", name: "土家族",
}, },
{ {
id: "16", id: "16",
name: "哈尼族", name: "哈尼族",
}, },
{ {
id: "17", id: "17",
name: "哈萨克族", name: "哈萨克族",
}, },
{ {
id: "18", id: "18",
name: "傣族", name: "傣族",
}, },
{ {
id: "19", id: "19",
name: "黎族", name: "黎族",
}, },
{ {
id: "20", id: "20",
name: "傈僳族", name: "傈僳族",
}, },
{ {
id: "21", id: "21",
name: "佤族", name: "佤族",
}, },
{ {
id: "22", id: "22",
name: "畲族", name: "畲族",
}, },
{ {
id: "23", id: "23",
name: "高山族", name: "高山族",
}, },
{ {
id: "24", id: "24",
name: "拉祜族", name: "拉祜族",
}, },
{ {
id: "25", id: "25",
name: "水族", name: "水族",
}, },
{ {
id: "26", id: "26",
name: "东乡族", name: "东乡族",
}, },
{ {
id: "27", id: "27",
name: "纳西族", name: "纳西族",
}, },
{ {
id: "28", id: "28",
name: "景颇族", name: "景颇族",
}, },
{ {
id: "29", id: "29",
name: "柯尔克孜族", name: "柯尔克孜族",
}, },
{ {
id: "30", id: "30",
name: "土族", name: "土族",
}, },
{ {
id: "31", id: "31",
name: "达斡尔族", name: "达斡尔族",
}, },
{ {
id: "32", id: "32",
name: "仫佬族", name: "仫佬族",
}, },
{ {
id: "33", id: "33",
name: "羌族", name: "羌族",
}, },
{ {
id: "34", id: "34",
name: "布朗族", name: "布朗族",
}, },
{ {
id: "35", id: "35",
name: "撒拉族", name: "撒拉族",
}, },
{ {
id: "36", id: "36",
name: "毛难族", name: "毛难族",
}, },
{ {
id: "37", id: "37",
name: "仡佬族", name: "仡佬族",
}, },
{ {
id: "38", id: "38",
name: "锡伯族", name: "锡伯族",
}, },
{ {
id: "39", id: "39",
name: "阿昌族", name: "阿昌族",
}, },
{ {
id: "40", id: "40",
name: "普米族", name: "普米族",
}, },
{ {
id: "41", id: "41",
name: "塔吉克族", name: "塔吉克族",
}, },
{ {
id: "42", id: "42",
name: "怒族", name: "怒族",
}, },
{ {
id: "43", id: "43",
name: "乌孜别克族", name: "乌孜别克族",
}, },
{ {
id: "44", id: "44",
name: "俄罗斯族", name: "俄罗斯族",
}, },
{ {
id: "45", id: "45",
name: "鄂温克族", name: "鄂温克族",
}, },
{ {
id: "46", id: "46",
name: "崩龙族", name: "崩龙族",
}, },
{ {
id: "47", id: "47",
name: "保安族", name: "保安族",
}, },
{ {
id: "48", id: "48",
name: "裕固族", name: "裕固族",
}, },
{ {
id: "49", id: "49",
name: "京族", name: "京族",
}, },
{ {
id: "50", id: "50",
name: "塔塔尔族", name: "塔塔尔族",
}, },
{ {
id: "51", id: "51",
name: "独龙族", name: "独龙族",
}, },
{ {
id: "52", id: "52",
name: "鄂伦春族", name: "鄂伦春族",
}, },
{ {
id: "53", id: "53",
name: "赫哲族", name: "赫哲族",
}, },
{ {
id: "54", id: "54",
name: "门巴族", name: "门巴族",
}, },
{ {
id: "55", id: "55",
name: "珞巴族", name: "珞巴族",
}, },
{ {
id: "56", id: "56",
name: "基诺族", name: "基诺族",
}, },
{ {
id: "57", id: "57",
name: "其他", name: "其他",
}, },
{ {
id: "58", id: "58",
name: "外国血统中国人士", name: "外国血统中国人士",
}, },
]; ];

@ -1,6 +1,8 @@
import axios from "axios"; import axios from "axios";
import router from "@/router"; import router from "@/router";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import qs from "qs";
// import Vue from "vue"; // import Vue from "vue";
// const baseURL = "http://1shoudan.com"; // 正式环境线上 // const baseURL = "http://1shoudan.com"; // 正式环境线上
const baseURL = "http://idaotian.com"; // 正式环境线上 const baseURL = "http://idaotian.com"; // 正式环境线上
@ -13,42 +15,67 @@ const baseURL = "http://idaotian.com"; // 正式环境线上
// const data1 = require.context("./", false, /\.js$/); // 测试用 // const data1 = require.context("./", false, /\.js$/); // 测试用
// console.log(data1.keys()); // console.log(data1.keys());
axios.defaults.withCredentials = true; //添加这行代码 axios.defaults.withCredentials = true; //添加这行代码
// axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"
// console.log(axios); // console.log(axios);
const service = axios.create({ const service = axios.create({
baseURL: "/api_prod", // url = base url + request url 测试 // baseURL: "/api_prod", // url = base url + request url 测试
// baseURL: baseURL, // baseURL: "/api", // url = base url + request url 正式 baseURL: baseURL, // baseURL: "/api", // url = base url + request url 正式
withCredentials: true, // send cookies when cross-domain requests withCredentials: true, // send cookies when cross-domain requests
timeout: 60000, // request timeout timeout: 60000, // request timeout
crossDomain: true, crossDomain: true,
}); });
service.interceptors.request.use(
(req) => {
console.log(req);
// if (req.method == "post" && req.headers["Content-type"]) {
// if (req.headers["Content-type"].indexOf("multipart/form-data") == -1 && req.headers["Content-type"].indexOf("application/x-www-form-urlencoded") == -1) {
// let dataObj = qs.stringify(req.data);
// console.log(dataObj);
// req.data = dataObj;
// }
// }
if (localStorage.getItem("LOGIN_DATA")) {
req.headers.Authorization = "Bearer " + JSON.parse(localStorage.getItem("LOGIN_DATA")).token;
}
// application/json
// if(req.headers.common.Accept.indexOf('application/json') > 0 || req.headers.Accept.indexOf('application/json') > 0){
// console.log('is application/json');
// }
return req;
},
(err) => {
console.log(err);
}
);
service.interceptors.response.use( service.interceptors.response.use(
(response) => { (response) => {
const { msg, status } = response.data; console.log(response);
return response; let { msg, status } = response.data;
// console.log(status) ; // return response;
// if (status == 9999) { console.log(status);
// sessionStorage.removeItem("LOGIN_DATA"); if (status == 9999) {
// Cookies.remove("LOGIN_DATA"); localStorage.removeItem("LOGIN_DATA");
// router.push("/login"); router.push("/login");
// // 跳转到登录页面 // 跳转到登录页面
// // this.$message.warning(msg); // this.$message.warning(msg);
// return Promise.reject(new Error("token过期")); return Promise.reject(new Error("token过期"));
// } }
// if (response.status === 200) { if (response.status === 200) {
// return response; return response;
// } else { } else {
// // Message.error(message) // Message.error(message)
// return Promise.reject(new Error(msg)); return Promise.reject(new Error(msg));
// } }
}, },
(error) => { (error) => {
console.log(error); console.log(error);
// if (error.toString().indexOf("9999") !== -1) { // if (error.toString().indexOf("9999") !== -1) {
// router.push("/login"); // router.push("/login");
// // Vue.$message.warning(msg) // // Vue.$message.warning(msg)
// } else if (error.message.indexOf("500") !== -1) { // } else if (error.message.indexOf("500") !== -1) {
// } // }
// return Promise.reject(error); // return Promise.reject(error);
} }
); );
export default service; export default service;

@ -191,12 +191,11 @@
</div> </div>
</div> --> </div> -->
<!-- banner广告栏 --> <!-- banner广告栏 -->
<div class="banner" v-if="isbannershow"> <!-- <div class="banner" v-if="isbannershow">
<div class="w"> <div class="w">
<i class="iconfont icon-yigezhuanmenfuwudailidepingtai"></i> <i class="iconfont icon-yigezhuanmenfuwudailidepingtai"></i>
<!-- <img src="../assets/phone.png" alt="" /> -->
</div> </div>
</div> </div> -->
<!-- footer部分 --> <!-- footer部分 -->
<footer v-if="isfootershow"> <footer v-if="isfootershow">
<div class="w"> <div class="w">
@ -214,7 +213,7 @@
<div> <div>
Copyright © 2015 - 2022 Bocai. All Rights Reserved. <i></i> Copyright © 2015 - 2022 Bocai. All Rights Reserved. <i></i>
<a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index" <a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index"
>京ICP备16043923号-9</a >豫ICP备2023001993号</a
> >
</div> </div>
</div> </div>
@ -354,10 +353,9 @@ export default {
*/ */
created() { created() {
console.log(); console.log();
if (sessionStorage.getItem("LOGIN_DATA") || Cookies.get("LOGIN_DATA")) { if (localStorage.getItem("LOGIN_DATA")) {
this.isLogin = true; this.isLogin = true;
} }
console.log(JSON.parse(sessionStorage.getItem("LOGIN_DATA")));
this.getJobList(); this.getJobList();
this.isLaoxiangshow(); this.isLaoxiangshow();
this.getRecommendJob(); this.getRecommendJob();
@ -368,11 +366,10 @@ export default {
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内 * 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/ */
mounted() { mounted() {
console.log(sessionStorage.getItem("LOGIN_DATA"));
this.loginValue = this.loginValue =
sessionStorage.getItem("LOGIN_DATA") !== null localStorage.getItem("LOGIN_DATA") !== null
? JSON.parse(sessionStorage.getItem("LOGIN_DATA")) ? JSON.parse(localStorage.getItem("LOGIN_DATA"))
: { tel: "" }; : { tel: "" };
// console.log(this.loginValue); // console.log(this.loginValue);
// console.log(document.querySelector(".ant-pagination-options-quick-jumper")); // console.log(document.querySelector(".ant-pagination-options-quick-jumper"));
@ -533,8 +530,7 @@ export default {
const data = await logoutApi(); const data = await logoutApi();
console.log(data); console.log(data);
if (data.status === 200) { if (data.status === 200) {
sessionStorage.removeItem("LOGIN_DATA"); localStorage.removeItem("LOGIN_DATA");
Cookies.remove("LOGIN_DATA");
this.reload(); this.reload();
this.$router.push("/main"); this.$router.push("/main");
} else { } else {

@ -169,7 +169,7 @@
<div> <div>
Copyright © 2015 - 2022 Bocai. All Rights Reserved. <i></i> Copyright © 2015 - 2022 Bocai. All Rights Reserved. <i></i>
<a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index" <a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index"
>京ICP备16043923号-9</a >豫ICP备2023001993号</a
> >
</div> </div>
</div> </div>
@ -280,12 +280,11 @@ export default {
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内 * 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/ */
mounted() { mounted() {
console.log(sessionStorage.getItem("LOGIN_DATA")); this.isLogin = localStorage.getItem("LOGIN_DATA") !== null ? true : false;
this.isLogin = sessionStorage.getItem("LOGIN_DATA") !== null ? true : false;
this.loginValue = this.loginValue =
sessionStorage.getItem("LOGIN_DATA") !== null localStorage.getItem("LOGIN_DATA") !== null
? JSON.parse(sessionStorage.getItem("LOGIN_DATA")) ? JSON.parse(localStorage.getItem("LOGIN_DATA"))
: { tel: "" }; : { tel: "" };
// console.log(document.querySelector(".ant-pagination-options-quick-jumper")); // console.log(document.querySelector(".ant-pagination-options-quick-jumper"));
}, },
@ -315,9 +314,7 @@ export default {
const data = await logoutApi(); const data = await logoutApi();
console.log(data); console.log(data);
if (data.status === 200) { if (data.status === 200) {
sessionStorage.removeItem("LOGIN_DATA"); localStorage.removeItem("LOGIN_DATA");
Cookies.remove("LOGIN_DATA");
Cookies.remove("LOGIN_DATA");
this.reload(); this.reload();
this.$router.push("/main"); this.$router.push("/main");
} else { } else {

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
let current = 4;
let mounthList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
let newlist = mounthList.slice(mounthList.indexOf(current)).concat(mounthList.slice(0,current - 1));
console.log(newlist);
</script>
</body>
</html>

@ -8731,6 +8731,11 @@ thread-loader@^2.1.3:
loader-utils "^1.1.0" loader-utils "^1.1.0"
neo-async "^2.6.0" neo-async "^2.6.0"
throttle-debounce@^2.0.1:
version "2.3.0"
resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz#fd31865e66502071e411817e241465b3e9c372e2"
integrity sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==
through2@^2.0.0: through2@^2.0.0:
version "2.0.5" version "2.0.5"
resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz"
@ -9124,6 +9129,14 @@ uuid@^8.3.2:
resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
v-viewer@^1.6.4:
version "1.6.4"
resolved "https://registry.npmmirror.com/v-viewer/-/v-viewer-1.6.4.tgz#39e36b534baab34076fb816704c6a734de0dc72f"
integrity sha512-LVkiUHpmsbsZXebeNXnu8krRCi5i2n07FeLFxoIVGhw8lVvTBO0ffpbDC6mLEuacCjrIh09HjIqpciwUtWE8lQ==
dependencies:
throttle-debounce "^2.0.1"
viewerjs "^1.5.0"
v8-compile-cache@^2.0.3: v8-compile-cache@^2.0.3:
version "2.3.0" version "2.3.0"
resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz"
@ -9156,6 +9169,11 @@ verror@1.10.0:
core-util-is "1.0.2" core-util-is "1.0.2"
extsprintf "^1.2.0" extsprintf "^1.2.0"
viewerjs@^1.5.0:
version "1.11.3"
resolved "https://registry.npmmirror.com/viewerjs/-/viewerjs-1.11.3.tgz#6569c519590776190f86b531bf43a5888a7a472f"
integrity sha512-efG3U61Umuj/1x6JAtdvnY9m407C/RkrkFilsMcLEWKDivpjNU3/FeL+feCY1Vkur9aQeBJ+z6K4CCPP7hv6vA==
vm-browserify@^1.0.1: vm-browserify@^1.0.1:
version "1.1.2" version "1.1.2"
resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz"

Loading…
Cancel
Save