flat: 压缩图片,添加消息控制
102
App.vue
@@ -1,35 +1,28 @@
|
||||
<style lang="scss">
|
||||
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
|
||||
@import "@/uni_modules/uview-ui/index.scss";
|
||||
@import '@/uni_modules/uview-ui/index.scss';
|
||||
</style>
|
||||
<script>
|
||||
import website from '@/config/website.js'
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
import {
|
||||
GoLogin
|
||||
} from '@/untils/AxiosUtils.js';
|
||||
import website from '@/config/website.js';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||
// #ifdef H5
|
||||
import {
|
||||
setPlatformByHostName
|
||||
} from '@/untils/customized.js'
|
||||
import {
|
||||
reject
|
||||
} from 'lodash';
|
||||
import { setPlatformByHostName } from '@/untils/customized.js';
|
||||
import { reject } from 'lodash';
|
||||
// #endif
|
||||
|
||||
export default {
|
||||
onLaunch: function (options) {
|
||||
this.$store.dispatch('InitArea')
|
||||
this.$store.dispatch('InitArea');
|
||||
if (options.query.token) {
|
||||
this.tokenlogin(options.query.token).then(() => {
|
||||
this.$store.dispatch('getUserLocation')
|
||||
this.$store.dispatch('getMobileIsCms')
|
||||
this.$store.dispatch('getResumeInfo')
|
||||
})
|
||||
this.$store.dispatch('getUserLocation');
|
||||
this.$store.dispatch('getNoticeState');
|
||||
this.$store.dispatch('getMobileIsCms');
|
||||
this.$store.dispatch('getResumeInfo');
|
||||
});
|
||||
} else {
|
||||
this.$store.dispatch('FedLogOut')
|
||||
this.$store.dispatch('FedLogOut');
|
||||
}
|
||||
// if (options.query.token) {
|
||||
// // uni.reLaunch({
|
||||
@@ -45,7 +38,7 @@
|
||||
// }
|
||||
// #ifdef H5
|
||||
// 企业定制
|
||||
setPlatformByHostName(this.$store)
|
||||
setPlatformByHostName(this.$store);
|
||||
// #endif
|
||||
},
|
||||
onShow: function () {},
|
||||
@@ -53,8 +46,8 @@
|
||||
computed: {
|
||||
...mapGetters(['news', 'auth']),
|
||||
allUnread() {
|
||||
return this.news.allUnread
|
||||
}
|
||||
return this.news.allUnread;
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.$config.showTitle && document.documentElement.style.setProperty('--hide-title', 'block');
|
||||
@@ -63,57 +56,60 @@
|
||||
tokenlogin(token) {
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.showLoading({
|
||||
title: '登录中'
|
||||
})
|
||||
title: '登录中',
|
||||
});
|
||||
if (token) {
|
||||
const that = this
|
||||
this.$store.dispatch("LoginByUsername", {
|
||||
const that = this;
|
||||
this.$store
|
||||
.dispatch('LoginByUsername', {
|
||||
username: 'admin',
|
||||
password: "admin",
|
||||
password: 'admin',
|
||||
key: '',
|
||||
code: '1111',
|
||||
type: "account",
|
||||
type: 'account',
|
||||
token: token,
|
||||
tenantId: website.tenantId
|
||||
}).then((resp) => {
|
||||
this.$store.dispatch('refreshAuthState').then(() => {
|
||||
uni.hideLoading()
|
||||
resolve()
|
||||
tenantId: website.tenantId,
|
||||
})
|
||||
}).catch((err) => {
|
||||
uni.hideLoading()
|
||||
.then((resp) => {
|
||||
this.$store.dispatch('refreshAuthState').then(() => {
|
||||
uni.hideLoading();
|
||||
resolve();
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
uni.hideLoading();
|
||||
});
|
||||
} else {
|
||||
GoLogin()
|
||||
}
|
||||
})
|
||||
|
||||
GoLogin();
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
allUnread(value) {
|
||||
console.log('allUnread', value)
|
||||
if (!this.$api.haslogin()) {} else if (value > 0) {
|
||||
console.log('allUnread', value);
|
||||
if (!this.$api.haslogin()) {
|
||||
} else if (value > 0) {
|
||||
uni.showTabBarRedDot({
|
||||
index: 2
|
||||
})
|
||||
index: 2,
|
||||
});
|
||||
uni.$once('newsReadChange', () => {
|
||||
uni.showTabBarRedDot({
|
||||
index: 2
|
||||
})
|
||||
})
|
||||
index: 2,
|
||||
});
|
||||
});
|
||||
} else {
|
||||
uni.hideTabBarRedDot({
|
||||
index: 2
|
||||
})
|
||||
index: 2,
|
||||
});
|
||||
uni.$once('newsReadChange', () => {
|
||||
uni.hideTabBarRedDot({
|
||||
index: 2
|
||||
})
|
||||
})
|
||||
index: 2,
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@@ -116,3 +116,9 @@ export const newCertification = (bakvalue, realName, idNumber, cardNumber, bankC
|
||||
bankName
|
||||
}
|
||||
});
|
||||
// 电话联系
|
||||
export const getPhoneCountNumber = (params) => request({
|
||||
url: "/api/jobslink-api/serve/phone",
|
||||
method: 'get',
|
||||
data: params
|
||||
});
|
||||
@@ -27,7 +27,9 @@ export const contract = (params) => request({
|
||||
export const labourUnionDetail = (no) => request({
|
||||
url: "/api/jobslink-api/doc/jkLabourUnionAppl/list",
|
||||
method: 'get',
|
||||
params:{no}
|
||||
params: {
|
||||
no
|
||||
}
|
||||
});
|
||||
//提交会员申请
|
||||
export const saveApplication = (labourunionId, applType, applComment) => {
|
||||
@@ -35,7 +37,11 @@ export const saveApplication = (labourunionId,applType,applComment) =>{
|
||||
return request({
|
||||
url: "/api/jobslink-api/doc/jkLabourUnionDetail/save",
|
||||
method: 'post',
|
||||
data:{labourunionId,applType,applComment}
|
||||
data: {
|
||||
labourunionId,
|
||||
applType,
|
||||
applComment
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -43,5 +49,7 @@ export const saveApplication = (labourunionId,applType,applComment) =>{
|
||||
export const applicationInfo = (no) => request({
|
||||
url: "/api/jobslink-api/doc/jkLabourUnionDetail/list",
|
||||
method: 'get',
|
||||
params:{no}
|
||||
params: {
|
||||
no
|
||||
}
|
||||
});
|
||||
10
api/user.js
@@ -73,3 +73,13 @@ export const mobileIsCms = () => request({
|
||||
url: '/api/jobslink-api/mobile/isCms',
|
||||
method: 'get'
|
||||
})
|
||||
|
||||
export const noticeIsEnable = () => request({
|
||||
url: "/api/jobslink-api/desk/notice/isEnable",
|
||||
method: 'get',
|
||||
});
|
||||
|
||||
export const setNoticeIsEnable = (state) => request({
|
||||
url: "/api/jobslink-api/desk/notice/isEnable/" + state,
|
||||
method: 'PUT',
|
||||
});
|
||||
@@ -78,6 +78,11 @@
|
||||
投诉建议
|
||||
<image src="../../static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
<view class="btnList">
|
||||
<image src="../../static/img/vip.svg" mode=""></image>
|
||||
消息提醒
|
||||
<switch class="imgswitch" :checked="user.isEnbleNotice" @change="switch1Change" />
|
||||
</view>
|
||||
<template v-if="user.userIsCms">
|
||||
<view class="btnList" @click="navTo('/pageMy/admin/check')">
|
||||
<image src="../../static/img/check1.png" mode=""></image>
|
||||
@@ -160,6 +165,13 @@ export default {
|
||||
// this.labourUnionInfoInit()
|
||||
},
|
||||
methods: {
|
||||
switch1Change(e) {
|
||||
if (e.detail.value) {
|
||||
this.$store.dispatch('setNoticeOpen');
|
||||
} else {
|
||||
this.$store.dispatch('setNoticeClose');
|
||||
}
|
||||
},
|
||||
labourUnionInfoInit() {
|
||||
labourUnionInfo().then((e) => {
|
||||
this.federationStatus = e.data.data.joined;
|
||||
@@ -247,6 +259,11 @@ page {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.imgswitch {
|
||||
margin-left: auto;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.btnList image {
|
||||
width: 52rpx;
|
||||
height: 52rpx;
|
||||
|
||||
@@ -9,46 +9,30 @@
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
<!-- 开始时间:{{dateFormat((info.stime))}}至{{dateFormat((info.etime))}} -->
|
||||
开始时间:{{dateFormat((info.stime)) || '暂无'}}
|
||||
开始时间:{{ dateFormat(info.stime) || '暂无' }}
|
||||
</view>
|
||||
<!-- <view class="prolist">
|
||||
报名截止:{{dateFormat((info.etimePub))}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
招聘人数:{{info.peopleNum || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
行业类型:{{info.tradeNames || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
零工工种:{{info.worktypeNames || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">招聘人数:{{ info.peopleNum || '暂无' }}</view>
|
||||
<view class="prolist">行业类型:{{ info.tradeNames || '暂无' }}</view>
|
||||
<view class="prolist">零工工种:{{ info.worktypeNames || '暂无' }}</view>
|
||||
<!-- <view class="fee">
|
||||
{{info.wage || '暂无'}}
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
岗位要求
|
||||
<view class="proname proneed">岗位要求</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">年龄要求:{{ age[info.ageDesc] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
年龄要求:{{age[info.ageDesc] || '暂无'}}
|
||||
</view>
|
||||
<view class="protype">学历要求:{{ education[info.education] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
学历要求:{{education[info.education] || '暂无'}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
经验要求:{{experience[info.experienceDesc] || '暂无'}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="prolist proint" style="font-weight: bold;color:#333;">
|
||||
岗位描述
|
||||
<view class="protype">经验要求:{{ experience[info.experienceDesc] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist proint" style="font-weight: bold; color: #333">岗位描述</view>
|
||||
<view class="prolist description">
|
||||
{{ info.missionDesc || '暂无' }}
|
||||
</view>
|
||||
@@ -59,15 +43,16 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 技能标签 end -->
|
||||
<view v-if="info.jobSources" class="prolist">
|
||||
来源:{{info.jobSources || '暂无'}}
|
||||
</view>
|
||||
<view v-if="info.jobSources" class="prolist">来源:{{ info.jobSources || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<view style="display: flex;align-items: center;">
|
||||
<image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 20rpx;" mode="">
|
||||
</image>
|
||||
<view style="font-size: 30rpx;">{{info.missionCompanyName || '暂无'}}</view>
|
||||
<view style="display: flex; align-items: center">
|
||||
<image
|
||||
src="../../static/img/city.png"
|
||||
style="width: 40rpx; height: 40rpx; margin-right: 20rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view style="font-size: 30rpx">{{ info.missionCompanyName || '暂无' }}</view>
|
||||
</view>
|
||||
<!-- <view class="proname proneed">
|
||||
企业信息
|
||||
@@ -77,9 +62,7 @@
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
地址
|
||||
</view>
|
||||
<view class="proname proneed">地址</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
联系人:{{info.callName}}
|
||||
@@ -94,78 +77,121 @@
|
||||
<!-- <view class="prolist">
|
||||
用工单位地址:{{info.companyAddress || '暂无'}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
注册地址:{{info.cityId || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
工作地址:{{info.address || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">注册地址:{{ info.cityId || '暂无' }}</view>
|
||||
<view class="prolist">工作地址:{{ info.address || '暂无' }}</view>
|
||||
<view class="map">
|
||||
<super-map ref="uMap" style="width: 100%;height: 100%;" :latitude="latitude" :longitude="longitude"
|
||||
:open="true" :zoom="14" :min-zoom="10" :max-zoom="20" :MapUrl="$config.supperMap" :init="false"
|
||||
:flag-tip="false"></super-map>
|
||||
<super-map
|
||||
ref="uMap"
|
||||
style="width: 100%; height: 100%"
|
||||
:latitude="latitude"
|
||||
:longitude="longitude"
|
||||
:open="true"
|
||||
:zoom="14"
|
||||
:min-zoom="10"
|
||||
:max-zoom="20"
|
||||
:MapUrl="$config.supperMap"
|
||||
:init="false"
|
||||
:flag-tip="false"
|
||||
></super-map>
|
||||
</view>
|
||||
<!-- <map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></map> -->
|
||||
</view>
|
||||
<view class="" style="height:200rpx;background-color: #f6f6f6;" v-if="isShow!=='0'"></view>
|
||||
<view class="" style="height: 200rpx; background-color: #f6f6f6" v-if="isShow !== '0'"></view>
|
||||
<view class="btn" v-if="isShow !== '0' && status === 0">
|
||||
<view @click="collect"
|
||||
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
|
||||
mode=""></image>
|
||||
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||
<view
|
||||
@click="collect"
|
||||
style="display: flex; align-items: center; margin-right: 10rpx; flex-direction: column"
|
||||
>
|
||||
<image
|
||||
v-if="collectStatus == 0"
|
||||
src="../../static/img/collect.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<image
|
||||
v-if="collectStatus == 1"
|
||||
src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx; color: #707070; margin-top: 10rpx">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx; color: #707070; margin-top: 10rpx">
|
||||
已收藏
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
<view @click="submit" class="bottombtn flexbtn"
|
||||
:style="{backgroundColor: applyopen ? '#999999' : '#1B66FF'}">
|
||||
<view
|
||||
@click="submit"
|
||||
class="bottombtn flexbtn"
|
||||
:style="{ backgroundColor: applyopen ? '#999999' : '#1B66FF' }"
|
||||
>
|
||||
申请
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn" v-if="isShow !== '0' && status !== 0">
|
||||
<!-- <view class="bottombtn lookContract" @click="lookMask">查看合同</view> -->
|
||||
<view @click="collect"
|
||||
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
|
||||
mode=""></image>
|
||||
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||
<view
|
||||
@click="collect"
|
||||
style="display: flex; align-items: center; margin-right: 10rpx; flex-direction: column"
|
||||
>
|
||||
<image
|
||||
v-if="collectStatus == 0"
|
||||
src="../../static/img/collect.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<image
|
||||
v-if="collectStatus == 1"
|
||||
src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx; color: #707070; margin-top: 10rpx">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx; color: #707070; margin-top: 10rpx">
|
||||
已收藏
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx;">已申请</view>
|
||||
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx">已申请</view>
|
||||
</view>
|
||||
<uniMask :maskShow="maskShow">
|
||||
<view class="contractMask">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="close" @click="close" style="top: 124rpx;">+</view>
|
||||
<view class="close" @click="close" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="close" @click="close">+</view>
|
||||
<!-- #endif -->
|
||||
<view style="height: 30px;"></view>
|
||||
<img :src="src" alt="" style="width:100%;height: 1000px;">
|
||||
<view style="height: 30px"></view>
|
||||
<img :src="src" alt="" style="width: 100%; height: 1000px" />
|
||||
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||
</view>
|
||||
</uniMask>
|
||||
<u-popup closeable :show="showPopUp" mode="bottom" @close="closePopUp">
|
||||
<view style="height: 200rpx;padding: 20rpx 40rpx;">
|
||||
<view style="font-size: 28rpx;font-weight: bold;">重要提示:</view>
|
||||
<view style="font-size: 24rpx;color:#707070;margin-top:10rpx;">为保障个人基本劳动权益,建议通过平台用工的形式就业</view>
|
||||
<view style="text-align: center;font-size:28rpx;margin-top: 30rpx;"> {{ info.callName || '联系人'}} :
|
||||
<span style="color: blue" v-if="info.callTel"
|
||||
@click="tools.onDialingPhoneNumber(info.callTel)">{{ info.callTel }}</span>
|
||||
<view style="height: 200rpx; padding: 20rpx 40rpx">
|
||||
<view style="font-size: 28rpx; font-weight: bold">重要提示:</view>
|
||||
<view style="font-size: 24rpx; color: #707070; margin-top: 10rpx">
|
||||
为保障个人基本劳动权益,建议通过平台用工的形式就业
|
||||
</view>
|
||||
<view style="text-align: center; font-size: 28rpx; margin-top: 30rpx">
|
||||
{{ info.callName || '联系人' }} :
|
||||
<span style="color: blue" v-if="info.callTel" @click="tools.onDialingPhoneNumber(info.callTel)">
|
||||
{{ info.callTel }}
|
||||
</span>
|
||||
<span style="color: #333333" v-else>无联系方式</span>
|
||||
</view>
|
||||
</view>
|
||||
@@ -174,7 +200,7 @@
|
||||
|
||||
<view v-else-if="showCode" class="codeSealBox">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="closeCode" @click="closeShowCode">+</view>
|
||||
@@ -184,46 +210,26 @@
|
||||
<view class="name">签名密码</view>
|
||||
<view class="tip">6位数字签名密码</view>
|
||||
</view>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<view class="forget" @click="forget">忘记密码?</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
import {
|
||||
missionDetail,
|
||||
missionDetailById,
|
||||
submit,
|
||||
getCollectState,
|
||||
updateCollectStatus
|
||||
} from '@/api/mission.js';
|
||||
import {
|
||||
GoLogin
|
||||
} from '@/untils/AxiosUtils.js';
|
||||
import {
|
||||
setRead
|
||||
} from '@/api/news.js';
|
||||
import {
|
||||
checkPass
|
||||
} from '@/api/auth.js';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { missionDetail, missionDetailById, submit, getCollectState, updateCollectStatus } from '@/api/mission.js';
|
||||
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||
import { setRead } from '@/api/news.js';
|
||||
import { checkPass, getPhoneCountNumber } from '@/api/auth.js';
|
||||
import dictionary from '@/common/textdata.js';
|
||||
import {
|
||||
dateFormat
|
||||
} from "../../untils/format.js";
|
||||
import uniMask from '@/components/uni-mask/mask.vue'
|
||||
import uniPopup from '@/components/uni-popup/uni-popup.vue'
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
||||
import {
|
||||
AddressToLocation
|
||||
} from '@/untils/addressToLocation.js'
|
||||
import {
|
||||
add
|
||||
} from 'lodash';
|
||||
import { dateFormat } from '../../untils/format.js';
|
||||
import uniMask from '@/components/uni-mask/mask.vue';
|
||||
import uniPopup from '@/components/uni-popup/uni-popup.vue';
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue';
|
||||
import { AddressToLocation } from '@/untils/addressToLocation.js';
|
||||
import { add } from 'lodash';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -237,15 +243,18 @@
|
||||
loading: false,
|
||||
latitude: 31.126855, //中心点
|
||||
longitude: 104.397894,
|
||||
covers: [{ //marker标记位置
|
||||
covers: [
|
||||
{
|
||||
//marker标记位置
|
||||
id: 0,
|
||||
latitude: 31.126855,
|
||||
longitude: 104.397894,
|
||||
// width:30,
|
||||
// height:30,
|
||||
iconPath: '../../static/img/location.png'
|
||||
}],
|
||||
missionNo: "",
|
||||
iconPath: '../../static/img/location.png',
|
||||
},
|
||||
],
|
||||
missionNo: '',
|
||||
isShow: '',
|
||||
type: '',
|
||||
id: '',
|
||||
@@ -254,15 +263,16 @@
|
||||
collectStatus: 0, // 收藏状态
|
||||
showPopUp: false,
|
||||
isInvite: false,
|
||||
applyopen: false
|
||||
}
|
||||
applyopen: false,
|
||||
};
|
||||
},
|
||||
components: {
|
||||
uniMask,
|
||||
validCode,
|
||||
uniPopup
|
||||
uniPopup,
|
||||
},
|
||||
onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
|
||||
onLoad: function (option) {
|
||||
//option为object类型,会序列化上个页面传递的参数
|
||||
// this.$store.dispatch('setAutograph')
|
||||
if (option.missionNo) {
|
||||
this.missionNo = decodeURIComponent(option.missionNo);
|
||||
@@ -277,47 +287,47 @@
|
||||
this.id = option.id; //消息id
|
||||
}
|
||||
if (option.isInvite) {
|
||||
this.isInvite = true
|
||||
this.isInvite = true;
|
||||
}
|
||||
},
|
||||
onShow: function () {
|
||||
this.showDetail = true
|
||||
this.showDetail = true;
|
||||
this.getData();
|
||||
|
||||
},
|
||||
onShareAppMessage(obj) {
|
||||
return {
|
||||
title: this.info.missionTitle,
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`
|
||||
}
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
dateFormat,
|
||||
collect() {
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
// console.log('收藏,取消收藏')
|
||||
const status = this.collectStatus == 0 ? 1 : 0;
|
||||
updateCollectStatus(this.info.id, status, 0).then(res => {
|
||||
updateCollectStatus(this.info.id, status, 0).then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
this.getCollectStatus()
|
||||
this.getCollectStatus();
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
callPhone() {
|
||||
async callPhone() {
|
||||
getPhoneCountNumber();
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
this.showPopUp = true;
|
||||
},
|
||||
@@ -326,21 +336,22 @@
|
||||
},
|
||||
// 获取收藏状态
|
||||
getCollectStatus() {
|
||||
getCollectState(this.info.id, 0).then(res => {
|
||||
getCollectState(this.info.id, 0).then((res) => {
|
||||
// 0 未收藏,1 已收藏
|
||||
// console.log(res)
|
||||
this.collectStatus = res.data.data;
|
||||
})
|
||||
});
|
||||
},
|
||||
getData: function () {
|
||||
const self = this;
|
||||
let detail = null
|
||||
let detail = null;
|
||||
if (this.isInvite) {
|
||||
detail = missionDetailById
|
||||
detail = missionDetailById;
|
||||
} else {
|
||||
detail = missionDetail
|
||||
detail = missionDetail;
|
||||
}
|
||||
detail(self.missionNo).then(res => {
|
||||
detail(self.missionNo).then(
|
||||
(res) => {
|
||||
self.info = res.data.data;
|
||||
self.status = res.data.data.detailStatus;
|
||||
// AddressToLocation({
|
||||
@@ -360,46 +371,47 @@
|
||||
self.$refs.uMap.initMap({
|
||||
lat: self.info.lat,
|
||||
lon: self.info.lon,
|
||||
})
|
||||
});
|
||||
}
|
||||
if (res.data.data.missionNo.search('ZKRD') >= 0) {
|
||||
self.applyopen = true
|
||||
self.applyopen = true;
|
||||
}
|
||||
self.showDetail = true;
|
||||
self.getCollectStatus();
|
||||
if (self.type === 1) {
|
||||
// 设置已读
|
||||
setRead(self.id).then(res => {
|
||||
self.$store.commit("SET_READ");
|
||||
})
|
||||
}
|
||||
}, error => {
|
||||
console.log(error);
|
||||
setRead(self.id).then((res) => {
|
||||
self.$store.commit('SET_READ');
|
||||
});
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
console.log(error);
|
||||
}
|
||||
);
|
||||
},
|
||||
submit: function () {
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.applyopen) return;
|
||||
const _that = this
|
||||
const _that = this;
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '请确认申请,申请后不能撤销',
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
if (_that.loading) return
|
||||
const auth = _that.auth
|
||||
const contractOn = _that.info.contractOn
|
||||
const sealOk = _that.autograph && _that.autograph.data && _that.autograph
|
||||
.data.signSrcUrl
|
||||
if (_that.loading) return;
|
||||
const auth = _that.auth;
|
||||
const contractOn = _that.info.contractOn;
|
||||
const sealOk = _that.autograph && _that.autograph.data && _that.autograph.data.signSrcUrl;
|
||||
// if (sealOk) {
|
||||
// console.log('直接抢任务')
|
||||
// this.submitTask()
|
||||
@@ -410,86 +422,91 @@
|
||||
// this.goSign(1)
|
||||
// } else
|
||||
if (contractOn && !sealOk) {
|
||||
_that.goSign(2)
|
||||
_that.goSign(2);
|
||||
} else if (sealOk && contractOn) {
|
||||
_that.nextBtn = true
|
||||
_that.lookMask()
|
||||
_that.nextBtn = true;
|
||||
_that.lookMask();
|
||||
} else {
|
||||
_that.submitTask()
|
||||
_that.submitTask();
|
||||
}
|
||||
} else if (res.cancel) {
|
||||
_that.$api.msg('取消申请')
|
||||
}
|
||||
_that.$api.msg('取消申请');
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
// 查看合同
|
||||
lookMask() {
|
||||
this.maskShow = true
|
||||
this.maskShow = true;
|
||||
},
|
||||
// 抢任务
|
||||
submitTask() {
|
||||
submit(this.missionNo, 0).then(res => {
|
||||
uni.hideLoading()
|
||||
submit(this.missionNo, 0).then(
|
||||
(res) => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '操作成功',
|
||||
icon: 'none'
|
||||
icon: 'none',
|
||||
});
|
||||
this.status = null;
|
||||
this.loading = false
|
||||
}, error => {
|
||||
this.loading = false
|
||||
});
|
||||
this.loading = false;
|
||||
},
|
||||
(error) => {
|
||||
this.loading = false;
|
||||
}
|
||||
);
|
||||
},
|
||||
// 步骤
|
||||
goSign(active) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/projectInfo/signContract?active=${active}`
|
||||
})
|
||||
url: `/pages/projectInfo/signContract?active=${active}`,
|
||||
});
|
||||
},
|
||||
// 关闭弹窗
|
||||
close() {
|
||||
this.maskShow = false
|
||||
this.maskShow = false;
|
||||
},
|
||||
// 合同下一步
|
||||
next() {
|
||||
this.maskShow = false
|
||||
this.showDetail = false
|
||||
this.showCode = true
|
||||
this.maskShow = false;
|
||||
this.showDetail = false;
|
||||
this.showCode = true;
|
||||
},
|
||||
// 输入签名密码
|
||||
getInpCode(password) {
|
||||
uni.showLoading({
|
||||
title: "请求中..."
|
||||
})
|
||||
this.loading = true
|
||||
title: '请求中...',
|
||||
});
|
||||
this.loading = true;
|
||||
var obj = {
|
||||
pass: password
|
||||
}
|
||||
checkPass(obj).then(res => {
|
||||
this.submitTask()
|
||||
this.closeShowCode()
|
||||
}).catch(err => {
|
||||
this.loading = false
|
||||
pass: password,
|
||||
};
|
||||
checkPass(obj)
|
||||
.then((res) => {
|
||||
this.submitTask();
|
||||
this.closeShowCode();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 关闭签名密码弹窗
|
||||
closeShowCode() {
|
||||
this.showCode = false
|
||||
this.showDetail = true
|
||||
this.showCode = false;
|
||||
this.showDetail = true;
|
||||
},
|
||||
// 忘记密码
|
||||
forget() {
|
||||
uni.navigateTo({
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`
|
||||
})
|
||||
}
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`,
|
||||
});
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['auth', 'autograph', 'area']),
|
||||
skillNames() {
|
||||
if (this.info.skillNames) {
|
||||
return this.info.skillNames.split(',')
|
||||
return this.info.skillNames.split(',');
|
||||
}
|
||||
},
|
||||
// cityNamed() {
|
||||
@@ -500,8 +517,8 @@
|
||||
// return '无'
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@@ -512,7 +529,7 @@
|
||||
position: absolute;
|
||||
right: 36rpx;
|
||||
top: 120rpx;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
transform: rotate(45deg);
|
||||
font-size: 40px;
|
||||
}
|
||||
@@ -546,15 +563,14 @@
|
||||
font-size: 28rpx;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #5AA0FA;
|
||||
color: #5aa0fa;
|
||||
line-height: 38rpx;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.contractMask {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
margin: 30rpx;
|
||||
position: relative;
|
||||
border-radius: 4px;
|
||||
@@ -564,7 +580,7 @@
|
||||
.close {
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
position: fixed;
|
||||
right: 60rpx;
|
||||
top: 60rpx;
|
||||
@@ -580,10 +596,10 @@
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
text-align: center;
|
||||
background: #1B66FF;
|
||||
background: #1b66ff;
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -597,7 +613,7 @@
|
||||
}
|
||||
|
||||
.bottombtn {
|
||||
background-color: #1B66FF;
|
||||
background-color: #1b66ff;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-family: PingFangSC-Medium;
|
||||
@@ -646,7 +662,6 @@
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
margin: 20rpx 0;
|
||||
|
||||
}
|
||||
|
||||
.proint {
|
||||
@@ -656,13 +671,12 @@
|
||||
|
||||
.proneed {
|
||||
font-size: 32rpx !important;
|
||||
|
||||
}
|
||||
|
||||
.fee {
|
||||
font-family: PingFangSC-Medium;
|
||||
font-size: 32rpx;
|
||||
color: #F46161;
|
||||
color: #f46161;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,49 +9,41 @@
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
<!-- 开始时间:{{dateFormat((info.stime))}}至{{dateFormat((info.etime))}} -->
|
||||
开始时间:{{dateFormat((info.stime)) || '暂无'}}
|
||||
开始时间:{{ dateFormat(info.stime) || '暂无' }}
|
||||
</view>
|
||||
<!-- <view class="prolist">
|
||||
报名截止:{{dateFormat((info.etimePub))}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
招聘人数:{{info.peopleNum || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
行业类型:{{info.tradeNames || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
零工工种:{{info.worktypeNames || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">招聘人数:{{ info.peopleNum || '暂无' }}</view>
|
||||
<view class="prolist">行业类型:{{ info.tradeNames || '暂无' }}</view>
|
||||
<view class="prolist">零工工种:{{ info.worktypeNames || '暂无' }}</view>
|
||||
<!-- <view class="fee">
|
||||
{{info.wage || '暂无'}}
|
||||
</view> -->
|
||||
<view class="position_right" v-if="info.reviewState === 1"
|
||||
@click="navTo(`/pages/projectInfo/sub/inviteList?jobType=${info.jobType}&id=${info.id}&createUserId=${info.createUserId}`)">
|
||||
邀请用户</view>
|
||||
<view
|
||||
class="position_right"
|
||||
v-if="info.reviewState === 1"
|
||||
@click="
|
||||
navTo(
|
||||
`/pages/projectInfo/sub/inviteList?jobType=${info.jobType}&id=${info.id}&createUserId=${info.createUserId}`
|
||||
)
|
||||
"
|
||||
>
|
||||
邀请用户
|
||||
</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
岗位要求
|
||||
<view class="proname proneed">岗位要求</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">年龄要求:{{ age[info.ageDesc] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
年龄要求:{{age[info.ageDesc] || '暂无'}}
|
||||
</view>
|
||||
<view class="protype">学历要求:{{ education[info.education] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
学历要求:{{education[info.education] || '暂无'}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
经验要求:{{experience[info.experienceDesc] || '暂无'}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="prolist proint" style="font-weight: bold;color:#333;">
|
||||
岗位描述
|
||||
<view class="protype">经验要求:{{ experience[info.experienceDesc] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist proint" style="font-weight: bold; color: #333">岗位描述</view>
|
||||
<view class="prolist description">
|
||||
{{ info.jobDescription || '暂无' }}
|
||||
</view>
|
||||
@@ -62,15 +54,16 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 技能标签 end -->
|
||||
<view v-if="info.jobSources" class="prolist">
|
||||
来源:{{info.jobSources || '暂无'}}
|
||||
</view>
|
||||
<view v-if="info.jobSources" class="prolist">来源:{{ info.jobSources || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<view style="display: flex;align-items: center;">
|
||||
<image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 20rpx;" mode="">
|
||||
</image>
|
||||
<view style="font-size: 30rpx;">{{info.jobCompanyName || '暂无'}}</view>
|
||||
<view style="display: flex; align-items: center">
|
||||
<image
|
||||
src="../../static/img/city.png"
|
||||
style="width: 40rpx; height: 40rpx; margin-right: 20rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view style="font-size: 30rpx">{{ info.jobCompanyName || '暂无' }}</view>
|
||||
</view>
|
||||
<!-- <view class="proname proneed">
|
||||
企业信息
|
||||
@@ -80,9 +73,7 @@
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
地址
|
||||
</view>
|
||||
<view class="proname proneed">地址</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
联系人:{{info.callName}}
|
||||
@@ -97,78 +88,116 @@
|
||||
<!-- <view class="prolist">
|
||||
公司地址:{{info.companyAddress || '暂无'}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
注册地址:{{info.cityId || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
工作地址:{{info.address || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">注册地址:{{ info.cityId || '暂无' }}</view>
|
||||
<view class="prolist">工作地址:{{ info.address || '暂无' }}</view>
|
||||
<view class="map">
|
||||
<!-- <seeLocation ref="cMap" :apikey="$config.apiKey"></seeLocation> -->
|
||||
<super-map ref="uMap" style="width: 100%;height: 100%;" :latitude="latitude" :longitude="longitude"
|
||||
:open="true" :zoom="14" :min-zoom="10" :max-zoom="20" :MapUrl="$config.supperMap" :init="false"
|
||||
:flag-tip="false"></super-map>
|
||||
<super-map
|
||||
ref="uMap"
|
||||
style="width: 100%; height: 100%"
|
||||
:latitude="latitude"
|
||||
:longitude="longitude"
|
||||
:open="true"
|
||||
:zoom="14"
|
||||
:min-zoom="10"
|
||||
:max-zoom="20"
|
||||
:MapUrl="$config.supperMap"
|
||||
:init="false"
|
||||
:flag-tip="false"
|
||||
></super-map>
|
||||
</view>
|
||||
<!-- <map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></map> -->
|
||||
</view>
|
||||
<view class="" style="height:200rpx;background-color: #f6f6f6;" v-if="isShow!=='0'"></view>
|
||||
<view class="" style="height: 200rpx; background-color: #f6f6f6" v-if="isShow !== '0'"></view>
|
||||
<view class="btn" v-if="isShow !== '0' && status === 0">
|
||||
<view @click="collect"
|
||||
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
|
||||
mode=""></image>
|
||||
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||
<view
|
||||
@click="collect"
|
||||
style="display: flex; align-items: center; margin-right: 10rpx; flex-direction: column"
|
||||
>
|
||||
<image
|
||||
v-if="collectStatus == 0"
|
||||
src="../../static/img/collect.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<image
|
||||
v-if="collectStatus == 1"
|
||||
src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx; color: #707070; margin-top: 10rpx">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx; color: #707070; margin-top: 10rpx">
|
||||
已收藏
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
<view @click="submit" class="bottombtn flexbtn" style="border-radius: 45rpx;">
|
||||
申请
|
||||
</view>
|
||||
<view @click="submit" class="bottombtn flexbtn" style="border-radius: 45rpx">申请</view>
|
||||
</view>
|
||||
<view class="btn" v-if="!jobType && isShow !== '0' && status !== 0">
|
||||
<!-- <view class="bottombtn lookContract" @click="lookMask">查看合同</view> -->
|
||||
<view @click="collect"
|
||||
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
|
||||
mode=""></image>
|
||||
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||
<view
|
||||
@click="collect"
|
||||
style="display: flex; align-items: center; margin-right: 10rpx; flex-direction: column"
|
||||
>
|
||||
<image
|
||||
v-if="collectStatus == 0"
|
||||
src="../../static/img/collect.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<image
|
||||
v-if="collectStatus == 1"
|
||||
src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx; color: #707070; margin-top: 10rpx">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx; color: #707070; margin-top: 10rpx">
|
||||
已收藏
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx;">已申请</view>
|
||||
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx">已申请</view>
|
||||
</view>
|
||||
<uniMask :maskShow="maskShow">
|
||||
<view class="contractMask">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="close" @click="close" style="top: 124rpx;">+</view>
|
||||
<view class="close" @click="close" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="close" @click="close">+</view>
|
||||
<!-- #endif -->
|
||||
<view style="height: 30px;"></view>
|
||||
<img :src="src" alt="" style="width:100%;height: 1000px;">
|
||||
<view style="height: 30px"></view>
|
||||
<img :src="src" alt="" style="width: 100%; height: 1000px" />
|
||||
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||
</view>
|
||||
</uniMask>
|
||||
<u-popup closeable :show="showPopUp" mode="bottom" @close="closePopUp">
|
||||
<view style="height: 200rpx;padding: 20rpx 40rpx;">
|
||||
<view style="font-size: 28rpx;font-weight: bold;">重要提示:</view>
|
||||
<view style="font-size: 24rpx;color:#707070;margin-top:10rpx;">为保障个人基本劳动权益,建议通过平台用工的形式就业</view>
|
||||
<view style="text-align: center;font-size:28rpx;margin-top: 30rpx;"> {{ info.callName || '联系人'}} :
|
||||
<span style="color: blue" v-if="info.callTel"
|
||||
@click="tools.onDialingPhoneNumber(info.callTel)">{{ info.callTel }}</span>
|
||||
<view style="height: 200rpx; padding: 20rpx 40rpx">
|
||||
<view style="font-size: 28rpx; font-weight: bold">重要提示:</view>
|
||||
<view style="font-size: 24rpx; color: #707070; margin-top: 10rpx">
|
||||
为保障个人基本劳动权益,建议通过平台用工的形式就业
|
||||
</view>
|
||||
<view style="text-align: center; font-size: 28rpx; margin-top: 30rpx">
|
||||
{{ info.callName || '联系人' }} :
|
||||
<span style="color: blue" v-if="info.callTel" @click="tools.onDialingPhoneNumber(info.callTel)">
|
||||
{{ info.callTel }}
|
||||
</span>
|
||||
<span style="color: #333333" v-else>无联系方式</span>
|
||||
</view>
|
||||
</view>
|
||||
@@ -177,7 +206,7 @@
|
||||
|
||||
<view v-else-if="showCode" class="codeSealBox">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="closeCode" @click="closeShowCode">+</view>
|
||||
@@ -187,46 +216,26 @@
|
||||
<view class="name">签名密码</view>
|
||||
<view class="tip">6位数字签名密码</view>
|
||||
</view>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<view class="forget" @click="forget">忘记密码?</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
import {
|
||||
missionDetail,
|
||||
submit,
|
||||
getCollectState,
|
||||
updateCollectStatus,
|
||||
workDetail
|
||||
} from '@/api/mission.js';
|
||||
import {
|
||||
GoLogin
|
||||
} from '@/untils/AxiosUtils.js';
|
||||
import {
|
||||
setRead
|
||||
} from '@/api/news.js';
|
||||
import {
|
||||
checkPass
|
||||
} from '@/api/auth.js';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { missionDetail, submit, getCollectState, updateCollectStatus, workDetail } from '@/api/mission.js';
|
||||
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||
import { setRead } from '@/api/news.js';
|
||||
import { checkPass, getPhoneCountNumber } from '@/api/auth.js';
|
||||
import dictionary from '@/common/textdata.js';
|
||||
import {
|
||||
dateFormat
|
||||
} from "../../untils/format.js";
|
||||
import {
|
||||
userrecruitDetail
|
||||
} from '@/api/userrecruit.js'
|
||||
import uniMask from '@/components/uni-mask/mask.vue'
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
||||
import { dateFormat } from '../../untils/format.js';
|
||||
import { userrecruitDetail } from '@/api/userrecruit.js';
|
||||
import uniMask from '@/components/uni-mask/mask.vue';
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue';
|
||||
import seeLocation from '@/components/sylj-selectLocation/seeLocation.vue';
|
||||
import {
|
||||
getuserrecruitDetailApp
|
||||
} from '@/api/userrecruit.js'
|
||||
import { getuserrecruitDetailApp } from '@/api/userrecruit.js';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -240,15 +249,18 @@
|
||||
loading: false,
|
||||
latitude: 30.70032, //中心点
|
||||
longitude: 104.05235,
|
||||
covers: [{ //marker标记位置
|
||||
covers: [
|
||||
{
|
||||
//marker标记位置
|
||||
id: 0,
|
||||
latitude: 0,
|
||||
longitude: 0,
|
||||
// width:30,
|
||||
// height:30,
|
||||
iconPath: '../../static/img/location.png'
|
||||
}],
|
||||
missionNo: "",
|
||||
iconPath: '../../static/img/location.png',
|
||||
},
|
||||
],
|
||||
missionNo: '',
|
||||
isShow: '',
|
||||
type: '',
|
||||
id: '',
|
||||
@@ -256,15 +268,16 @@
|
||||
maxlength: 6,
|
||||
collectStatus: 0, // 收藏状态
|
||||
showPopUp: false,
|
||||
jobType: null
|
||||
}
|
||||
jobType: null,
|
||||
};
|
||||
},
|
||||
components: {
|
||||
uniMask,
|
||||
validCode,
|
||||
seeLocation
|
||||
seeLocation,
|
||||
},
|
||||
onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
|
||||
onLoad: function (option) {
|
||||
//option为object类型,会序列化上个页面传递的参数
|
||||
// this.$store.dispatch('setAutograph')
|
||||
if (option.workId) {
|
||||
this.workId = decodeURIComponent(option.workId);
|
||||
@@ -279,48 +292,48 @@
|
||||
this.id = option.id; //消息id
|
||||
}
|
||||
if (option.jobType) {
|
||||
this.jobType = option.jobType
|
||||
this.jobType = option.jobType;
|
||||
}
|
||||
},
|
||||
onShow: function () {
|
||||
this.showDetail = true
|
||||
this.showDetail = true;
|
||||
this.getData();
|
||||
|
||||
},
|
||||
onShareAppMessage(obj) {
|
||||
return {
|
||||
title: this.info.missionTitle,
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`
|
||||
}
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
dateFormat,
|
||||
collect() {
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
// console.log('收藏,取消收藏')
|
||||
const status = this.collectStatus == 0 ? 1 : 0;
|
||||
updateCollectStatus(this.info.id, status, 2).then(res => {
|
||||
updateCollectStatus(this.info.id, status, 2).then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
this.getCollectStatus()
|
||||
this.getCollectStatus();
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
callPhone() {
|
||||
async callPhone() {
|
||||
getPhoneCountNumber();
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
this.showPopUp = true;
|
||||
},
|
||||
@@ -329,22 +342,22 @@
|
||||
},
|
||||
// 获取收藏状态
|
||||
getCollectStatus() {
|
||||
getCollectState(this.info.id, 2).then(res => {
|
||||
getCollectState(this.info.id, 2).then((res) => {
|
||||
// 0 未收藏,1 已收藏
|
||||
// console.log(res)
|
||||
this.collectStatus = res.data.data;
|
||||
})
|
||||
});
|
||||
},
|
||||
async getData() {
|
||||
const self = this;
|
||||
let resData = null
|
||||
let resData = null;
|
||||
if (this.jobType) {
|
||||
resData = await getuserrecruitDetailApp({
|
||||
id: this.id,
|
||||
jobType: this.jobType
|
||||
})
|
||||
jobType: this.jobType,
|
||||
});
|
||||
} else {
|
||||
resData = await userrecruitDetail(self.workId)
|
||||
resData = await userrecruitDetail(self.workId);
|
||||
}
|
||||
if (resData.data?.code === 200) {
|
||||
self.info = resData.data.data;
|
||||
@@ -358,7 +371,7 @@
|
||||
self.$refs.uMap.initMap({
|
||||
lat: self.info.lat,
|
||||
lon: self.info.lon,
|
||||
})
|
||||
});
|
||||
}
|
||||
// this.$refs.cMap.open()
|
||||
self.showDetail = true;
|
||||
@@ -366,34 +379,33 @@
|
||||
self.getCollectStatus();
|
||||
if (self.type === 1) {
|
||||
// 设置已读
|
||||
setRead(self.id).then(res => {
|
||||
self.$store.commit("SET_READ");
|
||||
})
|
||||
setRead(self.id).then((res) => {
|
||||
self.$store.commit('SET_READ');
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
submit: function () {
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
const _that = this
|
||||
const _that = this;
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '请确认申请,申请后不能撤销',
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
if (_that.loading) return
|
||||
const auth = _that.auth
|
||||
const contractOn = _that.info.contractOn
|
||||
const sealOk = _that.autograph && _that.autograph.data && _that.autograph
|
||||
.data.signSrcUrl
|
||||
if (_that.loading) return;
|
||||
const auth = _that.auth;
|
||||
const contractOn = _that.info.contractOn;
|
||||
const sealOk = _that.autograph && _that.autograph.data && _that.autograph.data.signSrcUrl;
|
||||
// if (sealOk) {
|
||||
// console.log('直接抢任务')
|
||||
// this.submitTask()
|
||||
@@ -404,86 +416,91 @@
|
||||
// this.goSign(1)
|
||||
// } else
|
||||
if (contractOn && !sealOk) {
|
||||
_that.goSign(2)
|
||||
_that.goSign(2);
|
||||
} else if (sealOk && contractOn) {
|
||||
_that.nextBtn = true
|
||||
_that.lookMask()
|
||||
_that.nextBtn = true;
|
||||
_that.lookMask();
|
||||
} else {
|
||||
_that.submitTask()
|
||||
_that.submitTask();
|
||||
}
|
||||
} else if (res.cancel) {
|
||||
_that.$api.msg('取消申请')
|
||||
}
|
||||
_that.$api.msg('取消申请');
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
// 查看合同
|
||||
lookMask() {
|
||||
this.maskShow = true
|
||||
this.maskShow = true;
|
||||
},
|
||||
// 岗位申请
|
||||
submitTask() {
|
||||
submit(this.missionNo, 2).then(res => {
|
||||
uni.hideLoading()
|
||||
submit(this.missionNo, 2).then(
|
||||
(res) => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '操作成功',
|
||||
icon: 'none'
|
||||
icon: 'none',
|
||||
});
|
||||
this.status = null;
|
||||
this.loading = false
|
||||
}, error => {
|
||||
this.loading = false
|
||||
});
|
||||
this.loading = false;
|
||||
},
|
||||
(error) => {
|
||||
this.loading = false;
|
||||
}
|
||||
);
|
||||
},
|
||||
// 步骤
|
||||
goSign(active) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/projectInfo/signContract?active=${active}`
|
||||
})
|
||||
url: `/pages/projectInfo/signContract?active=${active}`,
|
||||
});
|
||||
},
|
||||
// 关闭弹窗
|
||||
close() {
|
||||
this.maskShow = false
|
||||
this.maskShow = false;
|
||||
},
|
||||
// 合同下一步
|
||||
next() {
|
||||
this.maskShow = false
|
||||
this.showDetail = false
|
||||
this.showCode = true
|
||||
this.maskShow = false;
|
||||
this.showDetail = false;
|
||||
this.showCode = true;
|
||||
},
|
||||
// 输入签名密码
|
||||
getInpCode(password) {
|
||||
uni.showLoading({
|
||||
title: "请求中..."
|
||||
})
|
||||
this.loading = true
|
||||
title: '请求中...',
|
||||
});
|
||||
this.loading = true;
|
||||
var obj = {
|
||||
pass: password
|
||||
}
|
||||
checkPass(obj).then(res => {
|
||||
this.submitTask()
|
||||
this.closeShowCode()
|
||||
}).catch(err => {
|
||||
this.loading = false
|
||||
pass: password,
|
||||
};
|
||||
checkPass(obj)
|
||||
.then((res) => {
|
||||
this.submitTask();
|
||||
this.closeShowCode();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 关闭签名密码弹窗
|
||||
closeShowCode() {
|
||||
this.showCode = false
|
||||
this.showDetail = true
|
||||
this.showCode = false;
|
||||
this.showDetail = true;
|
||||
},
|
||||
// 忘记密码
|
||||
forget() {
|
||||
uni.navigateTo({
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`
|
||||
})
|
||||
}
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`,
|
||||
});
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['auth', 'autograph', 'area']),
|
||||
skillNames() {
|
||||
if (this.info.skillNames) {
|
||||
return this.info.skillNames.split(',')
|
||||
return this.info.skillNames.split(',');
|
||||
}
|
||||
},
|
||||
// cityNamed() {
|
||||
@@ -495,8 +512,8 @@
|
||||
// return '无'
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@@ -507,9 +524,9 @@
|
||||
position: absolute;
|
||||
right: 24rpx;
|
||||
top: 30rpx;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
font-size: 24rpx;
|
||||
background-color: #1B66FF;
|
||||
background-color: #1b66ff;
|
||||
border-radius: 12rpx;
|
||||
padding: 10rpx 20rpx;
|
||||
}
|
||||
@@ -527,7 +544,7 @@
|
||||
position: absolute;
|
||||
right: 36rpx;
|
||||
top: 120rpx;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
transform: rotate(45deg);
|
||||
font-size: 40px;
|
||||
}
|
||||
@@ -561,15 +578,14 @@
|
||||
font-size: 28rpx;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #5AA0FA;
|
||||
color: #5aa0fa;
|
||||
line-height: 38rpx;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.contractMask {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
margin: 30rpx;
|
||||
position: relative;
|
||||
border-radius: 4px;
|
||||
@@ -579,7 +595,7 @@
|
||||
.close {
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
position: fixed;
|
||||
right: 60rpx;
|
||||
top: 60rpx;
|
||||
@@ -595,10 +611,10 @@
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
text-align: center;
|
||||
background: #1B66FF;
|
||||
background: #1b66ff;
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -612,7 +628,7 @@
|
||||
}
|
||||
|
||||
.bottombtn {
|
||||
background-color: #1B66FF;
|
||||
background-color: #1b66ff;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
border-radius: 10rpx;
|
||||
@@ -661,7 +677,6 @@
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
margin: 20rpx 0;
|
||||
|
||||
}
|
||||
|
||||
.proint {
|
||||
@@ -671,13 +686,12 @@
|
||||
|
||||
.proneed {
|
||||
font-size: 32rpx !important;
|
||||
|
||||
}
|
||||
|
||||
.fee {
|
||||
font-family: PingFangSC-Medium;
|
||||
font-size: 32rpx;
|
||||
color: #F46161;
|
||||
color: #f46161;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,56 +7,48 @@
|
||||
<!-- <view class="prolist">
|
||||
任务编码:{{info.missionNo}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
发布日期:{{dateFormat((info.stime)) || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
招聘人数:{{info.peopleNum || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">发布日期:{{ dateFormat(info.stime) || '暂无' }}</view>
|
||||
<view class="prolist">招聘人数:{{ info.peopleNum || '暂无' }}</view>
|
||||
<view class="prolist">
|
||||
行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry || '暂无' }}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
岗位工种:{{info.skillNames || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">岗位工种:{{ info.skillNames || '暂无' }}</view>
|
||||
<!-- <view class="fee">
|
||||
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
|
||||
</view> -->
|
||||
<view class="position_right" v-if="info.reviewState === 1"
|
||||
@click="navTo(`/pages/projectInfo/sub/inviteList?jobType=${info.jobType}&id=${info.id}&createUserId=${info.createUserId}`)">
|
||||
邀请用户</view>
|
||||
<view
|
||||
class="position_right"
|
||||
v-if="info.reviewState === 1"
|
||||
@click="
|
||||
navTo(
|
||||
`/pages/projectInfo/sub/inviteList?jobType=${info.jobType}&id=${info.id}&createUserId=${info.createUserId}`
|
||||
)
|
||||
"
|
||||
>
|
||||
邀请用户
|
||||
</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
岗位要求
|
||||
</view>
|
||||
<view class="proname proneed">岗位要求</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
年龄要求:{{age[info.ageDesc]}}
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
年龄要求:{{age[info.ageDesc] || '暂无'}}
|
||||
</view>
|
||||
<view class="protype">年龄要求:{{ age[info.ageDesc] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
学历要求:{{education[info.education] || '暂无'}}
|
||||
</view>
|
||||
<view class="protype">学历要求:{{ education[info.education] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
经验要求:{{info.experienceDesc || '暂无'}}
|
||||
</view>
|
||||
<view class="protype">经验要求:{{ info.experienceDesc || '暂无' }}</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="prolist">
|
||||
岗位地址:{{info.jobAddress}}
|
||||
</view> -->
|
||||
<view class="prolist proint" style="font-weight: bold;color:#333;">
|
||||
岗位描述
|
||||
</view>
|
||||
<view class="prolist proint" style="font-weight: bold; color: #333">岗位描述</view>
|
||||
<view class="prolist description">
|
||||
{{ info.jobDescription }}
|
||||
</view>
|
||||
@@ -67,9 +59,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 技能标签 end -->
|
||||
<view v-if="info.jobSources" class="prolist">
|
||||
来源:{{info.jobSources || '暂无'}}
|
||||
</view>
|
||||
<view v-if="info.jobSources" class="prolist">来源:{{ info.jobSources || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<!-- <view class="proname proneed">
|
||||
@@ -81,16 +71,17 @@
|
||||
<!-- <view class="prolist">
|
||||
用工单位:{{info.jobCompanyName}}
|
||||
</view> -->
|
||||
<view style="display: flex;align-items: center;">
|
||||
<image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 20rpx;" mode="">
|
||||
</image>
|
||||
<view style="font-size: 30rpx;">{{info.jobCompanyName}}</view>
|
||||
<view style="display: flex; align-items: center">
|
||||
<image
|
||||
src="../../static/img/city.png"
|
||||
style="width: 40rpx; height: 40rpx; margin-right: 20rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view style="font-size: 30rpx">{{ info.jobCompanyName }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
地址
|
||||
</view>
|
||||
<view class="proname proneed">地址</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
联系人:{{info.callName}}
|
||||
@@ -102,77 +93,116 @@
|
||||
<!-- <view class="prolist" v-if="info.callNumber">
|
||||
座机号:{{info.callNumber}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
注册地址:{{ info.cityId || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
工作地址:{{info.address || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">注册地址:{{ info.cityId || '暂无' }}</view>
|
||||
<view class="prolist">工作地址:{{ info.address || '暂无' }}</view>
|
||||
<view class="map">
|
||||
<super-map ref="uMap" style="width: 100%;height: 100%;" :latitude="latitude" :longitude="longitude"
|
||||
:open="true" :zoom="14" :min-zoom="10" :max-zoom="20" @regionchange="show = false" :init="false"
|
||||
:MapUrl="$config.supperMap" :flag-tip="false"></super-map>
|
||||
<super-map
|
||||
ref="uMap"
|
||||
style="width: 100%; height: 100%"
|
||||
:latitude="latitude"
|
||||
:longitude="longitude"
|
||||
:open="true"
|
||||
:zoom="14"
|
||||
:min-zoom="10"
|
||||
:max-zoom="20"
|
||||
@regionchange="show = false"
|
||||
:init="false"
|
||||
:MapUrl="$config.supperMap"
|
||||
:flag-tip="false"
|
||||
></super-map>
|
||||
</view>
|
||||
<!-- <map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></map> -->
|
||||
</view>
|
||||
<view class="" style="height:200rpx;background-color: #f6f6f6;" v-if="isShow!=='0'"></view>
|
||||
<view class="" style="height: 200rpx; background-color: #f6f6f6" v-if="isShow !== '0'"></view>
|
||||
<view class="btn" v-if="isShow !== '0' && status === 0">
|
||||
<view @click="collect"
|
||||
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
|
||||
mode=""></image>
|
||||
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||
<view
|
||||
@click="collect"
|
||||
style="display: flex; align-items: center; margin-right: 10rpx; flex-direction: column"
|
||||
>
|
||||
<image
|
||||
v-if="collectStatus == 0"
|
||||
src="../../static/img/collect.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<image
|
||||
v-if="collectStatus == 1"
|
||||
src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx; color: #707070; margin-top: 10rpx">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx; color: #707070; margin-top: 10rpx">
|
||||
已收藏
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
<view @click="submit" class="bottombtn flexbtn" style="border-radius: 45rpx;">
|
||||
申请
|
||||
</view>
|
||||
<view @click="submit" class="bottombtn flexbtn" style="border-radius: 45rpx">申请</view>
|
||||
</view>
|
||||
<view class="btn" v-if="!jobType && isShow !== '0' && status !== 0">
|
||||
<!-- <view class="bottombtn lookContract" @click="lookMask">查看合同</view> -->
|
||||
<view @click="collect"
|
||||
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
|
||||
mode=""></image>
|
||||
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||
<view
|
||||
@click="collect"
|
||||
style="display: flex; align-items: center; margin-right: 10rpx; flex-direction: column"
|
||||
>
|
||||
<image
|
||||
v-if="collectStatus == 0"
|
||||
src="../../static/img/collect.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<image
|
||||
v-if="collectStatus == 1"
|
||||
src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx; color: #707070; margin-top: 10rpx">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx; color: #707070; margin-top: 10rpx">
|
||||
已收藏
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx;">已申请</view>
|
||||
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx">已申请</view>
|
||||
</view>
|
||||
<uniMask :maskShow="maskShow">
|
||||
<view class="contractMask">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="close" @click="close" style="top: 124rpx;">+</view>
|
||||
<view class="close" @click="close" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="close" @click="close">+</view>
|
||||
<!-- #endif -->
|
||||
<view style="height: 30px;"></view>
|
||||
<img :src="src" alt="" style="width:100%;height: 1000px;">
|
||||
<view style="height: 30px"></view>
|
||||
<img :src="src" alt="" style="width: 100%; height: 1000px" />
|
||||
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||
</view>
|
||||
</uniMask>
|
||||
<u-popup closeable :show="showPopUp" mode="bottom" @close="closePopUp">
|
||||
<view style="height: 200rpx;padding: 20rpx 40rpx;">
|
||||
<view style="font-size: 28rpx;font-weight: bold;">重要提示:</view>
|
||||
<view style="font-size: 24rpx;color:#707070;margin-top:10rpx;">为保障个人基本劳动权益,建议通过平台用工的形式就业</view>
|
||||
<view style="text-align: center;font-size:28rpx;margin-top: 30rpx;"> {{ info.callName || '联系人'}} :
|
||||
<span style="color: blue" v-if="info.callTel"
|
||||
@click="tools.onDialingPhoneNumber(info.callTel)">{{ info.callTel }}</span>
|
||||
<view style="height: 200rpx; padding: 20rpx 40rpx">
|
||||
<view style="font-size: 28rpx; font-weight: bold">重要提示:</view>
|
||||
<view style="font-size: 24rpx; color: #707070; margin-top: 10rpx">
|
||||
为保障个人基本劳动权益,建议通过平台用工的形式就业
|
||||
</view>
|
||||
<view style="text-align: center; font-size: 28rpx; margin-top: 30rpx">
|
||||
{{ info.callName || '联系人' }} :
|
||||
<span style="color: blue" v-if="info.callTel" @click="tools.onDialingPhoneNumber(info.callTel)">
|
||||
{{ info.callTel }}
|
||||
</span>
|
||||
<span style="color: #333333" v-else>无联系方式</span>
|
||||
</view>
|
||||
</view>
|
||||
@@ -181,7 +211,7 @@
|
||||
|
||||
<view v-else-if="showCode" class="codeSealBox">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="closeCode" @click="closeShowCode">+</view>
|
||||
@@ -191,45 +221,25 @@
|
||||
<view class="name">签名密码</view>
|
||||
<view class="tip">6位数字签名密码</view>
|
||||
</view>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<view class="forget" @click="forget">忘记密码?</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
import {
|
||||
missionDetail,
|
||||
submit,
|
||||
getCollectState,
|
||||
updateCollectStatus,
|
||||
workDetail
|
||||
} from '@/api/mission.js';
|
||||
import {
|
||||
GoLogin
|
||||
} from '@/untils/AxiosUtils.js';
|
||||
import {
|
||||
setRead
|
||||
} from '@/api/news.js';
|
||||
import {
|
||||
checkPass
|
||||
} from '@/api/auth.js';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { missionDetail, submit, getCollectState, updateCollectStatus, workDetail } from '@/api/mission.js';
|
||||
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||
import { setRead } from '@/api/news.js';
|
||||
import { checkPass, getPhoneCountNumber } from '@/api/auth.js';
|
||||
import dictionary from '@/common/textdata.js';
|
||||
import {
|
||||
dateFormat
|
||||
} from "../../untils/format.js";
|
||||
import {
|
||||
userrecruitDetail
|
||||
} from '@/api/userrecruit.js'
|
||||
import uniMask from '@/components/uni-mask/mask.vue'
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
||||
import {
|
||||
getuserrecruitDetailApp
|
||||
} from '@/api/userrecruit.js'
|
||||
import { dateFormat } from '../../untils/format.js';
|
||||
import { userrecruitDetail } from '@/api/userrecruit.js';
|
||||
import uniMask from '@/components/uni-mask/mask.vue';
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue';
|
||||
import { getuserrecruitDetailApp } from '@/api/userrecruit.js';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -243,15 +253,18 @@
|
||||
loading: false,
|
||||
latitude: 31.126855, //中心点
|
||||
longitude: 104.397894,
|
||||
covers: [{ //marker标记位置
|
||||
covers: [
|
||||
{
|
||||
//marker标记位置
|
||||
id: 0,
|
||||
latitude: 0,
|
||||
longitude: 0,
|
||||
// width:30,
|
||||
// height:30,
|
||||
iconPath: '../../static/img/location.png'
|
||||
}],
|
||||
missionNo: "",
|
||||
iconPath: '../../static/img/location.png',
|
||||
},
|
||||
],
|
||||
missionNo: '',
|
||||
isShow: '',
|
||||
type: '',
|
||||
id: '',
|
||||
@@ -259,14 +272,15 @@
|
||||
maxlength: 6,
|
||||
collectStatus: 0, // 收藏状态
|
||||
showPopUp: false,
|
||||
jobType: null
|
||||
}
|
||||
jobType: null,
|
||||
};
|
||||
},
|
||||
components: {
|
||||
uniMask,
|
||||
validCode
|
||||
validCode,
|
||||
},
|
||||
onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
|
||||
onLoad: function (option) {
|
||||
//option为object类型,会序列化上个页面传递的参数
|
||||
// this.$store.dispatch('setAutograph')
|
||||
if (option.workId) {
|
||||
this.workId = decodeURIComponent(option.workId);
|
||||
@@ -281,48 +295,48 @@
|
||||
this.id = option.id; //消息id
|
||||
}
|
||||
if (option.jobType) {
|
||||
this.jobType = option.jobType
|
||||
this.jobType = option.jobType;
|
||||
}
|
||||
},
|
||||
onShow: function () {
|
||||
this.showDetail = true
|
||||
this.showDetail = true;
|
||||
this.getData();
|
||||
|
||||
},
|
||||
onShareAppMessage(obj) {
|
||||
return {
|
||||
title: this.info.missionTitle,
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`
|
||||
}
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
dateFormat,
|
||||
collect() {
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
// console.log('收藏,取消收藏')
|
||||
const status = this.collectStatus == 0 ? 1 : 0;
|
||||
updateCollectStatus(this.info.id, status, 2).then(res => {
|
||||
updateCollectStatus(this.info.id, status, 2).then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
this.getCollectStatus()
|
||||
this.getCollectStatus();
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
callPhone() {
|
||||
async callPhone() {
|
||||
getPhoneCountNumber();
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
this.showPopUp = true;
|
||||
},
|
||||
@@ -331,22 +345,22 @@
|
||||
},
|
||||
// 获取收藏状态
|
||||
getCollectStatus() {
|
||||
getCollectState(this.info.id, 2).then(res => {
|
||||
getCollectState(this.info.id, 2).then((res) => {
|
||||
// 0 未收藏,1 已收藏
|
||||
// console.log(res)
|
||||
this.collectStatus = res.data.data;
|
||||
})
|
||||
});
|
||||
},
|
||||
async getData() {
|
||||
const self = this;
|
||||
let resData = null
|
||||
let resData = null;
|
||||
if (this.jobType) {
|
||||
resData = await getuserrecruitDetailApp({
|
||||
id: this.id,
|
||||
jobType: this.jobType
|
||||
})
|
||||
jobType: this.jobType,
|
||||
});
|
||||
} else {
|
||||
resData = await userrecruitDetail(self.workId)
|
||||
resData = await userrecruitDetail(self.workId);
|
||||
}
|
||||
if (resData.data?.code === 200) {
|
||||
self.info = resData.data.data;
|
||||
@@ -360,41 +374,40 @@
|
||||
self.$refs.uMap.initMap({
|
||||
lat: self.info.lat,
|
||||
lon: self.info.lon,
|
||||
})
|
||||
});
|
||||
}
|
||||
self.showDetail = true;
|
||||
if (!this.seeDeatil) {
|
||||
self.getCollectStatus();
|
||||
if (self.type === 1) {
|
||||
// 设置已读
|
||||
setRead(self.id).then(res => {
|
||||
self.$store.commit("SET_READ");
|
||||
})
|
||||
setRead(self.id).then((res) => {
|
||||
self.$store.commit('SET_READ');
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
submit: function () {
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
const _that = this
|
||||
const _that = this;
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '请确认申请,申请后不能撤销',
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
if (_that.loading) return
|
||||
const auth = _that.auth
|
||||
const contractOn = _that.info.contractOn
|
||||
const sealOk = _that.autograph && _that.autograph.data && _that.autograph
|
||||
.data.signSrcUrl
|
||||
if (_that.loading) return;
|
||||
const auth = _that.auth;
|
||||
const contractOn = _that.info.contractOn;
|
||||
const sealOk = _that.autograph && _that.autograph.data && _that.autograph.data.signSrcUrl;
|
||||
// if (sealOk) {
|
||||
// console.log('直接抢任务')
|
||||
// this.submitTask()
|
||||
@@ -405,86 +418,91 @@
|
||||
// this.goSign(1)
|
||||
// } else
|
||||
if (contractOn && !sealOk) {
|
||||
_that.goSign(2)
|
||||
_that.goSign(2);
|
||||
} else if (sealOk && contractOn) {
|
||||
_that.nextBtn = true
|
||||
_that.lookMask()
|
||||
_that.nextBtn = true;
|
||||
_that.lookMask();
|
||||
} else {
|
||||
_that.submitTask()
|
||||
_that.submitTask();
|
||||
}
|
||||
} else if (res.cancel) {
|
||||
_that.$api.msg('取消申请')
|
||||
}
|
||||
_that.$api.msg('取消申请');
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
// 查看合同
|
||||
lookMask() {
|
||||
this.maskShow = true
|
||||
this.maskShow = true;
|
||||
},
|
||||
// 岗位申请
|
||||
submitTask() {
|
||||
submit(this.missionNo, 2).then(res => {
|
||||
uni.hideLoading()
|
||||
submit(this.missionNo, 2).then(
|
||||
(res) => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '操作成功',
|
||||
icon: 'none'
|
||||
icon: 'none',
|
||||
});
|
||||
this.status = null;
|
||||
this.loading = false
|
||||
}, error => {
|
||||
this.loading = false
|
||||
});
|
||||
this.loading = false;
|
||||
},
|
||||
(error) => {
|
||||
this.loading = false;
|
||||
}
|
||||
);
|
||||
},
|
||||
// 步骤
|
||||
goSign(active) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/projectInfo/signContract?active=${active}`
|
||||
})
|
||||
url: `/pages/projectInfo/signContract?active=${active}`,
|
||||
});
|
||||
},
|
||||
// 关闭弹窗
|
||||
close() {
|
||||
this.maskShow = false
|
||||
this.maskShow = false;
|
||||
},
|
||||
// 合同下一步
|
||||
next() {
|
||||
this.maskShow = false
|
||||
this.showDetail = false
|
||||
this.showCode = true
|
||||
this.maskShow = false;
|
||||
this.showDetail = false;
|
||||
this.showCode = true;
|
||||
},
|
||||
// 输入签名密码
|
||||
getInpCode(password) {
|
||||
uni.showLoading({
|
||||
title: "请求中..."
|
||||
})
|
||||
this.loading = true
|
||||
title: '请求中...',
|
||||
});
|
||||
this.loading = true;
|
||||
var obj = {
|
||||
pass: password
|
||||
}
|
||||
checkPass(obj).then(res => {
|
||||
this.submitTask()
|
||||
this.closeShowCode()
|
||||
}).catch(err => {
|
||||
this.loading = false
|
||||
pass: password,
|
||||
};
|
||||
checkPass(obj)
|
||||
.then((res) => {
|
||||
this.submitTask();
|
||||
this.closeShowCode();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 关闭签名密码弹窗
|
||||
closeShowCode() {
|
||||
this.showCode = false
|
||||
this.showDetail = true
|
||||
this.showCode = false;
|
||||
this.showDetail = true;
|
||||
},
|
||||
// 忘记密码
|
||||
forget() {
|
||||
uni.navigateTo({
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`
|
||||
})
|
||||
}
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`,
|
||||
});
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['auth', 'autograph', 'area']),
|
||||
skillNames() {
|
||||
if (this.info.skillNames) {
|
||||
return this.info.skillNames.split(',')
|
||||
return this.info.skillNames.split(',');
|
||||
}
|
||||
},
|
||||
// cityNamed() {
|
||||
@@ -495,8 +513,8 @@
|
||||
// return '无'
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@@ -507,7 +525,7 @@
|
||||
position: absolute;
|
||||
right: 36rpx;
|
||||
top: 120rpx;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
transform: rotate(45deg);
|
||||
font-size: 40px;
|
||||
}
|
||||
@@ -541,15 +559,14 @@
|
||||
font-size: 28rpx;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #5AA0FA;
|
||||
color: #5aa0fa;
|
||||
line-height: 38rpx;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.contractMask {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
margin: 30rpx;
|
||||
position: relative;
|
||||
border-radius: 4px;
|
||||
@@ -559,7 +576,7 @@
|
||||
.close {
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
position: fixed;
|
||||
right: 60rpx;
|
||||
top: 60rpx;
|
||||
@@ -575,10 +592,10 @@
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
text-align: center;
|
||||
background: #1B66FF;
|
||||
background: #1b66ff;
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -592,7 +609,7 @@
|
||||
}
|
||||
|
||||
.bottombtn {
|
||||
background-color: #1B66FF;
|
||||
background-color: #1b66ff;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
border-radius: 10rpx;
|
||||
@@ -641,7 +658,6 @@
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
margin: 20rpx 0;
|
||||
|
||||
}
|
||||
|
||||
.proint {
|
||||
@@ -651,13 +667,12 @@
|
||||
|
||||
.proneed {
|
||||
font-size: 32rpx !important;
|
||||
|
||||
}
|
||||
|
||||
.fee {
|
||||
font-family: PingFangSC-Medium;
|
||||
font-size: 32rpx;
|
||||
color: #F46161;
|
||||
color: #f46161;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
@@ -704,9 +719,9 @@
|
||||
position: absolute;
|
||||
right: 24rpx;
|
||||
top: 30rpx;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
font-size: 24rpx;
|
||||
background-color: #1B66FF;
|
||||
background-color: #1b66ff;
|
||||
border-radius: 12rpx;
|
||||
padding: 10rpx 20rpx;
|
||||
}
|
||||
|
||||
@@ -7,53 +7,37 @@
|
||||
<!-- <view class="prolist">
|
||||
任务编码:{{info.missionNo}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
发布日期:{{dateFormat((info.stime)) || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
招聘人数:{{info.peopleNum || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">发布日期:{{ dateFormat(info.stime) || '暂无' }}</view>
|
||||
<view class="prolist">招聘人数:{{ info.peopleNum || '暂无' }}</view>
|
||||
<view class="prolist">
|
||||
行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry || '暂无' }}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
岗位工种:{{info.skillNames || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">岗位工种:{{ info.skillNames || '暂无' }}</view>
|
||||
<!-- <view class="fee">
|
||||
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
岗位要求
|
||||
</view>
|
||||
<view class="proname proneed">岗位要求</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
年龄要求:{{age[info.ageDesc]}}
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
年龄要求:{{age[info.ageDesc] || '暂无'}}
|
||||
</view>
|
||||
<view class="protype">年龄要求:{{ age[info.ageDesc] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
学历要求:{{education[info.education] || '暂无'}}
|
||||
</view>
|
||||
<view class="protype">学历要求:{{ education[info.education] || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
经验要求:{{info.experienceDesc || '暂无'}}
|
||||
</view>
|
||||
<view class="protype">经验要求:{{ info.experienceDesc || '暂无' }}</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="prolist">
|
||||
岗位地址:{{info.jobAddress}}
|
||||
</view> -->
|
||||
<view class="prolist proint" style="font-weight: bold;color:#333;">
|
||||
岗位描述
|
||||
</view>
|
||||
<view class="prolist proint" style="font-weight: bold; color: #333">岗位描述</view>
|
||||
<view class="prolist description">
|
||||
{{ info.jobDescription }}
|
||||
</view>
|
||||
@@ -64,9 +48,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 技能标签 end -->
|
||||
<view v-if="info.jobSources" class="prolist">
|
||||
来源:{{info.jobSources || '暂无'}}
|
||||
</view>
|
||||
<view v-if="info.jobSources" class="prolist">来源:{{ info.jobSources || '暂无' }}</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<!-- <view class="proname proneed">
|
||||
@@ -78,16 +60,17 @@
|
||||
<!-- <view class="prolist">
|
||||
用工单位:{{info.jobCompanyName}}
|
||||
</view> -->
|
||||
<view style="display: flex;align-items: center;">
|
||||
<image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 20rpx;" mode="">
|
||||
</image>
|
||||
<view style="font-size: 30rpx;">{{info.jobCompanyName}}</view>
|
||||
<view style="display: flex; align-items: center">
|
||||
<image
|
||||
src="../../static/img/city.png"
|
||||
style="width: 40rpx; height: 40rpx; margin-right: 20rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view style="font-size: 30rpx">{{ info.jobCompanyName }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
地址
|
||||
</view>
|
||||
<view class="proname proneed">地址</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
联系人:{{info.callName}}
|
||||
@@ -99,77 +82,121 @@
|
||||
<!-- <view class="prolist" v-if="info.callNumber">
|
||||
座机号:{{info.callNumber}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
注册地址:{{ info.cityId || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
工作地址:{{info.address || '暂无'}}
|
||||
</view>
|
||||
<view class="prolist">注册地址:{{ info.cityId || '暂无' }}</view>
|
||||
<view class="prolist">工作地址:{{ info.address || '暂无' }}</view>
|
||||
<view class="map">
|
||||
<super-map ref="uMap" style="width: 100%;height: 100%;" :latitude="latitude" :longitude="longitude"
|
||||
:open="true" :zoom="14" :min-zoom="10" :max-zoom="20" @regionchange="show = false" :init="false"
|
||||
:MapUrl="$config.supperMap" :flag-tip="false"></super-map>
|
||||
<super-map
|
||||
ref="uMap"
|
||||
style="width: 100%; height: 100%"
|
||||
:latitude="latitude"
|
||||
:longitude="longitude"
|
||||
:open="true"
|
||||
:zoom="14"
|
||||
:min-zoom="10"
|
||||
:max-zoom="20"
|
||||
@regionchange="show = false"
|
||||
:init="false"
|
||||
:MapUrl="$config.supperMap"
|
||||
:flag-tip="false"
|
||||
></super-map>
|
||||
</view>
|
||||
</view>
|
||||
<view class="" style="height:200rpx;background-color: #f6f6f6;" v-if="isShow!=='0'"></view>
|
||||
<view class="" style="height: 200rpx; background-color: #f6f6f6" v-if="isShow !== '0'"></view>
|
||||
<view class="btn" v-if="isShow !== '0' && status === 0">
|
||||
<view @click="collect"
|
||||
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
|
||||
mode=""></image>
|
||||
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||
<view
|
||||
@click="collect"
|
||||
style="display: flex; align-items: center; margin-right: 10rpx; flex-direction: column"
|
||||
>
|
||||
<image
|
||||
v-if="collectStatus == 0"
|
||||
src="../../static/img/collect.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<image
|
||||
v-if="collectStatus == 1"
|
||||
src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx; color: #707070; margin-top: 10rpx">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx; color: #707070; margin-top: 10rpx">
|
||||
已收藏
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
<view @click="submit" class="bottombtn flexbtn"
|
||||
:style="{backgroundColor: applyopen ? '#999999' : '#1B66FF'}">
|
||||
<view
|
||||
@click="submit"
|
||||
class="bottombtn flexbtn"
|
||||
:style="{ backgroundColor: applyopen ? '#999999' : '#1B66FF' }"
|
||||
>
|
||||
申请
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn" v-if="isShow !== '0' && status !== 0">
|
||||
<!-- <view class="bottombtn lookContract" @click="lookMask">查看合同</view> -->
|
||||
<view @click="collect"
|
||||
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
|
||||
mode=""></image>
|
||||
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||
<view
|
||||
@click="collect"
|
||||
style="display: flex; align-items: center; margin-right: 10rpx; flex-direction: column"
|
||||
>
|
||||
<image
|
||||
v-if="collectStatus == 0"
|
||||
src="../../static/img/collect.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<image
|
||||
v-if="collectStatus == 1"
|
||||
src="../../static/img/collect_yes.png"
|
||||
style="width: 36rpx; height: 36rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view v-if="collectStatus == 0" style="font-size: 26rpx; color: #707070; margin-top: 10rpx">收藏</view>
|
||||
<view v-if="collectStatus == 1" style="font-size: 20rpx; color: #707070; margin-top: 10rpx">
|
||||
已收藏
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx;">已申请</view>
|
||||
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx">已申请</view>
|
||||
</view>
|
||||
<uniMask :maskShow="maskShow">
|
||||
<view class="contractMask">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="close" @click="close" style="top: 124rpx;">+</view>
|
||||
<view class="close" @click="close" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="close" @click="close">+</view>
|
||||
<!-- #endif -->
|
||||
<view style="height: 30px;"></view>
|
||||
<img :src="src" alt="" style="width:100%;height: 1000px;">
|
||||
<view style="height: 30px"></view>
|
||||
<img :src="src" alt="" style="width: 100%; height: 1000px" />
|
||||
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||
</view>
|
||||
</uniMask>
|
||||
<u-popup closeable :show="showPopUp" mode="bottom" @close="closePopUp">
|
||||
<view style="height: 200rpx;padding: 20rpx 40rpx;">
|
||||
<view style="font-size: 28rpx;font-weight: bold;">重要提示:</view>
|
||||
<view style="font-size: 24rpx;color:#707070;margin-top:10rpx;">为保障个人基本劳动权益,建议通过平台用工的形式就业</view>
|
||||
<view style="text-align: center;font-size:28rpx;margin-top: 30rpx;"> {{ info.callName || '联系人 '}} :
|
||||
<span style="color: blue" v-if="info.callTel"
|
||||
@click="tools.onDialingPhoneNumber(info.callTel)">{{ info.callTel }}</span>
|
||||
<view style="height: 200rpx; padding: 20rpx 40rpx">
|
||||
<view style="font-size: 28rpx; font-weight: bold">重要提示:</view>
|
||||
<view style="font-size: 24rpx; color: #707070; margin-top: 10rpx">
|
||||
为保障个人基本劳动权益,建议通过平台用工的形式就业
|
||||
</view>
|
||||
<view style="text-align: center; font-size: 28rpx; margin-top: 30rpx">
|
||||
{{ info.callName || '联系人 ' }} :
|
||||
<span style="color: blue" v-if="info.callTel" @click="tools.onDialingPhoneNumber(info.callTel)">
|
||||
{{ info.callTel }}
|
||||
</span>
|
||||
<span style="color: #333333" v-else>无联系方式</span>
|
||||
</view>
|
||||
</view>
|
||||
@@ -178,7 +205,7 @@
|
||||
|
||||
<view v-else-if="showCode" class="codeSealBox">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="closeCode" @click="closeShowCode">+</view>
|
||||
@@ -188,42 +215,24 @@
|
||||
<view class="name">签名密码</view>
|
||||
<view class="tip">6位数字签名密码</view>
|
||||
</view>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<view class="forget" @click="forget">忘记密码?</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
import {
|
||||
missionDetail,
|
||||
submit,
|
||||
getCollectState,
|
||||
updateCollectStatus,
|
||||
workDetail
|
||||
} from '@/api/mission.js';
|
||||
import {
|
||||
GoLogin
|
||||
} from '@/untils/AxiosUtils.js';
|
||||
import {
|
||||
setRead
|
||||
} from '@/api/news.js';
|
||||
import {
|
||||
checkPass
|
||||
} from '@/api/auth.js';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { missionDetail, submit, getCollectState, updateCollectStatus, workDetail } from '@/api/mission.js';
|
||||
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||
import { setRead } from '@/api/news.js';
|
||||
import { checkPass, getPhoneCountNumber } from '@/api/auth.js';
|
||||
import dictionary from '@/common/textdata.js';
|
||||
import {
|
||||
dateFormat
|
||||
} from "../../untils/format.js";
|
||||
import {
|
||||
userrecruitDetail
|
||||
} from '@/api/userrecruit.js'
|
||||
import uniMask from '@/components/uni-mask/mask.vue'
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
||||
import { dateFormat } from '../../untils/format.js';
|
||||
import { userrecruitDetail } from '@/api/userrecruit.js';
|
||||
import uniMask from '@/components/uni-mask/mask.vue';
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -237,15 +246,18 @@
|
||||
loading: false,
|
||||
latitude: 31.126855, //中心点
|
||||
longitude: 104.397894,
|
||||
covers: [{ //marker标记位置
|
||||
covers: [
|
||||
{
|
||||
//marker标记位置
|
||||
id: 0,
|
||||
latitude: 0,
|
||||
longitude: 0,
|
||||
// width:30,
|
||||
// height:30,
|
||||
iconPath: '../../static/img/location.png'
|
||||
}],
|
||||
missionNo: "",
|
||||
iconPath: '../../static/img/location.png',
|
||||
},
|
||||
],
|
||||
missionNo: '',
|
||||
isShow: '',
|
||||
type: '',
|
||||
id: '',
|
||||
@@ -253,14 +265,15 @@
|
||||
maxlength: 6,
|
||||
collectStatus: 0, // 收藏状态
|
||||
showPopUp: false,
|
||||
applyopen: false
|
||||
}
|
||||
applyopen: false,
|
||||
};
|
||||
},
|
||||
components: {
|
||||
uniMask,
|
||||
validCode
|
||||
validCode,
|
||||
},
|
||||
onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
|
||||
onLoad: function (option) {
|
||||
//option为object类型,会序列化上个页面传递的参数
|
||||
// this.$store.dispatch('setAutograph')
|
||||
if (option.workId) {
|
||||
this.workId = decodeURIComponent(option.workId);
|
||||
@@ -276,46 +289,47 @@
|
||||
}
|
||||
},
|
||||
onShow: function () {
|
||||
this.showDetail = true
|
||||
this.showDetail = true;
|
||||
this.getData();
|
||||
setTimeout(() => {
|
||||
console.log(this.area.dic, this.info)
|
||||
}, 1000)
|
||||
console.log(this.area.dic, this.info);
|
||||
}, 1000);
|
||||
},
|
||||
onShareAppMessage(obj) {
|
||||
return {
|
||||
title: this.info.missionTitle,
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`
|
||||
}
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
dateFormat,
|
||||
collect() {
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
// console.log('收藏,取消收藏')
|
||||
const status = this.collectStatus == 0 ? 1 : 0;
|
||||
updateCollectStatus(this.info.id, status, 1).then(res => {
|
||||
updateCollectStatus(this.info.id, status, 1).then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
this.getCollectStatus()
|
||||
this.getCollectStatus();
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
callPhone() {
|
||||
async callPhone() {
|
||||
getPhoneCountNumber();
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
this.showPopUp = true;
|
||||
},
|
||||
@@ -324,16 +338,17 @@
|
||||
},
|
||||
// 获取收藏状态
|
||||
getCollectStatus() {
|
||||
if (!this.$api.haslogin()) return
|
||||
getCollectState(this.info.id, 1).then(res => {
|
||||
if (!this.$api.haslogin()) return;
|
||||
getCollectState(this.info.id, 1).then((res) => {
|
||||
// 0 未收藏,1 已收藏
|
||||
// console.log(res)
|
||||
this.collectStatus = res.data.data;
|
||||
})
|
||||
});
|
||||
},
|
||||
getData: function () {
|
||||
const self = this;
|
||||
workDetail(self.workId).then(res => {
|
||||
workDetail(self.workId).then(
|
||||
(res) => {
|
||||
self.info = res.data.data;
|
||||
self.status = res.data.data.status;
|
||||
self.missionNo = res.data.data.missionNo;
|
||||
@@ -345,45 +360,46 @@
|
||||
self.$refs.uMap.initMap({
|
||||
lat: self.info.lat,
|
||||
lon: self.info.lon,
|
||||
})
|
||||
});
|
||||
}
|
||||
if (res.data.data.missionNo.search('ZKRD') >= 0) {
|
||||
self.applyopen = true
|
||||
self.applyopen = true;
|
||||
}
|
||||
self.showDetail = true;
|
||||
self.getCollectStatus();
|
||||
if (self.type === 1) {
|
||||
// 设置已读
|
||||
setRead(self.id).then(res => {
|
||||
self.$store.commit("SET_READ");
|
||||
})
|
||||
}
|
||||
}, error => {
|
||||
console.log(error);
|
||||
setRead(self.id).then((res) => {
|
||||
self.$store.commit('SET_READ');
|
||||
});
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
console.log(error);
|
||||
}
|
||||
);
|
||||
},
|
||||
submit: function () {
|
||||
if (!this.$api.haslogin()) {
|
||||
GoLogin()
|
||||
return
|
||||
GoLogin();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.$api.hasResume()) {
|
||||
this.navTo('/pageMy/my/resume/index', true)
|
||||
return
|
||||
this.navTo('/pageMy/my/resume/index', true);
|
||||
return;
|
||||
}
|
||||
if (this.applyopen) return;
|
||||
const _that = this
|
||||
const _that = this;
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '请确认申请,申请后不能撤销',
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
if (_that.loading) return
|
||||
const auth = _that.auth
|
||||
const contractOn = _that.info.contractOn
|
||||
const sealOk = _that.autograph && _that.autograph.data && _that.autograph
|
||||
.data.signSrcUrl
|
||||
if (_that.loading) return;
|
||||
const auth = _that.auth;
|
||||
const contractOn = _that.info.contractOn;
|
||||
const sealOk = _that.autograph && _that.autograph.data && _that.autograph.data.signSrcUrl;
|
||||
// if (sealOk) {
|
||||
// console.log('直接抢任务')
|
||||
// this.submitTask()
|
||||
@@ -394,86 +410,91 @@
|
||||
// this.goSign(1)
|
||||
// } else
|
||||
if (contractOn && !sealOk) {
|
||||
_that.goSign(2)
|
||||
_that.goSign(2);
|
||||
} else if (sealOk && contractOn) {
|
||||
_that.nextBtn = true
|
||||
_that.lookMask()
|
||||
_that.nextBtn = true;
|
||||
_that.lookMask();
|
||||
} else {
|
||||
_that.submitTask()
|
||||
_that.submitTask();
|
||||
}
|
||||
} else if (res.cancel) {
|
||||
_that.$api.msg('取消申请')
|
||||
}
|
||||
_that.$api.msg('取消申请');
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
// 查看合同
|
||||
lookMask() {
|
||||
this.maskShow = true
|
||||
this.maskShow = true;
|
||||
},
|
||||
// 岗位申请
|
||||
submitTask() {
|
||||
submit(this.missionNo, 1).then(res => {
|
||||
uni.hideLoading()
|
||||
submit(this.missionNo, 1).then(
|
||||
(res) => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '操作成功',
|
||||
icon: 'none'
|
||||
icon: 'none',
|
||||
});
|
||||
this.status = null;
|
||||
this.loading = false
|
||||
}, error => {
|
||||
this.loading = false
|
||||
});
|
||||
this.loading = false;
|
||||
},
|
||||
(error) => {
|
||||
this.loading = false;
|
||||
}
|
||||
);
|
||||
},
|
||||
// 步骤
|
||||
goSign(active) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/projectInfo/signContract?active=${active}`
|
||||
})
|
||||
url: `/pages/projectInfo/signContract?active=${active}`,
|
||||
});
|
||||
},
|
||||
// 关闭弹窗
|
||||
close() {
|
||||
this.maskShow = false
|
||||
this.maskShow = false;
|
||||
},
|
||||
// 合同下一步
|
||||
next() {
|
||||
this.maskShow = false
|
||||
this.showDetail = false
|
||||
this.showCode = true
|
||||
this.maskShow = false;
|
||||
this.showDetail = false;
|
||||
this.showCode = true;
|
||||
},
|
||||
// 输入签名密码
|
||||
getInpCode(password) {
|
||||
uni.showLoading({
|
||||
title: "请求中..."
|
||||
})
|
||||
this.loading = true
|
||||
title: '请求中...',
|
||||
});
|
||||
this.loading = true;
|
||||
var obj = {
|
||||
pass: password
|
||||
}
|
||||
checkPass(obj).then(res => {
|
||||
this.submitTask()
|
||||
this.closeShowCode()
|
||||
}).catch(err => {
|
||||
this.loading = false
|
||||
pass: password,
|
||||
};
|
||||
checkPass(obj)
|
||||
.then((res) => {
|
||||
this.submitTask();
|
||||
this.closeShowCode();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 关闭签名密码弹窗
|
||||
closeShowCode() {
|
||||
this.showCode = false
|
||||
this.showDetail = true
|
||||
this.showCode = false;
|
||||
this.showDetail = true;
|
||||
},
|
||||
// 忘记密码
|
||||
forget() {
|
||||
uni.navigateTo({
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`
|
||||
})
|
||||
}
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`,
|
||||
});
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['auth', 'autograph', 'area']),
|
||||
skillNames() {
|
||||
if (this.info.skillNames) {
|
||||
return this.info.skillNames.split(',')
|
||||
return this.info.skillNames.split(',');
|
||||
}
|
||||
},
|
||||
// cityNamed() {
|
||||
@@ -484,8 +505,8 @@
|
||||
// return '无'
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@@ -496,7 +517,7 @@
|
||||
position: absolute;
|
||||
right: 36rpx;
|
||||
top: 120rpx;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
transform: rotate(45deg);
|
||||
font-size: 40px;
|
||||
}
|
||||
@@ -530,15 +551,14 @@
|
||||
font-size: 28rpx;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #5AA0FA;
|
||||
color: #5aa0fa;
|
||||
line-height: 38rpx;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.contractMask {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
margin: 30rpx;
|
||||
position: relative;
|
||||
border-radius: 4px;
|
||||
@@ -548,7 +568,7 @@
|
||||
.close {
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
position: fixed;
|
||||
right: 60rpx;
|
||||
top: 60rpx;
|
||||
@@ -564,10 +584,10 @@
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
text-align: center;
|
||||
background: #1B66FF;
|
||||
background: #1b66ff;
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -581,7 +601,7 @@
|
||||
}
|
||||
|
||||
.bottombtn {
|
||||
background-color: #1B66FF;
|
||||
background-color: #1b66ff;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-family: PingFangSC-Medium;
|
||||
@@ -630,7 +650,6 @@
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
margin: 20rpx 0;
|
||||
|
||||
}
|
||||
|
||||
.proint {
|
||||
@@ -640,13 +659,12 @@
|
||||
|
||||
.proneed {
|
||||
font-size: 32rpx !important;
|
||||
|
||||
}
|
||||
|
||||
.fee {
|
||||
font-family: PingFangSC-Medium;
|
||||
font-size: 32rpx;
|
||||
color: #F46161;
|
||||
color: #f46161;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,45 +7,27 @@
|
||||
<!-- <view class="prolist">
|
||||
任务编码:{{info.missionNo}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
发布日期:{{ info.stime ? dateFormat((info.stime)) : null }}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
招聘人数:{{ info.peopleNum }}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry }}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
工种类型:{{ info.skillNames }}
|
||||
</view>
|
||||
<view class="prolist">发布日期:{{ info.stime ? dateFormat(info.stime) : null }}</view>
|
||||
<view class="prolist">招聘人数:{{ info.peopleNum }}</view>
|
||||
<view class="prolist">行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry }}</view>
|
||||
<view class="prolist">工种类型:{{ info.skillNames }}</view>
|
||||
<!-- <view class="fee">
|
||||
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
招工要求
|
||||
</view>
|
||||
<view class="proname proneed">招工要求</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
年龄要求:{{age[info.ageDesc]}}
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
学历要求:{{ info.education }}
|
||||
</view>
|
||||
<view class="protype">
|
||||
经验要求:{{ info.experienceDesc }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
招工地址:{{ info.jobAddress }}
|
||||
</view>
|
||||
<view class="prolist proint" style="font-weight: bold;color:#333;">
|
||||
招工描述
|
||||
<view class="protype">学历要求:{{ info.education }}</view>
|
||||
<view class="protype">经验要求:{{ info.experienceDesc }}</view>
|
||||
</view>
|
||||
<view class="prolist">招工地址:{{ info.jobAddress }}</view>
|
||||
<view class="prolist proint" style="font-weight: bold; color: #333">招工描述</view>
|
||||
<view class="prolist description">
|
||||
{{ info.jobDescription }}
|
||||
</view>
|
||||
@@ -70,16 +52,17 @@
|
||||
<!-- <view class="prolist">
|
||||
用工单位:{{info.jobCompanyName}}
|
||||
</view> -->
|
||||
<view style="display: flex;align-items: center;">
|
||||
<image src="../../../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 20rpx;"
|
||||
mode=""></image>
|
||||
<view style="font-size: 30rpx;">{{ info.jobCompanyName }}</view>
|
||||
<view style="display: flex; align-items: center">
|
||||
<image
|
||||
src="../../../../static/img/city.png"
|
||||
style="width: 40rpx; height: 40rpx; margin-right: 20rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view style="font-size: 30rpx">{{ info.jobCompanyName }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
地址
|
||||
</view>
|
||||
<view class="proname proneed">地址</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
联系人:{{info.callName}}
|
||||
@@ -91,38 +74,48 @@
|
||||
<!-- <view class="prolist" v-if="info.callNumber">
|
||||
座机号:{{info.callNumber}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
岗位地址:{{ info.address }}
|
||||
</view>
|
||||
<view class="prolist">岗位地址:{{ info.address }}</view>
|
||||
<view class="map">
|
||||
<super-map ref="uMap" style="width: 100%;height: 100%;" :latitude="latitude" :longitude="longitude"
|
||||
:open="true" :zoom="14" :min-zoom="10" :max-zoom="20" :MapUrl="$config.supperMap"
|
||||
:flag-tip="false"></super-map>
|
||||
<super-map
|
||||
ref="uMap"
|
||||
style="width: 100%; height: 100%"
|
||||
:latitude="latitude"
|
||||
:longitude="longitude"
|
||||
:open="true"
|
||||
:zoom="14"
|
||||
:min-zoom="10"
|
||||
:max-zoom="20"
|
||||
:MapUrl="$config.supperMap"
|
||||
:flag-tip="false"
|
||||
></super-map>
|
||||
</view>
|
||||
<!-- <map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></map> -->
|
||||
</view>
|
||||
<view class="" style="height:200rpx;background-color: #f6f6f6;" v-if="isShow !== '0'"></view>
|
||||
<view class="" style="height: 200rpx; background-color: #f6f6f6" v-if="isShow !== '0'"></view>
|
||||
<view class="btn">
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
</view>
|
||||
<uniMask :maskShow="maskShow">
|
||||
<view class="contractMask">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="close" @click="close" style="top: 124rpx;">+</view>
|
||||
<view class="close" @click="close" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="close" @click="close">+</view>
|
||||
<!-- #endif -->
|
||||
<view style="height: 30px;"></view>
|
||||
<img :src="src" alt="" style="width:100%;height: 1000px;">
|
||||
<view style="height: 30px"></view>
|
||||
<img :src="src" alt="" style="width: 100%; height: 1000px" />
|
||||
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||
</view>
|
||||
</uniMask>
|
||||
<u-popup closeable :show="showPopUp" mode="bottom" @close="closePopUp">
|
||||
<view style="min-height: 100rpx;padding: 60rpx 40rpx;">
|
||||
<view style="min-height: 100rpx; padding: 60rpx 40rpx">
|
||||
<view class="contactWrapper" v-for="(item, index) in info.applyList" :key="index">
|
||||
<view>{{ item.realName }} : {{ item.telphone }}</view>
|
||||
<view class="applyTime">申请时间:{{ item.applyTime }}</view>
|
||||
@@ -133,7 +126,7 @@
|
||||
|
||||
<view v-else-if="showCode" class="codeSealBox">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="closeCode" @click="closeShowCode">+</view>
|
||||
@@ -143,38 +136,24 @@
|
||||
<view class="name">签名密码</view>
|
||||
<view class="tip">6位数字签名密码</view>
|
||||
</view>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<view class="forget" @click="forget">忘记密码?</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
import {
|
||||
recruit_missionDetail,
|
||||
} from '@/api/mission.js';
|
||||
import {
|
||||
GoLogin
|
||||
} from '@/untils/AxiosUtils.js';
|
||||
import {
|
||||
setRead
|
||||
} from '@/api/news.js';
|
||||
import {
|
||||
checkPass
|
||||
} from '@/api/auth.js';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { recruit_missionDetail } from '@/api/mission.js';
|
||||
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||
import { setRead } from '@/api/news.js';
|
||||
import { checkPass, getPhoneCountNumber } from '@/api/auth.js';
|
||||
import dictionary from '@/common/textdata.js';
|
||||
import {
|
||||
dateFormat
|
||||
} from "../../../../untils/format.js";
|
||||
import uniMask from '@/components/uni-mask/mask.vue'
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
||||
import {
|
||||
getuserrecruitDetailApp
|
||||
} from '@/api/userrecruit.js'
|
||||
import { dateFormat } from '../../../../untils/format.js';
|
||||
import uniMask from '@/components/uni-mask/mask.vue';
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue';
|
||||
import { getuserrecruitDetailApp } from '@/api/userrecruit.js';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -188,15 +167,18 @@
|
||||
loading: false,
|
||||
latitude: 39.909, //中心点
|
||||
longitude: 116.39742,
|
||||
covers: [{ //marker标记位置
|
||||
covers: [
|
||||
{
|
||||
//marker标记位置
|
||||
id: 0,
|
||||
latitude: 0,
|
||||
longitude: 0,
|
||||
// width:30,
|
||||
// height:30,
|
||||
iconPath: '../../../../static/img/location.png'
|
||||
}],
|
||||
missionNo: "",
|
||||
iconPath: '../../../../static/img/location.png',
|
||||
},
|
||||
],
|
||||
missionNo: '',
|
||||
isShow: '',
|
||||
type: '',
|
||||
id: '',
|
||||
@@ -204,14 +186,15 @@
|
||||
maxlength: 6,
|
||||
collectStatus: 0, // 收藏状态
|
||||
showPopUp: false,
|
||||
jobType: null
|
||||
}
|
||||
jobType: null,
|
||||
};
|
||||
},
|
||||
components: {
|
||||
uniMask,
|
||||
validCode
|
||||
validCode,
|
||||
},
|
||||
onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
|
||||
onLoad: function (option) {
|
||||
//option为object类型,会序列化上个页面传递的参数
|
||||
// this.$store.dispatch('setAutograph')
|
||||
if (option.workId) {
|
||||
this.workId = decodeURIComponent(option.workId);
|
||||
@@ -226,23 +209,25 @@
|
||||
this.id = option.id; //消息id
|
||||
}
|
||||
if (option.jobType) {
|
||||
this.jobType = option.jobType
|
||||
this.jobType = option.jobType;
|
||||
}
|
||||
},
|
||||
onShow: function () {
|
||||
this.showDetail = true
|
||||
this.showDetail = true;
|
||||
this.getData();
|
||||
|
||||
},
|
||||
onShareAppMessage(obj) {
|
||||
return {
|
||||
title: this.info.missionTitle,
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`
|
||||
}
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
dateFormat,
|
||||
callPhone() {
|
||||
async callPhone() {
|
||||
this.showPopUp = true;
|
||||
await getPhoneCountNumber();
|
||||
|
||||
this.showPopUp = true;
|
||||
},
|
||||
closePopUp() {
|
||||
@@ -250,14 +235,14 @@
|
||||
},
|
||||
async getData() {
|
||||
const self = this;
|
||||
let resData = null
|
||||
let resData = null;
|
||||
if (this.jobType) {
|
||||
resData = await getuserrecruitDetailApp({
|
||||
id: this.id,
|
||||
jobType: this.jobType
|
||||
})
|
||||
jobType: this.jobType,
|
||||
});
|
||||
} else {
|
||||
resData = await recruit_missionDetail(self.workId, self.type)
|
||||
resData = await recruit_missionDetail(self.workId, self.type);
|
||||
}
|
||||
if (resData.data?.code === 200) {
|
||||
self.info = resData.data.data;
|
||||
@@ -272,55 +257,57 @@
|
||||
},
|
||||
// 查看合同
|
||||
lookMask() {
|
||||
this.maskShow = true
|
||||
this.maskShow = true;
|
||||
},
|
||||
// 关闭弹窗
|
||||
close() {
|
||||
this.maskShow = false
|
||||
this.maskShow = false;
|
||||
},
|
||||
// 合同下一步
|
||||
next() {
|
||||
this.maskShow = false
|
||||
this.showDetail = false
|
||||
this.showCode = true
|
||||
this.maskShow = false;
|
||||
this.showDetail = false;
|
||||
this.showCode = true;
|
||||
},
|
||||
// 输入签名密码
|
||||
getInpCode(password) {
|
||||
uni.showLoading({
|
||||
title: "请求中..."
|
||||
})
|
||||
this.loading = true
|
||||
title: '请求中...',
|
||||
});
|
||||
this.loading = true;
|
||||
var obj = {
|
||||
pass: password
|
||||
}
|
||||
checkPass(obj).then(res => {
|
||||
this.submitTask()
|
||||
this.closeShowCode()
|
||||
}).catch(err => {
|
||||
this.loading = false
|
||||
pass: password,
|
||||
};
|
||||
checkPass(obj)
|
||||
.then((res) => {
|
||||
this.submitTask();
|
||||
this.closeShowCode();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 关闭签名密码弹窗
|
||||
closeShowCode() {
|
||||
this.showCode = false
|
||||
this.showDetail = true
|
||||
this.showCode = false;
|
||||
this.showDetail = true;
|
||||
},
|
||||
// 忘记密码
|
||||
forget() {
|
||||
uni.navigateTo({
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`
|
||||
})
|
||||
}
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`,
|
||||
});
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['auth', 'autograph']),
|
||||
skillNames() {
|
||||
if (this.info.skillNames) {
|
||||
return this.info.skillNames.split(',')
|
||||
}
|
||||
}
|
||||
}
|
||||
return this.info.skillNames.split(',');
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@@ -331,7 +318,7 @@
|
||||
position: absolute;
|
||||
right: 36rpx;
|
||||
top: 120rpx;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
transform: rotate(45deg);
|
||||
font-size: 40px;
|
||||
}
|
||||
@@ -365,15 +352,14 @@
|
||||
font-size: 28rpx;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #5AA0FA;
|
||||
color: #5aa0fa;
|
||||
line-height: 38rpx;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.contractMask {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
margin: 30rpx;
|
||||
position: relative;
|
||||
border-radius: 4px;
|
||||
@@ -383,7 +369,7 @@
|
||||
.close {
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
position: fixed;
|
||||
right: 60rpx;
|
||||
top: 60rpx;
|
||||
@@ -399,10 +385,10 @@
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
text-align: center;
|
||||
background: #1B66FF;
|
||||
background: #1b66ff;
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -416,7 +402,7 @@
|
||||
}
|
||||
|
||||
.bottombtn {
|
||||
background-color: #1B66FF;
|
||||
background-color: #1b66ff;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
border-radius: 10rpx;
|
||||
@@ -465,7 +451,6 @@
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
margin: 20rpx 0;
|
||||
|
||||
}
|
||||
|
||||
.proint {
|
||||
@@ -475,13 +460,12 @@
|
||||
|
||||
.proneed {
|
||||
font-size: 32rpx !important;
|
||||
|
||||
}
|
||||
|
||||
.fee {
|
||||
font-family: PingFangSC-Medium;
|
||||
font-size: 32rpx;
|
||||
color: #F46161;
|
||||
color: #f46161;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
@@ -532,7 +516,6 @@
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
.applyTime {
|
||||
|
||||
@@ -7,45 +7,27 @@
|
||||
<!-- <view class="prolist">
|
||||
任务编码:{{info.missionNo}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
发布日期:{{ dateFormat((info.stime)) }}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
招聘人数:{{ info.peopleNum }}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry }}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
工种类型:{{ info.skillNames }}
|
||||
</view>
|
||||
<view class="prolist">发布日期:{{ dateFormat(info.stime) }}</view>
|
||||
<view class="prolist">招聘人数:{{ info.peopleNum }}</view>
|
||||
<view class="prolist">行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry }}</view>
|
||||
<view class="prolist">工种类型:{{ info.skillNames }}</view>
|
||||
<!-- <view class="fee">
|
||||
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
岗位要求
|
||||
</view>
|
||||
<view class="proname proneed">岗位要求</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
年龄要求:{{age[info.ageDesc]}}
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
学历要求:{{ info.education }}
|
||||
</view>
|
||||
<view class="protype">
|
||||
经验要求:{{ info.experienceDesc }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="prolist">
|
||||
岗位地址:{{ info.jobAddress }}
|
||||
</view>
|
||||
<view class="prolist proint" style="font-weight: bold;color:#333;">
|
||||
任务描述
|
||||
<view class="protype">学历要求:{{ info.education }}</view>
|
||||
<view class="protype">经验要求:{{ info.experienceDesc }}</view>
|
||||
</view>
|
||||
<view class="prolist">岗位地址:{{ info.jobAddress }}</view>
|
||||
<view class="prolist proint" style="font-weight: bold; color: #333">任务描述</view>
|
||||
<view class="prolist description">
|
||||
{{ info.jobDescription }}
|
||||
</view>
|
||||
@@ -56,9 +38,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 技能标签 end -->
|
||||
<view v-if="info.jobSources" class="prolist">
|
||||
来源:{{ info.jobSources }}
|
||||
</view>
|
||||
<view v-if="info.jobSources" class="prolist">来源:{{ info.jobSources }}</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<!-- <view class="proname proneed">
|
||||
@@ -70,16 +50,17 @@
|
||||
<!-- <view class="prolist">
|
||||
用工单位:{{info.jobCompanyName}}
|
||||
</view> -->
|
||||
<view style="display: flex;align-items: center;">
|
||||
<image src="../../../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 20rpx;"
|
||||
mode=""></image>
|
||||
<view style="font-size: 30rpx;">{{ info.jobCompanyName }}</view>
|
||||
<view style="display: flex; align-items: center">
|
||||
<image
|
||||
src="../../../../static/img/city.png"
|
||||
style="width: 40rpx; height: 40rpx; margin-right: 20rpx"
|
||||
mode=""
|
||||
></image>
|
||||
<view style="font-size: 30rpx">{{ info.jobCompanyName }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
地址
|
||||
</view>
|
||||
<view class="proname proneed">地址</view>
|
||||
<!-- <view class="prolist">
|
||||
<view class="protype">
|
||||
联系人:{{info.callName}}
|
||||
@@ -91,38 +72,48 @@
|
||||
<!-- <view class="prolist" v-if="info.callNumber">
|
||||
座机号:{{info.callNumber}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
岗位地址:{{ info.address }}
|
||||
</view>
|
||||
<view class="prolist">岗位地址:{{ info.address }}</view>
|
||||
<view class="map">
|
||||
<super-map ref="uMap" style="width: 100%;height: 100%;" :latitude="latitude" :longitude="longitude"
|
||||
:open="true" :zoom="14" :min-zoom="10" :max-zoom="20" :MapUrl="$config.supperMap"
|
||||
:flag-tip="false"></super-map>
|
||||
<super-map
|
||||
ref="uMap"
|
||||
style="width: 100%; height: 100%"
|
||||
:latitude="latitude"
|
||||
:longitude="longitude"
|
||||
:open="true"
|
||||
:zoom="14"
|
||||
:min-zoom="10"
|
||||
:max-zoom="20"
|
||||
:MapUrl="$config.supperMap"
|
||||
:flag-tip="false"
|
||||
></super-map>
|
||||
</view>
|
||||
<!-- <map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></map> -->
|
||||
</view>
|
||||
<view class="" style="height:200rpx;background-color: #f6f6f6;" v-if="isShow !== '0'"></view>
|
||||
<view class="" style="height: 200rpx; background-color: #f6f6f6" v-if="isShow !== '0'"></view>
|
||||
<view class="btn">
|
||||
<view @click="callPhone" class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||
<view
|
||||
@click="callPhone"
|
||||
class="bottombtn flexbtn"
|
||||
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||
>
|
||||
电话联系
|
||||
</view>
|
||||
</view>
|
||||
<uniMask :maskShow="maskShow">
|
||||
<view class="contractMask">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="close" @click="close" style="top: 124rpx;">+</view>
|
||||
<view class="close" @click="close" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="close" @click="close">+</view>
|
||||
<!-- #endif -->
|
||||
<view style="height: 30px;"></view>
|
||||
<img :src="src" alt="" style="width:100%;height: 1000px;">
|
||||
<view style="height: 30px"></view>
|
||||
<img :src="src" alt="" style="width: 100%; height: 1000px" />
|
||||
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||
</view>
|
||||
</uniMask>
|
||||
<u-popup closeable :show="showPopUp" mode="bottom" @close="closePopUp">
|
||||
<view style="min-height: 100rpx;padding: 60rpx 40rpx;">
|
||||
<view style="min-height: 100rpx; padding: 60rpx 40rpx">
|
||||
<view class="contactWrapper" v-for="(item, index) in info.applyList" :key="index">
|
||||
<view>{{ item.realName }} : {{ item.telphone }}</view>
|
||||
<view class="applyTime">申请时间:{{ item.applyTime }}</view>
|
||||
@@ -133,7 +124,7 @@
|
||||
|
||||
<view v-else-if="showCode" class="codeSealBox">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="closeCode" @click="closeShowCode">+</view>
|
||||
@@ -143,38 +134,24 @@
|
||||
<view class="name">签名密码</view>
|
||||
<view class="tip">6位数字签名密码</view>
|
||||
</view>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
||||
<view style="height: 36px;"></view>
|
||||
<view style="height: 36px"></view>
|
||||
<view class="forget" @click="forget">忘记密码?</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
import {
|
||||
recruit_missionDetail
|
||||
} from '@/api/mission.js';
|
||||
import {
|
||||
GoLogin
|
||||
} from '@/untils/AxiosUtils.js';
|
||||
import {
|
||||
setRead
|
||||
} from '@/api/news.js';
|
||||
import {
|
||||
checkPass
|
||||
} from '@/api/auth.js';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { recruit_missionDetail } from '@/api/mission.js';
|
||||
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||
import { setRead } from '@/api/news.js';
|
||||
import { checkPass, getPhoneCountNumber } from '@/api/auth.js';
|
||||
import dictionary from '@/common/textdata.js';
|
||||
import {
|
||||
dateFormat
|
||||
} from "../../../../untils/format.js";
|
||||
import {
|
||||
userrecruitDetail
|
||||
} from '@/api/userrecruit.js'
|
||||
import uniMask from '@/components/uni-mask/mask.vue'
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
||||
import { dateFormat } from '../../../../untils/format.js';
|
||||
import { userrecruitDetail } from '@/api/userrecruit.js';
|
||||
import uniMask from '@/components/uni-mask/mask.vue';
|
||||
import validCode from '@/components/p-valid-code/p-valid-code.vue';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -188,15 +165,18 @@
|
||||
loading: false,
|
||||
latitude: 39.909, //中心点
|
||||
longitude: 116.39742,
|
||||
covers: [{ //marker标记位置
|
||||
covers: [
|
||||
{
|
||||
//marker标记位置
|
||||
id: 0,
|
||||
latitude: 0,
|
||||
longitude: 0,
|
||||
// width:30,
|
||||
// height:30,
|
||||
iconPath: '../../../../static/img/location.png'
|
||||
}],
|
||||
missionNo: "",
|
||||
iconPath: '../../../../static/img/location.png',
|
||||
},
|
||||
],
|
||||
missionNo: '',
|
||||
isShow: '',
|
||||
type: '',
|
||||
id: '',
|
||||
@@ -204,13 +184,14 @@
|
||||
maxlength: 6,
|
||||
collectStatus: 0, // 收藏状态
|
||||
showPopUp: false,
|
||||
}
|
||||
};
|
||||
},
|
||||
components: {
|
||||
uniMask,
|
||||
validCode
|
||||
validCode,
|
||||
},
|
||||
onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
|
||||
onLoad: function (option) {
|
||||
//option为object类型,会序列化上个页面传递的参数
|
||||
// this.$store.dispatch('setAutograph')
|
||||
if (option.workId) {
|
||||
this.workId = decodeURIComponent(option.workId);
|
||||
@@ -226,27 +207,28 @@
|
||||
}
|
||||
},
|
||||
onShow: function () {
|
||||
this.showDetail = true
|
||||
this.showDetail = true;
|
||||
this.getData();
|
||||
|
||||
},
|
||||
onShareAppMessage(obj) {
|
||||
return {
|
||||
title: this.info.missionTitle,
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`
|
||||
}
|
||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
dateFormat,
|
||||
callPhone() {
|
||||
async callPhone() {
|
||||
this.showPopUp = true;
|
||||
await getPhoneCountNumber();
|
||||
},
|
||||
closePopUp() {
|
||||
this.showPopUp = false;
|
||||
},
|
||||
getData: function () {
|
||||
const self = this;
|
||||
recruit_missionDetail(self.workId, self.type).then(res => {
|
||||
recruit_missionDetail(self.workId, self.type).then(
|
||||
(res) => {
|
||||
self.info = res.data.data;
|
||||
self.status = res.data.data.status;
|
||||
self.missionNo = res.data.data.missionNo;
|
||||
@@ -255,61 +237,65 @@
|
||||
self.covers[0].latitude = self.info.lat;
|
||||
self.covers[0].longitude = self.info.lon;
|
||||
self.showDetail = true;
|
||||
}, error => {
|
||||
},
|
||||
(error) => {
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
);
|
||||
},
|
||||
// 查看合同
|
||||
lookMask() {
|
||||
this.maskShow = true
|
||||
this.maskShow = true;
|
||||
},
|
||||
// 关闭弹窗
|
||||
close() {
|
||||
this.maskShow = false
|
||||
this.maskShow = false;
|
||||
},
|
||||
// 合同下一步
|
||||
next() {
|
||||
this.maskShow = false
|
||||
this.showDetail = false
|
||||
this.showCode = true
|
||||
this.maskShow = false;
|
||||
this.showDetail = false;
|
||||
this.showCode = true;
|
||||
},
|
||||
// 输入签名密码
|
||||
getInpCode(password) {
|
||||
uni.showLoading({
|
||||
title: "请求中..."
|
||||
})
|
||||
this.loading = true
|
||||
title: '请求中...',
|
||||
});
|
||||
this.loading = true;
|
||||
var obj = {
|
||||
pass: password
|
||||
}
|
||||
checkPass(obj).then(res => {
|
||||
this.submitTask()
|
||||
this.closeShowCode()
|
||||
}).catch(err => {
|
||||
this.loading = false
|
||||
pass: password,
|
||||
};
|
||||
checkPass(obj)
|
||||
.then((res) => {
|
||||
this.submitTask();
|
||||
this.closeShowCode();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 关闭签名密码弹窗
|
||||
closeShowCode() {
|
||||
this.showCode = false
|
||||
this.showDetail = true
|
||||
this.showCode = false;
|
||||
this.showDetail = true;
|
||||
},
|
||||
// 忘记密码
|
||||
forget() {
|
||||
uni.navigateTo({
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`
|
||||
})
|
||||
}
|
||||
url: `/pageMy/setUserBase/seal/forget?forget=true`,
|
||||
});
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['auth', 'autograph']),
|
||||
skillNames() {
|
||||
if (this.info.skillNames) {
|
||||
return this.info.skillNames.split(',')
|
||||
}
|
||||
}
|
||||
}
|
||||
return this.info.skillNames.split(',');
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@@ -320,7 +306,7 @@
|
||||
position: absolute;
|
||||
right: 36rpx;
|
||||
top: 120rpx;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
transform: rotate(45deg);
|
||||
font-size: 40px;
|
||||
}
|
||||
@@ -354,15 +340,14 @@
|
||||
font-size: 28rpx;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #5AA0FA;
|
||||
color: #5aa0fa;
|
||||
line-height: 38rpx;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.contractMask {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
margin: 30rpx;
|
||||
position: relative;
|
||||
border-radius: 4px;
|
||||
@@ -372,7 +357,7 @@
|
||||
.close {
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
color: #1B66FF;
|
||||
color: #1b66ff;
|
||||
position: fixed;
|
||||
right: 60rpx;
|
||||
top: 60rpx;
|
||||
@@ -388,10 +373,10 @@
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
text-align: center;
|
||||
background: #1B66FF;
|
||||
background: #1b66ff;
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -405,7 +390,7 @@
|
||||
}
|
||||
|
||||
.bottombtn {
|
||||
background-color: #1B66FF;
|
||||
background-color: #1b66ff;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
border-radius: 10rpx;
|
||||
@@ -454,7 +439,6 @@
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
margin: 20rpx 0;
|
||||
|
||||
}
|
||||
|
||||
.proint {
|
||||
@@ -464,13 +448,12 @@
|
||||
|
||||
.proneed {
|
||||
font-size: 32rpx !important;
|
||||
|
||||
}
|
||||
|
||||
.fee {
|
||||
font-family: PingFangSC-Medium;
|
||||
font-size: 32rpx;
|
||||
color: #F46161;
|
||||
color: #f46161;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
@@ -521,7 +504,6 @@
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
.applyTime {
|
||||
|
||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 563 B After Width: | Height: | Size: 269 B |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 809 B After Width: | Height: | Size: 401 B |
|
Before Width: | Height: | Size: 888 B After Width: | Height: | Size: 389 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 766 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 679 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 560 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 489 B |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 531 B After Width: | Height: | Size: 508 B |
|
Before Width: | Height: | Size: 565 B After Width: | Height: | Size: 538 B |
|
Before Width: | Height: | Size: 637 B After Width: | Height: | Size: 628 B |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 766 B |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 881 B After Width: | Height: | Size: 856 B |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 864 B |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 843 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 975 B After Width: | Height: | Size: 962 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 808 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 857 B |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 875 B After Width: | Height: | Size: 865 B |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1007 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 462 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 798 B |
|
Before Width: | Height: | Size: 538 B After Width: | Height: | Size: 142 B |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 478 B |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 636 B |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 481 B |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 421 B |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 463 B |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 417 B |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 660 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 522 B |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 783 B |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 895 B |
@@ -8,7 +8,9 @@ import {
|
||||
getUserInfo,
|
||||
logout,
|
||||
refreshToken,
|
||||
mobileIsCms
|
||||
mobileIsCms,
|
||||
noticeIsEnable,
|
||||
setNoticeIsEnable
|
||||
} from '@/api/user'
|
||||
import md5 from 'js-md5'
|
||||
import {
|
||||
@@ -71,8 +73,42 @@ const user = {
|
||||
userLocation: null,
|
||||
userIsCms: false,
|
||||
resumeInfo: {},
|
||||
isEnbleNotice: false,
|
||||
},
|
||||
actions: {
|
||||
getNoticeState({
|
||||
commit,
|
||||
dispatch
|
||||
}) {
|
||||
noticeIsEnable().then(res => {
|
||||
if (res.data.code === 200) {
|
||||
const data = res.data.data ? true : false
|
||||
commit('upDateNoticeState', data)
|
||||
}
|
||||
})
|
||||
},
|
||||
setNoticeOpen({
|
||||
commit,
|
||||
dispatch
|
||||
}) {
|
||||
setNoticeIsEnable(1).then(res => {
|
||||
if (res.code === 200) {
|
||||
const data = res.data
|
||||
commit('upDateNoticeState', true)
|
||||
}
|
||||
})
|
||||
},
|
||||
setNoticeClose({
|
||||
commit,
|
||||
dispatch
|
||||
}) {
|
||||
setNoticeIsEnable(0).then(res => {
|
||||
if (res.code === 200) {
|
||||
const data = res.data
|
||||
commit('upDateNoticeState', false)
|
||||
}
|
||||
})
|
||||
},
|
||||
getResumeInfo({
|
||||
commit,
|
||||
dispatch
|
||||
@@ -242,6 +278,9 @@ const user = {
|
||||
}
|
||||
},
|
||||
mutations: {
|
||||
upDateNoticeState(state, payload) {
|
||||
state.isEnbleNotice = payload
|
||||
},
|
||||
upDataResumeInfo(state, payload) {
|
||||
state.resumeInfo = payload
|
||||
},
|
||||
|
||||