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

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

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

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

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

@ -89,7 +89,7 @@
</a-select>
</a-form-model-item>
</a-form-model>
</a-modal> -->
</a-modal>-->
<!-- <a-drawer
title="报名"
@ -102,20 +102,20 @@
@close="onClose"
>
<recordbill :visible.sync="visible" :firminfo="jobDetail"></recordbill>
</a-drawer> -->
</a-drawer>-->
<!-- 面包屑 -->
<a-breadcrumb class="w">
<a-breadcrumb-item href="">
<a-breadcrumb-item href>
<router-link to="/main">
<a-icon type="home" />
</router-link>
</a-breadcrumb-item>
<a-breadcrumb-item href="">
<a-breadcrumb-item href>
<a @click="toList">
<span>一手职位</span>
</a>
</a-breadcrumb-item>
<a-breadcrumb-item href="">
<a-breadcrumb-item href>
<span style="color: #333">企业详情</span>
</a-breadcrumb-item>
</a-breadcrumb>
@ -123,45 +123,19 @@
<div class="maincontent w">
<div class="maincontentleft">
<div class="subset">
<a-skeleton
avatar
active
class="skeleton1"
v-show="skeletonshow"
:paragraph="{ rows: 4 }"
/>
<a-skeleton avatar active class="skeleton1" v-show="skeletonshow" :paragraph="{ rows: 4 }" />
<div class="subsetleft" v-show="!skeletonshow">
<div class="imgbox">
<a-carousel
arrows
: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-carousel arrows :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" />
</div>
<div
slot="nextArrow"
class="custom-slick-arrow"
style="right: 5px; z-index: 99"
>
<div slot="nextArrow" class="custom-slick-arrow" style="right: 5px; z-index: 99">
<a-icon type="right-circle" />
</div>
<img
v-for="(item, index) in storeImage"
:key="index"
:src="item"
alt=""
/>
<img v-for="(item, index) in storeImage" :key="index" :src="item" alt />
</a-carousel>
<img v-else src="../../../static/img/nopicture.png" alt="" />
<img v-else src="../../../static/img/nopicture.png" alt />
</div>
<div class="jobinfobox">
<div class="jobname">{{ jobDetail.jobName }}</div>
@ -172,52 +146,30 @@
</div>
<div class="jobtag">
<!-- <span>返费</span> -->
<a-tag
:color="labelColor[index % labelColor.length]"
v-for="(item, index) in jobDetail.jobRequestLabelNames"
:key="index"
>{{ item }}</a-tag
>
<a-tag :color="labelColor[index % labelColor.length]" v-for="(item, index) in jobDetail.jobRequestLabelNames" :key="index">{{ item }}</a-tag>
</div>
<div
style="height: 27px"
v-if="!jobDetail.jobRequestLabelNames"
class="jobtag"
>
<div style="height: 27px" v-if="!jobDetail.jobRequestLabelNames" class="jobtag">
<a-tag :color="labelColor[1]">暂无要求</a-tag>
</div>
<div class="jobtag1">
<!-- <span>返费</span> -->
<a-tag
v-for="(item, index) in jobDetail.jobSpecialLabelNames"
:key="index"
>{{ item }}</a-tag
>
<a-tag v-for="(item, index) in jobDetail.jobSpecialLabelNames" :key="index">{{ item }}</a-tag>
</div>
<div
style="height: 27px"
v-if="!jobDetail.jobSpecialLabelNames"
class="jobtag"
>
<div style="height: 27px" v-if="!jobDetail.jobSpecialLabelNames" class="jobtag">
<a-tag style="backgroundcolor: #f5f5f5">暂无特色</a-tag>
</div>
<div
style="
<div style="
display: flex;
align-items: center;
height: 26px;
margin-top: 16px;
"
>
<div
class="jobpricehour"
v-html="
">
<div class="jobpricehour" v-html="
getSalaryClassifyValue(
jobDetail.salaryClassify,
jobDetail.salaryClassifyValue
)
"
>
">
<!-- <template v-if="jobDetail.hourlyPay"
><span>{{ jobDetail.hourlyPay }}</span
>/小时</template
@ -225,13 +177,12 @@
<template v-else-if="jobDetail.dayPay"
><span>{{ jobDetail.dayPay }}</span
>/</template
> -->
>-->
</div>
<span style="font-size: 16px">&nbsp;&nbsp;|&nbsp;&nbsp;</span>
<div class="jobpricemonth">
<span>{{ jobDetail.minMonthlyPay }}</span
>-<span>{{ jobDetail.maxMonthlyPay }}</span
>/
<span>{{ jobDetail.minMonthlyPay }}</span>-
<span>{{ jobDetail.maxMonthlyPay }}</span>/
</div>
</div>
@ -249,7 +200,7 @@
<a-menu-item @click="torecord"> </a-menu-item>
</a-menu>
</a-dropdown>
</div> -->
</div>-->
</div>
</div>
<div class="subsetright">
@ -263,14 +214,8 @@
<!-- <a-popover title="" trigger="click" placement="bottomRight">
<a-button type="primary" class="jobDesp">职位详单</a-button>
</a-popover> -->
<button
class="dropdown bottombox1"
@click="torecord()"
v-if="jobDetail.recruitment == '1'"
>
报名
</button>
</a-popover>-->
<button class="dropdown bottombox1" @click="torecord()" v-if="jobDetail.recruitment == '1'"></button>
<button class="norecruitment bottombox1" v-else></button>
</div>
</div>
@ -278,60 +223,37 @@
<!-- <div class="proxy">
<h1><i>代理政策</i></h1>
<div>{{ jobDetail.returnFeeDesp }}</div>
</div> -->
</div>-->
<div class="jobinformationbox">
<h1>
<div class="infotitle">
<span
@click="tabchange = 1"
:class="tabchange === 1 ? 'active' : ''"
>基本信息</span
>
<span
@click="tabchange = 0"
:class="tabchange === 0 ? 'active' : ''"
>财务结算</span
>
<span
@click="tabchange = 2"
:class="tabchange === 2 ? 'active' : ''"
>职位通告</span
>
<span @click="tabchange = 1" :class="tabchange === 1 ? 'active' : ''">基本信息</span>
<span @click="tabchange = 0" :class="tabchange === 0 ? 'active' : ''">财务结算</span>
<span @click="tabchange = 2" :class="tabchange === 2 ? 'active' : ''">职位通告</span>
</div>
<!-- <div class="copy" @click="xiangdanVisible = true">通告</div>-->
<a-modal
v-model="xiangdanVisible"
title="通告"
class="xiangdan"
:footer="null"
@ok="handleOk"
>
<!-- <div class="copy" @click="xiangdanVisible = true">通告</div>-->
<a-modal v-model="xiangdanVisible" title="通告" class="xiangdan" :footer="null" @ok="handleOk">
<!-- <template slot="content" class="jobDesp_content"> -->
<div class="copy" @click="copyText($event)"></div>
<span v-if="jobDetail.jobDesp" class="copyInfo">{{
<span v-if="jobDetail.jobDesp" class="copyInfo">
{{
jobDetail.jobDesp
}}</span
><span v-else></span>
}}
</span>
<span v-else></span>
<!-- </template> -->
</a-modal>
</h1>
<div class="pay" id="tip" v-show="tabchange === 1">
<div class="mb12 mt20 titlestyle">温馨提示</div>
<div class="showInfo" style="width: unset">
{{ jobDetail.notes || "-" }}
</div>
<div class="showInfo" style="width: unset">{{ jobDetail.notes || "-" }}</div>
</div>
<div v-if="tabchange === 1" style="display: flex">
<!-- 薪资 -->
<div class="baseInfoContent" v-if="tabchange === 1">
<div class="pay" id="pay">
<div class="mb12 mt20">薪资待遇</div>
<a-descriptions
bordered
size="small"
:column="1"
class="leftDesc boubleLevel"
>
<a-descriptions bordered size="small" :column="1" class="leftDesc boubleLevel">
<!-- <a-descriptions-item class="test1">
<span slot="label" class="fw500">工价</span>
<span>{{ jobDetail.calculationUnit }}</span>
@ -343,7 +265,7 @@
<a-descriptions-item>
<span slot="label" class="fw500">薪资明细</span>
<span>{{ jobDetail.salaryDetail }}</span>
</a-descriptions-item> -->
</a-descriptions-item>-->
<a-descriptions-item class="test1">
<span slot="label" class="fw500">薪资明细</span>
<span>{{ jobDetail.salaryDetail || "-" }}</span>
@ -374,9 +296,11 @@
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">薪资说明</span>
<span style="white-space: break-spaces">{{
<span style="white-space: break-spaces">
{{
jobDetail.salaryDesp || "-"
}}</span>
}}
</span>
</a-descriptions-item>
<!-- <a-descriptions-item style="padding: 0">
<span slot="label">薪资说明</span>
@ -408,32 +332,28 @@
<span v-html="jobDetail.salaryDesp"></span>
</a-descriptions-item>
</a-descriptions>
</a-descriptions-item> -->
</a-descriptions-item>-->
</a-descriptions>
</div>
<!-- 岗位要求 -->
<div class="required" id="required">
<div class="mb12 mt20">面试要求</div>
<a-descriptions
bordered
size="small"
:column="1"
class="leftDesc"
>
<a-descriptions bordered size="small" :column="1" class="leftDesc">
<a-descriptions-item class="test1">
<span slot="label" class="fw500">性别年龄</span>
<span>
<span class="man" v-if="jobDetail.minAgeMan"
> {{ jobDetail.minAgeMan }}
<span v-if="jobDetail.maxAgeMan">{{
<span class="man" v-if="jobDetail.minAgeMan">
{{ jobDetail.minAgeMan }}
<span v-if="jobDetail.maxAgeMan">
{{
"- " + jobDetail.maxAgeMan
}}</span
> </span
><span class="woman" v-if="jobDetail.minAgeWoman">
}}
</span>
</span>
<span class="woman" v-if="jobDetail.minAgeWoman">
{{ jobDetail.minAgeWoman }}
<span> {{ "- " + jobDetail.maxAgeWoman }}</span
></span
>
<span>{{ "- " + jobDetail.maxAgeWoman }}</span>
</span>
</span>
</a-descriptions-item>
<a-descriptions-item>
@ -459,7 +379,7 @@
<!-- <a-descriptions-item>
<span slot="label" class="fw500">面试资料</span>
<span>{{ jobDetail.idCard || "-" }}</span>
</a-descriptions-item> -->
</a-descriptions-item>-->
<!-- <a-descriptions-item>
<span slot="label" class="fw500">证件</span>
<span>{{ jobDetail.certificate }}</span>
@ -469,7 +389,7 @@
<a-descriptions-item>
<span slot="label" class="fw500">带手机</span>
<span>{{ jobDetail.carryTel }}</span>
</a-descriptions-item> -->
</a-descriptions-item>-->
<!-- <a-descriptions-item>
<span slot="label" class="fw500">体检要求</span>
<span>{{ jobDetail.healthRequire || "-" }}</span>
@ -477,18 +397,13 @@
<a-descriptions-item>
<span slot="label" class="fw500">其它要求</span>
<span>{{ jobDetail.otherRequire || "-" }}</span>
</a-descriptions-item> -->
</a-descriptions-item>-->
</a-descriptions>
</div>
<!-- 基本信息 -->
<div class=" " id="contentspecial">
<div class id="contentspecial">
<div class="mb12 mt20">岗位说明</div>
<a-descriptions
bordered
size="small"
:column="1"
class="leftDesc"
>
<a-descriptions bordered size="small" :column="1" class="leftDesc">
<a-descriptions-item class="test1">
<span slot="label" class="fw500">工作内容</span>
<span>{{ jobDetail.workContent || "-" }}</span>
@ -522,12 +437,14 @@
<a-descriptions-item>
<span slot="label" class="fw500">倒班频次</span>
<span>{{ jobDetail.workByTurns }}</span>
</a-descriptions-item> -->
</a-descriptions-item>-->
<a-descriptions-item>
<span slot="label" class="fw500">换岗调班</span>
<span style="white-space: break-spaces">{{
<span style="white-space: break-spaces">
{{
jobDetail.otherDesp || "-"
}}</span>
}}
</span>
</a-descriptions-item>
</a-descriptions>
</div>
@ -539,16 +456,16 @@
<div>吃饭</div>
<ul>
<li>
<span>吃饭</span
><span>{{ jobDetail.workingLunch || "-" }}</span>
<span>吃饭</span>
<span>{{ jobDetail.workingLunch || "-" }}</span>
</li>
<!-- <li>
<span>餐补</span
><span>{{ jobDetail.mealSubsidy }}</span>
</li> -->
</li>-->
<!-- <li>
<span>餐费</span><span>{{ jobDetail.mealFee }}</span>
</li> -->
</li>-->
<!-- <li>
<span>餐卡押金</span
@ -556,48 +473,49 @@
</li>
<li>
<span>民族窗口</span><span>{{ jobDetail.muslim }}</span>
</li> -->
</li>-->
<!-- <li>
<span>补充说明</span
><span style="white-space: break-spaces">{{
jobDetail.workingLunchDesp || "-"
}}</span>
</li> -->
</li>-->
</ul>
</li>
<li>
<div>住宿</div>
<ul>
<li>
<span>住宿费用</span
><span>{{ jobDetail.dormitory || "-" }}</span>
<span>住宿费用</span>
<span>{{ jobDetail.dormitory || "-" }}</span>
</li>
<li>
<span>宿舍设施</span
><span>{{ jobDetail.dormitoryFacilities || "-" }}</span>
<span>宿舍设施</span>
<span>{{ jobDetail.dormitoryFacilities || "-" }}</span>
</li>
<li>
<span>宿舍距离</span
><span>{{ jobDetail.dormDistance || "-" }}</span>
<span>宿舍距离</span>
<span>{{ jobDetail.dormDistance || "-" }}</span>
</li>
<li>
<span>厂车</span><span>{{ jobDetail.bus || "-" }}</span>
<span>厂车</span>
<span>{{ jobDetail.bus || "-" }}</span>
</li>
<li>
<span>住宿要求</span
><span>{{ jobDetail.dormitoryDesp || "-" }}</span>
<span>住宿要求</span>
<span>{{ jobDetail.dormitoryDesp || "-" }}</span>
</li>
<!-- <li>
<span>宿舍距离</span
><span>{{ jobDetail.dormitoryDistance }}</span>
</li> -->
</li>-->
<!-- <li>
<span>住宿费</span
><span>{{ jobDetail.dormitoryCost }}</span>
</li>
-->
-->
<!-- <li>
<span>单间人数</span
@ -606,20 +524,20 @@
<li>
<span>硬件设施</span
><span>{{ jobDetail.dormitoryFacilities }}</span>
</li> -->
</li>-->
<!-- <li>
<span>水电费</span
><span>{{ jobDetail.waterAndElec || "-" }}</span>
</li> -->
</li>-->
<!-- <li>
<span>班车</span><span>{{ jobDetail.regularBus }}</span>
</li> -->
</li>-->
<!-- <li>
<span>补充说明</span
><span style="white-space: break-spaces">{{
jobDetail.dormitoryDesp || "-"
}}</span>
</li> -->
</li>-->
</ul>
</li>
</ul>
@ -662,16 +580,14 @@
<span slot="label" class="fw500">班次时间</span>
<span>9:30-14:0017:00-22:00</span>
</a-descriptions-item>
</a-descriptions> -->
</a-descriptions>-->
</div>
<div class="otherInfo" id="other">
<div class="mb12 mt20">其他信息</div>
<div style="white-space: break-spaces">
{{ jobDetail.otherInfo || "-" }}
</div>
<div style="white-space: break-spaces">{{ jobDetail.otherInfo || "-" }}</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="#required" title="要求" />
<a-anchor-link href="#contentspecial" title="岗位" />
@ -684,17 +600,9 @@
<div v-else-if="tabchange == 0">
<div class="pay" id="tip">
<div class="mb12 mt20 titlestyle">代理须知</div>
<div class="showInfo" style="width: 640px">
{{ jobDetail.agencyStatement || "-" }}
</div>
<div class="showInfo" style="width: 640px">{{ jobDetail.agencyStatement || "-" }}</div>
</div>
<a-descriptions
bordered
size="small"
:column="1"
class="leftDesc mt20"
style="width: 900px"
>
<a-descriptions bordered size="small" :column="1" class="leftDesc mt20" style="width: 900px">
<a-descriptions-item class="test1">
<span slot="label" class="fw500">代理利润</span>
<span>{{ jobDetail.agencyProfit || "-" }}</span>
@ -702,7 +610,7 @@
<!-- <a-descriptions-item>
<span slot="label" class="fw500">代理政策</span>
<span>{{ jobDetail.returnFeeDesp }}</span>
</a-descriptions-item> -->
</a-descriptions-item>-->
<a-descriptions-item>
<span slot="label" class="fw500">扣税说明</span>
<span>{{ jobDetail.deductTaxDesp || "-" }}</span>
@ -710,7 +618,7 @@
<!-- <a-descriptions-item>
<span slot="label" class="fw500">支付周期</span>
<span>{{ jobDetail.paymentCycle }}</span>
</a-descriptions-item> -->
</a-descriptions-item>-->
<a-descriptions-item>
<span slot="label" class="fw500">出名单</span>
<span>{{ jobDetail.outListTime || "-" }}</span>
@ -726,7 +634,7 @@
<div class="mb12 mt20 titlestyle">职位通告</div>
<div class="showInfo" style="width: unset;color: #000 !important;">
<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>
</div>
@ -735,28 +643,34 @@
</div>
<div class="maincontentright">
<div class="hotphone">
<h1 class="bottombox"><i>服务热线</i></h1>
<h1 class="bottombox">
<i>服务热线</i>
</h1>
<p>0371-6611 3723</p>
</div>
<!-- <div class="jobDetailInfo" style="display:none">
<h1 class="bottombox"><i>职位详版</i> <span class="copy" @click="copyText"></span></h1>
<p class="copyInfo">{{ jobDetail.jobDesp || "-" }}</p>
</div> -->
</div>-->
<div class="companyinfo">
<div class="companydetail">
<h1 class="bottombox"><i>企业详情</i></h1>
<h1 class="bottombox">
<i>企业详情</i>
</h1>
<p style="text-align: center">{{ jobDetail.aliasName }}</p>
<div class="imgbox">
<img v-if="storeImage.length !== 0" :src="storeImage[0]" alt="" />
<img v-else src="../../../static/img/nopicture.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" v-if="positionInfo.lng">
<h1 class="bottombox"><i>企业位置</i></h1>
<h1 class="bottombox">
<i>企业位置</i>
</h1>
<div class="imgbox">
<!-- <GDMap/> -->
<GDMap :positionInfo="positionInfo"></GDMap>
@ -774,25 +688,22 @@
<p>服务热线</p>
<p>0371-6611 3723</p>
</div>
</div> -->
</div>-->
<div class="mask" v-if="!(jobDetail.recruitment == '1')"></div>
</div>
</template>
<script>
import { getJobDetailApi } from "../../api/job";
import {
disposeJobListData,
getSalaryClassifyValue,
} from "../../utils/commonUtil";
import recommend from "../../components/FirstJob/components/recommend.vue";
import { nationlist } from "../../utils/datalist";
import GDMap from "../map.vue";
import { getJobDetailApi } from '../../api/job'
import { disposeJobListData, getSalaryClassifyValue } from '../../utils/commonUtil'
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 Clipboard from "clipboard";
import Clipboard from 'clipboard'
// import map from '../map.vue'
export default {
//
name: "",
name: '',
//
components: {
recommend,
@ -818,29 +729,20 @@ export default {
skeletonshow: true,
tabchange: 1,
nationlist,
labelColor: [
"pink",
"blue",
"purple",
"orange",
"green",
"cyan",
"red",
"purple",
],
labelColor: ['pink', 'blue', 'purple', 'orange', 'green', 'cyan', 'red', 'purple'],
form: {
//
name: "",
peoplecard: "",
gender: "",
nation: "",
location: "",
firm: "",
post: "",
pattern: "",
policy: "",
proxy: "",
facedate: "",
name: '',
peoplecard: '',
gender: '',
nation: '',
location: '',
firm: '',
post: '',
pattern: '',
policy: '',
proxy: '',
facedate: '',
},
storeJob: {},
// rules: {
@ -849,7 +751,7 @@ export default {
// // tel: [{ required: true, message: "", trigger: "submit" }],
// },
apply: {},
};
}
},
//
computed: {},
@ -863,8 +765,8 @@ export default {
beforeCreate() {},
created() {
// console.log(this.$router.matcher.match());
console.log(this.$route); // params
this.getJobDetail();
console.log(this.$route) // params
this.getJobDetail()
// Object.defineProperties("window.opener", "sessionStorage", {
// LOGIN_DATA: {},
// });
@ -882,35 +784,33 @@ export default {
methods: {
async getJobDetail() {
try {
const { data } = await getJobDetailApi(this.id);
console.log(data);
const { data } = await getJobDetailApi(this.id)
console.log(data)
if (data.status === 200) {
console.log(data);
this.jobDetail = disposeJobListData(data.data.storeJob);
this.positionInfo = data.data.store;
this.positionInfo.desc = this.positionInfo.detailPosition;
this.positionInfo.containerName = "mapContainer";
this.positionInfo.name = this.positionInfo.aliasName;
this.skeletonshow = false;
this.jobDetail.district = disposeJobListData(
data.data.store
).district;
console.log(data)
this.jobDetail = disposeJobListData(data.data.storeJob)
this.positionInfo = data.data.store
this.positionInfo.desc = this.positionInfo.detailPosition
this.positionInfo.containerName = 'mapContainer'
this.positionInfo.name = this.positionInfo.aliasName
this.skeletonshow = false
this.jobDetail.district = disposeJobListData(data.data.store).district
let newdata = {
id: data.data.storeJob.id,
aliasName: data.data.store.aliasName,
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) => {
if (regs.test(item.url.toLowerCase())) {
this.storeImage.push(item.url);
this.storeImage.push(item.url)
}
});
})
// console.log(this.storeImage);
} else {
this.$message.warning("数据获取失败");
this.$message.warning('数据获取失败')
}
// = data.data.recordList;
@ -922,31 +822,31 @@ export default {
},
//
handleCancel() {
this.visible = false;
this.visible = false
this.form = {
//
name: "",
tel: "",
peoplecard: "",
username: "",
};
name: '',
tel: '',
peoplecard: '',
username: '',
}
},
//
handleOk() {
this.$refs.ruleForm.validate((ispass, no) => {
// console.log(ispass);
if (ispass) {
this.confirmLoading = true;
this.confirmLoading = true
setTimeout(() => {
this.confirmLoading = false;
this.visible = false;
}, 2000);
this.confirmLoading = false
this.visible = false
}, 2000)
} else {
// console.log(123);
}
console.log(no);
});
console.log(no)
})
},
//
// showmodal() {
@ -954,68 +854,68 @@ export default {
// console.log(this.id);
// },
showmodal() {
this.visible = true;
this.visible = true
// this.apply = item;
// console.log(this.apply);
// console.log(id);
},
onClose() {
this.visible = false;
this.visible = false
this.form = {
//
name: "",
peoplecard: "",
gender: "", //
nation: "", //
location: "", //
firm: "", //
post: "", //
pattern: "", //
policy: "", //
proxy: "", //
facedate: "", //
};
name: '',
peoplecard: '',
gender: '', //
nation: '', //
location: '', //
firm: '', //
post: '', //
pattern: '', //
policy: '', //
proxy: '', //
facedate: '', //
}
},
torecord(item) {
//
console.log(item);
console.log(item)
// let userinfo = JSON.stringify(item);
console.log(this.jobDetail);
console.log(this.storeInfo);
this.storeInfo.currentPageNum = this.currentPageNum;
console.log(this.storeInfo);
this.$router.push({ name: "recordbill", params: this.storeInfo });
sessionStorage.setItem("CURRENT_FIRM", JSON.stringify(this.storeInfo));
console.log(this.jobDetail)
console.log(this.storeInfo)
this.storeInfo.currentPageNum = this.currentPageNum
console.log(this.storeInfo)
this.$router.push({ name: 'recordbill', params: this.storeInfo })
sessionStorage.setItem('CURRENT_FIRM', JSON.stringify(this.storeInfo))
},
getSalaryClassifyValue(salaryClassify, salaryClassifyValue) {
return getSalaryClassifyValue(salaryClassify, salaryClassifyValue);
return getSalaryClassifyValue(salaryClassify, salaryClassifyValue)
},
copyText() {
console.log(123);
var clipboard = new Clipboard(".copy", {
console.log(123)
var clipboard = new Clipboard('.copy', {
// .copy
target: function () {
// target
return document.querySelector(".copyInfo"); // .copyInfo
return document.querySelector('.copyInfo') // .copyInfo
},
});
clipboard.on("success", (e) => {
})
clipboard.on('success', (e) => {
// success success => error
console.log(e);
this.$message.success("复制成功");
});
console.log(e)
this.$message.success('复制成功')
})
},
toList() {
//
this.$router.push({
name: "JobList",
name: 'JobList',
params: {
pagenum: this.currentPageNum,
},
});
})
},
},
};
}
</script>
<style scoped lang="less">
@ -1740,12 +1640,7 @@ export default {
font-size: 16px;
color: #333;
}
.boubleLevel
> .ant-descriptions-view
> table
> tbody
> .ant-descriptions-row:last-child
> .ant-descriptions-item-content {
.boubleLevel > .ant-descriptions-view > table > tbody > .ant-descriptions-row:last-child > .ant-descriptions-item-content {
// padding: 0 !important;
.noborder {
.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>
<div class="center">
<div class="formcontainer">
<div class="logo">
<!-- <svg class="icon" aria-hidden="true">
<div class="center">
<div class="formcontainer">
<div class="logo">
<!-- <svg class="icon" aria-hidden="true">
<use xlink:href="#icon-yishoudanlogo"></use>
</svg> -->
<img
src="http://matripe.oss-cn-beijing.aliyuncs.com/bcSVG/dtLogo.png"
style="width: 80px; text-align: center"
alt=""
/>
</div>
<ul class="loginchange centerall">
<li :class="{ loginactive: loginway === 1 }" @click="loginway = 1">
用户名密码登录
</li>
<li :class="{ loginactive: loginway === 2 }" @click="loginway = 2">
手机验证码登录
</li>
</ul>
<div class="formbox">
<template v-if="loginway === 1">
<a-form
id="components-form-demo-normal-login"
:form="form"
class="login-form"
@submit="userhandleSubmit"
>
<a-form-item style="text-align: left">
<a-input
v-decorator="[
'tel',
{
rules: [
{
required: true,
message: '请输入用户名',
},
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确手机号',
},
],
validateTrigger: 'submit',
},
]"
:maxLength="11"
placeholder="请输入用户名"
>
<i
slot="prefix"
class="iconfont icon-yonghuming"
style="font-size: 24px"
/>
</a-input>
</a-form-item>
<a-form-item style="text-align: left">
<a-input
v-decorator="[
'password',
{
rules: [
{
required: true,
message: '请输入密码',
},
],
validateTrigger: 'submit',
},
]"
type="password"
placeholder="请输入密码"
>
<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">
<img src="http://matripe.oss-cn-beijing.aliyuncs.com/bcSVG/dtLogo.png" style="width: 80px; text-align: center" alt="" />
</div>
<ul class="loginchange centerall">
<li :class="{ loginactive: loginway === 1 }" @click="loginway = 1">用户名密码登录</li>
<li :class="{ loginactive: loginway === 2 }" @click="loginway = 2">手机验证码登录</li>
</ul>
<div class="formbox">
<template v-if="loginway === 1">
<a-form id="components-form-demo-normal-login" :form="form" class="login-form" @submit="userhandleSubmit">
<a-form-item style="text-align: left">
<a-input
v-decorator="[
'tel',
{
rules: [
{
required: true,
message: '请输入用户名',
},
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确手机号',
},
],
validateTrigger: 'submit',
},
]"
:maxLength="11"
placeholder="请输入用户名"
>
<i slot="prefix" class="iconfont icon-yonghuming" style="font-size: 24px" />
</a-input>
</a-form-item>
<a-form-item style="text-align: left">
<a-input
v-decorator="[
'password',
{
rules: [
{
required: true,
message: '请输入密码',
},
],
validateTrigger: 'submit',
},
]"
type="password"
placeholder="请输入密码"
>
<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>
</div> -->
</template>
<template v-if="loginway === 2">
<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>
<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">
</template>
<template v-if="loginway === 2">
<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>
<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>
</div> -->
</template>
</div>
</div>
</div>
</template>
</div>
</div>
</div>
</template>
<script>
@ -203,301 +146,300 @@ import timmer from "./components/countback.vue";
import Cookies from "js-cookie";
export default {
inject: ["reload"],
//
name: "",
//
components: {
timmer,
},
//
props: {},
//
data() {
return {
loginway: 1,
ischecked: false,
isauto: false, //
form: this.$form.createForm(this),
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: {
userhandleSubmit(e) {
//
e.preventDefault();
let params;
this.form.validateFields(async (err, values) => {
console.log(values);
if (!err) {
params = { ...values, loginType: 0 };
inject: ["reload"],
//
name: "",
//
components: {
timmer,
},
//
props: {},
//
data() {
return {
loginway: 1,
ischecked: false,
isauto: false, //
form: this.$form.createForm(this),
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: {
userhandleSubmit(e) {
//
e.preventDefault();
let params;
this.form.validateFields(async (err, values) => {
console.log(values);
if (!err) {
params = { ...values, loginType: 0 };
console.log(params);
try {
const { data } = await loginApi(params);
console.log(params);
try {
const { data } = await loginApi(params);
console.log(data);
if (data.status !== 200) {
this.$message.warning(data.msg);
return;
}
sessionStorage.setItem("LOGIN_DATA", JSON.stringify(data.data));
Cookies.set("LOGIN_DATA", JSON.stringify(data.data));
this.$router.push("/list");
this.reload();
// this.$router.push("/list");
} catch (err) {
console.log(err);
}
} else {
console.log(err);
}
});
},
phonehandleSubmit(e) {
e.preventDefault();
let params;
this.form1.validateFields(async (err, values) => {
console.log(err);
if (!err) {
params = { ...values, loginType: 1 };
try {
const { data } = await loginApi(params);
console.log(data);
if (data.status !== 200) {
this.$message.warning(data.msg);
return;
}
sessionStorage.setItem("LOGIN_DATA", JSON.stringify(data.data));
Cookies.set("LOGIN_DATA", JSON.stringify(data.data));
this.$router.push("/list");
this.reload();
} catch (err) {
console.log(err);
}
} else {
console.log(err);
}
});
},
async getPhoneCode() {
const that = this;
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");
// console.log(Cookies.get("LOGIN_DATA"));
this.reload();
// this.$router.push("/list");
} catch (err) {
console.log(err);
}
} else {
console.log(err);
}
});
},
phonehandleSubmit(e) {
e.preventDefault();
let params;
this.form1.validateFields(async (err, values) => {
console.log(err);
if (!err) {
params = { ...values, loginType: 1 };
try {
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);
}
} else {
console.log(err);
}
});
},
async getPhoneCode() {
const that = this;
this.form1.validateFields(["tel"], async (err, values) => {
console.log(values);
this.form1.validateFields(["tel"], async (err, values) => {
console.log(values);
if (!err) {
that.timedata.isfinish = false;
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);
},
},
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);
},
},
};
</script>
<style scoped lang="less">
.center {
width: 240px;
margin: 0 auto;
overflow: hidden;
/deep/ .login-form {
background-color: #fff !important;
}
.centerall {
margin: 0 auto;
}
.logo {
margin: 30px auto 0px;
text-align: center;
// img {
// width: 100%;
// height: 100%;
// }
svg {
width: 150px;
// height: 46px;
text-align: center;
font-size: 52px;
line-height: 52px;
// color: initial;
}
}
.loginchange {
display: flex;
width: 230px;
justify-content: space-between;
margin-top: 10px;
width: 240px;
margin: 0 auto;
overflow: hidden;
/deep/ .login-form {
background-color: #fff !important;
}
.centerall {
margin: 0 auto;
}
.logo {
margin: 30px auto 0px;
text-align: center;
// img {
// width: 100%;
// height: 100%;
// }
svg {
width: 150px;
// height: 46px;
text-align: center;
font-size: 52px;
line-height: 52px;
// color: initial;
}
}
.loginchange {
display: flex;
width: 230px;
justify-content: space-between;
margin-top: 10px;
.loginactive {
color: #4d575e;
border-bottom: 1px solid #4d575e;
}
li {
padding: 0 0 4px 0;
margin-bottom: 24px;
margin-top: 20px;
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;
// }
/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;
color: #4d575e;
}
.loginactive {
color: #4d575e;
border-bottom: 1px solid #4d575e;
}
li {
padding: 0 0 4px 0;
margin-bottom: 24px;
margin-top: 20px;
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;
// }
/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;
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: #ff4400;
}
&: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: 20px;
border-radius: 27px;
background-color: #ff4400;
font-size: 16px;
border: none;
color: white;
box-shadow: none;
&::after {
display: none;
}
&:hover {
background-color: #ff4400cc;
}
&:active {
background-color: #ff4400;
}
}
.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;
margin-top: -16px;
> span {
cursor: pointer;
line-height: 18px;
margin-top: 2px;
i {
color: #ff4400;
font-size: 14px;
vertical-align: middle;
margin-right: 5px;
}
input {
margin-top: -3px;
vertical-align: bottom;
}
label {
transition: all 0.2s;
font-size: 12px;
&:hover {
color: #ff4400;
}
}
}
a {
color: #4d575e;
}
}
.getrulecode {
// padding: 0 0 0 10px;
font-size: 12px;
width: 67px;
text-align: center;
border-left: 1px #cccccc solid;
line-height: 12px;
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: #ff4400;
}
&: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: 20px;
border-radius: 27px;
background-color: #ff4400;
font-size: 16px;
border: none;
color: white;
box-shadow: none;
&::after {
display: none;
}
&:hover {
background-color: #ff4400cc;
}
&:active {
background-color: #ff4400;
}
}
.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;
margin-top: -16px;
> span {
cursor: pointer;
line-height: 18px;
margin-top: 2px;
i {
color: #ff4400;
font-size: 14px;
vertical-align: middle;
margin-right: 5px;
}
input {
margin-top: -3px;
vertical-align: bottom;
}
label {
transition: all 0.2s;
font-size: 12px;
&:hover {
color: #ff4400;
}
}
}
a {
color: #4d575e;
}
}
.getrulecode {
// padding: 0 0 0 10px;
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;
}
}
}
span[data-mark="getcode"] {
padding: 0 0 0 5px;
cursor: pointer;
}
}
}
}
</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",
// "/register",
];
if (Cookies.get("LOGIN_DATA")) {
console.log(!sessionStorage.getItem("LOGIN_DATA"));
if (!sessionStorage.getItem("LOGIN_DATA")) {
console.log("notset");
sessionStorage.setItem("LOGIN_DATA", Cookies.get("LOGIN_DATA"));
}
if (localStorage.getItem("LOGIN_DATA")) {
var isLogin = true;
}
// 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,
h1,
@ -587,3 +587,14 @@ p.bottombox {
border-color: #ddd !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,
h1,
h2,
@ -526,3 +526,14 @@ p.bottombox::after {
border-color: #ddd !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 = [
{
id: "01",
name: "汉族",
},
{
id: "02",
name: "蒙古族",
},
{
id: "03",
name: "回族",
},
{
id: "04",
name: "藏族",
},
{
id: "05",
name: "维吾尔族",
},
{
id: "06",
name: "苗族",
},
{
id: "07",
name: "彝族",
},
{
id: "08",
name: "壮族",
},
{
id: "09",
name: "布依族",
},
{
id: "10",
name: "朝鲜族",
},
{
id: "11",
name: "满族",
},
{
id: "12",
name: "侗族",
},
{
id: "13",
name: "瑶族",
},
{
id: "14",
name: "白族",
},
{
id: "15",
name: "土家族",
},
{
id: "16",
name: "哈尼族",
},
{
id: "17",
name: "哈萨克族",
},
{
id: "18",
name: "傣族",
},
{
id: "19",
name: "黎族",
},
{
id: "20",
name: "傈僳族",
},
{
id: "21",
name: "佤族",
},
{
id: "22",
name: "畲族",
},
{
id: "23",
name: "高山族",
},
{
id: "24",
name: "拉祜族",
},
{
id: "25",
name: "水族",
},
{
id: "26",
name: "东乡族",
},
{
id: "27",
name: "纳西族",
},
{
id: "28",
name: "景颇族",
},
{
id: "29",
name: "柯尔克孜族",
},
{
id: "30",
name: "土族",
},
{
id: "31",
name: "达斡尔族",
},
{
id: "32",
name: "仫佬族",
},
{
id: "33",
name: "羌族",
},
{
id: "34",
name: "布朗族",
},
{
id: "35",
name: "撒拉族",
},
{
id: "36",
name: "毛难族",
},
{
id: "37",
name: "仡佬族",
},
{
id: "38",
name: "锡伯族",
},
{
id: "39",
name: "阿昌族",
},
{
id: "40",
name: "普米族",
},
{
id: "41",
name: "塔吉克族",
},
{
id: "42",
name: "怒族",
},
{
id: "43",
name: "乌孜别克族",
},
{
id: "44",
name: "俄罗斯族",
},
{
id: "45",
name: "鄂温克族",
},
{
id: "46",
name: "崩龙族",
},
{
id: "47",
name: "保安族",
},
{
id: "48",
name: "裕固族",
},
{
id: "49",
name: "京族",
},
{
id: "50",
name: "塔塔尔族",
},
{
id: "51",
name: "独龙族",
},
{
id: "52",
name: "鄂伦春族",
},
{
id: "53",
name: "赫哲族",
},
{
id: "54",
name: "门巴族",
},
{
id: "55",
name: "珞巴族",
},
{
id: "56",
name: "基诺族",
},
{
id: "57",
name: "其他",
},
{
id: "58",
name: "外国血统中国人士",
},
{
id: "01",
name: "汉族",
},
{
id: "02",
name: "蒙古族",
},
{
id: "03",
name: "回族",
},
{
id: "04",
name: "藏族",
},
{
id: "05",
name: "维吾尔族",
},
{
id: "06",
name: "苗族",
},
{
id: "07",
name: "彝族",
},
{
id: "08",
name: "壮族",
},
{
id: "09",
name: "布依族",
},
{
id: "10",
name: "朝鲜族",
},
{
id: "11",
name: "满族",
},
{
id: "12",
name: "侗族",
},
{
id: "13",
name: "瑶族",
},
{
id: "14",
name: "白族",
},
{
id: "15",
name: "土家族",
},
{
id: "16",
name: "哈尼族",
},
{
id: "17",
name: "哈萨克族",
},
{
id: "18",
name: "傣族",
},
{
id: "19",
name: "黎族",
},
{
id: "20",
name: "傈僳族",
},
{
id: "21",
name: "佤族",
},
{
id: "22",
name: "畲族",
},
{
id: "23",
name: "高山族",
},
{
id: "24",
name: "拉祜族",
},
{
id: "25",
name: "水族",
},
{
id: "26",
name: "东乡族",
},
{
id: "27",
name: "纳西族",
},
{
id: "28",
name: "景颇族",
},
{
id: "29",
name: "柯尔克孜族",
},
{
id: "30",
name: "土族",
},
{
id: "31",
name: "达斡尔族",
},
{
id: "32",
name: "仫佬族",
},
{
id: "33",
name: "羌族",
},
{
id: "34",
name: "布朗族",
},
{
id: "35",
name: "撒拉族",
},
{
id: "36",
name: "毛难族",
},
{
id: "37",
name: "仡佬族",
},
{
id: "38",
name: "锡伯族",
},
{
id: "39",
name: "阿昌族",
},
{
id: "40",
name: "普米族",
},
{
id: "41",
name: "塔吉克族",
},
{
id: "42",
name: "怒族",
},
{
id: "43",
name: "乌孜别克族",
},
{
id: "44",
name: "俄罗斯族",
},
{
id: "45",
name: "鄂温克族",
},
{
id: "46",
name: "崩龙族",
},
{
id: "47",
name: "保安族",
},
{
id: "48",
name: "裕固族",
},
{
id: "49",
name: "京族",
},
{
id: "50",
name: "塔塔尔族",
},
{
id: "51",
name: "独龙族",
},
{
id: "52",
name: "鄂伦春族",
},
{
id: "53",
name: "赫哲族",
},
{
id: "54",
name: "门巴族",
},
{
id: "55",
name: "珞巴族",
},
{
id: "56",
name: "基诺族",
},
{
id: "57",
name: "其他",
},
{
id: "58",
name: "外国血统中国人士",
},
];

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

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

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

Loading…
Cancel
Save