flat: 岗位问题

This commit is contained in:
Apcallover
2024-04-14 17:47:21 +08:00
parent 6ea826b710
commit bd7605a8f9
3 changed files with 1240 additions and 1148 deletions

View File

@@ -183,20 +183,7 @@
// this.getPolicy()
},
onShow: function() {
switch (this.activeTab) {
case 0:
this.getNewList();
break;
case 1:
this.getNearList();
break;
case 2:
this.getPolicy();
break;
default:
this.getNewList();
break;
}
this.download();
if (this.$store.state.user.token) {
this.$store.dispatch('refreshAuthState').then((e) => {
@@ -295,6 +282,7 @@
changeTab: function(e) {
this.isSearch = false;
this.activeTab = e;
this.download();
},
goPolicyInfo(data) {

View File

@@ -8,16 +8,20 @@
任务编码{{info.missionNo}}
</view> -->
<view class="prolist">
任务日期{{dateFormat((info.stime))}}{{dateFormat((info.etime))}}
<!-- 开始时间{{dateFormat((info.stime))}}{{dateFormat((info.etime))}} -->
开始时间{{dateFormat((info.stime))}}
</view>
<!-- <view class="prolist">
报名截止{{dateFormat((info.etimePub))}}
</view> -->
<view class="prolist">
招聘人数{{info.peopleNum}}
</view>
<view class="prolist">
行业类型{{info.tradeNames}}
</view>
<view class="prolist">
工种类型{{info.worktypeNames}}
零工工种{{info.worktypeNames || '暂无'}}
</view>
<view class="fee">
{{info.wage}}
@@ -36,6 +40,8 @@
<view class="protype">
学历要求{{education[info.education]}}
</view>
</view>
<view class="prolist">
<view class="protype">
经验要求{{experience[info.experienceDesc]}}
</view>
@@ -58,15 +64,17 @@
</view>
</view>
<view class="head">
<view class="proname proneed">
公司信息
<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.companyName}}</view>
</view>
<!-- <view class="proname proneed">
企业信息
</view>
<view class="prolist">
{{info.companyName}}
</view>
<view class="prolist">
公司地址{{info.companyAddress}}
</view>
</view> -->
</view>
<view class="head">
<view class="proname proneed">
@@ -84,20 +92,27 @@
座机号{{info.callNumber}}
</view> -->
<view class="prolist">
任务地址{{info.address}}
公司地址{{info.companyAddress || '暂无'}}
</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 @click="collect"
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
mode=""></image>
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
style="width: 36rpx;height: 36rpx;" mode=""></image>
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
</view>
<view @click="callPhone" class="bottombtn flexbtn" style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
<view @click="callPhone" class="bottombtn flexbtn"
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
电话联系
</view>
<view @click="submit" class="bottombtn flexbtn" style="border-radius: 45rpx;">
@@ -106,14 +121,18 @@
</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 @click="collect"
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
mode=""></image>
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
style="width: 36rpx;height: 36rpx;" mode=""></image>
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
</view>
<view @click="callPhone" class="bottombtn flexbtn" style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
<view @click="callPhone" class="bottombtn flexbtn"
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
电话联系
</view>
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx;">已申请</view>
@@ -135,7 +154,9 @@
<view style="height: 200rpx;padding: 20rpx 40rpx;">
<view style="font-size: 28rpx;font-weight: bold;">重要提示</view>
<view style="font-size: 24rpx;color:#707070;margin-top:10rpx;">为保障个人基本劳动权益建议通过平台用工的形式就业</view>
<view style="text-align: center;font-size:28rpx;margin-top: 30rpx;"> {{ info.callName }} : {{ info.callTel }}</view>
<view style="text-align: center;font-size:28rpx;margin-top: 30rpx;"> {{ info.callName }} :
{{ info.callTel }}
</view>
</view>
</u-popup>
</view>
@@ -160,13 +181,28 @@
</template>
<script>
import {mapGetters} from 'vuex'
import {missionDetail,submit, getCollectState, updateCollectStatus} from '@/api/mission.js';
import {GoLogin} from '@/untils/AxiosUtils.js';
import {setRead} from '@/api/news.js';
import {checkPass} from '@/api/auth.js';
import {
mapGetters
} from 'vuex'
import {
missionDetail,
submit,
getCollectState,
updateCollectStatus
} from '@/api/mission.js';
import {
GoLogin
} from '@/untils/AxiosUtils.js';
import {
setRead
} from '@/api/news.js';
import {
checkPass
} from '@/api/auth.js';
import dictionary from '@/common/textdata.js';
import {dateFormat} from "../../untils/format.js";
import {
dateFormat
} from "../../untils/format.js";
import uniMask from '@/components/uni-mask/mask.vue'
import uniPopup from '@/components/uni-popup/uni-popup.vue'
import validCode from '@/components/p-valid-code/p-valid-code.vue'
@@ -201,7 +237,11 @@
showPopUp: false,
}
},
components: {uniMask,validCode,uniPopup},
components: {
uniMask,
validCode,
uniPopup
},
onLoad: function(option) { //option为object类型会序列化上个页面传递的参数
// this.$store.dispatch('setAutograph')
if (option.missionNo) {
@@ -234,7 +274,7 @@
// console.log('收藏,取消收藏')
const status = this.collectStatus == 0 ? 1 : 0;
updateCollectStatus(this.info.id, status, 0).then(res => {
if(res.data.code == 200) {
if (res.data.code == 200) {
this.getCollectStatus()
}
})
@@ -279,7 +319,7 @@
GoLogin()
return
}
if(this.loading) 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
@@ -294,7 +334,7 @@
// } else
if (contractOn && !sealOk) {
this.goSign(2)
} else if (sealOk && contractOn){
} else if (sealOk && contractOn) {
this.nextBtn = true
this.lookMask()
} else {
@@ -302,12 +342,12 @@
}
},
// 查看合同
lookMask(){
lookMask() {
this.maskShow = true
},
// 抢任务
submitTask(){
submit(this.missionNo,0).then(res => {
submitTask() {
submit(this.missionNo, 0).then(res => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
@@ -320,25 +360,25 @@
});
},
// 步骤
goSign(active){
goSign(active) {
uni.navigateTo({
url: `/pages/projectInfo/signContract?active=${active}`
})
},
// 关闭弹窗
close(){
close() {
this.maskShow = false
},
// 合同下一步
next(){
next() {
this.maskShow = false
this.showDetail = false
this.showCode = true
},
// 输入签名密码
getInpCode(password){
getInpCode(password) {
uni.showLoading({
title:"请求中..."
title: "请求中..."
})
this.loading = true
var obj = {
@@ -352,12 +392,12 @@
})
},
// 关闭签名密码弹窗
closeShowCode(){
closeShowCode() {
this.showCode = false
this.showDetail = true
},
// 忘记密码
forget(){
forget() {
uni.navigateTo({
url: `/pageMy/setUserBase/seal/forget?forget=true`
})
@@ -375,9 +415,10 @@
</script>
<style lang="scss">
.codeSealBox{
.codeSealBox {
padding: 285rpx 72rpx 0 72rpx;
.closeCode{
.closeCode {
position: absolute;
right: 36rpx;
top: 120rpx;
@@ -385,11 +426,13 @@
transform: rotate(45deg);
font-size: 40px;
}
.title{
.title {
display: flex;
align-items: center;
}
.name{
.name {
height: 46rpx;
font-size: 46rpx;
font-family: PingFangSC-Medium, PingFang SC;
@@ -398,7 +441,8 @@
line-height: 46rpx;
margin-right: 28rpx;
}
.tip{
.tip {
height: 38rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
@@ -406,7 +450,8 @@
color: #999999;
line-height: 38rpx;
}
.forget{
.forget {
height: 38rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
@@ -417,14 +462,16 @@
}
}
.contractMask{
.contractMask {
background-color: #FFFFFF;
margin: 30rpx;
position: relative;
border-radius: 4px;
height: 96%;
overflow: auto;
.close{
.close {
width: 23px;
height: 23px;
color: #1B66FF;
@@ -434,10 +481,11 @@
transform: rotate(45deg);
font-size: 40px;
}
.down{
position:fixed;
.down {
position: fixed;
bottom: 30px;
left:14%;
left: 14%;
width: 545rpx;
height: 90rpx;
line-height: 90rpx;
@@ -448,13 +496,16 @@
color: #FFFFFF;
}
}
.lookContract{
.lookContract {
width: 30%;
margin-right: 30rpx;
}
.flexbtn{
flex:1;
.flexbtn {
flex: 1;
}
.bottombtn {
background-color: #1B66FF;
color: #fff;
@@ -474,7 +525,7 @@
position: fixed;
bottom: 0;
left: 0;
display:flex;
display: flex;
}
.disabledBtn {

View File

@@ -17,7 +17,7 @@
行业类型{{info.tradeNames?info.tradeNames:info.jobCompanyIndustry}}
</view>
<view class="prolist">
工种类型{{info.skillNames}}
岗位工种{{info.skillNames}}
</view>
<!-- <view class="fee">
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
@@ -34,17 +34,25 @@
</view> -->
<view class="prolist">
<view class="protype">
学历要求{{info.education}}
年龄要求{{age[info.ageDesc]}}
</view>
</view>
<view class="prolist">
<view class="protype">
学历要求{{info.education || '暂无'}}
</view>
</view>
<view class="prolist">
<view class="protype">
经验要求{{info.experienceDesc}}
</view>
</view>
<view class="prolist">
<!-- <view class="prolist">
岗位地址{{info.jobAddress}}
</view>
</view> -->
<view class="prolist proint" style="font-weight: bold;color:#333;">
任务描述
岗位描述
</view>
<view class="prolist description">
{{info.jobDescription}}
@@ -71,7 +79,8 @@
企业名称{{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>
<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>
@@ -91,20 +100,27 @@
座机号{{info.callNumber}}
</view> -->
<view class="prolist">
岗位地址{{info.address}}
工作地址{{`${info.province}${info.city}${info.county}` || '暂无'}}
</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 @click="collect"
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
mode=""></image>
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
style="width: 36rpx;height: 36rpx;" mode=""></image>
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
</view>
<view @click="callPhone" class="bottombtn flexbtn" style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
<view @click="callPhone" class="bottombtn flexbtn"
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
电话联系
</view>
<view @click="submit" class="bottombtn flexbtn" style="border-radius: 45rpx;">
@@ -113,14 +129,18 @@
</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 @click="collect"
style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;"
mode=""></image>
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png"
style="width: 36rpx;height: 36rpx;" mode=""></image>
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
</view>
<view @click="callPhone" class="bottombtn flexbtn" style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
<view @click="callPhone" class="bottombtn flexbtn"
style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
电话联系
</view>
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx;">已申请</view>
@@ -142,7 +162,9 @@
<view style="height: 200rpx;padding: 20rpx 40rpx;">
<view style="font-size: 28rpx;font-weight: bold;">重要提示</view>
<view style="font-size: 24rpx;color:#707070;margin-top:10rpx;">为保障个人基本劳动权益建议通过平台用工的形式就业</view>
<view style="text-align: center;font-size:28rpx;margin-top: 30rpx;"> {{ info.callName }} : {{ info.callTel }}</view>
<view style="text-align: center;font-size:28rpx;margin-top: 30rpx;"> {{ info.callName }} :
{{ info.callTel }}
</view>
</view>
</u-popup>
</view>
@@ -167,14 +189,32 @@
</template>
<script>
import {mapGetters} from 'vuex'
import {missionDetail,submit, getCollectState, updateCollectStatus, workDetail} from '@/api/mission.js';
import {GoLogin} from '@/untils/AxiosUtils.js';
import {setRead} from '@/api/news.js';
import {checkPass} from '@/api/auth.js';
import {
mapGetters
} from 'vuex'
import {
missionDetail,
submit,
getCollectState,
updateCollectStatus,
workDetail
} from '@/api/mission.js';
import {
GoLogin
} from '@/untils/AxiosUtils.js';
import {
setRead
} from '@/api/news.js';
import {
checkPass
} from '@/api/auth.js';
import dictionary from '@/common/textdata.js';
import {dateFormat} from "../../untils/format.js";
import {userrecruitDetail} from '@/api/userrecruit.js'
import {
dateFormat
} from "../../untils/format.js";
import {
userrecruitDetail
} from '@/api/userrecruit.js'
import uniMask from '@/components/uni-mask/mask.vue'
import validCode from '@/components/p-valid-code/p-valid-code.vue'
export default {
@@ -208,7 +248,10 @@
showPopUp: false,
}
},
components: {uniMask,validCode},
components: {
uniMask,
validCode
},
onLoad: function(option) { //option为object类型会序列化上个页面传递的参数
// this.$store.dispatch('setAutograph')
if (option.workId) {
@@ -227,7 +270,6 @@
onShow: function() {
this.showDetail = true
this.getData();
},
onShareAppMessage(obj) {
return {
@@ -241,7 +283,7 @@
// console.log('收藏,取消收藏')
const status = this.collectStatus == 0 ? 1 : 0;
updateCollectStatus(this.info.id, status, 1).then(res => {
if(res.data.code == 200) {
if (res.data.code == 200) {
this.getCollectStatus()
}
})
@@ -287,7 +329,7 @@
GoLogin()
return
}
if(this.loading) 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
@@ -302,7 +344,7 @@
// } else
if (contractOn && !sealOk) {
this.goSign(2)
} else if (sealOk && contractOn){
} else if (sealOk && contractOn) {
this.nextBtn = true
this.lookMask()
} else {
@@ -310,12 +352,12 @@
}
},
// 查看合同
lookMask(){
lookMask() {
this.maskShow = true
},
// 岗位申请
submitTask(){
submit(this.missionNo,1).then(res => {
submitTask() {
submit(this.missionNo, 1).then(res => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
@@ -328,25 +370,25 @@
});
},
// 步骤
goSign(active){
goSign(active) {
uni.navigateTo({
url: `/pages/projectInfo/signContract?active=${active}`
})
},
// 关闭弹窗
close(){
close() {
this.maskShow = false
},
// 合同下一步
next(){
next() {
this.maskShow = false
this.showDetail = false
this.showCode = true
},
// 输入签名密码
getInpCode(password){
getInpCode(password) {
uni.showLoading({
title:"请求中..."
title: "请求中..."
})
this.loading = true
var obj = {
@@ -360,12 +402,12 @@
})
},
// 关闭签名密码弹窗
closeShowCode(){
closeShowCode() {
this.showCode = false
this.showDetail = true
},
// 忘记密码
forget(){
forget() {
uni.navigateTo({
url: `/pageMy/setUserBase/seal/forget?forget=true`
})
@@ -383,9 +425,10 @@
</script>
<style lang="scss">
.codeSealBox{
.codeSealBox {
padding: 285rpx 72rpx 0 72rpx;
.closeCode{
.closeCode {
position: absolute;
right: 36rpx;
top: 120rpx;
@@ -393,11 +436,13 @@
transform: rotate(45deg);
font-size: 40px;
}
.title{
.title {
display: flex;
align-items: center;
}
.name{
.name {
height: 46rpx;
font-size: 46rpx;
font-family: PingFangSC-Medium, PingFang SC;
@@ -406,7 +451,8 @@
line-height: 46rpx;
margin-right: 28rpx;
}
.tip{
.tip {
height: 38rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
@@ -414,7 +460,8 @@
color: #999999;
line-height: 38rpx;
}
.forget{
.forget {
height: 38rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
@@ -425,14 +472,16 @@
}
}
.contractMask{
.contractMask {
background-color: #FFFFFF;
margin: 30rpx;
position: relative;
border-radius: 4px;
height: 96%;
overflow: auto;
.close{
.close {
width: 23px;
height: 23px;
color: #1B66FF;
@@ -442,10 +491,11 @@
transform: rotate(45deg);
font-size: 40px;
}
.down{
position:fixed;
.down {
position: fixed;
bottom: 30px;
left:14%;
left: 14%;
width: 545rpx;
height: 90rpx;
line-height: 90rpx;
@@ -456,13 +506,16 @@
color: #FFFFFF;
}
}
.lookContract{
.lookContract {
width: 30%;
margin-right: 30rpx;
}
.flexbtn{
flex:1;
.flexbtn {
flex: 1;
}
.bottombtn {
background-color: #1B66FF;
color: #fff;
@@ -482,7 +535,7 @@
position: fixed;
bottom: 0;
left: 0;
display:flex;
display: flex;
}
.disabledBtn {