You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
318 lines
7.3 KiB
318 lines
7.3 KiB
<template>
|
|
<view class="recruitmentList">
|
|
<loadlogo v-if="!loadlogo" />
|
|
<view style="padding: 20upx 0;" class="dis-flex" v-if="0">
|
|
<view style="flex: 0.8;">
|
|
<filtertab
|
|
:requestType="'7'"
|
|
:isPageScroll="'1'"
|
|
@selectAreaid="selectAreaid"
|
|
@selectClassid="selectClassid"
|
|
@getmore="getmore"
|
|
@getResumeList="getResumeList"
|
|
@selectClassTwoid="selectClassTwoid"
|
|
@selectOrders="selectOrders"
|
|
@getcityWork="getcityWork"
|
|
:cate_one="cate_one"
|
|
:cate_two="cate_two"></filtertab>
|
|
</view>
|
|
<view class="f-26" style="flex: 0.2;line-height: 75upx;padding-left: 20upx;" @click="openclass">
|
|
<text>更多</text>
|
|
<text class="iconfont icon-unfold" style="padding-left: 10upx;vertical-align: top;"></text>
|
|
</view>
|
|
</view>
|
|
|
|
<view v-if="loadlogo">
|
|
<!-- <tabs :cc_id="cc_id" :pageType="job_type" @changeChildType="changeChildType"></tabs> -->
|
|
<view style="padding: 0px 30upx;">
|
|
<tabs-c :cc_id="cc_id" :pageType="job_type" @changeChildType="changeChildType"></tabs-c>
|
|
</view>
|
|
<block v-if="job_type!=2">
|
|
<work-List :flag="false" :inviteList="inviteList"></work-List>
|
|
</block>
|
|
<block v-else>
|
|
<part-time-job :flag="false" :inviteList="inviteList"></part-time-job>
|
|
</block>
|
|
<view v-if="!isMore">
|
|
<load-more :isMore="isMore" :bgc="'#ffffff'"></load-more>
|
|
</view>
|
|
<nonemores v-if="isMore && inviteList.length == 0"></nonemores>
|
|
</view>
|
|
|
|
<view >
|
|
<screening :check="check" :num="num" @close="close" @checkeda="checkeda" @confirm="confirm" v-bind:moreData.sync="moreData"></screening>
|
|
</view>
|
|
<!-- <TabBars :tabBarAct="0" pageType="15"></TabBars> -->
|
|
<far-bottom></far-bottom>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import App from '@/common/js/app.js';
|
|
import filtertab from '@/components/template/filtertab.vue';
|
|
import workList from '@/components/template/workList.vue';
|
|
import partTimeJob from '@/components/template/partTimeJob.vue';
|
|
import screening from '@/components/template/screening.vue';
|
|
import loadMore from '@/components/template/loadmore.vue';
|
|
import Loadlogo from '@/components/template/loadlogo.vue';
|
|
import TabBars from '@/components/template/tabBar.vue';
|
|
import nonemores from '@/components/template/nonemores.vue';
|
|
import tabs from '@/components/template/tabs/tabs.vue';
|
|
import tabsC from '@/components/template/tabs/tabs-copy.vue';
|
|
export default{
|
|
data(){
|
|
return{
|
|
cate_one:'',
|
|
cate_two:'',
|
|
title:'',
|
|
check:false,
|
|
resumeID:['','',''],
|
|
inviteList:[],
|
|
moreData:{},
|
|
page:1,
|
|
page_index:10,
|
|
loadlogo:false,
|
|
num:0,
|
|
Areaid:'',
|
|
ordersId:'',
|
|
datas:{},
|
|
isMore:true,
|
|
total:1,
|
|
job_type:null,
|
|
cc_id: 0,
|
|
cc_child_id: 0,
|
|
AreaidAt:'',
|
|
pagenum:1
|
|
}
|
|
},
|
|
components:{
|
|
filtertab,
|
|
workList,
|
|
partTimeJob,
|
|
screening,
|
|
loadMore,
|
|
Loadlogo,
|
|
TabBars,
|
|
nonemores,
|
|
tabs,
|
|
tabsC
|
|
},
|
|
onLoad(e) {
|
|
console.log(e, e.job_type, 'p---------')
|
|
if(e.job_type){
|
|
this.job_type = e.job_type;
|
|
};
|
|
if(e.cc_id){
|
|
this.cc_id = e.cc_id;
|
|
};
|
|
this.isMore = false;
|
|
if(this.num != 0) return
|
|
this.pagenum = 4;
|
|
this.confirm();
|
|
// this.getResumeList(this.resumeID);
|
|
// 初始化从地区选择器默认选择完毕发送请求,不从onload
|
|
// console.log(e.type, '--------');
|
|
let title;
|
|
switch(e.job_type){
|
|
case '1':
|
|
title = '就业招聘';
|
|
break;
|
|
case '2':
|
|
title = '学生兼职';
|
|
break;
|
|
case '3':
|
|
title = '实习实践';
|
|
break;
|
|
}
|
|
setTimeout(()=>{
|
|
uni.setNavigationBarTitle({
|
|
title:title
|
|
})
|
|
}, 500)
|
|
},
|
|
onShow() {
|
|
if(this.num != 1) return
|
|
this.pagenum = 4;
|
|
this.confirm();
|
|
console.log(this.num)
|
|
// this.confirm();
|
|
},
|
|
onReachBottom() {
|
|
|
|
if(this.total == this.page) return
|
|
this.isMore = false;
|
|
this.page++;
|
|
this.confirm(false,true)
|
|
},
|
|
methods:{
|
|
confirm(datas,flag){
|
|
if(datas != false){
|
|
this.page = 1;
|
|
}
|
|
if(this.pagenum < 4){
|
|
this.pagenum++;
|
|
this.loadlogo = true;
|
|
return
|
|
}
|
|
// console.log(JSON.stringify(datas));
|
|
|
|
if(datas){
|
|
this.datas = datas;
|
|
}
|
|
let indata = {
|
|
industry_pid:this.resumeID[0],
|
|
industry_id:this.resumeID[1],
|
|
position_id:this.resumeID[2],
|
|
sort:this.ordersId,
|
|
area_id:this.AreaidAt,
|
|
is_total:1,
|
|
page:this.page,
|
|
page_index:this.page_index,
|
|
job_type: this.job_type,
|
|
cc_id: this.cc_child_id//子分类id,和大分类id重名注意
|
|
}
|
|
if(!datas || JSON.stringify(datas) == '{}'){
|
|
indata.job_type = this.job_type;
|
|
}else{
|
|
this.page = 1;
|
|
}
|
|
let data = Object.assign(indata ,this.datas);
|
|
App._post_form(
|
|
`&p=recruit&do=homeList`,
|
|
data,
|
|
res => {
|
|
if(flag){
|
|
this.inviteList = this.inviteList.concat(res.data.list);
|
|
}else{
|
|
this.inviteList = res.data.list;
|
|
}
|
|
this.inviteList.map(item=>{
|
|
item.open = false;
|
|
});
|
|
// console.log(this.inviteList,res.data.list);
|
|
this.total = res.data.total;
|
|
this.check = false;
|
|
this.isMore = true;
|
|
this.loadlogo = true;
|
|
},
|
|
false,
|
|
() => {
|
|
this.loadlogo = true;
|
|
}
|
|
);
|
|
},
|
|
checkeda(index,key,flag){
|
|
console.log(index,key);
|
|
this.moreData[key].map(item=>{
|
|
item.checked = false
|
|
});
|
|
this.moreData[key][index].checked = flag;
|
|
let obj = Object.assign({},this.moreData);
|
|
console.log(obj);
|
|
this.moreData = {...obj}
|
|
this.loadlogo = !this.loadlogo;
|
|
this.loadlogo = !this.loadlogo;
|
|
},
|
|
getmore(data){
|
|
data.top.map((item,index)=>{
|
|
if(index > 2){
|
|
this.moreData[item.subscript] = data[item.subscript];
|
|
}
|
|
});
|
|
this.moreData.top = data.top;
|
|
for(let key in this.moreData){
|
|
this.moreData[key].map((item,index)=>{
|
|
item.checked = false;
|
|
if(key == 'job_type' && item.val == this.job_type){
|
|
item.checked = true;
|
|
}
|
|
})
|
|
}
|
|
},
|
|
getcityWork(id){
|
|
this.num = 1;
|
|
if(this.num != 0){
|
|
this.AreaidAt = id;
|
|
this.confirm();
|
|
}
|
|
|
|
},
|
|
getResumeList(ids){
|
|
this.resumeID = ids;
|
|
if(this.num != 0){
|
|
this.confirm();
|
|
console.log('职位');
|
|
}
|
|
|
|
// App._post_form(
|
|
// `&p=recruit&do=resumeList`,
|
|
// {},
|
|
// res => {
|
|
// this.inviteList = res.data;
|
|
// this.inviteList.map(item=>{
|
|
// item.open = false;
|
|
// })
|
|
// },
|
|
// false,
|
|
// () => {
|
|
|
|
// }
|
|
// );
|
|
},
|
|
close(flag){
|
|
console.log(this.moreData);
|
|
if(!flag){
|
|
for(let key in this.moreData){
|
|
this.moreData[key].map((item,index)=>{
|
|
item.checked = false;
|
|
})
|
|
}
|
|
}else{
|
|
this.check = !this.check;
|
|
}
|
|
},
|
|
openclass(){
|
|
|
|
this.check = !this.check;
|
|
},
|
|
clickcheck(){
|
|
this.check = !this.check;
|
|
},
|
|
selectOrders(data){
|
|
|
|
this.ordersId = data.val;
|
|
if(this.num != 0){
|
|
this.confirm();
|
|
console.log('排序');
|
|
}
|
|
console.log(data)
|
|
|
|
},
|
|
selectAreaid(data){
|
|
|
|
this.num = 1;
|
|
console.log('地区');
|
|
this.Areaid = data.id;
|
|
this.confirm();
|
|
console.log(data)
|
|
},
|
|
selectClassid(data){
|
|
|
|
console.log(data)
|
|
},
|
|
selectClassTwoid(data){
|
|
console.log(data)
|
|
},
|
|
changeChildType(e){
|
|
this.cc_child_id = e;
|
|
this.confirm();
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.recruitmentList{
|
|
padding-bottom: 150upx;
|
|
}
|
|
</style>
|
|
|