招聘页面更新筛选功能

This commit is contained in:
dengxin
2024-03-26 21:19:45 +08:00
parent 10cf467473
commit 14498c5003
4 changed files with 275 additions and 120 deletions

View File

@@ -37,7 +37,7 @@ export const recMission = () => {
})
}
/*抢任务-附近任务*/
/*抢任务-推荐岗位*/
export const nearMission = (current, size, lat, lon, distance) => {
return request({
url: '/api/jobslink-api/user/userWork/getPushListByUserId',
@@ -67,7 +67,6 @@ export const recommendMission = (current, size, seaStr) => {
})
}
/*抢任务-最新任务*/
export const newMissionAll = (current, size, seaStr) => {
return request({
@@ -81,6 +80,47 @@ export const newMissionAll = (current, size, seaStr) => {
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) => {

View File

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

View File

@@ -5,18 +5,19 @@
<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="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>
:class="['typeButton', index == activeTab ? 'activeButton' : '']" @click="changeTab(index)">{{
item
}}</view>
</view>
<!-- 筛选 -->
<view class="screenButton" @click="showPopUp = true">
@@ -64,27 +65,27 @@
</view>
</view>
</block>
<block v-if="activeTab == 2">
<view>
<!-- <view class="location" @click="gomap">
<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>
<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>
<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">
@@ -109,10 +110,13 @@ import userrecruitList from './userrecruitList.vue'
import {
newMissionAll,
recommendMission,
nearMission
nearMission,
newMissionAllSearch,
recommendMissionSearch,
nearMissionSearch,
} from '@/api/mission.js';
import {getPolicyContent} from '@/api/newIndex.js'
import {getPushListByUserId } from '@/api/userrecruit.js'
import { getPolicyContent } from '@/api/newIndex.js'
import { getPushListByUserId } from '@/api/userrecruit.js'
import {
getcoder
} from "@/api/map.js";
@@ -124,7 +128,7 @@ export default {
companyList,
verticalMenu,
workList,
userrecruitList
userrecruitList
},
data() {
@@ -150,11 +154,11 @@ export default {
size: 10,
total: 0
},
policyPage: {
current: 1,
size: 10,
total: 0
},
policyPage: {
current: 1,
size: 10,
total: 0
},
currentAddress: '',
currentPoint: {
latitude: 0,
@@ -163,6 +167,8 @@ export default {
key: 'FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI',
open: false,
showPopUp: false,
isSearch: false,
searchData: {},
nonReactiveArray: ["推荐任务", "推荐岗位", "个体户招工"],
}
@@ -265,39 +271,42 @@ export default {
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;
}
})
//个人户招工;
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 = [];
@@ -305,40 +314,43 @@ export default {
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){
goPolicyInfo(data) {
if (data) {
// var val=encodeURIComponent(data)
uni.navigateTo({
url:`/pages/user/policyContent?id=${data}`
url: `/pages/user/policyContent?id=${data}`
})
}
else{
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) {
@@ -346,17 +358,22 @@ export default {
}
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;
this.newPage.current += 1;
}
})
},
//上拉加载
upLoad: function () {
if (this.activeTab === 0) {
if (this.nearPage.current <= Math.ceil(this.nearPage.total / this.nearPage.size)) {
// this.getNearList(this.currentPoint);
this.getNewList();
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",
@@ -366,8 +383,14 @@ export default {
return
}
if (this.activeTab === 1) {
if (this.recommendPage.current <= Math.ceil(this.recommendPage.total / this.recommendPage.size)) {
this.getRecommendList();
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",
@@ -377,32 +400,47 @@ export default {
return
}
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 () {
this.isSearch = false;
if (this.activeTab === 0) {
this.nearPage.current = 1;
this.newPage.current = 1;
this.newPage.current = 1;
this.getLocation();
this.getNewList();
this.getNewList();
setTimeout(function () {
uni.stopPullDownRefresh();
}, 1000);
return
}
if (this.activeTab === 1) {
this.recommendPage.current = 1;
this.getRecommendList();
// 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()
this.policyPage.current = 1;
this.getPolicy()
setTimeout(function () {
uni.stopPullDownRefresh();
}, 1000);
@@ -430,24 +468,102 @@ export default {
closePopUp() {
this.showPopUp = false
},
subMitPopUp({submitData,areaModal,industryModal}) {
console.log(submitData,areaModal,industryModal,"------确定");
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;
}
.navPosition {
padding: 0 24rpx 20rpx 30rpx;
display: flex;
align-item: center;
font-size: 26rpx;
.positionText {
margin: 0 10rpx;
}
}
.titleSearch {
display: flex;
width: 80%;
@@ -503,7 +619,7 @@ export default {
background: #fff;
border-radius: 50px;
margin-right: 10rpx;
white-space: nowrap;
white-space: nowrap;
}
.activeButton {

View File

@@ -1,26 +1,24 @@
module.exports = {
devServer: {
port: 1887,
proxy: {
'/api': {
// target: 'http://192.168.3.108:8000', // 本地服务接口地址
// target: 'http://192.168.3.112:8000', // 本地服务接口地址
// target: 'http://10.165.0.173:8000', // 本地服务接口地址
target: 'http://192.168.1.106:8000', // 本地服务接口地址
// target: 'http://192.168.3.120:8000', // 本地服务接口地址
ws: true,
pathRewrite: {
'^/api': '/'
}
},
'/qq/map': {
//本地服务接口地址
target: 'https://apis.map.qq.com',
ws: true,
pathRewrite: {
'^/qq/map': '/'
}
}
}
}
devServer: {
port: 1887,
proxy: {
"/api": {
// target: 'http://192.168.1.106:8000',
// target: 'http://192.168.1.109:8000',
target: "http://10.165.0.173:80",
ws: true,
// pathRewrite: {
// "^/api": "/",
// },
},
"/qq/map": {
//本地服务接口地址
target: "https://apis.map.qq.com",
ws: true,
pathRewrite: {
"^/qq/map": "/",
},
},
},
},
};