311 lines
9.3 KiB
JavaScript
311 lines
9.3 KiB
JavaScript
// homeSub/pages/jobDetail/jobDetail.js
|
||
import {
|
||
myhttp
|
||
} from "../../../utils/service";
|
||
const url = require("../../../utils/url")
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
jobId: Number,
|
||
jobInfo: {},
|
||
JobRelative: [],
|
||
starIcon: 'star-o',
|
||
poplogin: false
|
||
},
|
||
startload() {
|
||
this.setData({
|
||
poplogin: true
|
||
})
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad(options) {
|
||
let jobId = options.jobId
|
||
this.setData({
|
||
jobId: jobId
|
||
})
|
||
wx.showShareMenu({
|
||
menus: ['shareAppMessage', 'shareTimeline'],
|
||
});
|
||
//网络请求,传入jobid获得jobInfo
|
||
this.getJobDetail()
|
||
//根据工作标签,网络请求获取相关工作
|
||
this.getLoveJobList()
|
||
},
|
||
getLoveJobList() {
|
||
myhttp({
|
||
url: url.backUrl + "/vxJob/getYourLikeJob?jobId=" + this.data.jobId,
|
||
data: {},
|
||
method: "GET"
|
||
}).then((res) => {
|
||
if (res.code == 0) {
|
||
console.log("aaaa")
|
||
console.log(res.data)
|
||
const d = res.data.map(item => ({
|
||
jobId: item.id,
|
||
jobName: item.jobName,
|
||
salary: item.salary,
|
||
company: item.company.companyName,
|
||
staffNum: item.company.staffNumber + "人",
|
||
}))
|
||
this.setData({
|
||
JobRelative: d
|
||
})
|
||
|
||
} else {
|
||
wx.showToast({
|
||
title: "获取推荐失败",
|
||
icon: "error"
|
||
})
|
||
}
|
||
})
|
||
},
|
||
getJobDetail() {
|
||
myhttp({
|
||
url: url.backUrl + "/recruitment/get_jobById?id=" + this.data.jobId,
|
||
data: {},
|
||
method: "GET"
|
||
}).then((res) => {
|
||
console.log("看看有没有这个岗位是否被关注")
|
||
console.log(res)
|
||
if (res.code == 0) {
|
||
const d = res.data
|
||
const companyId = d.companyEncoding
|
||
const star = d.isLike
|
||
this.getStar(star)
|
||
var companyInfo = {}
|
||
myhttp({
|
||
url: url.backUrl + "/recruitment/get_companyDetail?encoding=" + companyId,
|
||
data: {},
|
||
method: "GET"
|
||
}).then((respon) => {
|
||
if (respon.code == 0) {
|
||
console.log(respon)
|
||
companyInfo = {
|
||
companyImgUrl: JSON.parse(respon.data.companyLogo)[0].url,
|
||
companyId: companyId,
|
||
companyName: respon.data.companyName,
|
||
staffNum: respon.data.staffNumber + "人",
|
||
companyType: respon.data.type,
|
||
}
|
||
var Demand = ""
|
||
switch (d.requirement) {
|
||
case 1:
|
||
Demand = "无学历要求"
|
||
break;
|
||
case 2:
|
||
Demand = "小学/初中"
|
||
break;
|
||
case 3:
|
||
Demand = "高中/中专"
|
||
break;
|
||
case 4:
|
||
Demand = "大专及以上"
|
||
break;
|
||
case 5:
|
||
Demand = "本科及以上"
|
||
break;
|
||
case 6:
|
||
Demand = "研究生及以上"
|
||
break;
|
||
}
|
||
const respond = {
|
||
jobName: d.jobName,
|
||
salary: d.minSalary + "~" + d.maxSalary,
|
||
jobCareerDemand: Demand,
|
||
jobDemand: d.details,
|
||
jobWelfare: d.jobTips.slice(1, -1).split(', ').map(item => ({
|
||
name: item
|
||
})),
|
||
company: companyInfo,
|
||
label: d.jobTips.slice(1, -1).split(', ').map(item => ({
|
||
name: item
|
||
})),
|
||
position: d.address.slice(1, -1).split(', ')[1] + "-" + d.address.slice(1, -1).split(', ')[2]
|
||
}
|
||
console.log(respond)
|
||
this.setData({
|
||
jobInfo: respond
|
||
})
|
||
} else {
|
||
wx.showToast({
|
||
title: res.message,
|
||
icon: "error"
|
||
})
|
||
}
|
||
})
|
||
} else {
|
||
wx.showToast({
|
||
title: '获取信息失败',
|
||
icon: "error"
|
||
})
|
||
}
|
||
})
|
||
},
|
||
getStar(star) {
|
||
this.setData({
|
||
starIcon: star == 1 ? "star" : "star-o"
|
||
})
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide() {
|
||
|
||
},
|
||
jumpCompanyDetail(e) {
|
||
wx.navigateTo({
|
||
url: '/homeSub/pages/companyDetail/companyDetail?companyId=' + e.currentTarget.dataset.companyid
|
||
})
|
||
},
|
||
jumpJobDetail(e) {
|
||
wx.navigateTo({
|
||
url: '/homeSub/pages/jobDetail/jobDetail?jobId=' + e.currentTarget.dataset.jobid
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage() {
|
||
|
||
},
|
||
starHandler() {
|
||
const token = wx.getStorageSync('token') || '';
|
||
if (token) {
|
||
console.log("收藏/取消收藏岗位")
|
||
if(this.data.starIcon === 'star-o'){
|
||
this.addJoblike()
|
||
}else{
|
||
this.cancelJoblike()
|
||
}
|
||
} else {
|
||
this.startload()
|
||
//登录完成后,进行收藏岗位操作
|
||
}
|
||
},
|
||
cancelJoblike(){
|
||
myhttp({
|
||
url: url.backUrl + "/vxJob/cancelJobLike?jobId="+this.data.jobId+"&userId="+wx.getStorageSync("userInfo").id,
|
||
data: {
|
||
// jobId: this.data.jobId,
|
||
// userId: wx.getStorageSync("userInfo").id,
|
||
},
|
||
method: "DELETE"
|
||
}).then((res) => {
|
||
console.log(res)
|
||
if(res.code == 0){
|
||
this.setData({
|
||
starIcon: this.data.starIcon === 'star-o' ? 'star' : 'star-o'
|
||
});
|
||
}else{
|
||
wx.showToast({
|
||
title: '取消收藏失败',
|
||
icon: "error"
|
||
})
|
||
}
|
||
})
|
||
},
|
||
addJoblike(){
|
||
myhttp({
|
||
url: url.backUrl + "/vxJob/addJobLike",
|
||
data: {
|
||
jobId: this.data.jobId,
|
||
userId: wx.getStorageSync("userInfo").id,
|
||
},
|
||
method: "POST"
|
||
}).then((res) => {
|
||
console.log(res)
|
||
if(res.code == 0){
|
||
this.setData({
|
||
starIcon: this.data.starIcon === 'star-o' ? 'star' : 'star-o'
|
||
});
|
||
}else{
|
||
wx.showToast({
|
||
title: '收藏岗位失败',
|
||
icon: "error"
|
||
})
|
||
}
|
||
})
|
||
},
|
||
// shareHandler() {
|
||
// const token = wx.getStorageSync('token') || '';
|
||
// if (token) {
|
||
// console.log("分享岗位")
|
||
// } else {
|
||
// this.startload()
|
||
// //登录完成后,进行分享岗位操作
|
||
|
||
// }
|
||
// },
|
||
submitHandler() {
|
||
const token = wx.getStorageSync('token') || '';
|
||
if (token) {
|
||
myhttp({
|
||
url: url.backUrl + "/vx_interview/addInterviewApplication",
|
||
data: {
|
||
jobId: this.data.jobId,
|
||
userId: wx.getStorageSync("userInfo").id,
|
||
postingId: 4,
|
||
companyEncoding: this.data.jobInfo.company.companyId
|
||
},
|
||
method: "POST"
|
||
}).then((res) => {
|
||
console.log(res)
|
||
if (res.code == 0) {
|
||
wx.showToast({
|
||
title: '成功投递简历',
|
||
icon: "success"
|
||
})
|
||
} else {
|
||
wx.showToast({
|
||
title: '提交简历失败',
|
||
icon: "error"
|
||
})
|
||
}
|
||
})
|
||
} else {
|
||
this.startload()
|
||
//登录完成后,进行投递简历操作
|
||
}
|
||
},
|
||
}) |