flat: 压缩图片,添加消息控制
238
App.vue
@@ -1,143 +1,139 @@
|
|||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
|
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
|
||||||
@import "@/uni_modules/uview-ui/index.scss";
|
@import '@/uni_modules/uview-ui/index.scss';
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
import website from '@/config/website.js'
|
import website from '@/config/website.js';
|
||||||
import {
|
import { mapGetters } from 'vuex';
|
||||||
mapGetters
|
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||||
} from 'vuex'
|
// #ifdef H5
|
||||||
import {
|
import { setPlatformByHostName } from '@/untils/customized.js';
|
||||||
GoLogin
|
import { reject } from 'lodash';
|
||||||
} from '@/untils/AxiosUtils.js';
|
// #endif
|
||||||
// #ifdef H5
|
|
||||||
import {
|
|
||||||
setPlatformByHostName
|
|
||||||
} from '@/untils/customized.js'
|
|
||||||
import {
|
|
||||||
reject
|
|
||||||
} from 'lodash';
|
|
||||||
// #endif
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
onLaunch: function(options) {
|
onLaunch: function (options) {
|
||||||
this.$store.dispatch('InitArea')
|
this.$store.dispatch('InitArea');
|
||||||
if (options.query.token) {
|
if (options.query.token) {
|
||||||
this.tokenlogin(options.query.token).then(() => {
|
this.tokenlogin(options.query.token).then(() => {
|
||||||
this.$store.dispatch('getUserLocation')
|
this.$store.dispatch('getUserLocation');
|
||||||
this.$store.dispatch('getMobileIsCms')
|
this.$store.dispatch('getNoticeState');
|
||||||
this.$store.dispatch('getResumeInfo')
|
this.$store.dispatch('getMobileIsCms');
|
||||||
})
|
this.$store.dispatch('getResumeInfo');
|
||||||
} else {
|
});
|
||||||
this.$store.dispatch('FedLogOut')
|
} else {
|
||||||
}
|
this.$store.dispatch('FedLogOut');
|
||||||
// if (options.query.token) {
|
}
|
||||||
// // uni.reLaunch({
|
// if (options.query.token) {
|
||||||
// // url: '/pages/login/blank?token=' + options.query.token
|
// // uni.reLaunch({
|
||||||
// // })
|
// // url: '/pages/login/blank?token=' + options.query.token
|
||||||
// this.tokenlogin(options.query.token)
|
// // })
|
||||||
// } else if (this.$api.haslogin()) {
|
// this.tokenlogin(options.query.token)
|
||||||
// this.$store.dispatch('startRefreshTokenTimer')
|
// } else if (this.$api.haslogin()) {
|
||||||
// this.$store.dispatch('startRefreshNewsTimer')
|
// this.$store.dispatch('startRefreshTokenTimer')
|
||||||
// this.$store.dispatch('refreshAuthState')
|
// this.$store.dispatch('startRefreshNewsTimer')
|
||||||
// this.$store.dispatch('getUserLocation')
|
// this.$store.dispatch('refreshAuthState')
|
||||||
// this.$store.dispatch('getMobileIsCms')
|
// this.$store.dispatch('getUserLocation')
|
||||||
// }
|
// this.$store.dispatch('getMobileIsCms')
|
||||||
// #ifdef H5
|
// }
|
||||||
// 企业定制
|
// #ifdef H5
|
||||||
setPlatformByHostName(this.$store)
|
// 企业定制
|
||||||
// #endif
|
setPlatformByHostName(this.$store);
|
||||||
|
// #endif
|
||||||
|
},
|
||||||
|
onShow: function () {},
|
||||||
|
onHide: function () {},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['news', 'auth']),
|
||||||
|
allUnread() {
|
||||||
|
return this.news.allUnread;
|
||||||
},
|
},
|
||||||
onShow: function() {},
|
},
|
||||||
onHide: function() {},
|
mounted() {
|
||||||
computed: {
|
this.$config.showTitle && document.documentElement.style.setProperty('--hide-title', 'block');
|
||||||
...mapGetters(['news', 'auth']),
|
},
|
||||||
allUnread() {
|
methods: {
|
||||||
return this.news.allUnread
|
tokenlogin(token) {
|
||||||
}
|
return new Promise((resolve, reject) => {
|
||||||
},
|
uni.showLoading({
|
||||||
mounted() {
|
title: '登录中',
|
||||||
this.$config.showTitle && document.documentElement.style.setProperty('--hide-title', 'block');
|
});
|
||||||
},
|
if (token) {
|
||||||
methods: {
|
const that = this;
|
||||||
tokenlogin(token) {
|
this.$store
|
||||||
return new Promise((resolve, reject) => {
|
.dispatch('LoginByUsername', {
|
||||||
uni.showLoading({
|
|
||||||
title: '登录中'
|
|
||||||
})
|
|
||||||
if (token) {
|
|
||||||
const that = this
|
|
||||||
this.$store.dispatch("LoginByUsername", {
|
|
||||||
username: 'admin',
|
username: 'admin',
|
||||||
password: "admin",
|
password: 'admin',
|
||||||
key: '',
|
key: '',
|
||||||
code: '1111',
|
code: '1111',
|
||||||
type: "account",
|
type: 'account',
|
||||||
token: token,
|
token: token,
|
||||||
tenantId: website.tenantId
|
tenantId: website.tenantId,
|
||||||
}).then((resp) => {
|
})
|
||||||
|
.then((resp) => {
|
||||||
this.$store.dispatch('refreshAuthState').then(() => {
|
this.$store.dispatch('refreshAuthState').then(() => {
|
||||||
uni.hideLoading()
|
uni.hideLoading();
|
||||||
resolve()
|
resolve();
|
||||||
})
|
});
|
||||||
}).catch((err) => {
|
})
|
||||||
uni.hideLoading()
|
.catch((err) => {
|
||||||
|
uni.hideLoading();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
GoLogin()
|
GoLogin();
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
allUnread(value) {
|
||||||
|
console.log('allUnread', value);
|
||||||
|
if (!this.$api.haslogin()) {
|
||||||
|
} else if (value > 0) {
|
||||||
|
uni.showTabBarRedDot({
|
||||||
|
index: 2,
|
||||||
|
});
|
||||||
|
uni.$once('newsReadChange', () => {
|
||||||
|
uni.showTabBarRedDot({
|
||||||
|
index: 2,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
uni.hideTabBarRedDot({
|
||||||
|
index: 2,
|
||||||
|
});
|
||||||
|
uni.$once('newsReadChange', () => {
|
||||||
|
uni.hideTabBarRedDot({
|
||||||
|
index: 2,
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
},
|
||||||
allUnread(value) {
|
};
|
||||||
console.log('allUnread', value)
|
|
||||||
if (!this.$api.haslogin()) {} else if (value > 0) {
|
|
||||||
uni.showTabBarRedDot({
|
|
||||||
index: 2
|
|
||||||
})
|
|
||||||
uni.$once('newsReadChange', () => {
|
|
||||||
uni.showTabBarRedDot({
|
|
||||||
index: 2
|
|
||||||
})
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
uni.hideTabBarRedDot({
|
|
||||||
index: 2
|
|
||||||
})
|
|
||||||
uni.$once('newsReadChange', () => {
|
|
||||||
uni.hideTabBarRedDot({
|
|
||||||
index: 2
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
/*每个页面公共css */
|
/*每个页面公共css */
|
||||||
/* tabbar 字体大小 */
|
/* tabbar 字体大小 */
|
||||||
/* .uni-tabbar__label{
|
/* .uni-tabbar__label{
|
||||||
font-size: 14px !important;
|
font-size: 14px !important;
|
||||||
} */
|
} */
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'uicon-iconfont';
|
font-family: 'uicon-iconfont';
|
||||||
font-weight: mormal;
|
font-weight: mormal;
|
||||||
font-style: mormal;
|
font-style: mormal;
|
||||||
src: url('/static/font/font_2225171_8kdcwk4po24.ttf') format('truetype');
|
src: url('/static/font/font_2225171_8kdcwk4po24.ttf') format('truetype');
|
||||||
}
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--hide-title: none;
|
--hide-title: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #ifdef H5 */
|
/* #ifdef H5 */
|
||||||
uni-page-head {
|
uni-page-head {
|
||||||
display: var(--hide-title);
|
display: var(--hide-title);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #endif */
|
/* #endif */
|
||||||
</style>
|
</style>
|
||||||
154
api/auth.js
@@ -1,118 +1,124 @@
|
|||||||
import {
|
import {
|
||||||
request
|
request
|
||||||
} from '@/untils/AxiosUtils.js';
|
} from '@/untils/AxiosUtils.js';
|
||||||
import website from "@/config/website";
|
import website from "@/config/website";
|
||||||
|
|
||||||
const authUrl = '/api/jobslink-api/user/user/auth/auth'
|
const authUrl = '/api/jobslink-api/user/user/auth/auth'
|
||||||
|
|
||||||
export const findAuth = () => request({
|
export const findAuth = () => request({
|
||||||
url: '/api/jobslink-api/user/user/find',
|
url: '/api/jobslink-api/user/user/find',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
|
|
||||||
export const cheakValue = () => request({
|
export const cheakValue = () => request({
|
||||||
url: authUrl,
|
url: authUrl,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: {
|
data: {
|
||||||
cheakvalue: 1,
|
cheakvalue: 1,
|
||||||
bakvalue: 0
|
bakvalue: 0
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export const realName = (realName, idNumber) => request({
|
export const realName = (realName, idNumber) => request({
|
||||||
url: authUrl,
|
url: authUrl,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: {
|
data: {
|
||||||
cheakvalue: 2,
|
cheakvalue: 2,
|
||||||
realName,
|
realName,
|
||||||
idNumber
|
idNumber
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export const bank = (bankName, realName, cardNumber, def, id) => request({
|
export const bank = (bankName, realName, cardNumber, def, id) => request({
|
||||||
url: authUrl,
|
url: authUrl,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: {
|
data: {
|
||||||
cheakvalue: 3,
|
cheakvalue: 3,
|
||||||
bankName,
|
bankName,
|
||||||
cardNumber,
|
cardNumber,
|
||||||
realName,
|
realName,
|
||||||
def,
|
def,
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export const insure = (bakvalue) => request({
|
export const insure = (bakvalue) => request({
|
||||||
url: authUrl,
|
url: authUrl,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: {
|
data: {
|
||||||
cheakvalue: 4,
|
cheakvalue: 4,
|
||||||
bakvalue
|
bakvalue
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 判断当前用户是否采集签名
|
// 判断当前用户是否采集签名
|
||||||
export const isGather = () => request({
|
export const isGather = () => request({
|
||||||
url: "/api/jobslink-api/doc/docUserSeal/isGather",
|
url: "/api/jobslink-api/doc/docUserSeal/isGather",
|
||||||
method: 'get',
|
method: 'get',
|
||||||
});
|
});
|
||||||
// 个人端签名采集
|
// 个人端签名采集
|
||||||
export const signGather = (signSrcUrl, password, confirmPassword) => request({
|
export const signGather = (signSrcUrl, password, confirmPassword) => request({
|
||||||
url: "/api/jobslink-api/doc/docUserSeal/signGather",
|
url: "/api/jobslink-api/doc/docUserSeal/signGather",
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: {
|
data: {
|
||||||
signSrcUrl,
|
signSrcUrl,
|
||||||
password,
|
password,
|
||||||
confirmPassword
|
confirmPassword
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 获取短信接口
|
// 获取短信接口
|
||||||
export const sendValidate = (mobile) => request({
|
export const sendValidate = (mobile) => request({
|
||||||
url: "/api/jobslink-api/doc/docUserCert/resetPass/sendValidate",
|
url: "/api/jobslink-api/doc/docUserCert/resetPass/sendValidate",
|
||||||
method: 'get',
|
method: 'get',
|
||||||
data: {
|
data: {
|
||||||
mobile
|
mobile
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 密码重置接口
|
// 密码重置接口
|
||||||
export const resetPass = (mobile, code, password) => request({
|
export const resetPass = (mobile, code, password) => request({
|
||||||
url: "/api/jobslink-api/doc/docUserCert/resetPass",
|
url: "/api/jobslink-api/doc/docUserCert/resetPass",
|
||||||
method: 'post',
|
method: 'post',
|
||||||
headers: {
|
headers: {
|
||||||
'SCaptcha-Key': mobile,
|
'SCaptcha-Key': mobile,
|
||||||
'SCaptcha-Code': code,
|
'SCaptcha-Code': code,
|
||||||
'password': password
|
'password': password
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 我的合同
|
// 我的合同
|
||||||
export const contractList = (params) => request({
|
export const contractList = (params) => request({
|
||||||
url: "/api/jobslink-api/doc/contract/personal/contractList",
|
url: "/api/jobslink-api/doc/contract/personal/contractList",
|
||||||
method: 'get',
|
method: 'get',
|
||||||
data: params
|
data: params
|
||||||
});
|
});
|
||||||
// 签名密码 /jobslink-api/doc/docUserCert/checkPass
|
// 签名密码 /jobslink-api/doc/docUserCert/checkPass
|
||||||
export const checkPass = (params) => request({
|
export const checkPass = (params) => request({
|
||||||
url: "/api/jobslink-api/doc/docUserCert/checkPass",
|
url: "/api/jobslink-api/doc/docUserCert/checkPass",
|
||||||
method: 'get',
|
method: 'get',
|
||||||
data: params
|
data: params
|
||||||
});
|
});
|
||||||
// 返回的是base64格式的pdf
|
// 返回的是base64格式的pdf
|
||||||
export const viewContract = (params) => request({
|
export const viewContract = (params) => request({
|
||||||
url: "/api/jobslink-api/doc/contract/viewContract",
|
url: "/api/jobslink-api/doc/contract/viewContract",
|
||||||
method: 'get',
|
method: 'get',
|
||||||
data: params
|
data: params
|
||||||
});
|
});
|
||||||
|
|
||||||
//新实名认证api
|
//新实名认证api
|
||||||
export const newCertification = (bakvalue, realName, idNumber, cardNumber, bankCode,def,bankName) => request({
|
export const newCertification = (bakvalue, realName, idNumber, cardNumber, bankCode, def, bankName) => request({
|
||||||
url: '/api/jobslink-api/user/user/auth/authNew',
|
url: '/api/jobslink-api/user/user/auth/authNew',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: {
|
data: {
|
||||||
bakvalue,
|
bakvalue,
|
||||||
realName,
|
realName,
|
||||||
idNumber,
|
idNumber,
|
||||||
cardNumber,
|
cardNumber,
|
||||||
bankCode,
|
bankCode,
|
||||||
def,
|
def,
|
||||||
bankName
|
bankName
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
// 电话联系
|
||||||
|
export const getPhoneCountNumber = (params) => request({
|
||||||
|
url: "/api/jobslink-api/serve/phone",
|
||||||
|
method: 'get',
|
||||||
|
data: params
|
||||||
});
|
});
|
||||||
@@ -1,47 +1,55 @@
|
|||||||
import {
|
import {
|
||||||
request
|
request
|
||||||
} from '@/untils/AxiosUtils.js';
|
} from '@/untils/AxiosUtils.js';
|
||||||
import website from "../config/website.js"
|
import website from "../config/website.js"
|
||||||
import store from '@/store/';
|
import store from '@/store/';
|
||||||
// 设置民族政治面貌 jobslink-api/user/user/setInfo
|
// 设置民族政治面貌 jobslink-api/user/user/setInfo
|
||||||
export const setInfo = (params) => request({
|
export const setInfo = (params) => request({
|
||||||
url: "/api/jobslink-api/user/user/setInfo",
|
url: "/api/jobslink-api/user/user/setInfo",
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: params
|
data: params
|
||||||
});
|
});
|
||||||
|
|
||||||
// 获取用户工会状态 /jobslink-api/doc/user/labourUnion/info
|
// 获取用户工会状态 /jobslink-api/doc/user/labourUnion/info
|
||||||
export const labourUnionInfo = () => request({
|
export const labourUnionInfo = () => request({
|
||||||
url: "/api/jobslink-api/doc/user/labourUnion/info",
|
url: "/api/jobslink-api/doc/user/labourUnion/info",
|
||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
|
|
||||||
// 申请入会
|
// 申请入会
|
||||||
export const contract = (params) => request({
|
export const contract = (params) => request({
|
||||||
url: "/api/jobslink-api/doc/user/labourUnion/apply",
|
url: "/api/jobslink-api/doc/user/labourUnion/apply",
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: params
|
data: params
|
||||||
});
|
});
|
||||||
|
|
||||||
//会员信息--判断用户是否加入工会
|
//会员信息--判断用户是否加入工会
|
||||||
export const labourUnionDetail = (no) => request({
|
export const labourUnionDetail = (no) => request({
|
||||||
url: "/api/jobslink-api/doc/jkLabourUnionAppl/list",
|
url: "/api/jobslink-api/doc/jkLabourUnionAppl/list",
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params:{no}
|
params: {
|
||||||
|
no
|
||||||
|
}
|
||||||
});
|
});
|
||||||
//提交会员申请
|
//提交会员申请
|
||||||
export const saveApplication = (labourunionId,applType,applComment) =>{
|
export const saveApplication = (labourunionId, applType, applComment) => {
|
||||||
applComment=applComment.substring(0,200)
|
applComment = applComment.substring(0, 200)
|
||||||
return request({
|
return request({
|
||||||
url: "/api/jobslink-api/doc/jkLabourUnionDetail/save",
|
url: "/api/jobslink-api/doc/jkLabourUnionDetail/save",
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data:{labourunionId,applType,applComment}
|
data: {
|
||||||
});
|
labourunionId,
|
||||||
|
applType,
|
||||||
|
applComment
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询提交的申请内容
|
//查询提交的申请内容
|
||||||
export const applicationInfo = (no) => request({
|
export const applicationInfo = (no) => request({
|
||||||
url: "/api/jobslink-api/doc/jkLabourUnionDetail/list",
|
url: "/api/jobslink-api/doc/jkLabourUnionDetail/list",
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params:{no}
|
params: {
|
||||||
|
no
|
||||||
|
}
|
||||||
});
|
});
|
||||||
10
api/user.js
@@ -73,3 +73,13 @@ export const mobileIsCms = () => request({
|
|||||||
url: '/api/jobslink-api/mobile/isCms',
|
url: '/api/jobslink-api/mobile/isCms',
|
||||||
method: 'get'
|
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>
|
<image src="../../static/img/right.svg" mode=""></image>
|
||||||
</view>
|
</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">
|
<template v-if="user.userIsCms">
|
||||||
<view class="btnList" @click="navTo('/pageMy/admin/check')">
|
<view class="btnList" @click="navTo('/pageMy/admin/check')">
|
||||||
<image src="../../static/img/check1.png" mode=""></image>
|
<image src="../../static/img/check1.png" mode=""></image>
|
||||||
@@ -160,6 +165,13 @@ export default {
|
|||||||
// this.labourUnionInfoInit()
|
// this.labourUnionInfoInit()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
switch1Change(e) {
|
||||||
|
if (e.detail.value) {
|
||||||
|
this.$store.dispatch('setNoticeOpen');
|
||||||
|
} else {
|
||||||
|
this.$store.dispatch('setNoticeClose');
|
||||||
|
}
|
||||||
|
},
|
||||||
labourUnionInfoInit() {
|
labourUnionInfoInit() {
|
||||||
labourUnionInfo().then((e) => {
|
labourUnionInfo().then((e) => {
|
||||||
this.federationStatus = e.data.data.joined;
|
this.federationStatus = e.data.data.joined;
|
||||||
@@ -247,6 +259,11 @@ page {
|
|||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.imgswitch {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.btnList image {
|
.btnList image {
|
||||||
width: 52rpx;
|
width: 52rpx;
|
||||||
height: 52rpx;
|
height: 52rpx;
|
||||||
|
|||||||
@@ -7,45 +7,27 @@
|
|||||||
<!-- <view class="prolist">
|
<!-- <view class="prolist">
|
||||||
任务编码:{{info.missionNo}}
|
任务编码:{{info.missionNo}}
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="prolist">
|
<view class="prolist">发布日期:{{ info.stime ? dateFormat(info.stime) : null }}</view>
|
||||||
发布日期:{{ info.stime ? dateFormat((info.stime)) : null }}
|
<view class="prolist">招聘人数:{{ info.peopleNum }}</view>
|
||||||
</view>
|
<view class="prolist">行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry }}</view>
|
||||||
<view class="prolist">
|
<view class="prolist">工种类型:{{ info.skillNames }}</view>
|
||||||
招聘人数:{{ info.peopleNum }}
|
|
||||||
</view>
|
|
||||||
<view class="prolist">
|
|
||||||
行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry }}
|
|
||||||
</view>
|
|
||||||
<view class="prolist">
|
|
||||||
工种类型:{{ info.skillNames }}
|
|
||||||
</view>
|
|
||||||
<!-- <view class="fee">
|
<!-- <view class="fee">
|
||||||
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
|
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
|
||||||
</view> -->
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="head">
|
<view class="head">
|
||||||
<view class="proname proneed">
|
<view class="proname proneed">招工要求</view>
|
||||||
招工要求
|
|
||||||
</view>
|
|
||||||
<!-- <view class="prolist">
|
<!-- <view class="prolist">
|
||||||
<view class="protype">
|
<view class="protype">
|
||||||
年龄要求:{{age[info.ageDesc]}}
|
年龄要求:{{age[info.ageDesc]}}
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="prolist">
|
<view class="prolist">
|
||||||
<view class="protype">
|
<view class="protype">学历要求:{{ info.education }}</view>
|
||||||
学历要求:{{ info.education }}
|
<view class="protype">经验要求:{{ info.experienceDesc }}</view>
|
||||||
</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>
|
||||||
|
<view class="prolist">招工地址:{{ info.jobAddress }}</view>
|
||||||
|
<view class="prolist proint" style="font-weight: bold; color: #333">招工描述</view>
|
||||||
<view class="prolist description">
|
<view class="prolist description">
|
||||||
{{ info.jobDescription }}
|
{{ info.jobDescription }}
|
||||||
</view>
|
</view>
|
||||||
@@ -70,16 +52,17 @@
|
|||||||
<!-- <view class="prolist">
|
<!-- <view class="prolist">
|
||||||
用工单位:{{info.jobCompanyName}}
|
用工单位:{{info.jobCompanyName}}
|
||||||
</view> -->
|
</view> -->
|
||||||
<view style="display: flex;align-items: center;">
|
<view style="display: flex; align-items: center">
|
||||||
<image src="../../../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 20rpx;"
|
<image
|
||||||
mode=""></image>
|
src="../../../../static/img/city.png"
|
||||||
<view style="font-size: 30rpx;">{{ info.jobCompanyName }}</view>
|
style="width: 40rpx; height: 40rpx; margin-right: 20rpx"
|
||||||
|
mode=""
|
||||||
|
></image>
|
||||||
|
<view style="font-size: 30rpx">{{ info.jobCompanyName }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="head">
|
<view class="head">
|
||||||
<view class="proname proneed">
|
<view class="proname proneed">地址</view>
|
||||||
地址
|
|
||||||
</view>
|
|
||||||
<!-- <view class="prolist">
|
<!-- <view class="prolist">
|
||||||
<view class="protype">
|
<view class="protype">
|
||||||
联系人:{{info.callName}}
|
联系人:{{info.callName}}
|
||||||
@@ -91,38 +74,48 @@
|
|||||||
<!-- <view class="prolist" v-if="info.callNumber">
|
<!-- <view class="prolist" v-if="info.callNumber">
|
||||||
座机号:{{info.callNumber}}
|
座机号:{{info.callNumber}}
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="prolist">
|
<view class="prolist">岗位地址:{{ info.address }}</view>
|
||||||
岗位地址:{{ info.address }}
|
|
||||||
</view>
|
|
||||||
<view class="map">
|
<view class="map">
|
||||||
<super-map ref="uMap" style="width: 100%;height: 100%;" :latitude="latitude" :longitude="longitude"
|
<super-map
|
||||||
:open="true" :zoom="14" :min-zoom="10" :max-zoom="20" :MapUrl="$config.supperMap"
|
ref="uMap"
|
||||||
:flag-tip="false"></super-map>
|
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>
|
</view>
|
||||||
<!-- <map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></map> -->
|
<!-- <map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></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">
|
<view class="btn">
|
||||||
<view @click="callPhone" class="bottombtn flexbtn"
|
<view
|
||||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
@click="callPhone"
|
||||||
|
class="bottombtn flexbtn"
|
||||||
|
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||||
|
>
|
||||||
电话联系
|
电话联系
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<uniMask :maskShow="maskShow">
|
<uniMask :maskShow="maskShow">
|
||||||
<view class="contractMask">
|
<view class="contractMask">
|
||||||
<!-- #ifdef H5 || APP-PLUS -->
|
<!-- #ifdef H5 || APP-PLUS -->
|
||||||
<view class="close" @click="close" style="top: 124rpx;">+</view>
|
<view class="close" @click="close" style="top: 124rpx">+</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<!-- #ifdef MP-WEIXIN -->
|
<!-- #ifdef MP-WEIXIN -->
|
||||||
<view class="close" @click="close">+</view>
|
<view class="close" @click="close">+</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<view style="height: 30px;"></view>
|
<view style="height: 30px"></view>
|
||||||
<img :src="src" alt="" style="width:100%;height: 1000px;">
|
<img :src="src" alt="" style="width: 100%; height: 1000px" />
|
||||||
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||||
</view>
|
</view>
|
||||||
</uniMask>
|
</uniMask>
|
||||||
<u-popup closeable :show="showPopUp" mode="bottom" @close="closePopUp">
|
<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 class="contactWrapper" v-for="(item, index) in info.applyList" :key="index">
|
||||||
<view>{{ item.realName }} : {{ item.telphone }}</view>
|
<view>{{ item.realName }} : {{ item.telphone }}</view>
|
||||||
<view class="applyTime">申请时间:{{ item.applyTime }}</view>
|
<view class="applyTime">申请时间:{{ item.applyTime }}</view>
|
||||||
@@ -133,7 +126,7 @@
|
|||||||
|
|
||||||
<view v-else-if="showCode" class="codeSealBox">
|
<view v-else-if="showCode" class="codeSealBox">
|
||||||
<!-- #ifdef H5 || APP-PLUS -->
|
<!-- #ifdef H5 || APP-PLUS -->
|
||||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
<view class="closeCode" @click="closeShowCode" style="top: 124rpx">+</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<!-- #ifdef MP-WEIXIN -->
|
<!-- #ifdef MP-WEIXIN -->
|
||||||
<view class="closeCode" @click="closeShowCode">+</view>
|
<view class="closeCode" @click="closeShowCode">+</view>
|
||||||
@@ -143,400 +136,390 @@
|
|||||||
<view class="name">签名密码</view>
|
<view class="name">签名密码</view>
|
||||||
<view class="tip">6位数字签名密码</view>
|
<view class="tip">6位数字签名密码</view>
|
||||||
</view>
|
</view>
|
||||||
<view style="height: 36px;"></view>
|
<view style="height: 36px"></view>
|
||||||
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
<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 class="forget" @click="forget">忘记密码?</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { mapGetters } from 'vuex';
|
||||||
mapGetters
|
import { recruit_missionDetail } from '@/api/mission.js';
|
||||||
} from 'vuex'
|
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||||
import {
|
import { setRead } from '@/api/news.js';
|
||||||
recruit_missionDetail,
|
import { checkPass, getPhoneCountNumber } from '@/api/auth.js';
|
||||||
} from '@/api/mission.js';
|
import dictionary from '@/common/textdata.js';
|
||||||
import {
|
import { dateFormat } from '../../../../untils/format.js';
|
||||||
GoLogin
|
import uniMask from '@/components/uni-mask/mask.vue';
|
||||||
} from '@/untils/AxiosUtils.js';
|
import validCode from '@/components/p-valid-code/p-valid-code.vue';
|
||||||
import {
|
import { getuserrecruitDetailApp } from '@/api/userrecruit.js';
|
||||||
setRead
|
export default {
|
||||||
} from '@/api/news.js';
|
data() {
|
||||||
import {
|
return {
|
||||||
checkPass
|
...dictionary,
|
||||||
} from '@/api/auth.js';
|
info: {},
|
||||||
import dictionary from '@/common/textdata.js';
|
status: null,
|
||||||
import {
|
showDetail: false,
|
||||||
dateFormat
|
showCode: false,
|
||||||
} from "../../../../untils/format.js";
|
maskShow: false,
|
||||||
import uniMask from '@/components/uni-mask/mask.vue'
|
nextBtn: false,
|
||||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
loading: false,
|
||||||
import {
|
latitude: 39.909, //中心点
|
||||||
getuserrecruitDetailApp
|
longitude: 116.39742,
|
||||||
} from '@/api/userrecruit.js'
|
covers: [
|
||||||
export default {
|
{
|
||||||
data() {
|
//marker标记位置
|
||||||
return {
|
|
||||||
...dictionary,
|
|
||||||
info: {},
|
|
||||||
status: null,
|
|
||||||
showDetail: false,
|
|
||||||
showCode: false,
|
|
||||||
maskShow: false,
|
|
||||||
nextBtn: false,
|
|
||||||
loading: false,
|
|
||||||
latitude: 39.909, //中心点
|
|
||||||
longitude: 116.39742,
|
|
||||||
covers: [{ //marker标记位置
|
|
||||||
id: 0,
|
id: 0,
|
||||||
latitude: 0,
|
latitude: 0,
|
||||||
longitude: 0,
|
longitude: 0,
|
||||||
// width:30,
|
// width:30,
|
||||||
// height:30,
|
// height:30,
|
||||||
iconPath: '../../../../static/img/location.png'
|
iconPath: '../../../../static/img/location.png',
|
||||||
}],
|
},
|
||||||
missionNo: "",
|
],
|
||||||
isShow: '',
|
missionNo: '',
|
||||||
type: '',
|
isShow: '',
|
||||||
id: '',
|
type: '',
|
||||||
src: 'https://jlfiles.oss-cn-zhangjiakou.aliyuncs.com/jobslink-api/doc/%E7%94%B5%E5%AD%90%E5%90%88%E5%90%8C%E9%A2%84%E8%A7%88%E5%9B%BE%E7%89%87.png',
|
id: '',
|
||||||
maxlength: 6,
|
src: 'https://jlfiles.oss-cn-zhangjiakou.aliyuncs.com/jobslink-api/doc/%E7%94%B5%E5%AD%90%E5%90%88%E5%90%8C%E9%A2%84%E8%A7%88%E5%9B%BE%E7%89%87.png',
|
||||||
collectStatus: 0, // 收藏状态
|
maxlength: 6,
|
||||||
showPopUp: false,
|
collectStatus: 0, // 收藏状态
|
||||||
jobType: null
|
showPopUp: false,
|
||||||
}
|
jobType: null,
|
||||||
},
|
};
|
||||||
components: {
|
},
|
||||||
uniMask,
|
components: {
|
||||||
validCode
|
uniMask,
|
||||||
},
|
validCode,
|
||||||
onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
|
},
|
||||||
// this.$store.dispatch('setAutograph')
|
onLoad: function (option) {
|
||||||
if (option.workId) {
|
//option为object类型,会序列化上个页面传递的参数
|
||||||
this.workId = decodeURIComponent(option.workId);
|
// this.$store.dispatch('setAutograph')
|
||||||
}
|
if (option.workId) {
|
||||||
if (option.isCan) {
|
this.workId = decodeURIComponent(option.workId);
|
||||||
this.isShow = option.isCan; //isShow为'0'则为我的任务、我的评价过来的,需要隐藏抢任务按钮
|
|
||||||
}
|
|
||||||
if (option.type) {
|
|
||||||
this.type = option.type; //type为1则为消息邀请过来的,需要设置消息已读;
|
|
||||||
}
|
|
||||||
if (option.id) {
|
|
||||||
this.id = option.id; //消息id
|
|
||||||
}
|
|
||||||
if (option.jobType) {
|
|
||||||
this.jobType = option.jobType
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onShow: function() {
|
|
||||||
this.showDetail = true
|
|
||||||
this.getData();
|
|
||||||
|
|
||||||
},
|
|
||||||
onShareAppMessage(obj) {
|
|
||||||
return {
|
|
||||||
title: this.info.missionTitle,
|
|
||||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
dateFormat,
|
|
||||||
callPhone() {
|
|
||||||
this.showPopUp = true;
|
|
||||||
},
|
|
||||||
closePopUp() {
|
|
||||||
this.showPopUp = false;
|
|
||||||
},
|
|
||||||
async getData() {
|
|
||||||
const self = this;
|
|
||||||
let resData = null
|
|
||||||
if (this.jobType) {
|
|
||||||
resData = await getuserrecruitDetailApp({
|
|
||||||
id: this.id,
|
|
||||||
jobType: this.jobType
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
resData = await recruit_missionDetail(self.workId, self.type)
|
|
||||||
}
|
|
||||||
if (resData.data?.code === 200) {
|
|
||||||
self.info = resData.data.data;
|
|
||||||
self.status = resData.data.data.status;
|
|
||||||
self.missionNo = resData.data.data.missionNo;
|
|
||||||
self.latitude = self.info.lat;
|
|
||||||
self.longitude = self.info.lon;
|
|
||||||
self.covers[0].latitude = self.info.lat;
|
|
||||||
self.covers[0].longitude = self.info.lon;
|
|
||||||
self.showDetail = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 查看合同
|
|
||||||
lookMask() {
|
|
||||||
this.maskShow = true
|
|
||||||
},
|
|
||||||
// 关闭弹窗
|
|
||||||
close() {
|
|
||||||
this.maskShow = false
|
|
||||||
},
|
|
||||||
// 合同下一步
|
|
||||||
next() {
|
|
||||||
this.maskShow = false
|
|
||||||
this.showDetail = false
|
|
||||||
this.showCode = true
|
|
||||||
},
|
|
||||||
// 输入签名密码
|
|
||||||
getInpCode(password) {
|
|
||||||
uni.showLoading({
|
|
||||||
title: "请求中..."
|
|
||||||
})
|
|
||||||
this.loading = true
|
|
||||||
var obj = {
|
|
||||||
pass: password
|
|
||||||
}
|
|
||||||
checkPass(obj).then(res => {
|
|
||||||
this.submitTask()
|
|
||||||
this.closeShowCode()
|
|
||||||
}).catch(err => {
|
|
||||||
this.loading = false
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 关闭签名密码弹窗
|
|
||||||
closeShowCode() {
|
|
||||||
this.showCode = false
|
|
||||||
this.showDetail = true
|
|
||||||
},
|
|
||||||
// 忘记密码
|
|
||||||
forget() {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: `/pageMy/setUserBase/seal/forget?forget=true`
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
...mapGetters(['auth', 'autograph']),
|
|
||||||
skillNames() {
|
|
||||||
if (this.info.skillNames) {
|
|
||||||
return this.info.skillNames.split(',')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
if (option.isCan) {
|
||||||
|
this.isShow = option.isCan; //isShow为'0'则为我的任务、我的评价过来的,需要隐藏抢任务按钮
|
||||||
|
}
|
||||||
|
if (option.type) {
|
||||||
|
this.type = option.type; //type为1则为消息邀请过来的,需要设置消息已读;
|
||||||
|
}
|
||||||
|
if (option.id) {
|
||||||
|
this.id = option.id; //消息id
|
||||||
|
}
|
||||||
|
if (option.jobType) {
|
||||||
|
this.jobType = option.jobType;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow: function () {
|
||||||
|
this.showDetail = true;
|
||||||
|
this.getData();
|
||||||
|
},
|
||||||
|
onShareAppMessage(obj) {
|
||||||
|
return {
|
||||||
|
title: this.info.missionTitle,
|
||||||
|
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
dateFormat,
|
||||||
|
async callPhone() {
|
||||||
|
this.showPopUp = true;
|
||||||
|
await getPhoneCountNumber();
|
||||||
|
|
||||||
|
this.showPopUp = true;
|
||||||
|
},
|
||||||
|
closePopUp() {
|
||||||
|
this.showPopUp = false;
|
||||||
|
},
|
||||||
|
async getData() {
|
||||||
|
const self = this;
|
||||||
|
let resData = null;
|
||||||
|
if (this.jobType) {
|
||||||
|
resData = await getuserrecruitDetailApp({
|
||||||
|
id: this.id,
|
||||||
|
jobType: this.jobType,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
resData = await recruit_missionDetail(self.workId, self.type);
|
||||||
|
}
|
||||||
|
if (resData.data?.code === 200) {
|
||||||
|
self.info = resData.data.data;
|
||||||
|
self.status = resData.data.data.status;
|
||||||
|
self.missionNo = resData.data.data.missionNo;
|
||||||
|
self.latitude = self.info.lat;
|
||||||
|
self.longitude = self.info.lon;
|
||||||
|
self.covers[0].latitude = self.info.lat;
|
||||||
|
self.covers[0].longitude = self.info.lon;
|
||||||
|
self.showDetail = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 查看合同
|
||||||
|
lookMask() {
|
||||||
|
this.maskShow = true;
|
||||||
|
},
|
||||||
|
// 关闭弹窗
|
||||||
|
close() {
|
||||||
|
this.maskShow = false;
|
||||||
|
},
|
||||||
|
// 合同下一步
|
||||||
|
next() {
|
||||||
|
this.maskShow = false;
|
||||||
|
this.showDetail = false;
|
||||||
|
this.showCode = true;
|
||||||
|
},
|
||||||
|
// 输入签名密码
|
||||||
|
getInpCode(password) {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '请求中...',
|
||||||
|
});
|
||||||
|
this.loading = true;
|
||||||
|
var obj = {
|
||||||
|
pass: password,
|
||||||
|
};
|
||||||
|
checkPass(obj)
|
||||||
|
.then((res) => {
|
||||||
|
this.submitTask();
|
||||||
|
this.closeShowCode();
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 关闭签名密码弹窗
|
||||||
|
closeShowCode() {
|
||||||
|
this.showCode = false;
|
||||||
|
this.showDetail = true;
|
||||||
|
},
|
||||||
|
// 忘记密码
|
||||||
|
forget() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pageMy/setUserBase/seal/forget?forget=true`,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['auth', 'autograph']),
|
||||||
|
skillNames() {
|
||||||
|
if (this.info.skillNames) {
|
||||||
|
return this.info.skillNames.split(',');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.codeSealBox {
|
.codeSealBox {
|
||||||
padding: 285rpx 72rpx 0 72rpx;
|
padding: 285rpx 72rpx 0 72rpx;
|
||||||
|
|
||||||
.closeCode {
|
|
||||||
position: absolute;
|
|
||||||
right: 36rpx;
|
|
||||||
top: 120rpx;
|
|
||||||
color: #1B66FF;
|
|
||||||
transform: rotate(45deg);
|
|
||||||
font-size: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.name {
|
|
||||||
height: 46rpx;
|
|
||||||
font-size: 46rpx;
|
|
||||||
font-family: PingFangSC-Medium, PingFang SC;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #333333;
|
|
||||||
line-height: 46rpx;
|
|
||||||
margin-right: 28rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tip {
|
|
||||||
height: 38rpx;
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #999999;
|
|
||||||
line-height: 38rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.forget {
|
|
||||||
height: 38rpx;
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #5AA0FA;
|
|
||||||
line-height: 38rpx;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
.closeCode {
|
||||||
|
position: absolute;
|
||||||
|
right: 36rpx;
|
||||||
|
top: 120rpx;
|
||||||
|
color: #1b66ff;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
font-size: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contractMask {
|
.title {
|
||||||
background-color: #FFFFFF;
|
display: flex;
|
||||||
margin: 30rpx;
|
align-items: center;
|
||||||
position: relative;
|
|
||||||
border-radius: 4px;
|
|
||||||
height: 96%;
|
|
||||||
overflow: auto;
|
|
||||||
|
|
||||||
.close {
|
|
||||||
width: 23px;
|
|
||||||
height: 23px;
|
|
||||||
color: #1B66FF;
|
|
||||||
position: fixed;
|
|
||||||
right: 60rpx;
|
|
||||||
top: 60rpx;
|
|
||||||
transform: rotate(45deg);
|
|
||||||
font-size: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.down {
|
|
||||||
position: fixed;
|
|
||||||
bottom: 30px;
|
|
||||||
left: 14%;
|
|
||||||
width: 545rpx;
|
|
||||||
height: 90rpx;
|
|
||||||
line-height: 90rpx;
|
|
||||||
text-align: center;
|
|
||||||
background: #1B66FF;
|
|
||||||
font-size: 36rpx;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lookContract {
|
.name {
|
||||||
width: 30%;
|
height: 46rpx;
|
||||||
margin-right: 30rpx;
|
font-size: 46rpx;
|
||||||
|
font-family: PingFangSC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 46rpx;
|
||||||
|
margin-right: 28rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flexbtn {
|
.tip {
|
||||||
flex: 1;
|
height: 38rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
line-height: 38rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottombtn {
|
.forget {
|
||||||
background-color: #1B66FF;
|
height: 38rpx;
|
||||||
color: #fff;
|
font-size: 28rpx;
|
||||||
text-align: center;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
border-radius: 10rpx;
|
font-weight: 400;
|
||||||
font-family: PingFangSC-Medium;
|
color: #5aa0fa;
|
||||||
font-size: 32rpx;
|
line-height: 38rpx;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.contractMask {
|
||||||
|
background-color: #ffffff;
|
||||||
|
margin: 30rpx;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 4px;
|
||||||
|
height: 96%;
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
|
.close {
|
||||||
|
width: 23px;
|
||||||
|
height: 23px;
|
||||||
|
color: #1b66ff;
|
||||||
|
position: fixed;
|
||||||
|
right: 60rpx;
|
||||||
|
top: 60rpx;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.down {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 30px;
|
||||||
|
left: 14%;
|
||||||
|
width: 545rpx;
|
||||||
height: 90rpx;
|
height: 90rpx;
|
||||||
line-height: 90rpx;
|
line-height: 90rpx;
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
background-color: #fefefe;
|
|
||||||
width: 690rpx;
|
|
||||||
padding: 30rpx;
|
|
||||||
padding-bottom: 80rpx;
|
|
||||||
position: fixed;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.disabledBtn {
|
|
||||||
background-color: #c8c9cc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.map {
|
|
||||||
width: 100%;
|
|
||||||
height: 350rpx;
|
|
||||||
margin-top: 30rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.askList {
|
|
||||||
font-family: PingFangSC-Regular;
|
|
||||||
font-size: 24rpx;
|
|
||||||
color: #666666;
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
padding: 5rpx 15rpx;
|
|
||||||
margin-right: 10rpx;
|
|
||||||
margin-top: 15rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ask {
|
|
||||||
overflow: hidden;
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: flex-start;
|
|
||||||
margin: 20rpx 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.proint {
|
|
||||||
margin-top: 30rpx;
|
|
||||||
font-size: 30rpx !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.proneed {
|
|
||||||
font-size: 32rpx !important;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.fee {
|
|
||||||
font-family: PingFangSC-Medium;
|
|
||||||
font-size: 32rpx;
|
|
||||||
color: #F46161;
|
|
||||||
margin-top: 30rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.protype {
|
|
||||||
width: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prolist {
|
|
||||||
font-family: PingFangSC-Regular;
|
|
||||||
font-size: 28rpx;
|
|
||||||
color: #666666;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
text-align: left;
|
|
||||||
padding: 5rpx 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.proname {
|
|
||||||
font-weight: bold;
|
|
||||||
font-family: PingFangSC-Medium;
|
|
||||||
font-size: 40rpx;
|
|
||||||
color: #333333;
|
|
||||||
width: 90%;
|
|
||||||
overflow: hidden;
|
|
||||||
padding-bottom: 20rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.head {
|
|
||||||
padding: 30rpx;
|
|
||||||
background: #fefefe;
|
|
||||||
border-bottom: 20rpx solid #f6f6f6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.description {
|
|
||||||
word-break: break-all;
|
|
||||||
white-space: pre-line;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contactWrapper {
|
|
||||||
box-sizing: border-box;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 28rpx;
|
background: #1b66ff;
|
||||||
margin-top: 10rpx;
|
font-size: 36rpx;
|
||||||
border: 1px solid #e0e0e0;
|
font-weight: 400;
|
||||||
border-radius: 5px;
|
color: #ffffff;
|
||||||
padding: 20rpx;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.applyTime {
|
.lookContract {
|
||||||
font-size: 24rpx;
|
width: 30%;
|
||||||
color: #666666;
|
margin-right: 30rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flexbtn {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottombtn {
|
||||||
|
background-color: #1b66ff;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 32rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
background-color: #fefefe;
|
||||||
|
width: 690rpx;
|
||||||
|
padding: 30rpx;
|
||||||
|
padding-bottom: 80rpx;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabledBtn {
|
||||||
|
background-color: #c8c9cc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map {
|
||||||
|
width: 100%;
|
||||||
|
height: 350rpx;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.askList {
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666666;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
padding: 5rpx 15rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
margin-top: 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ask {
|
||||||
|
overflow: hidden;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
margin: 20rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.proint {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
font-size: 30rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.proneed {
|
||||||
|
font-size: 32rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fee {
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #f46161;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.protype {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prolist {
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666666;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
text-align: left;
|
||||||
|
padding: 5rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.proname {
|
||||||
|
font-weight: bold;
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 40rpx;
|
||||||
|
color: #333333;
|
||||||
|
width: 90%;
|
||||||
|
overflow: hidden;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head {
|
||||||
|
padding: 30rpx;
|
||||||
|
background: #fefefe;
|
||||||
|
border-bottom: 20rpx solid #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
word-break: break-all;
|
||||||
|
white-space: pre-line;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contactWrapper {
|
||||||
|
box-sizing: border-box;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
border: 1px solid #e0e0e0;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.applyTime {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -7,45 +7,27 @@
|
|||||||
<!-- <view class="prolist">
|
<!-- <view class="prolist">
|
||||||
任务编码:{{info.missionNo}}
|
任务编码:{{info.missionNo}}
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="prolist">
|
<view class="prolist">发布日期:{{ dateFormat(info.stime) }}</view>
|
||||||
发布日期:{{ dateFormat((info.stime)) }}
|
<view class="prolist">招聘人数:{{ info.peopleNum }}</view>
|
||||||
</view>
|
<view class="prolist">行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry }}</view>
|
||||||
<view class="prolist">
|
<view class="prolist">工种类型:{{ info.skillNames }}</view>
|
||||||
招聘人数:{{ info.peopleNum }}
|
|
||||||
</view>
|
|
||||||
<view class="prolist">
|
|
||||||
行业类型:{{ info.tradeNames ? info.tradeNames : info.jobCompanyIndustry }}
|
|
||||||
</view>
|
|
||||||
<view class="prolist">
|
|
||||||
工种类型:{{ info.skillNames }}
|
|
||||||
</view>
|
|
||||||
<!-- <view class="fee">
|
<!-- <view class="fee">
|
||||||
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
|
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
|
||||||
</view> -->
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="head">
|
<view class="head">
|
||||||
<view class="proname proneed">
|
<view class="proname proneed">岗位要求</view>
|
||||||
岗位要求
|
|
||||||
</view>
|
|
||||||
<!-- <view class="prolist">
|
<!-- <view class="prolist">
|
||||||
<view class="protype">
|
<view class="protype">
|
||||||
年龄要求:{{age[info.ageDesc]}}
|
年龄要求:{{age[info.ageDesc]}}
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="prolist">
|
<view class="prolist">
|
||||||
<view class="protype">
|
<view class="protype">学历要求:{{ info.education }}</view>
|
||||||
学历要求:{{ info.education }}
|
<view class="protype">经验要求:{{ info.experienceDesc }}</view>
|
||||||
</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>
|
||||||
|
<view class="prolist">岗位地址:{{ info.jobAddress }}</view>
|
||||||
|
<view class="prolist proint" style="font-weight: bold; color: #333">任务描述</view>
|
||||||
<view class="prolist description">
|
<view class="prolist description">
|
||||||
{{ info.jobDescription }}
|
{{ info.jobDescription }}
|
||||||
</view>
|
</view>
|
||||||
@@ -56,9 +38,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 技能标签 end -->
|
<!-- 技能标签 end -->
|
||||||
<view v-if="info.jobSources" class="prolist">
|
<view v-if="info.jobSources" class="prolist">来源:{{ info.jobSources }}</view>
|
||||||
来源:{{ info.jobSources }}
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="head">
|
<view class="head">
|
||||||
<!-- <view class="proname proneed">
|
<!-- <view class="proname proneed">
|
||||||
@@ -70,16 +50,17 @@
|
|||||||
<!-- <view class="prolist">
|
<!-- <view class="prolist">
|
||||||
用工单位:{{info.jobCompanyName}}
|
用工单位:{{info.jobCompanyName}}
|
||||||
</view> -->
|
</view> -->
|
||||||
<view style="display: flex;align-items: center;">
|
<view style="display: flex; align-items: center">
|
||||||
<image src="../../../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 20rpx;"
|
<image
|
||||||
mode=""></image>
|
src="../../../../static/img/city.png"
|
||||||
<view style="font-size: 30rpx;">{{ info.jobCompanyName }}</view>
|
style="width: 40rpx; height: 40rpx; margin-right: 20rpx"
|
||||||
|
mode=""
|
||||||
|
></image>
|
||||||
|
<view style="font-size: 30rpx">{{ info.jobCompanyName }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="head">
|
<view class="head">
|
||||||
<view class="proname proneed">
|
<view class="proname proneed">地址</view>
|
||||||
地址
|
|
||||||
</view>
|
|
||||||
<!-- <view class="prolist">
|
<!-- <view class="prolist">
|
||||||
<view class="protype">
|
<view class="protype">
|
||||||
联系人:{{info.callName}}
|
联系人:{{info.callName}}
|
||||||
@@ -91,38 +72,48 @@
|
|||||||
<!-- <view class="prolist" v-if="info.callNumber">
|
<!-- <view class="prolist" v-if="info.callNumber">
|
||||||
座机号:{{info.callNumber}}
|
座机号:{{info.callNumber}}
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="prolist">
|
<view class="prolist">岗位地址:{{ info.address }}</view>
|
||||||
岗位地址:{{ info.address }}
|
|
||||||
</view>
|
|
||||||
<view class="map">
|
<view class="map">
|
||||||
<super-map ref="uMap" style="width: 100%;height: 100%;" :latitude="latitude" :longitude="longitude"
|
<super-map
|
||||||
:open="true" :zoom="14" :min-zoom="10" :max-zoom="20" :MapUrl="$config.supperMap"
|
ref="uMap"
|
||||||
:flag-tip="false"></super-map>
|
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>
|
</view>
|
||||||
<!-- <map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></map> -->
|
<!-- <map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></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">
|
<view class="btn">
|
||||||
<view @click="callPhone" class="bottombtn flexbtn"
|
<view
|
||||||
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
@click="callPhone"
|
||||||
|
class="bottombtn flexbtn"
|
||||||
|
style="margin-right: 10rpx; background-color: #fbad17; border-radius: 45rpx"
|
||||||
|
>
|
||||||
电话联系
|
电话联系
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<uniMask :maskShow="maskShow">
|
<uniMask :maskShow="maskShow">
|
||||||
<view class="contractMask">
|
<view class="contractMask">
|
||||||
<!-- #ifdef H5 || APP-PLUS -->
|
<!-- #ifdef H5 || APP-PLUS -->
|
||||||
<view class="close" @click="close" style="top: 124rpx;">+</view>
|
<view class="close" @click="close" style="top: 124rpx">+</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<!-- #ifdef MP-WEIXIN -->
|
<!-- #ifdef MP-WEIXIN -->
|
||||||
<view class="close" @click="close">+</view>
|
<view class="close" @click="close">+</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<view style="height: 30px;"></view>
|
<view style="height: 30px"></view>
|
||||||
<img :src="src" alt="" style="width:100%;height: 1000px;">
|
<img :src="src" alt="" style="width: 100%; height: 1000px" />
|
||||||
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||||
</view>
|
</view>
|
||||||
</uniMask>
|
</uniMask>
|
||||||
<u-popup closeable :show="showPopUp" mode="bottom" @close="closePopUp">
|
<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 class="contactWrapper" v-for="(item, index) in info.applyList" :key="index">
|
||||||
<view>{{ item.realName }} : {{ item.telphone }}</view>
|
<view>{{ item.realName }} : {{ item.telphone }}</view>
|
||||||
<view class="applyTime">申请时间:{{ item.applyTime }}</view>
|
<view class="applyTime">申请时间:{{ item.applyTime }}</view>
|
||||||
@@ -133,7 +124,7 @@
|
|||||||
|
|
||||||
<view v-else-if="showCode" class="codeSealBox">
|
<view v-else-if="showCode" class="codeSealBox">
|
||||||
<!-- #ifdef H5 || APP-PLUS -->
|
<!-- #ifdef H5 || APP-PLUS -->
|
||||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
<view class="closeCode" @click="closeShowCode" style="top: 124rpx">+</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<!-- #ifdef MP-WEIXIN -->
|
<!-- #ifdef MP-WEIXIN -->
|
||||||
<view class="closeCode" @click="closeShowCode">+</view>
|
<view class="closeCode" @click="closeShowCode">+</view>
|
||||||
@@ -143,110 +134,101 @@
|
|||||||
<view class="name">签名密码</view>
|
<view class="name">签名密码</view>
|
||||||
<view class="tip">6位数字签名密码</view>
|
<view class="tip">6位数字签名密码</view>
|
||||||
</view>
|
</view>
|
||||||
<view style="height: 36px;"></view>
|
<view style="height: 36px"></view>
|
||||||
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
<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 class="forget" @click="forget">忘记密码?</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { mapGetters } from 'vuex';
|
||||||
mapGetters
|
import { recruit_missionDetail } from '@/api/mission.js';
|
||||||
} from 'vuex'
|
import { GoLogin } from '@/untils/AxiosUtils.js';
|
||||||
import {
|
import { setRead } from '@/api/news.js';
|
||||||
recruit_missionDetail
|
import { checkPass, getPhoneCountNumber } from '@/api/auth.js';
|
||||||
} from '@/api/mission.js';
|
import dictionary from '@/common/textdata.js';
|
||||||
import {
|
import { dateFormat } from '../../../../untils/format.js';
|
||||||
GoLogin
|
import { userrecruitDetail } from '@/api/userrecruit.js';
|
||||||
} from '@/untils/AxiosUtils.js';
|
import uniMask from '@/components/uni-mask/mask.vue';
|
||||||
import {
|
import validCode from '@/components/p-valid-code/p-valid-code.vue';
|
||||||
setRead
|
export default {
|
||||||
} from '@/api/news.js';
|
data() {
|
||||||
import {
|
return {
|
||||||
checkPass
|
...dictionary,
|
||||||
} from '@/api/auth.js';
|
info: {},
|
||||||
import dictionary from '@/common/textdata.js';
|
status: null,
|
||||||
import {
|
showDetail: false,
|
||||||
dateFormat
|
showCode: false,
|
||||||
} from "../../../../untils/format.js";
|
maskShow: false,
|
||||||
import {
|
nextBtn: false,
|
||||||
userrecruitDetail
|
loading: false,
|
||||||
} from '@/api/userrecruit.js'
|
latitude: 39.909, //中心点
|
||||||
import uniMask from '@/components/uni-mask/mask.vue'
|
longitude: 116.39742,
|
||||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
covers: [
|
||||||
export default {
|
{
|
||||||
data() {
|
//marker标记位置
|
||||||
return {
|
|
||||||
...dictionary,
|
|
||||||
info: {},
|
|
||||||
status: null,
|
|
||||||
showDetail: false,
|
|
||||||
showCode: false,
|
|
||||||
maskShow: false,
|
|
||||||
nextBtn: false,
|
|
||||||
loading: false,
|
|
||||||
latitude: 39.909, //中心点
|
|
||||||
longitude: 116.39742,
|
|
||||||
covers: [{ //marker标记位置
|
|
||||||
id: 0,
|
id: 0,
|
||||||
latitude: 0,
|
latitude: 0,
|
||||||
longitude: 0,
|
longitude: 0,
|
||||||
// width:30,
|
// width:30,
|
||||||
// height:30,
|
// height:30,
|
||||||
iconPath: '../../../../static/img/location.png'
|
iconPath: '../../../../static/img/location.png',
|
||||||
}],
|
},
|
||||||
missionNo: "",
|
],
|
||||||
isShow: '',
|
missionNo: '',
|
||||||
type: '',
|
isShow: '',
|
||||||
id: '',
|
type: '',
|
||||||
src: 'https://jlfiles.oss-cn-zhangjiakou.aliyuncs.com/jobslink-api/doc/%E7%94%B5%E5%AD%90%E5%90%88%E5%90%8C%E9%A2%84%E8%A7%88%E5%9B%BE%E7%89%87.png',
|
id: '',
|
||||||
maxlength: 6,
|
src: 'https://jlfiles.oss-cn-zhangjiakou.aliyuncs.com/jobslink-api/doc/%E7%94%B5%E5%AD%90%E5%90%88%E5%90%8C%E9%A2%84%E8%A7%88%E5%9B%BE%E7%89%87.png',
|
||||||
collectStatus: 0, // 收藏状态
|
maxlength: 6,
|
||||||
showPopUp: false,
|
collectStatus: 0, // 收藏状态
|
||||||
}
|
showPopUp: false,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
uniMask,
|
||||||
|
validCode,
|
||||||
|
},
|
||||||
|
onLoad: function (option) {
|
||||||
|
//option为object类型,会序列化上个页面传递的参数
|
||||||
|
// this.$store.dispatch('setAutograph')
|
||||||
|
if (option.workId) {
|
||||||
|
this.workId = decodeURIComponent(option.workId);
|
||||||
|
}
|
||||||
|
if (option.isCan) {
|
||||||
|
this.isShow = option.isCan; //isShow为'0'则为我的任务、我的评价过来的,需要隐藏抢任务按钮
|
||||||
|
}
|
||||||
|
if (option.type) {
|
||||||
|
this.type = option.type; //type为1则为消息邀请过来的,需要设置消息已读;
|
||||||
|
}
|
||||||
|
if (option.id) {
|
||||||
|
this.id = option.id; //消息id
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow: function () {
|
||||||
|
this.showDetail = true;
|
||||||
|
this.getData();
|
||||||
|
},
|
||||||
|
onShareAppMessage(obj) {
|
||||||
|
return {
|
||||||
|
title: this.info.missionTitle,
|
||||||
|
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
dateFormat,
|
||||||
|
async callPhone() {
|
||||||
|
this.showPopUp = true;
|
||||||
|
await getPhoneCountNumber();
|
||||||
},
|
},
|
||||||
components: {
|
closePopUp() {
|
||||||
uniMask,
|
this.showPopUp = false;
|
||||||
validCode
|
|
||||||
},
|
},
|
||||||
onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
|
getData: function () {
|
||||||
// this.$store.dispatch('setAutograph')
|
const self = this;
|
||||||
if (option.workId) {
|
recruit_missionDetail(self.workId, self.type).then(
|
||||||
this.workId = decodeURIComponent(option.workId);
|
(res) => {
|
||||||
}
|
|
||||||
if (option.isCan) {
|
|
||||||
this.isShow = option.isCan; //isShow为'0'则为我的任务、我的评价过来的,需要隐藏抢任务按钮
|
|
||||||
}
|
|
||||||
if (option.type) {
|
|
||||||
this.type = option.type; //type为1则为消息邀请过来的,需要设置消息已读;
|
|
||||||
}
|
|
||||||
if (option.id) {
|
|
||||||
this.id = option.id; //消息id
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onShow: function() {
|
|
||||||
this.showDetail = true
|
|
||||||
this.getData();
|
|
||||||
|
|
||||||
},
|
|
||||||
onShareAppMessage(obj) {
|
|
||||||
return {
|
|
||||||
title: this.info.missionTitle,
|
|
||||||
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
dateFormat,
|
|
||||||
callPhone() {
|
|
||||||
this.showPopUp = true;
|
|
||||||
},
|
|
||||||
closePopUp() {
|
|
||||||
this.showPopUp = false;
|
|
||||||
},
|
|
||||||
getData: function() {
|
|
||||||
const self = this;
|
|
||||||
recruit_missionDetail(self.workId, self.type).then(res => {
|
|
||||||
self.info = res.data.data;
|
self.info = res.data.data;
|
||||||
self.status = res.data.data.status;
|
self.status = res.data.data.status;
|
||||||
self.missionNo = res.data.data.missionNo;
|
self.missionNo = res.data.data.missionNo;
|
||||||
@@ -255,277 +237,277 @@
|
|||||||
self.covers[0].latitude = self.info.lat;
|
self.covers[0].latitude = self.info.lat;
|
||||||
self.covers[0].longitude = self.info.lon;
|
self.covers[0].longitude = self.info.lon;
|
||||||
self.showDetail = true;
|
self.showDetail = true;
|
||||||
}, error => {
|
},
|
||||||
|
(error) => {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
|
||||||
},
|
|
||||||
// 查看合同
|
|
||||||
lookMask() {
|
|
||||||
this.maskShow = true
|
|
||||||
},
|
|
||||||
// 关闭弹窗
|
|
||||||
close() {
|
|
||||||
this.maskShow = false
|
|
||||||
},
|
|
||||||
// 合同下一步
|
|
||||||
next() {
|
|
||||||
this.maskShow = false
|
|
||||||
this.showDetail = false
|
|
||||||
this.showCode = true
|
|
||||||
},
|
|
||||||
// 输入签名密码
|
|
||||||
getInpCode(password) {
|
|
||||||
uni.showLoading({
|
|
||||||
title: "请求中..."
|
|
||||||
})
|
|
||||||
this.loading = true
|
|
||||||
var obj = {
|
|
||||||
pass: password
|
|
||||||
}
|
}
|
||||||
checkPass(obj).then(res => {
|
);
|
||||||
this.submitTask()
|
},
|
||||||
this.closeShowCode()
|
// 查看合同
|
||||||
}).catch(err => {
|
lookMask() {
|
||||||
this.loading = false
|
this.maskShow = true;
|
||||||
})
|
},
|
||||||
},
|
// 关闭弹窗
|
||||||
// 关闭签名密码弹窗
|
close() {
|
||||||
closeShowCode() {
|
this.maskShow = false;
|
||||||
this.showCode = false
|
},
|
||||||
this.showDetail = true
|
// 合同下一步
|
||||||
},
|
next() {
|
||||||
// 忘记密码
|
this.maskShow = false;
|
||||||
forget() {
|
this.showDetail = false;
|
||||||
uni.navigateTo({
|
this.showCode = true;
|
||||||
url: `/pageMy/setUserBase/seal/forget?forget=true`
|
},
|
||||||
|
// 输入签名密码
|
||||||
|
getInpCode(password) {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '请求中...',
|
||||||
|
});
|
||||||
|
this.loading = true;
|
||||||
|
var obj = {
|
||||||
|
pass: password,
|
||||||
|
};
|
||||||
|
checkPass(obj)
|
||||||
|
.then((res) => {
|
||||||
|
this.submitTask();
|
||||||
|
this.closeShowCode();
|
||||||
})
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 关闭签名密码弹窗
|
||||||
|
closeShowCode() {
|
||||||
|
this.showCode = false;
|
||||||
|
this.showDetail = true;
|
||||||
|
},
|
||||||
|
// 忘记密码
|
||||||
|
forget() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pageMy/setUserBase/seal/forget?forget=true`,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['auth', 'autograph']),
|
||||||
|
skillNames() {
|
||||||
|
if (this.info.skillNames) {
|
||||||
|
return this.info.skillNames.split(',');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
},
|
||||||
...mapGetters(['auth', 'autograph']),
|
};
|
||||||
skillNames() {
|
|
||||||
if (this.info.skillNames) {
|
|
||||||
return this.info.skillNames.split(',')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.codeSealBox {
|
.codeSealBox {
|
||||||
padding: 285rpx 72rpx 0 72rpx;
|
padding: 285rpx 72rpx 0 72rpx;
|
||||||
|
|
||||||
.closeCode {
|
|
||||||
position: absolute;
|
|
||||||
right: 36rpx;
|
|
||||||
top: 120rpx;
|
|
||||||
color: #1B66FF;
|
|
||||||
transform: rotate(45deg);
|
|
||||||
font-size: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.name {
|
|
||||||
height: 46rpx;
|
|
||||||
font-size: 46rpx;
|
|
||||||
font-family: PingFangSC-Medium, PingFang SC;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #333333;
|
|
||||||
line-height: 46rpx;
|
|
||||||
margin-right: 28rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tip {
|
|
||||||
height: 38rpx;
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #999999;
|
|
||||||
line-height: 38rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.forget {
|
|
||||||
height: 38rpx;
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #5AA0FA;
|
|
||||||
line-height: 38rpx;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
.closeCode {
|
||||||
|
position: absolute;
|
||||||
|
right: 36rpx;
|
||||||
|
top: 120rpx;
|
||||||
|
color: #1b66ff;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
font-size: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contractMask {
|
.title {
|
||||||
background-color: #FFFFFF;
|
display: flex;
|
||||||
margin: 30rpx;
|
align-items: center;
|
||||||
position: relative;
|
|
||||||
border-radius: 4px;
|
|
||||||
height: 96%;
|
|
||||||
overflow: auto;
|
|
||||||
|
|
||||||
.close {
|
|
||||||
width: 23px;
|
|
||||||
height: 23px;
|
|
||||||
color: #1B66FF;
|
|
||||||
position: fixed;
|
|
||||||
right: 60rpx;
|
|
||||||
top: 60rpx;
|
|
||||||
transform: rotate(45deg);
|
|
||||||
font-size: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.down {
|
|
||||||
position: fixed;
|
|
||||||
bottom: 30px;
|
|
||||||
left: 14%;
|
|
||||||
width: 545rpx;
|
|
||||||
height: 90rpx;
|
|
||||||
line-height: 90rpx;
|
|
||||||
text-align: center;
|
|
||||||
background: #1B66FF;
|
|
||||||
font-size: 36rpx;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lookContract {
|
.name {
|
||||||
width: 30%;
|
height: 46rpx;
|
||||||
margin-right: 30rpx;
|
font-size: 46rpx;
|
||||||
|
font-family: PingFangSC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 46rpx;
|
||||||
|
margin-right: 28rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flexbtn {
|
.tip {
|
||||||
flex: 1;
|
height: 38rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
line-height: 38rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottombtn {
|
.forget {
|
||||||
background-color: #1B66FF;
|
height: 38rpx;
|
||||||
color: #fff;
|
font-size: 28rpx;
|
||||||
text-align: center;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
border-radius: 10rpx;
|
font-weight: 400;
|
||||||
font-family: PingFangSC-Medium;
|
color: #5aa0fa;
|
||||||
font-size: 32rpx;
|
line-height: 38rpx;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.contractMask {
|
||||||
|
background-color: #ffffff;
|
||||||
|
margin: 30rpx;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 4px;
|
||||||
|
height: 96%;
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
|
.close {
|
||||||
|
width: 23px;
|
||||||
|
height: 23px;
|
||||||
|
color: #1b66ff;
|
||||||
|
position: fixed;
|
||||||
|
right: 60rpx;
|
||||||
|
top: 60rpx;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.down {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 30px;
|
||||||
|
left: 14%;
|
||||||
|
width: 545rpx;
|
||||||
height: 90rpx;
|
height: 90rpx;
|
||||||
line-height: 90rpx;
|
line-height: 90rpx;
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
background-color: #fefefe;
|
|
||||||
width: 690rpx;
|
|
||||||
padding: 30rpx;
|
|
||||||
padding-bottom: 80rpx;
|
|
||||||
position: fixed;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.disabledBtn {
|
|
||||||
background-color: #c8c9cc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.map {
|
|
||||||
width: 100%;
|
|
||||||
height: 350rpx;
|
|
||||||
margin-top: 30rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.askList {
|
|
||||||
font-family: PingFangSC-Regular;
|
|
||||||
font-size: 24rpx;
|
|
||||||
color: #666666;
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
padding: 5rpx 15rpx;
|
|
||||||
margin-right: 10rpx;
|
|
||||||
margin-top: 15rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ask {
|
|
||||||
overflow: hidden;
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: flex-start;
|
|
||||||
margin: 20rpx 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.proint {
|
|
||||||
margin-top: 30rpx;
|
|
||||||
font-size: 30rpx !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.proneed {
|
|
||||||
font-size: 32rpx !important;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.fee {
|
|
||||||
font-family: PingFangSC-Medium;
|
|
||||||
font-size: 32rpx;
|
|
||||||
color: #F46161;
|
|
||||||
margin-top: 30rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.protype {
|
|
||||||
width: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prolist {
|
|
||||||
font-family: PingFangSC-Regular;
|
|
||||||
font-size: 28rpx;
|
|
||||||
color: #666666;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
text-align: left;
|
|
||||||
padding: 5rpx 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.proname {
|
|
||||||
font-weight: bold;
|
|
||||||
font-family: PingFangSC-Medium;
|
|
||||||
font-size: 40rpx;
|
|
||||||
color: #333333;
|
|
||||||
width: 90%;
|
|
||||||
overflow: hidden;
|
|
||||||
padding-bottom: 20rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.head {
|
|
||||||
padding: 30rpx;
|
|
||||||
background: #fefefe;
|
|
||||||
border-bottom: 20rpx solid #f6f6f6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.description {
|
|
||||||
word-break: break-all;
|
|
||||||
white-space: pre-line;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contactWrapper {
|
|
||||||
box-sizing: border-box;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 28rpx;
|
background: #1b66ff;
|
||||||
margin-top: 10rpx;
|
font-size: 36rpx;
|
||||||
border: 1px solid #e0e0e0;
|
font-weight: 400;
|
||||||
border-radius: 5px;
|
color: #ffffff;
|
||||||
padding: 20rpx;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.applyTime {
|
.lookContract {
|
||||||
font-size: 24rpx;
|
width: 30%;
|
||||||
color: #666666;
|
margin-right: 30rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flexbtn {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottombtn {
|
||||||
|
background-color: #1b66ff;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 32rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
background-color: #fefefe;
|
||||||
|
width: 690rpx;
|
||||||
|
padding: 30rpx;
|
||||||
|
padding-bottom: 80rpx;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabledBtn {
|
||||||
|
background-color: #c8c9cc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map {
|
||||||
|
width: 100%;
|
||||||
|
height: 350rpx;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.askList {
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666666;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
padding: 5rpx 15rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
margin-top: 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ask {
|
||||||
|
overflow: hidden;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
margin: 20rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.proint {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
font-size: 30rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.proneed {
|
||||||
|
font-size: 32rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fee {
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #f46161;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.protype {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prolist {
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666666;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
text-align: left;
|
||||||
|
padding: 5rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.proname {
|
||||||
|
font-weight: bold;
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 40rpx;
|
||||||
|
color: #333333;
|
||||||
|
width: 90%;
|
||||||
|
overflow: hidden;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head {
|
||||||
|
padding: 30rpx;
|
||||||
|
background: #fefefe;
|
||||||
|
border-bottom: 20rpx solid #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
word-break: break-all;
|
||||||
|
white-space: pre-line;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contactWrapper {
|
||||||
|
box-sizing: border-box;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
border: 1px solid #e0e0e0;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.applyTime {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
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,
|
getUserInfo,
|
||||||
logout,
|
logout,
|
||||||
refreshToken,
|
refreshToken,
|
||||||
mobileIsCms
|
mobileIsCms,
|
||||||
|
noticeIsEnable,
|
||||||
|
setNoticeIsEnable
|
||||||
} from '@/api/user'
|
} from '@/api/user'
|
||||||
import md5 from 'js-md5'
|
import md5 from 'js-md5'
|
||||||
import {
|
import {
|
||||||
@@ -71,8 +73,42 @@ const user = {
|
|||||||
userLocation: null,
|
userLocation: null,
|
||||||
userIsCms: false,
|
userIsCms: false,
|
||||||
resumeInfo: {},
|
resumeInfo: {},
|
||||||
|
isEnbleNotice: false,
|
||||||
},
|
},
|
||||||
actions: {
|
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({
|
getResumeInfo({
|
||||||
commit,
|
commit,
|
||||||
dispatch
|
dispatch
|
||||||
@@ -242,6 +278,9 @@ const user = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
|
upDateNoticeState(state, payload) {
|
||||||
|
state.isEnbleNotice = payload
|
||||||
|
},
|
||||||
upDataResumeInfo(state, payload) {
|
upDataResumeInfo(state, payload) {
|
||||||
state.resumeInfo = payload
|
state.resumeInfo = payload
|
||||||
},
|
},
|
||||||
|
|||||||