flat: 暂存

This commit is contained in:
Apcallover
2024-03-27 09:42:41 +08:00
6 changed files with 1133 additions and 235 deletions

View File

@@ -37,7 +37,7 @@ export const recMission = () => {
}) })
} }
/*抢任务-附近任务*/ /*抢任务-推荐岗位*/
export const nearMission = (current, size, lat, lon, distance) => { export const nearMission = (current, size, lat, lon, distance) => {
return request({ return request({
url: '/api/jobslink-api/user/userWork/getPushListByUserId', url: '/api/jobslink-api/user/userWork/getPushListByUserId',
@@ -67,7 +67,6 @@ export const recommendMission = (current, size, seaStr) => {
}) })
} }
/*抢任务-最新任务*/ /*抢任务-最新任务*/
export const newMissionAll = (current, size, seaStr) => { export const newMissionAll = (current, size, seaStr) => {
return request({ return request({
@@ -81,6 +80,47 @@ export const newMissionAll = (current, size, seaStr) => {
headers: getHeader() headers: getHeader()
}) })
} }
/*抢任务-个体户招工*/
export const nearMissionSearch = (current, size, education,salary,industry,province,city) => {
return request({
url: '/api/jobslink-api/user/userWork/searchList',
method: 'get',
params: {
current,
size,
education,salary,industry,province,city
},
headers: getHeader()
})
}
/*抢任务-推荐任务*/
export const recommendMissionSearch = (current, size, education,salary,industry,province,city) => {
return request({
url: '/api/jobslink-api/missions/user/mission/searchList',
method: 'get',
params: {
current,
size,
education,salary,industry,province,city
},
headers: getHeader()
})
}
/*抢任务-推荐岗位*/
export const newMissionAllSearch = (current, size, education,salary,industry,province,city) => {
return request({
url: '/api/jobslink-api/user/userrecruit/searchList',
method: 'get',
params: {
current,
size,
education,salary,industry,province,city
},
headers: getHeader()
})
}
/*提交抢任务*/ /*提交抢任务*/
export const submit = (missionNo,type) => { export const submit = (missionNo,type) => {

View File

@@ -1,126 +1,156 @@
export default [ export default [{
{ name: "学历",
name: "学历", data: [{
data: [ name: "不限",
{ id: "不限",
name: "学历不限", },
id: "学历不限", {
}, name: "初中及以下",
{ id: "初中及以下",
name: "初中及以下", },
id: "初中及以下", {
}, name: "中专/中技",
{ id: "中专/中技",
name: "中专及中技", },
id: "中专及中技", {
}, name: "高中",
{ id: "高中",
name: "高中", },
id: "高中", {
}, name: "大专",
{ id: "大专",
name: "大专", },
id: "大专", {
}, name: "本科",
{ id: "本科",
name: "本科及以上", },
id: "本科及以上", {
}, name: "硕士",
], id: "硕士",
}, },
{ {
name: "工资", name: "博士",
data: [ id: "博士",
{ }, {
name: "薪资不限", name: "MBA/EMBA",
id: "薪资不限", id: "MBA/EMBA",
}, },
{ ],
name: "100-150/天", },
id: "100-150/天", {
}, name: "工资",
{ data: [{
name: "151-200/天", name: "10-15元/小时",
id: "151-200/天", id: "10-15元/小时",
}, },
{ {
name: "201-250/天", name: "16-20元/小时",
id: "201-250/天", id: "16-20元/小时",
}, },
{ {
name: "251-300/天", name: "21-25元/小时",
id: "251-300/天", id: "21-25元/小时",
}, },
{ {
name: "300元/天以上", name: "26-30元/小时",
id: "300元/天以上", id: "26-30元/小时",
}, },
], {
}, name: "30元/小时以上",
{ id: "30元/小时以上",
name: "行业", },
data: [ {
{ name: "100-150/天",
name: "不限年龄", id: "100-150/天",
id: "不限年龄", },
}, {
{ name: "151-200/天",
name: "30以下", id: "151-200/天",
id: "30", },
}, {
{ name: "201-250/天",
name: "35以下", id: "201-250/天",
id: "35", },
}, {
{ name: "251-300/天",
name: "40以下", id: "251-300/天",
id: "40", },
}, {
{ name: "300元/天以上",
name: "45以下", id: "300元/天以上",
id: "45", },
}, {
{ name: "30000元以上/月",
name: "50以下", id: "30000元以上/月",
id: "50", },
}, {
{ name: "面议、暂无要求",
name: "55以下", id: "面议、暂无要求",
id: "55", },
}, ],
{ },
name: "60以下", {
id: "60", name: "行业",
}, data: [{
], name: "不限年龄",
}, id: "不限年龄",
{ },
name: "区域", {
data: [ name: "30以下",
{ id: "30",
name: "薪资不限", },
id: "薪资不限", {
}, name: "35以下",
{ id: "35",
name: "100-150/天", },
id: "100-150/天", {
}, name: "40以下",
{ id: "40",
name: "151-200/天", },
id: "151-200/天", {
}, name: "45以下",
{ id: "45",
name: "201-250/天", },
id: "201-250/天", {
}, name: "50以下",
{ id: "50",
name: "251-300/天", },
id: "251-300/天", {
}, name: "55以下",
{ id: "55",
name: "300元/天以上", },
id: "300元/天以上", {
}, name: "60以下",
], id: "60",
}, },
],
},
{
name: "区域",
data: [{
name: "薪资不限",
id: "薪资不限",
},
{
name: "100-150/天",
id: "100-150/天",
},
{
name: "151-200/天",
id: "151-200/天",
},
{
name: "201-250/天",
id: "201-250/天",
},
{
name: "251-300/天",
id: "251-300/天",
},
{
name: "300元/天以上",
id: "300元/天以上",
},
],
},
]; ];

View File

@@ -293,6 +293,7 @@ export default {
console.log(val); console.log(val);
var valArr = val.value; var valArr = val.value;
this.areaModal.address = [...new Set(val.value)].join(' / ') this.areaModal.address = [...new Set(val.value)].join(' / ')
this.areaModal.address1 = valArr
console.log(this.areaModal.address); console.log(this.areaModal.address);
this.areaModal.addressShow = false this.areaModal.addressShow = false
}, },

View File

@@ -17,7 +17,7 @@
}, },
onLoad(options) { onLoad(options) {
uni.showLoading({ uni.showLoading({
title: '登陆中' title: ''
}) })
if(options.token) { if(options.token) {
const that = this const that = this

View File

@@ -0,0 +1,713 @@
<template>
<view>
<view class="titleSearch">
<view class="searchName"> </view>
<u-search placeholder="搜任务/搜岗位/搜政策/搜招工" @focus="goSeach" shape="round" :showAction="false"></u-search>
</view>
<view class="navPosition" @click="navTo('/pages/project/projectList')">
<u-icon name="map" color="#2979ff" size="16"></u-icon>
<view class="positionText">四川德阳市</view>
<u-icon name="arrow-right" color="#666666" size="14"></u-icon>
</view>
<view class="content">
<view class="typeButtonWrapper">
<view class="typeButtonLeft">
<view v-for="(item, index) in nonReactiveArray" :key="index"
:class="['typeButton', index == activeTab ? 'activeButton' : '']" @click="changeTab(index)">{{
item
}}</view>
</view>
<!-- 筛选 -->
<view class="screenButton" @click="showPopUp = true">
筛选
<view class="arrow-up-right"> </view>
</view>
</view>
<u-popup closeable :show="showPopUp" mode="right" @close="closePopUp">
<view class="popUpWrapper">
<verticalMenu :closePopUp="closePopUp" :subMitPopUp="subMitPopUp" />
</view>
</u-popup>
<block v-if="activeTab == 0">
<view v-if="newList.length > 0" style="padding-bottom: 20rpx;">
<block v-for="(item, index) in newList" :key="index">
<companyList :companyitem="item"></companyList>
</block>
</view>
<view v-else>
<image src="../../static/img/pic_notask.svg" class="nothing" mode=""></image>
<view class="nothing_text">暂无信息</view>
</view>
</block>
<block v-if="activeTab == 1">
<view>
<!-- <view class="location" @click="gomap">
<image src="../../static/img/location.svg" mode=""></image>
{{ currentAddress }}切换位置
<image src="../../static/img/right.svg" mode=""></image>
</view> -->
</view>
<view v-if="companyList.length > 0" style="padding-bottom: 20rpx;">
<block v-for="(item, index) in companyList" :key="item.id">
<workList :companyitem="item" :near="activeTab === 0"></workList>
</block>
</view>
<view v-else>
<image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image>
<view class="nothingContnt">
暂无信息
</view>
</view>
</block>
<block v-if="activeTab == 2">
<view>
<!-- <view class="location" @click="gomap">
<image src="../../static/img/location.svg" mode=""></image>
{{ currentAddress }}切换位置
<image src="../../static/img/right.svg" mode=""></image>
</view> -->
</view>
<view v-if="policyContentList.length > 0" style="padding-bottom: 20rpx;">
<block v-for="(item, index) in policyContentList" :key="item.id">
<userrecruitList :companyitem="item"></userrecruitList>
</block>
</view>
<view v-else>
<image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image>
<view class="nothingContnt">
暂无信息
</view>
</view>
</block>
<!-- <block v-if="activeTab == 2">
<view v-for="(item, index) in policyContentList" :key="index" style="width: 90%;height: 100rpx;background-color: #fff;border-radius: 10rpx;margin:20rpx 5% 20rpx 5%;display: flex;align-items: center" @click="goPolicyInfo(item.id)">
<image :src="item.headPic" style="width: 60rpx;height: 60rpx;margin: 0 20rpx;"></image>
<view style="font-size: 26rpx;">{{ item.articleTitle }}</view>
</view>
</block> -->
<cs-button></cs-button>
</view>
</view>
</template>
<script>
import vTabs from '@/components/v-tabs/v-tabs.vue';
import testData from '@/common/textdata.js';
import companyList from '@/components/companyList/companyList.vue';
import workList from '@/components/companyList/workList.vue'
import userrecruitList from './userrecruitList.vue'
import {
newMissionAll,
recommendMission,
nearMission,
newMissionAllSearch,
recommendMissionSearch,
nearMissionSearch,
} from '@/api/mission.js';
import { getPolicyContent } from '@/api/newIndex.js'
import { getPushListByUserId } from '@/api/userrecruit.js'
import {
getcoder
} from "@/api/map.js";
import verticalMenu from '@/components/vertical-menu/vertical-menu.vue';
export default {
components: {
vTabs,
companyList,
verticalMenu,
workList,
userrecruitList
},
data() {
return {
policyContentList: [],
activeTab: 0,
companyList: [],
recommendList: [],
newList: [],
nearPage: {
current: 1,
size: 10,
total: 0
},
recommendPage: {
current: 1,
size: 10,
total: 0
},
newPage: {
current: 1,
size: 10,
total: 0
},
policyPage: {
current: 1,
size: 10,
total: 0
},
currentAddress: '',
currentPoint: {
latitude: 0,
longitude: 0
},
key: 'FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI',
open: false,
showPopUp: false,
isSearch: false,
searchData: {},
nonReactiveArray: ["推荐任务", "推荐岗位", "个体户招工"],
}
},
onLoad: function () {
this.getData()
this.getPolicy()
},
onShow: function () {
if (this.$store.state.user.token) {
this.$store.dispatch('refreshAuthState').then((e) => {
var auth = this.$store.state.auth
if (!auth.bankCardState) {
this.step()
}
})
}
const value = uni.getStorageSync('active');
if (value) {
this.activeTab = value;
uni.removeStorageSync('active')
}
},
/*页面滚动到底部 换页*/
onReachBottom: function () {
this.upLoad()
},
/*下拉刷新*/
onPullDownRefresh: function () {
if (!this.$store.state.user.token) {
uni.redirectTo({
url: "/pages/login/login"
});
} else {
this.download();
}
},
methods: {
step() {
var that = this
that.open = true
uni.showModal({
title: '实名认证',
content: `检查到您还未实名认证,实名认证之后才可进行操作哦`,
showCancel: false,
confirmText: '立即认证',
success: function (res) {
if (res.confirm) {
that.goSign(0)
} else if (res.cancel) {
that.step()
}
that.open = false
}
});
},
// 步骤
goSign(active) {
uni.navigateTo({
url: `/pages/projectInfo/signContract?active=${active}`
})
},
goResume: function () {
uni.navigateTo({
url: '/pageMy/my/resume/addSkill'
})
},
/*定位*/
getLocation: function () {
var that = this;
uni.getLocation({
type: 'gcj02',
success: function (res) {
that.currentPoint = {
latitude: res.latitude,
longitude: res.longitude
}
that.getAddrByPoint(res);
that.getNearList(that.currentPoint)
},
complete: function (e) { }
});
},
/*逆地址解析*/
getAddrByPoint: function (point) {
var that = this;
var location = point.latitude + ',' + point.longitude
getcoder(location, encodeURI(that.key), 0).then(res => {
that.currentAddress = res.data.result.address
});
},
goSeach: function () {
uni.navigateTo({
url: '../seach/seach'
})
},
gomap: function () {
uni.navigateTo({
url: '../mapSeach/mapSeach'
})
},
//个人户招工;
getPolicy() {
let params = {
current: this.policyPage.current,
size: this.policyPage.size,
}
getPushListByUserId(params).then((res) => {
if (res.data.code === 200) {
const { records, current, total, size } = res.data.data
console.log('个体招工', records, current, total, size)
if (!records.length) {
return uni.showToast({
icon: "none",
title: '没有更多了',
})
}
if (current === 1) {
this.policyContentList = records
} else {
this.policyContentList = this.policyContentList.concat(records);
}
this.policyPage.current = current + 1;
this.policyPage.total = total;
}
})
// getPolicyContent(1).then(res=>{
// this.policyContentList=res.data.data.records
// })
},
changeTab: function (e) {
this.isSearch = false;
this.activeTab = e;
},
getNearList: function (point) {
nearMission(this.nearPage.current, this.nearPage.size).then(res => {
if (this.nearPage.current === 1) {
this.companyList = [];
}
this.nearPage.current += 1;
this.nearPage.total = res.data.data.total;
if (res.data.data && res.data.data.records.length) {
this.companyList = this.companyList.concat(res.data.data.records);
}
})
},
goPolicyInfo(data) {
if (data) {
// var val=encodeURIComponent(data)
uni.navigateTo({
url: `/pages/user/policyContent?id=${data}`
})
}
else {
// uni.showToast({
// title:'暂无内容',
// icon:'none'
// })
}
},
//推荐岗位;
getRecommendList: function () {
recommendMission(this.recommendPage.current, this.recommendPage.size, '').then(res => {
if (this.recommendPage.current === 1) {
this.recommendList = [];
}
this.recommendPage.current += 1;
this.recommendPage.total = res.data.data.total;
if (res.data.data && res.data.data.records.length) {
debugger
this.recommendList = this.recommendList.concat(res.data.data.records);
}
})
},
//推荐任务;
getNewList: function () {
newMissionAll(this.newPage.current, this.newPage.size, '').then(res => {
if (this.newPage.current === 1) {
this.newList = [];
}
this.newPage.total = res.data.data.total;
if (res.data.data && res.data.data.records.length) {
this.newList = this.newList.concat(res.data.data.records);
this.newPage.current += 1;
}
})
},
//上拉加载
upLoad: function () {
if (this.activeTab === 0) {
if (this.newPage.current <= Math.ceil(this.newPage.total / this.newPage.size)) {
if (this.isSearch) {
this.getNewListSearch()
} else {
this.getNewList();
}
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
}
return
}
if (this.activeTab === 1) {
if (this.nearPage.current <= Math.ceil(this.nearPage.total / this.nearPage.size)) {
if (this.isSearch) {
this.getNearListSearch();
} else {
// this.getRecommendList();
this.getNearList();
}
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
}
return
}
if (this.activeTab === 2) {
if (this.policyPage.current <= Math.ceil(this.policyPage.total / this.policyPage.size)) {
if (this.isSearch) {
this.getPolicySearch()
} else {
this.getPolicy();
}
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
}
return
}
},
//下拉刷新
download: function () {
this.isSearch = false;
if (this.activeTab === 0) {
this.nearPage.current = 1;
this.newPage.current = 1;
this.getLocation();
this.getNewList();
setTimeout(function () {
uni.stopPullDownRefresh();
}, 1000);
return
}
if (this.activeTab === 1) {
// this.recommendPage.current = 1;
// this.getRecommendList();
this.nearPage.current === 1
this.getNearList();
setTimeout(function () {
uni.stopPullDownRefresh();
}, 1000);
return
}
if (this.activeTab === 2) {
this.policyPage.current = 1;
this.getPolicy()
setTimeout(function () {
uni.stopPullDownRefresh();
}, 1000);
return
}
},
getData: function () {
if (!this.$store.state.user.token) {
uni.redirectTo({
url: "/pages/login/login"
});
} else {
uni.$emit('newsReadChange');
this.nearPage.current = 1;
this.recommendPage.current = 1;
this.newPage.current = 1;
this.getLocation();
this.getRecommendList();
this.getNewList();
this.getNearList();
}
},
closePopUp() {
this.showPopUp = false
},
subMitPopUp({ submitData, areaModal, industryModal }) {
this.searchData = { submitData, areaModal, industryModal }
if (submitData || areaModal || industryModal) {
this.isSearch = true;
}
switch (this.activeTab) {
case 0:
this.newPage.current = 1;
this.getNewListSearch()
break;
case 1:
this.nearPage.current = 1
this.getNearListSearch()
break;
case 2:
this.policyPage.current = 1
this.getPolicySearch()
break;
default:
break;
}
this.showPopUp = false
},
//个体户招工搜索;
getPolicySearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
nearMissionSearch(this.policyPage.current, this.policyPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
//
if (this.policyPage.current === 1) {
this.policyContentList = [];
}
this.policyPage.current += 1;
this.policyPage.total = res.data.data.total;
//
if (res.data.data && res.data.data.records.length) {
this.policyContentList = this.policyContentList.concat(res.data.data.records);
}
})
},
//推荐岗位搜索;
getNearListSearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
newMissionAllSearch(this.nearPage.current, this.nearPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
if (this.nearPage.current === 1) {
this.companyList = [];
}
this.nearPage.current += 1;
this.nearPage.total = res.data.data.total;
if (res.data.data && res.data.data.records.length) {
this.companyList = this.companyList.concat(res.data.data.records);
}
})
},
//推荐任务搜索;
getNewListSearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
recommendMissionSearch(this.newPage.current, this.newPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
if (this.newPage.current === 1) {
this.newList = [];
}
this.newPage.total = res.data.data.total;
if (res.data.data && res.data.data.records.length) {
this.newList = this.newList.concat(res.data.data.records);
this.newPage.current += 1;
}
})
},
}
}
</script>
<style scoped>
.navPosition {
padding: 0 24rpx 20rpx 30rpx;
display: flex;
align-item: center;
font-size: 26rpx;
.positionText {
margin: 0 10rpx;
}
}
.titleSearch {
display: flex;
width: 80%;
margin: 0 auto;
font-size: 22px;
font-weight: bold;
padding: 20rpx;
}
.searchName {
margin-right: 28rpx;
}
.content {
background-color: #f3f4f8;
padding-top: 20rpx;
min-height: 80vh;
}
.screenButton {
/* position: absolute;
top: 10px;
z-index: 1;
left: 30rpx; */
position: relative;
width: 50px;
text-align: center;
line-height: 30px;
font-size: 14px;
background-color: #fff;
}
.typeButtonWrapper {
width: 92%;
margin: 0 auto;
display: flex;
justify-content: space-between;
/* margin-bottom: 10rpx; */
}
.typeButtonLeft {
display: flex;
}
.typeButton {
font-size: 14px;
padding: 10rpx 30rpx;
background: #fff;
border-radius: 50px;
margin-right: 10rpx;
white-space: nowrap;
}
.activeButton {
color: #4171f9;
background-color: #cfdaf8;
}
.arrow-up-right {
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid #949396;
/* 这里的颜色可以根据你的需要进行修改 */
border-bottom: 10px solid transparent;
position: absolute;
top: 3px;
right: 3px;
}
.topseach {
width: 25px;
height: 25px;
position: absolute;
top: 10px;
right: 30rpx;
}
.location image:last-child {
margin-left: auto;
}
.location image {
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
}
.location {
padding: 20rpx 30rpx;
display: flex;
align-items: center;
justify-content: flex-start;
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
}
.btn {
margin: 0 auto;
color: #999;
border: 1rpx solid #999;
font-size: 28rpx;
height: 52rpx;
line-height: 52rpx;
text-align: center;
width: 180rpx;
border-radius: 5rpx;
margin-top: 30rpx;
}
.nothing_text {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #666666;
text-align: center;
}
.nothingContnt {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
margin-top: 30rpx;
text-align: center;
}
.nothing {
width: 400rpx;
height: 200rpx;
display: block;
margin: 0 auto;
margin-top: 300rpx;
}
.popUpWrapper {
width: 100%;
}
</style>

