解决冲突
@@ -37,4 +37,19 @@ export const userrecruitDetail = (workId) => {
|
|||||||
workId
|
workId
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getuserrecruitListApp = (params) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/jobslink-api/user/userrecruit/listApp',
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export const getuserrecruitDetailApp = (params) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/jobslink-api/user/userrecruit/detailApp',
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="tabbar_container">
|
<view class="tabbar_container">
|
||||||
<view class="tabbar_item" v-for="(item, index) in tabbarList" :key="index" @click="changeItem(item)">
|
<view class="tabbar_item" v-for="(item, index) in tabbarList" :key="index" @click="changeItem(item)">
|
||||||
<view class="item-top" >
|
<view class="item-top">
|
||||||
<image :src="currentItem == item.id ? item.selectedIconPath : item.iconPath"
|
<image :src="currentItem == item.id ? item.selectedIconPath : item.iconPath"
|
||||||
:class="[item.centerItem ? 'center-item-img' : '']"></image>
|
:class="[item.centerItem ? 'center-item-img' : '']"></image>
|
||||||
</view>
|
</view>
|
||||||
@@ -13,10 +13,10 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
let listSrc = require('../../static/img/tabbar/list.png');
|
let listSrc = require('../../static/img/tabbar/homeactive.png');
|
||||||
let listSrc2 = require('../../static/img/tabbar/avtiveList.png');
|
let listSrc2 = require('../../static/img/tabbar/home.png');
|
||||||
let newsSrc = require('../../static/img/tabbar/news.png');
|
let newsSrc = require('../../static/img/tabbar/addactive.png');
|
||||||
let newsSrc2 = require('../../static/img/tabbar/activeNews.png');
|
let newsSrc2 = require('../../static/img/tabbar/add.png');
|
||||||
let recruitSrc = require('../../static/img/tabbar/recruit.png');
|
let recruitSrc = require('../../static/img/tabbar/recruit.png');
|
||||||
let recruitSrc2 = require('../../static/img/tabbar/activeRecruit.png');
|
let recruitSrc2 = require('../../static/img/tabbar/activeRecruit.png');
|
||||||
export default {
|
export default {
|
||||||
@@ -108,12 +108,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.center-item-img{
|
.center-item-img{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -58rpx;
|
z-index: -1;
|
||||||
left: calc(50% - 53rpx);
|
top: -68rpx;
|
||||||
|
left: calc(50% - 53rpx - 16rpx);
|
||||||
width: 106rpx !important;
|
width: 106rpx !important;
|
||||||
height: 106rpx !important;
|
height: 106rpx !important;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
padding: 16rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
|
||||||
}
|
}
|
||||||
.item-active{
|
.item-active{
|
||||||
color: #4071f8;
|
color: #4071f8;
|
||||||
|
|||||||
3
main.js
@@ -22,9 +22,6 @@ function navTo(url, needLogin) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const msg = (title, duration=1500, mask=false, icon='none')=>{
|
const msg = (title, duration=1500, mask=false, icon='none')=>{
|
||||||
if(typeof title === 'string'){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title,
|
title,
|
||||||
duration,
|
duration,
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.head_right {
|
.head_right {
|
||||||
ont-family: PingFangSC-Medium;
|
font-family: PingFangSC-Medium;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #F46161;
|
color: #F46161;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
任务编码:{{info.missionNo}}
|
任务编码:{{info.missionNo}}
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="prolist">
|
<view class="prolist">
|
||||||
发布日期:{{dateFormat((info.stime))}}
|
发布日期:{{ info.stime ? dateFormat((info.stime)) : null }}
|
||||||
</view>
|
</view>
|
||||||
<view class="prolist">
|
<view class="prolist">
|
||||||
招聘人数:{{info.peopleNum}}
|
招聘人数:{{info.peopleNum}}
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
申请
|
申请
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="btn" v-if="isShow!=='0'&&status!==0">
|
<view class="btn" v-if="!jobType && isShow!=='0' && status!==0">
|
||||||
<!-- <view class="bottombtn lookContract" @click="lookMask">查看合同</view> -->
|
<!-- <view class="bottombtn lookContract" @click="lookMask">查看合同</view> -->
|
||||||
<view @click="collect" style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
<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 == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||||
@@ -177,6 +177,7 @@
|
|||||||
import {userrecruitDetail} from '@/api/userrecruit.js'
|
import {userrecruitDetail} from '@/api/userrecruit.js'
|
||||||
import uniMask from '@/components/uni-mask/mask.vue'
|
import uniMask from '@/components/uni-mask/mask.vue'
|
||||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
||||||
|
import {getuserrecruitDetailApp} from '@/api/userrecruit.js'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -206,6 +207,7 @@
|
|||||||
maxlength: 6,
|
maxlength: 6,
|
||||||
collectStatus: 0, // 收藏状态
|
collectStatus: 0, // 收藏状态
|
||||||
showPopUp: false,
|
showPopUp: false,
|
||||||
|
jobType: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {uniMask,validCode},
|
components: {uniMask,validCode},
|
||||||
@@ -223,6 +225,9 @@
|
|||||||
if (option.id) {
|
if (option.id) {
|
||||||
this.id = option.id; //消息id
|
this.id = option.id; //消息id
|
||||||
}
|
}
|
||||||
|
if(option.jobType) {
|
||||||
|
this.jobType = option.jobType
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
this.showDetail = true
|
this.showDetail = true
|
||||||
@@ -260,27 +265,33 @@
|
|||||||
this.collectStatus = res.data.data;
|
this.collectStatus = res.data.data;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getData: function() {
|
async getData() {
|
||||||
const self = this;
|
const self = this;
|
||||||
userrecruitDetail(self.workId).then(res => {
|
let resData = null
|
||||||
self.info = res.data.data;
|
if(this.jobType) {
|
||||||
self.status = res.data.data.status;
|
resData = await getuserrecruitDetailApp({id: this.id, jobType: this.jobType})
|
||||||
self.missionNo = res.data.data.missionNo;
|
} else {
|
||||||
self.latitude = self.info.lat;
|
resData = await userrecruitDetail(self.workId)
|
||||||
self.longitude = self.info.lon;
|
}
|
||||||
self.covers[0].latitude = self.info.lat;
|
if(resData.data?.code === 200) {
|
||||||
self.covers[0].longitude = self.info.lon;
|
self.info = resData.data.data;
|
||||||
self.showDetail = true;
|
self.status = resData.data.data.status;
|
||||||
self.getCollectStatus();
|
self.missionNo = resData.data.data.missionNo;
|
||||||
if (self.type === 1) {
|
self.latitude = self.info.lat;
|
||||||
// 设置已读
|
self.longitude = self.info.lon;
|
||||||
setRead(self.id).then(res => {
|
self.covers[0].latitude = self.info.lat;
|
||||||
self.$store.commit("SET_READ");
|
self.covers[0].longitude = self.info.lon;
|
||||||
})
|
self.showDetail = true;
|
||||||
}
|
if(!this.seeDeatil) {
|
||||||
}, error => {
|
self.getCollectStatus();
|
||||||
console.log(error);
|
if (self.type === 1) {
|
||||||
});
|
// 设置已读
|
||||||
|
setRead(self.id).then(res => {
|
||||||
|
self.$store.commit("SET_READ");
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
submit: function() {
|
submit: function() {
|
||||||
if (!this.$store.state.user.token) {
|
if (!this.$store.state.user.token) {
|
||||||
|
|||||||
264
pages/recruit/components/userrecruitList.vue
Normal file
@@ -0,0 +1,264 @@
|
|||||||
|
<template>
|
||||||
|
<view class="body" @click="goInfo(companyitem.id)">
|
||||||
|
<view class="heads">
|
||||||
|
<view class="head_left">
|
||||||
|
<rich-text :nodes="string">
|
||||||
|
</rich-text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="head_right">
|
||||||
|
{{ companyitem.wage }}{{ wageUnit[companyitem.wageUnitCategory] }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="ask">
|
||||||
|
<view class="asj_content">
|
||||||
|
<view class="askList">
|
||||||
|
{{ companyitem.tradeNames }}
|
||||||
|
</view>
|
||||||
|
<view class="askList" v-for="(item, index) in skillNames" :key="index">
|
||||||
|
{{ item }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="ask_right">
|
||||||
|
{{getReviewState(companyitem.reviewState)}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="allName">
|
||||||
|
{{ companyitem.jobCompanyName }}
|
||||||
|
</view> -->
|
||||||
|
<view style="width: 100%;height: 1rpx;background-color: #999;margin: 0 auto;opacity: .5;"></view>
|
||||||
|
<view class="timeAddress" style="position: relative;">
|
||||||
|
<!-- <view v-if="companyitem.missionCompanyName">
|
||||||
|
{{ companyitem.missionCompanyName }}
|
||||||
|
</view> -->
|
||||||
|
<!-- <view>
|
||||||
|
<image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;" mode=""></image>
|
||||||
|
{{ companyitem.jobCompanyName }}
|
||||||
|
</view> -->
|
||||||
|
<view style="display: flex;align-items: center;">
|
||||||
|
<image src="../../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 10rpx;" mode=""></image>
|
||||||
|
<view style="font-size: 26rpx;color:#333;">{{ companyitem.jobAddress }}</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view v-if="near">
|
||||||
|
{{ companyitem.distanceStr }}km
|
||||||
|
</view>
|
||||||
|
<view v-else>
|
||||||
|
{{ getCity(companyitem.cityId) }}
|
||||||
|
</view> -->
|
||||||
|
<view style="display: flex;align-items: center;position:absolute;right:0;">
|
||||||
|
<image src="../../../static/img/location_new.png" style="width: 30rpx;height: 30rpx;" mode=""></image>
|
||||||
|
<view>2.2km</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="comment" v-if='comment' @tap.stop="goComment(companyitem.missionNo)">
|
||||||
|
<view class="comment_content commentimg" v-if='companyitem.scoreAll > 0'>
|
||||||
|
<image class="commentimg_image" src="../../../static/img/star.full.svg" v-for="index1 in companyitem.scoreAll"
|
||||||
|
mode="" :key="index1"></image>
|
||||||
|
<image class="commentimg_image" src="../../../static/img/star.empty.svg"
|
||||||
|
v-for="index2 in (5 - companyitem.scoreAll)" mode="" :key="index2"></image>
|
||||||
|
</view>
|
||||||
|
<view class="comment_content allName gocomment" v-else>
|
||||||
|
评价
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
toDoller,
|
||||||
|
dateFormat
|
||||||
|
} from "../../../untils/format.js";
|
||||||
|
import dictionary from '@/common/textdata.js';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
beforeCreate: function () { },
|
||||||
|
props: {
|
||||||
|
companyitem: {
|
||||||
|
type: Object,
|
||||||
|
default() { return [] }
|
||||||
|
},
|
||||||
|
comment: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
noApply: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
near: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
...dictionary,
|
||||||
|
string: "<div style='overflow: hidden;white-space: nowrap;text-overflow: ellipsis;'>" + this.companyitem.jobName +
|
||||||
|
"</div>"
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
skillNames() {
|
||||||
|
return this.companyitem.skillNames.split(',')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getReviewState(type) {
|
||||||
|
switch(type) {
|
||||||
|
case 1:
|
||||||
|
return '已审核'
|
||||||
|
case 0:
|
||||||
|
return '待审核'
|
||||||
|
case 9:
|
||||||
|
return '驳回'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
goComment: function (no) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `../../pageMy/mycomment/mycomment?missionNo=${encodeURIComponent(no)}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
goInfo: function (no) {
|
||||||
|
const isCan = this.noApply === false ? '0' : '1'
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/projectInfo/userrecruitInfo?workId=${encodeURIComponent(no)}&isCan=${isCan}&jobType=${this.companyitem.jobType
|
||||||
|
}&id=${this.companyitem.id}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getCity: function (val) {
|
||||||
|
if (val) {
|
||||||
|
let areas = this.$store.getters.getAreaParents(val)
|
||||||
|
if (areas.length === 3) {
|
||||||
|
return areas[0].label + '-' + areas[1].label + '-' + areas[2].label
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toDoller,
|
||||||
|
dateFormat
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.commentimg_image {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.commentimg {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gocomment {
|
||||||
|
font-size: 26rpx !important;
|
||||||
|
border-radius: 5rpx;
|
||||||
|
border: 1rpx solid #c3c3c3;
|
||||||
|
width: 160rpx;
|
||||||
|
text-align: center;
|
||||||
|
float: right;
|
||||||
|
height: 50rpx;
|
||||||
|
line-height: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeAddress {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #999999;
|
||||||
|
margin: 10rpx 0;
|
||||||
|
padding: 10rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.allName {
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.askList {
|
||||||
|
/* width: 14%; */
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666666;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
padding: 5rpx 15rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ask {
|
||||||
|
overflow: hidden;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 20rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.asj_content{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
.ask_right{
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: blue;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
border: 2rpx solid blue;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 5rpx 15rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_right {
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #F46161;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_left {
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333333;
|
||||||
|
width: 350rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
/*不换行*/
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/*超出部分文字以...显示*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight {
|
||||||
|
color: #F46161;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body {
|
||||||
|
width: 690rpx;
|
||||||
|
margin: 0rpx auto;
|
||||||
|
background-color: #fefefe;
|
||||||
|
overflow: hidden;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 20rpx;
|
||||||
|
padding-bottom: 0;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.heads {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -2,11 +2,11 @@
|
|||||||
<view class="container">
|
<view class="container">
|
||||||
<view class="select">请选择</view>
|
<view class="select">请选择</view>
|
||||||
<view class="select-text">您是个人招工还是企业招工</view>
|
<view class="select-text">您是个人招工还是企业招工</view>
|
||||||
<view class="block" @click="navTo('/pages/recruit/subPage/index')">
|
<view class="block" @click="navTo('/pages/recruit/subPage/index?type=none')">
|
||||||
<img src="../../static/img/zhao_icon1.png" alt="" />
|
<img src="../../static/img/zhao_icon1.png" alt="" />
|
||||||
<view class="block-text">个人招工</view>
|
<view class="block-text">个人招工</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="block">
|
<view class="block" @click="navTo('/pages/recruit/subPage/index?type=enterprise')">
|
||||||
<img src="../../static/img/zhao_icon2.png" alt="" />
|
<img src="../../static/img/zhao_icon2.png" alt="" />
|
||||||
<view class="block-text" style="background-color: #4171F9;">企业招工</view>
|
<view class="block-text" style="background-color: #4171F9;">企业招工</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -1,38 +1,135 @@
|
|||||||
<template>
|
<template>
|
||||||
<view >
|
<view class="app_container">
|
||||||
<CustomNavbar @back="back" :titke="'招工列表'"></CustomNavbar>
|
<CustomNavbar @back="back" :titke="'招工列表'"></CustomNavbar>
|
||||||
<view class="guide">
|
<view class="guide">
|
||||||
<view class="guide_content" v-for="(item, index) in arr" :key="index">
|
<view class="guide_content" v-for="(item, index) in arrGuide" :key="index">
|
||||||
<view class="guide_item"> {{item.text}}</view>
|
<view class="guide_item"> {{item}} </view>
|
||||||
<view class="guide_arrow" v-if="index !== arr.length - 1">》</view>
|
<view class="guide_arrow" v-if="index !== arrGuide.length - 1">》</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<empty content="暂无数据" mr-top="200"></empty>
|
<view class="condition">
|
||||||
|
<view class="cond_list" v-if="pageType === 'enterprise'">
|
||||||
|
<view v-for="(item, index) in arrTitle" :key="index"
|
||||||
|
:class="['cond_item', index === currentArrTitleID ? 'activeButton' : '']"
|
||||||
|
@click="changeTab(item)">
|
||||||
|
{{ item.text }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cond_list" v-else>
|
||||||
|
<view style="font-weight: 700;">个人招工</view>
|
||||||
|
</view>
|
||||||
|
<view
|
||||||
|
class="cond_item item_com"
|
||||||
|
@click="openPicker = true"
|
||||||
|
>{{ reviewStatus[currentReviewStatusID] }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="container" v-if="dataSource.length">
|
||||||
|
<block v-for="(item, index) in dataSource" :key="item.id">
|
||||||
|
<userrecruitList :companyitem="item"></userrecruitList>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<empty v-else content="暂无数据" mr-top="200"></empty>
|
||||||
<CustomTabbar :currentpage="0"></CustomTabbar>
|
<CustomTabbar :currentpage="0"></CustomTabbar>
|
||||||
|
<u-picker :show="openPicker" :columns="pickerColumns" @cancel="openPicker = false" @confirm="changeReviewStatus"></u-picker>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import CustomNavbar from '@/components/CustomNavbar/navbar.vue'
|
import CustomNavbar from '@/components/CustomNavbar/navbar.vue';
|
||||||
import CustomTabbar from '@/components/CustomTabbar/custom_tabbar.vue'
|
import CustomTabbar from '@/components/CustomTabbar/custom_tabbar.vue';
|
||||||
let arr = [
|
import { getuserrecruitListApp } from '@/api/userrecruit.js'
|
||||||
{text: '在线填写招工需求'},
|
import userrecruitList from '../components/userrecruitList.vue'
|
||||||
{text: '后台审核沟通发布'},
|
let arrGuide = ['在线填写招工需求', '后台审核沟通发布', '平台/展示招工任务'];
|
||||||
{text: '平台/大屏展示招工任务'},
|
let arrTitle = [
|
||||||
]
|
{
|
||||||
|
text: "任务招工",
|
||||||
|
id: 0
|
||||||
|
}, {
|
||||||
|
text: "岗位招工",
|
||||||
|
id: 1
|
||||||
|
}, {
|
||||||
|
text: "个人招工",
|
||||||
|
id: 2
|
||||||
|
}
|
||||||
|
];
|
||||||
|
let reviewStatus = {
|
||||||
|
'-1': '全部',
|
||||||
|
'0': "待审",
|
||||||
|
'1': "已审",
|
||||||
|
'9': "驳回",
|
||||||
|
};
|
||||||
|
let pickerColumns = [Object.values(reviewStatus)]
|
||||||
export default {
|
export default {
|
||||||
components: {CustomTabbar, CustomNavbar},
|
components: {CustomTabbar, CustomNavbar, userrecruitList},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
arr,
|
pageType: null, // null: 个人 enterprise: 企业
|
||||||
dataSource: []
|
arrGuide,
|
||||||
|
arrTitle,
|
||||||
|
reviewStatus,
|
||||||
|
pickerColumns,
|
||||||
|
openPicker: false,
|
||||||
|
currentArrTitleID: 2,
|
||||||
|
currentReviewStatusID: '-1',
|
||||||
|
pageNumber: 1,
|
||||||
|
dataSource: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
onLoad({type}) {
|
||||||
|
if(type === 'enterprise'){
|
||||||
|
this.pageType = 'enterprise'
|
||||||
|
this.currentArrTitleID = 0
|
||||||
|
}
|
||||||
|
this.getList('refresh')
|
||||||
|
},
|
||||||
|
onReachBottom() {
|
||||||
|
this.getList('add')
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
changeReviewStatus({value, index, values}) {
|
||||||
|
const val = Object.keys(reviewStatus).filter((item) => reviewStatus[item] === value[0])[0]
|
||||||
|
this.currentReviewStatusID = val
|
||||||
|
this.openPicker = false
|
||||||
|
this.getList('refresh')
|
||||||
|
},
|
||||||
|
changeTab(item) {
|
||||||
|
this.currentArrTitleID = item.id
|
||||||
|
this.getList('refresh')
|
||||||
|
},
|
||||||
back() {
|
back() {
|
||||||
uni.reLaunch({
|
uni.reLaunch({ url: '/pages/my/my' })
|
||||||
url: '/pages/my/my'
|
},
|
||||||
})
|
async getList(type = "add") {
|
||||||
|
if (type === "refresh") {
|
||||||
|
this.dataSource = [];
|
||||||
|
this.pageNumber = 1;
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
current: this.pageNumber,
|
||||||
|
size: 10,
|
||||||
|
jobType: this.currentArrTitleID,
|
||||||
|
}
|
||||||
|
if(this.currentReviewStatusID !== '-1') {
|
||||||
|
params.reviewState = this.currentReviewStatusID
|
||||||
|
}
|
||||||
|
uni.showLoading({title: '加载中...' })
|
||||||
|
let resData = await getuserrecruitListApp(params);
|
||||||
|
uni.hideLoading()
|
||||||
|
if (resData.data?.code === 200) {
|
||||||
|
const { records, total, page, size } = resData.data.data;
|
||||||
|
if (!records.length) {
|
||||||
|
return this.$api.msg("没有更多数据");
|
||||||
|
}
|
||||||
|
switch (type) {
|
||||||
|
case "add":
|
||||||
|
this.dataSource = [...this.dataSource, ...records];
|
||||||
|
break;
|
||||||
|
case "refresh":
|
||||||
|
this.dataSource = records;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
this.pageNumber += 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,29 +137,71 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.guide{
|
|
||||||
padding: 20rpx;
|
.app_container{
|
||||||
display: flex;
|
background-color: #f3f4f8;
|
||||||
align-items: center;
|
min-height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
|
||||||
justify-content: space-between;
|
.container{
|
||||||
height: 200rpx;
|
padding: 0 23rpx;
|
||||||
color: #FFFFFF;
|
padding-bottom: calc(env(safe-area-inset-bottom) + 123rpx)
|
||||||
font-size: 28rpx;
|
}
|
||||||
background-color: #4071f8;
|
.condition{
|
||||||
.guide_content{
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
flex-wrap: nowrap;
|
||||||
.guide_item{
|
padding: 20rpx;
|
||||||
width: 160rpx;
|
justify-content: space-between;
|
||||||
text-align: center;
|
position: sticky;
|
||||||
background-color: rgba(76, 120, 249, 1);
|
top: 78rpx;
|
||||||
border-radius: 10rpx;
|
z-index: 999;
|
||||||
padding: 10rpx;
|
background-color: #f3f4f8;
|
||||||
|
.cond_list{
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex: 1;
|
||||||
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.guide_arrow{
|
.cond_item{
|
||||||
margin-left: 40rpx;
|
font-size: 14px;
|
||||||
|
padding: 10rpx 40rpx;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 50px;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.activeButton {
|
||||||
|
color: #4171f9;
|
||||||
|
background-color: #cfdaf8;
|
||||||
|
}
|
||||||
|
.item_com{
|
||||||
|
margin-right: 0;
|
||||||
|
padding: 10rpx 20rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.guide{
|
||||||
|
padding: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 200rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 28rpx;
|
||||||
|
background-color: #4071f8;
|
||||||
|
.guide_content{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.guide_item{
|
||||||
|
width: 160rpx;
|
||||||
|
text-align: center;
|
||||||
|
background-color: rgba(76, 120, 249, 1);
|
||||||
|
border-radius: 10rpx;
|
||||||
|
padding: 10rpx;
|
||||||
|
}
|
||||||
|
.guide_arrow{
|
||||||
|
margin-left: 40rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 838 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 838 B |
@@ -3,10 +3,10 @@ module.exports = {
|
|||||||
port: 1887,
|
port: 1887,
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
|
// target: 'http://192.168.3.104:8000', // 本地服务接口地址
|
||||||
|
// target: "http://39.98.184.58:8000", // 阿里云后台地址
|
||||||
|
target: 'http://192.168.3.111:8000', // 本地服务接口地址
|
||||||
// target: 'http://192.168.3.108:8000', // 本地服务接口地址
|
// target: 'http://192.168.3.108:8000', // 本地服务接口地址
|
||||||
target: "http://39.98.184.58:8000", // 阿里云后台地址
|
|
||||||
// target: "http://192.168.0.101:8000", // 本地网关
|
|
||||||
// target: 'http://192.168.3.111:8000', // 本地服务接口地址
|
|
||||||
ws: true,
|
ws: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
'^/api': '/'
|
'^/api': '/'
|
||||||
|
|||||||