Merge branch 'master' of https://gitee.com/beiwu/jobslink-user-clent
This commit is contained in:
@@ -120,6 +120,18 @@ export const missionDetail = (missionNo) => {
|
||||
})
|
||||
}
|
||||
|
||||
/*岗位详情*/
|
||||
// workDetail
|
||||
export const workDetail = (workId) => {
|
||||
return request({
|
||||
url: '/api/jobslink-api/user/userWork/getWorksInfoByWorkId',
|
||||
method: 'get',
|
||||
params: {
|
||||
workId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/*获取收藏状态*/
|
||||
export const getCollectState = (workId) => {
|
||||
return request({
|
||||
|
||||
@@ -104,9 +104,10 @@ export default {
|
||||
})
|
||||
},
|
||||
goInfo: function (no) {
|
||||
console.log('11111')
|
||||
const isCan = this.noApply === false ? '0' : '1'
|
||||
uni.navigateTo({
|
||||
url: `/pages/projectInfo/projectInfo?missionNo=${encodeURIComponent(no)}&isCan=${isCan}`
|
||||
url: `/pages/projectInfo/workInfo?workId=${encodeURIComponent(no)}&isCan=${isCan}`
|
||||
})
|
||||
},
|
||||
getCity: function (val) {
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
</view>
|
||||
</picker>-->
|
||||
<view class="border"></view>
|
||||
<view class="list" @click="goRealName">
|
||||
<!-- <view class="list" @click="goRealName">
|
||||
<view class="listLeft">
|
||||
<view class="listTitle">实名认证</view>
|
||||
<view class="listContent">完成实名认证,提高信息可信度</view>
|
||||
@@ -48,8 +48,8 @@
|
||||
<image src="@/static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="border"></view>
|
||||
<view class="list" @click="setIcCard">
|
||||
<view class="border"></view> -->
|
||||
<!-- <view class="list" @click="setIcCard">
|
||||
<view class="listLeft">
|
||||
<view class="listTitle">银行卡认证</view>
|
||||
<view class="listContent">完善银行卡信息,方便领工资</view>
|
||||
@@ -60,7 +60,7 @@
|
||||
<image src="@/static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="border"></view>
|
||||
<view class="border"></view> -->
|
||||
<!--<picker @change="bindPickerChangeBao" :value="indexbao" :range="insureType">
|
||||
<view class="list">
|
||||
<view class="listLeft">
|
||||
@@ -76,7 +76,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</picker>-->
|
||||
<view class="border"></view>
|
||||
<!-- <view class="border"></view>
|
||||
<view class="list" @click="setSeal">
|
||||
<view class="listLeft">
|
||||
<view class="listTitle">个人签名</view>
|
||||
@@ -87,6 +87,92 @@
|
||||
<view v-else class="rightContent nochoose">未采集</view>
|
||||
<image src="@/static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="list">
|
||||
<view class="name">
|
||||
姓名
|
||||
</view>
|
||||
<text v-if="auth.realNameState" style="color: #1b66ff;">{{auth.authInfo.realName}}</text>
|
||||
<input v-else type="text" value="" placeholder="请输入真实姓名" @input="setName" placeholder-style="color:#cccccc;" />
|
||||
</view>
|
||||
<view>
|
||||
<view class="list">
|
||||
<view class="name">
|
||||
身份证号
|
||||
</view>
|
||||
<text v-if="auth.realNameState" style="color: #1b66ff;">{{idNumberFilter(auth.authInfo.idNumber)}}</text>
|
||||
<input v-else type="idcard" value="" placeholder="请输入身份证号" @input="setCard" style="text-transform:uppercase"
|
||||
placeholder-style="color:#cccccc;" />
|
||||
</view>
|
||||
<view v-if="error" class="error">身份证填写有误</view>
|
||||
</view>
|
||||
<picker :range="identityList" @change="identityChange" :value="index">
|
||||
<view class="list">
|
||||
<view class="listLeft">
|
||||
<view class="name">
|
||||
身份信息
|
||||
</view>
|
||||
<view class="listContent">完成实名认证,提高信息可信度</view>
|
||||
</view>
|
||||
<view class="listRight">
|
||||
<view class="listRightContent">
|
||||
<view class="" v-if="auth.laborState">已认证</view>
|
||||
<view class="" v-else>未认证</view>
|
||||
</view>
|
||||
<image src="@/static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</picker>
|
||||
<picker :range="insureList" @change="insureChange" :value="indexBao">
|
||||
<view class="list">
|
||||
<view class="listLeft">
|
||||
<view class="name">
|
||||
社保信息
|
||||
</view>
|
||||
<view class="listContent">选择个人身份,获得精准推荐</view>
|
||||
</view>
|
||||
<view class="listRight">
|
||||
<view class="listRightContent">
|
||||
<view class="" v-if="auth.insureState">{{insureList[indexBao]}}</view>
|
||||
<view class="" v-else>未选择</view>
|
||||
</view>
|
||||
<image src="@/static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</picker>
|
||||
<picker :range="insureList" @change="insureChange" :value="indexBao">
|
||||
<view class="list">
|
||||
<view class="listLeft">
|
||||
<view class="name">
|
||||
个人标签
|
||||
</view>
|
||||
<view class="listContent">选择个人标签,获得精准推荐</view>
|
||||
</view>
|
||||
<view class="listRight">
|
||||
<view class="listRightContent">
|
||||
<view class="" v-if="auth.insureState">{{insureList[indexBao]}}</view>
|
||||
<view class="" v-else>未选择</view>
|
||||
</view>
|
||||
<image src="@/static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</picker>
|
||||
<view v-if="auth.realNameState"></view>
|
||||
<view class="btn nocheck" v-else-if="loading">
|
||||
<view class="bottombtn">
|
||||
认证中
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn" @click="goSet" v-else-if="check">
|
||||
<view class="bottombtn">
|
||||
认证
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn nocheck" v-else>
|
||||
<view class="bottombtn">
|
||||
认证
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -100,12 +186,25 @@
|
||||
idNumberFilter
|
||||
} from '@/untils/format.js'
|
||||
|
||||
import {
|
||||
check18IdCardNo,
|
||||
validatenull
|
||||
} from '@/untils/validate.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
laborType: textdata.laborType,
|
||||
index: 0,
|
||||
insureType: textdata.insureType,
|
||||
|
||||
name: '',
|
||||
card: '',
|
||||
loading: false,
|
||||
error: false,
|
||||
identityList: textdata.laborType,
|
||||
insureList: textdata.insureType,
|
||||
realIndex: 0,
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
@@ -119,6 +218,17 @@
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
},
|
||||
...mapGetters(['auth', 'authInfo']),
|
||||
check() {
|
||||
return check18IdCardNo(this.card) && !validatenull(this.name)
|
||||
},
|
||||
indexBao() {
|
||||
if (this.auth.insureState) {
|
||||
return this.authInfo.bakValue - 1
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -168,7 +278,48 @@
|
||||
uni.hideLoading()
|
||||
})
|
||||
},
|
||||
idNumberFilter
|
||||
idNumberFilter,
|
||||
|
||||
|
||||
setName: function(e) {
|
||||
this.name = e.detail.value;
|
||||
},
|
||||
setCard: function(e) {
|
||||
this.card = e.detail.value.toUpperCase();
|
||||
this.error = !check18IdCardNo(this.card)
|
||||
return e.detail.value.toUpperCase()
|
||||
},
|
||||
goSet: function() {
|
||||
this.loading = true
|
||||
this.$store.dispatch('authRealName', {
|
||||
name: this.name,
|
||||
idNumber: this.card
|
||||
})
|
||||
.then(() => {
|
||||
this.loading = false
|
||||
uni.navigateBack()
|
||||
}).catch(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
idNumberFilter,
|
||||
identityChange(val) {
|
||||
uni.showLoading();
|
||||
this.$store.dispatch('authLabor').then(() => {
|
||||
this.realIndex = val.detail.value;
|
||||
uni.hideLoading();
|
||||
}).catch(() => {
|
||||
uni.hideLoading();
|
||||
})
|
||||
},
|
||||
insureChange(val) {
|
||||
uni.showLoading();
|
||||
this.$store.dispatch('authInsure', val.detail.value * 1 + 1).then(() => {
|
||||
uni.hideLoading();
|
||||
}).catch(()=>{
|
||||
uni.hideLoading();
|
||||
})
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -301,4 +452,95 @@
|
||||
page {
|
||||
background-color: #f6f6f6;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
width: 200rpx;
|
||||
}
|
||||
|
||||
.error {
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 26rpx;
|
||||
color: red;
|
||||
margin: 5px 0 0 200rpx;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.list {
|
||||
padding: 20rpx;
|
||||
padding-left: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1rpx solid #f2f2f2;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.pickerList {
|
||||
padding: 20rpx;
|
||||
padding-left: 0;
|
||||
|
||||
border-bottom: 1rpx solid #f2f2f2;
|
||||
}
|
||||
|
||||
.listRight {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.listRightContent {
|
||||
color: #1b66ff;
|
||||
}
|
||||
|
||||
.listRight image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
margin-left: 15rpx;
|
||||
}
|
||||
|
||||
.listContent {
|
||||
color: #999;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.body {
|
||||
background-color: #fefefe;
|
||||
padding-left: 20rpx;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.nocheck {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
page {
|
||||
background-color: #f6f6f6;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -22,6 +22,13 @@
|
||||
"navigationBarBackgroundColor" : "#FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/projectInfo/workInfo",
|
||||
"style" : {
|
||||
"navigationBarTitleText" : "岗位详情",
|
||||
"navigationBarBackgroundColor" : "#FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/projectInfo/signContract",
|
||||
"style" : {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<view class="userTel" v-else> </view>
|
||||
<view class="userContent">
|
||||
<view style="margin-right: 40rpx;">实名认证:{{auth.realNameState?'已认证':'未认证'}}</view>
|
||||
<view>银行卡核验:{{auth.bankCardState?'已认证':'未认证'}}</view>
|
||||
<!-- <view>银行卡核验:{{auth.bankCardState?'已认证':'未认证'}}</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -22,15 +22,15 @@
|
||||
</view>
|
||||
<view class="BarList" @click="go('/pageMy/myProject/myProject')">
|
||||
<image src="../../static/img/job.svg" mode=""></image>
|
||||
我的任务
|
||||
我的申请
|
||||
</view>
|
||||
<view class="BarList" @click="">
|
||||
<image src="../../static/img/salary.svg" mode=""></image>
|
||||
技能提升
|
||||
我的收藏
|
||||
</view>
|
||||
<view class="BarList" @click="">
|
||||
<image src="../../static/img/contract.png" mode=""></image>
|
||||
就业政策
|
||||
我的评价
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -47,22 +47,22 @@
|
||||
认证信息
|
||||
<image src="../../static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
<view class="btnList" @click="go('/pageMy/comment/comment')">
|
||||
<view class="btnList" @click="go('')">
|
||||
<image src="../../static/img/evaluate.png" mode=""></image>
|
||||
我的评价
|
||||
咨询信箱
|
||||
<image src="../../static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
<view class="btnList" @click="go('/pageMy/my/changePhone')">
|
||||
<view class="btnList" @click="go('')">
|
||||
<image src="../../static/img/phone.svg" mode=""></image>
|
||||
变更手机号
|
||||
问卷调查
|
||||
<image src="../../static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
<view class="btnList" @click="go('/pageMy/my/vip/index')">
|
||||
<view class="btnList" @click="go('')">
|
||||
<image src="../../static/img/vip.svg" mode=""></image>
|
||||
VIP会员申请
|
||||
投诉建议
|
||||
<image src="../../static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
<view class="btnList" @click="go('/pageMy/apply/applications')">
|
||||
<!-- <view class="btnList" @click="go('/pageMy/apply/applications')">
|
||||
<image src="../../static/img/apply.png" mode=""></image>
|
||||
我的申请
|
||||
<image src="../../static/img/right.svg" mode=""></image>
|
||||
@@ -71,7 +71,7 @@
|
||||
<image src="../../static/img/set.svg" mode=""></image>
|
||||
设置
|
||||
<image src="../../static/img/right.svg" mode=""></image>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="btnList" @click="go('/pageMy/help/help')">
|
||||
<image src="../../static/img/help.svg" mode=""></image>
|
||||
帮助与反馈
|
||||
|
||||
554
pages/projectInfo/workInfo.vue
Normal file
554
pages/projectInfo/workInfo.vue
Normal file
@@ -0,0 +1,554 @@
|
||||
<template>
|
||||
<view v-if="showDetail">
|
||||
<view class="head">
|
||||
<view class="proname">
|
||||
{{info.jobName}}
|
||||
</view>
|
||||
<!-- <view class="prolist">
|
||||
任务编码:{{info.missionNo}}
|
||||
</view> -->
|
||||
<view class="prolist">
|
||||
发布日期:{{dateFormat((info.stime))}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
招聘人数:{{info.peopleNum}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
行业类型:{{info.tradeNames}}
|
||||
</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="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">
|
||||
任务描述
|
||||
</view>
|
||||
<view class="prolist description">
|
||||
{{info.jobDescription}}
|
||||
</view>
|
||||
<!-- 技能标签 start -->
|
||||
<view class="ask">
|
||||
<view class="askList" v-for="(item,index) in skillNames" :key="index">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
<!-- 技能标签 end -->
|
||||
</view>
|
||||
<view class="head">
|
||||
<!-- <view class="proname proneed">
|
||||
企业信息
|
||||
</view> -->
|
||||
<!-- <view class="prolist">
|
||||
{{info.companyName}}
|
||||
</view> -->
|
||||
<!-- <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>
|
||||
</view>
|
||||
<view class="head">
|
||||
<view class="proname proneed">
|
||||
联系方式
|
||||
</view>
|
||||
<view class="prolist">
|
||||
<view class="protype">
|
||||
联系人:{{info.callName}}
|
||||
</view>
|
||||
<view class="protype">
|
||||
联系方式:{{info.callTel}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="prolist" v-if="info.callNumber">
|
||||
座机号:{{info.callNumber}}
|
||||
</view>
|
||||
<view class="prolist">
|
||||
任务地址:{{info.address}}
|
||||
</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="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>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<uniMask :maskShow="maskShow">
|
||||
<view class="contractMask">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<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 v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||
</view>
|
||||
</uniMask>
|
||||
</view>
|
||||
<view v-else-if="showCode" class="codeSealBox">
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="closeCode" @click="closeShowCode">+</view>
|
||||
<!-- #endif -->
|
||||
|
||||
<view class="title">
|
||||
<view class="name">签名密码</view>
|
||||
<view class="tip">6位数字签名密码</view>
|
||||
</view>
|
||||
<view style="height: 36px;"></view>
|
||||
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
||||
<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 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'
|
||||
export default {
|
||||
data() {
|
||||
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,
|
||||
latitude: 0,
|
||||
longitude: 0,
|
||||
// width:30,
|
||||
// height:30,
|
||||
iconPath: '../../static/img/location.png'
|
||||
}],
|
||||
missionNo: "",
|
||||
isShow: '',
|
||||
type: '',
|
||||
id: '',
|
||||
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',
|
||||
maxlength: 6,
|
||||
collectStatus: 0, // 收藏状态
|
||||
}
|
||||
},
|
||||
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,
|
||||
collect() {
|
||||
// console.log('收藏,取消收藏')
|
||||
const status = this.collectStatus == 0 ? 1 : 0;
|
||||
updateCollectStatus(this.info.id, status).then(res => {
|
||||
if(res.data.code == 200) {
|
||||
this.getCollectStatus()
|
||||
}
|
||||
})
|
||||
},
|
||||
callPhone() {
|
||||
console.log('电话联系')
|
||||
},
|
||||
// 获取收藏状态
|
||||
getCollectStatus() {
|
||||
getCollectState(this.info.id).then(res => {
|
||||
// 0 未收藏,1 已收藏
|
||||
// console.log(res)
|
||||
this.collectStatus = res.data.data;
|
||||
})
|
||||
},
|
||||
getData: function() {
|
||||
const self = this;
|
||||
workDetail(self.workId).then(res => {
|
||||
self.info = res.data.data;
|
||||
self.status = res.data.data.detailStatus;
|
||||
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;
|
||||
self.getCollectStatus();
|
||||
if (self.type === 1) {
|
||||
// 设置已读
|
||||
setRead(self.id).then(res => {
|
||||
self.$store.commit("SET_READ");
|
||||
})
|
||||
}
|
||||
}, error => {
|
||||
console.log(error);
|
||||
});
|
||||
},
|
||||
submit: function() {
|
||||
if (!this.$store.state.user.token) {
|
||||
GoLogin()
|
||||
return
|
||||
}
|
||||
if(this.loading) return
|
||||
const auth = this.auth
|
||||
const contractOn = this.info.contractOn
|
||||
const sealOk = this.autograph && this.autograph.data && this.autograph.data.signSrcUrl
|
||||
// if (sealOk) {
|
||||
// console.log('直接抢任务')
|
||||
// this.submitTask()
|
||||
// } else
|
||||
// if (!auth.realNameState || !auth.laborState || !auth.insureState) {
|
||||
// this.goSign(0)
|
||||
// } else if (!auth.bankCardState){
|
||||
// this.goSign(1)
|
||||
// } else
|
||||
if (contractOn && !sealOk) {
|
||||
this.goSign(2)
|
||||
} else if (sealOk && contractOn){
|
||||
this.nextBtn = true
|
||||
this.lookMask()
|
||||
} else {
|
||||
this.submitTask()
|
||||
}
|
||||
},
|
||||
// 查看合同
|
||||
lookMask(){
|
||||
this.maskShow = true
|
||||
},
|
||||
// 岗位申请
|
||||
submitTask(){
|
||||
submit(this.missionNo,1).then(res => {
|
||||
uni.hideLoading()
|
||||
uni.showToast({
|
||||
title: '操作成功',
|
||||
icon: 'none'
|
||||
});
|
||||
this.status = null;
|
||||
this.loading = false
|
||||
}, error => {
|
||||
this.loading = false
|
||||
});
|
||||
},
|
||||
// 步骤
|
||||
goSign(active){
|
||||
uni.navigateTo({
|
||||
url: `/pages/projectInfo/signContract?active=${active}`
|
||||
})
|
||||
},
|
||||
// 关闭弹窗
|
||||
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>
|
||||
|
||||
<style lang="scss">
|
||||
.codeSealBox{
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
.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;
|
||||
line-height: 90rpx;
|
||||
text-align: center;
|
||||
background: #1B66FF;
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
.lookContract{
|
||||
width: 30%;
|
||||
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;
|
||||
}
|
||||
</style>
|
||||
@@ -3,8 +3,8 @@ module.exports = {
|
||||
port: 1887,
|
||||
proxy: {
|
||||
'/api': {
|
||||
// target: 'http://192.168.0.104:8000', // 本地服务接口地址
|
||||
target: "http://39.98.184.58:8000", // 阿里云后台地址
|
||||
target: 'http://192.168.0.104:8000', // 本地服务接口地址
|
||||
// target: "http://39.98.184.58:8000", // 阿里云后台地址
|
||||
// target: "http://192.168.0.100:8000", // 本地网关
|
||||
ws: true,
|
||||
pathRewrite: {
|
||||
|
||||
Reference in New Issue
Block a user