View File

@@ -5,18 +5,19 @@
<u-search placeholder="搜任务/搜岗位/搜政策/搜招工" @focus="goSeach" shape="round" :showAction="false"></u-search> <u-search placeholder="搜任务/搜岗位/搜政策/搜招工" @focus="goSeach" shape="round" :showAction="false"></u-search>
</view> </view>
<view class="navPosition" @click="navTo('/pages/project/projectList')"> <view class="navPosition" @click="navTo('/pages/project/projectList')">
<u-icon name="map" color="#2979ff" size="16"></u-icon> <u-icon name="map" color="#2979ff" size="16"></u-icon>
<view class="positionText">四川德阳市</view> <view class="positionText">四川德阳市</view>
<u-icon name="arrow-right" color="#666666" size="14"></u-icon> <u-icon name="arrow-right" color="#666666" size="14"></u-icon>
</view> </view>
<view class="content"> <view class="content">
<view class="typeButtonWrapper"> <view class="typeButtonWrapper">
<view class="typeButtonLeft"> <view class="typeButtonLeft">
<view v-for="(item, index) in nonReactiveArray" :key="index" <view v-for="(item, index) in nonReactiveArray" :key="index"
:class="['typeButton', index == activeTab ? 'activeButton' : '']" @click="changeTab(index)">{{ item :class="['typeButton', index == activeTab ? 'activeButton' : '']" @click="changeTab(index)">{{
}}</view> item
}}</view>
</view> </view>
<!-- 筛选 --> <!-- 筛选 -->
<view class="screenButton" @click="showPopUp = true"> <view class="screenButton" @click="showPopUp = true">
@@ -64,27 +65,27 @@
</view> </view>
</view> </view>
</block> </block>
<block v-if="activeTab == 2"> <block v-if="activeTab == 2">
<view> <view>
<!-- <view class="location" @click="gomap"> <!-- <view class="location" @click="gomap">
<image src="../../static/img/location.svg" mode=""></image> <image src="../../static/img/location.svg" mode=""></image>
{{ currentAddress }}切换位置 {{ currentAddress }}切换位置
<image src="../../static/img/right.svg" mode=""></image> <image src="../../static/img/right.svg" mode=""></image>
</view> --> </view> -->
</view> </view>
<view v-if="policyContentList.length > 0" style="padding-bottom: 20rpx;"> <view v-if="policyContentList.length > 0" style="padding-bottom: 20rpx;">
<block v-for="(item, index) in policyContentList" :key="item.id"> <block v-for="(item, index) in policyContentList" :key="item.id">
<userrecruitList :companyitem="item"></userrecruitList> <userrecruitList :companyitem="item"></userrecruitList>
</block> </block>
</view> </view>
<view v-else> <view v-else>
<image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image> <image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image>
<view class="nothingContnt"> <view class="nothingContnt">
暂无信息 暂无信息
</view> </view>
</view> </view>
</block> </block>
<!-- <block v-if="activeTab == 2"> <!-- <block v-if="activeTab == 2">
@@ -109,10 +110,13 @@ import userrecruitList from './userrecruitList.vue'
import { import {
newMissionAll, newMissionAll,
recommendMission, recommendMission,
nearMission nearMission,
newMissionAllSearch,
recommendMissionSearch,
nearMissionSearch,
} from '@/api/mission.js'; } from '@/api/mission.js';
import {getPolicyContent} from '@/api/newIndex.js' import { getPolicyContent } from '@/api/newIndex.js'
import {getPushListByUserId } from '@/api/userrecruit.js' import { getPushListByUserId } from '@/api/userrecruit.js'
import { import {
getcoder getcoder
} from "@/api/map.js"; } from "@/api/map.js";
@@ -124,7 +128,7 @@ export default {
companyList, companyList,
verticalMenu, verticalMenu,
workList, workList,
userrecruitList userrecruitList
}, },
data() { data() {
@@ -150,11 +154,11 @@ export default {
size: 10, size: 10,
total: 0 total: 0
}, },
policyPage: { policyPage: {
current: 1, current: 1,
size: 10, size: 10,
total: 0 total: 0
}, },
currentAddress: '', currentAddress: '',
currentPoint: { currentPoint: {
latitude: 0, latitude: 0,
@@ -163,6 +167,8 @@ export default {
key: 'FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI', key: 'FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI',
open: false, open: false,
showPopUp: false, showPopUp: false,
isSearch: false,
searchData: {},
nonReactiveArray: ["推荐任务", "推荐岗位", "个体户招工"], nonReactiveArray: ["推荐任务", "推荐岗位", "个体户招工"],
} }
@@ -265,38 +271,40 @@ export default {
url: '../mapSeach/mapSeach' url: '../mapSeach/mapSeach'
}) })
}, },
getPolicy(){ //个人户招工;
let params = { getPolicy() {
current: this.policyPage.current, let params = {
size: this.policyPage.size, current: this.policyPage.current,
} size: this.policyPage.size,
getPushListByUserId(params).then((res) => { }
if(res.data.code === 200 ){ getPushListByUserId(params).then((res) => {
const {records, current, total, size } = res.data.data if (res.data.code === 200) {
console.log('个体招工', records, current, total, size) const { records, current, total, size } = res.data.data
if(!records.length) { console.log('个体招工', records, current, total, size)
return uni.showToast({ if (!records.length) {
icon: "none", return uni.showToast({
title: '没有更多了', icon: "none",
}) title: '没有更多了',
} })
if(current === 1) { }
this.policyContentList = records if (current === 1) {
} else { this.policyContentList = records
this.policyContentList = this.policyContentList.concat(records); } else {
} this.policyContentList = this.policyContentList.concat(records);
this.policyPage.current = current + 1; }
this.policyPage.total = total; this.policyPage.current = current + 1;
} this.policyPage.total = total;
}) }
})
// getPolicyContent(1).then(res=>{ // getPolicyContent(1).then(res=>{
// this.policyContentList=res.data.data.records // this.policyContentList=res.data.data.records
// }) // })
}, },
changeTab: function (e) { changeTab: function (e) {
this.isSearch = false;
this.activeTab = e; this.activeTab = e;
}, },
//附近任务 //推荐岗位
getNearList: function (point) { getNearList: function (point) {
nearMission(this.nearPage.current, this.nearPage.size).then(res => { nearMission(this.nearPage.current, this.nearPage.size).then(res => {
if (this.nearPage.current === 1) { if (this.nearPage.current === 1) {
@@ -309,36 +317,37 @@ export default {
} }
}) })
}, },
goPolicyInfo(data){ goPolicyInfo(data) {
if(data){ if (data) {
// var val=encodeURIComponent(data) // var val=encodeURIComponent(data)
uni.navigateTo({ uni.navigateTo({
url:`/pages/user/policyContent?id=${data}` url: `/pages/user/policyContent?id=${data}`
}) })
} }
else{ else {
// uni.showToast({ // uni.showToast({
// title:'暂无内容', // title:'暂无内容',
// icon:'none' // icon:'none'
// }) // })
} }
}, },
// getRecommendList: function () {
// recommendMission(this.recommendPage.current, this.recommendPage.size, '').then(res => {
// if (this.recommendPage.current === 1) {
// this.recommendList = [];
// }
// this.recommendPage.current += 1;
// this.recommendPage.total = res.data.data.total;
// if (res.data.data && res.data.data.records.length) {
// this.recommendList = this.recommendList.concat(res.data.data.records);
// }
// })
// },
//推荐任务; //推荐任务;
getRecommendList: function () {
recommendMission(this.recommendPage.current, this.recommendPage.size, '').then(res => {
if (this.recommendPage.current === 1) {
this.recommendList = [];
}
this.recommendPage.current += 1;
this.recommendPage.total = res.data.data.total;
if (res.data.data && res.data.data.records.length) {
this.recommendList = this.recommendList.concat(res.data.data.records);
}
})
},
//最新任务;
getNewList: function () { getNewList: function () {
newMissionAll(this.newPage.current, this.newPage.size, '').then(res => { newMissionAll(this.newPage.current, this.newPage.size, '').then(res => {
if (this.newPage.current === 1) { if (this.newPage.current === 1) {
@@ -346,17 +355,22 @@ export default {
} }
this.newPage.total = res.data.data.total; this.newPage.total = res.data.data.total;
if (res.data.data && res.data.data.records.length) { if (res.data.data && res.data.data.records.length) {
this.newList = this.newList.concat(res.data.data.records); this.newList = this.newList.concat(res.data.data.records);
this.newPage.current += 1; this.newPage.current += 1;
} }
}) })
}, },
//上拉加载 //上拉加载
upLoad: function () { upLoad: function () {
if (this.activeTab === 0) { if (this.activeTab === 0) {
if (this.nearPage.current <= Math.ceil(this.nearPage.total / this.nearPage.size)) { if (this.newPage.current <= Math.ceil(this.newPage.total / this.newPage.size)) {
// this.getNearList(this.currentPoint);
this.getNewList(); if (this.isSearch) {
this.getNewListSearch()
} else {
this.getNewList();
}
} else { } else {
uni.showToast({ uni.showToast({
icon: "none", icon: "none",
@@ -366,8 +380,14 @@ export default {
return return
} }
if (this.activeTab === 1) { if (this.activeTab === 1) {
if (this.recommendPage.current <= Math.ceil(this.recommendPage.total / this.recommendPage.size)) { if (this.nearPage.current <= Math.ceil(this.nearPage.total / this.nearPage.size)) {
this.getRecommendList();
if (this.isSearch) {
this.getNearListSearch();
} else {
// this.getRecommendList();
this.getNearList();
}
} else { } else {
uni.showToast({ uni.showToast({
icon: "none", icon: "none",
@@ -377,32 +397,47 @@ export default {
return return
} }
if (this.activeTab === 2) { if (this.activeTab === 2) {
this.getPolicy() if (this.policyPage.current <= Math.ceil(this.policyPage.total / this.policyPage.size)) {
if (this.isSearch) {
this.getPolicySearch()
} else {
this.getPolicy();
}
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
}
return
} }
}, },
//下拉刷新 //下拉刷新
download: function () { download: function () {
this.isSearch = false;
if (this.activeTab === 0) { if (this.activeTab === 0) {
this.nearPage.current = 1; this.nearPage.current = 1;
this.newPage.current = 1; this.newPage.current = 1;
this.getLocation(); this.getLocation();
this.getNewList(); this.getNewList();
setTimeout(function () { setTimeout(function () {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
}, 1000); }, 1000);
return return
} }
if (this.activeTab === 1) { if (this.activeTab === 1) {
this.recommendPage.current = 1; // this.recommendPage.current = 1;
this.getRecommendList(); // this.getRecommendList();
this.nearPage.current === 1
this.getNearList();
setTimeout(function () { setTimeout(function () {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
}, 1000); }, 1000);
return return
} }
if (this.activeTab === 2) { if (this.activeTab === 2) {
this.policyPage.current = 1; this.policyPage.current = 1;
this.getPolicy() this.getPolicy()
setTimeout(function () { setTimeout(function () {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
}, 1000); }, 1000);
@@ -420,9 +455,10 @@ export default {
this.recommendPage.current = 1; this.recommendPage.current = 1;
this.newPage.current = 1; this.newPage.current = 1;
this.getLocation(); this.getLocation();
this.getRecommendList(); // this.getRecommendList();
this.getNewList(); this.getNewList();
this.getNearList(); this.getNearList();
this.getPolicy()
} }
}, },
@@ -430,24 +466,102 @@ export default {
closePopUp() { closePopUp() {
this.showPopUp = false this.showPopUp = false
}, },
subMitPopUp({submitData,areaModal,industryModal}) { subMitPopUp({ submitData, areaModal, industryModal }) {
console.log(submitData,areaModal,industryModal,"------确定"); this.searchData = { submitData, areaModal, industryModal }
if (submitData || areaModal || industryModal) {
this.isSearch = true;
}
switch (this.activeTab) {
case 0:
this.newPage.current = 1;
this.getNewListSearch()
break;
case 1:
this.nearPage.current = 1
this.getNearListSearch()
break;
case 2:
this.policyPage.current = 1
this.getPolicySearch()
break;
default:
break;
}
this.showPopUp = false this.showPopUp = false
} },
//个体户招工搜索;
getPolicySearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
nearMissionSearch(this.policyPage.current, this.policyPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
//
if (this.policyPage.current === 1) {
this.policyContentList = [];
}
this.policyPage.current += 1;
this.policyPage.total = res.data.data.total;
//
if (res.data.data && res.data.data.records.length) {
this.policyContentList = this.policyContentList.concat(res.data.data.records);
}
})
},
//推荐岗位搜索;
getNearListSearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
newMissionAllSearch(this.nearPage.current, this.nearPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
if (this.nearPage.current === 1) {
this.companyList = [];
}
this.nearPage.current += 1;
this.nearPage.total = res.data.data.total;
if (res.data.data && res.data.data.records.length) {
this.companyList = this.companyList.concat(res.data.data.records);
}
})
},
//推荐任务搜索;
getNewListSearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
recommendMissionSearch(this.newPage.current, this.newPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
if (this.newPage.current === 1) {
this.newList = [];
}
this.newPage.total = res.data.data.total;
if (res.data.data && res.data.data.records.length) {
this.newList = this.newList.concat(res.data.data.records);
this.newPage.current += 1;
}
})
},
} }
} }
</script> </script>
<style scoped> <style scoped>
.navPosition{ .navPosition {
padding: 0 24rpx 20rpx 30rpx; padding: 0 24rpx 20rpx 30rpx;
display: flex; display: flex;
align-item: center; align-item: center;
font-size: 26rpx; font-size: 26rpx;
.positionText{
margin: 0 10rpx; .positionText {
} margin: 0 10rpx;
}
} }
.titleSearch { .titleSearch {
display: flex; display: flex;
width: 80%; width: 80%;
@@ -503,7 +617,7 @@ export default {
background: #fff; background: #fff;
border-radius: 50px; border-radius: 50px;
margin-right: 10rpx; margin-right: 10rpx;
white-space: nowrap; white-space: nowrap;
} }
.activeButton { .activeButton {