master
zsk 3 years ago
parent 1bb12e9cbc
commit 45df16e17d

@ -70,19 +70,27 @@
"pages/justShowName/index",
"pages/justShowID/index",
"pages/specialArea/index",
"pages/special/index",
"pages/bannerDetail/index",
"pages/zhijiaoIndex/index"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#027AFF",
"navigationBarTextStyle": "white",
"navigationBarTitleText": "伯才"
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "一才",
"backgroundColor": "#eeeeee",
"backgroundTextStyle": "light"
},
"plugins": {
"job-plugin": {
"version": "1.0.2",
"provider": "wxaf516c59d925481f"
}
},
"tabBar": {
"color": "#666",
"borderStyle": "black",
"selectedColor": "#027AFF",
"selectedColor": "#0dcc91",
"list": [
{
"iconPath": "/images/job.png",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -1,918 +1,80 @@
const app = getApp();
const commonUtil = require("../../utils/commonUtil.js");
const { wxml, style } = require('./demo.js')
var QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js');
var qqmapsdk;
// pages/detail/index.js
Page({
data: {
citys: "",
storeJobId: "",
currIndex: '1',
//职位ID
searchForm: {
storeJobId: "",
lng: "",
lat: ""
},
fullScreen:false,
labelColor: ["#c41d7f", "#096dd9", "#531dab", "#d46b08", "#389e0d", "#08979c", "#cf1322"],
bgColor: ["#fff0f6", "#e6f7ff", "#f9f0ff", "#fff7e6", "#f6ffed", "#e6fffb", "#fff1f0"],
jobDetail: {}, //详情
wxCode: '',
pbtm:0,
shareTitle:'',
isCollect:false,
src: '',
word:'woca',
phoneDialog:false,
isImg: true,
wxml: {
text: "啊啊按",
},
},
onShow() {
var that = this;
this.setData({
isLogin: app.globalData.isLogin
});
if (!app.globalData.isLogin) {
this.wxLogin();
}
},
showphone:function(){
this.setData({
phoneDialog: true
});
},
close: function () {
this.setData({
phoneDialog:false,
})
},
wxLogin() {
var that = this;
wx.login({
success(res) {
if (res.code) {
that.setData({
wxCode: res.code
});
} else {
console.log('获取code失败' + res.errMsg)
}
}
})
},
showImage(e){
let resImg = e.currentTarget.dataset.src;
console.log(this.data.jobDetail.storeImage);
var imgArr = [];
this.data.jobDetail.storeImage.forEach((item) => {
// let regs = /\.(jpg|jpeg|png)(\?.*)?$/;
// item.isImg = regs.test(item.url.toLowerCase());
if (item.isImg) {
imgArr.push(item.url);
}
});
wx.previewImage({
current: e.currentTarget.dataset.src, // 当前显示图片的http链接
urls: imgArr,
});
},
renderToCanvas() {
const p1 = this.widget.renderToCanvas({ wxml:wxml(that.data.wxml), style })
p1.then((res) => {
console.log('container', res.layoutBox)
this.container = res
console.log(res);
})
},
extraImage() {
var that = this;
// return new Promise(function (resolve, reject) {
that.widget.renderToCanvas({ wxml:wxml(that.data.wxml), style }).then(res1 => {
const p2 = that.widget.canvasToTempFilePath()
p2.then(res => {
console.log(res);
that.setData({
src: res.tempFilePath,
})
})
});
// });
},
onLoad(query) {
var that = this;
that.widget = that.selectComponent('.widget')
wx.getSystemInfo({
success: res => {
console.log('手机信息res' + res.model)
let modelmes = res.model;
console.log(modelmes.search('iPhone X'));
if (modelmes.search('iPhone 12 Pro') != -1 || modelmes.search('iPhone X') != -1 || modelmes.search('iPhone XR') != -1 || modelmes.search('iPhone XS max') != -1 || modelmes.search('iPhone 11') != -1) {
that.setData({
pbtm: 40
})
} else {
}
}
})
qqmapsdk = new QQMapWX({
key: '5PTBZ-YI7C6-MZGS3-ES7QN-4T5O2-EJFVR'
});
console.log('HHHHHHHHHHHHH' + query.storeJobId);
this.data.searchForm.storeJobId = query.storeJobId;
// this.data.wxCode = query.wxCode;
// this.getLocation();
this.getStoreJobDetailById();
// that.setData({
// wxCode: that.data.wxCode
// })
wx.setStorageSync({
key: "storeJobId",
data: query.storeJobId
});
let agencyUserId = query.agencyUserId;
if(agencyUserId) {
wx.setStorageSync('storageSyncAgencyUserId', agencyUserId);
console.log('agencyUserId', agencyUserId)
app.globalData.isCommission = 1;
}
},
openMap(e){
wx.showLoading({
title: '加载中',
})
console.log(e);
let address = e.currentTarget.dataset.address;
let lat = e.currentTarget.dataset.lat;
var formatted_addresses = ""
qqmapsdk.reverseGeocoder({
location:`${e.currentTarget.dataset.lat},${e.currentTarget.dataset.lng}`,
success: function(res) {
console.log(res);
formatted_addresses = res.result.formatted_addresses.recommend;
}
})
console.log(address);
console.log(formatted_addresses);
wx.getLocation({
type: 'gcj02', //返回可以用于wx.openLocation的经纬度
success (res) {
wx.openLocation({
latitude: e.currentTarget.dataset.lat - 0,
longitude :e.currentTarget.dataset.lng - 0,
name:formatted_addresses,
address:address,
scale: 8
})
},
complete(res){
wx.hideLoading();
console.log(1123213);
}
})
},
changeMenu(e) {
let currentIndex = parseInt(e.currentTarget.dataset.id);
this.setData({
currIndex: e.currentTarget.dataset.id
})
},
getLocation() {
var that = this;
wx.getSetting({
success: res => {
console.log(res); // res.authSetting.location
if (res.authSetting.location) {
wx.getLocation({
success(res1) {
console.log("获取位置");
console.log(res1);
if (
app.isNotEmptyCheck(res1.latitude) &&
app.isNotEmptyCheck(res1.longitude)
) {
that.data.searchForm.lat = res1.latitude;
that.data.searchForm.lng = res1.longitude;
}
that.getStoreJobDetailById();
},
fail() {
that.getStoreJobDetailById();
}
});
} else {
that.getStoreJobDetailById();
}
}
}); // my.getLocation({
// success(res) {
// my.hideLoading();
// console.log(res)
// that.data.searchForm.lng = res.longitude;
// that.data.searchForm.lat = res.latitude;
// that.getStoreJobDetailById();
// },
// fail() {
// my.hideLoading();
// that.getStoreJobDetailById();
// },
// })
},
onShareAppMessage: function () {
var path = commonUtil.getCurrentPageUrlWithArgs();
if(app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) {//当前用户是代理人
path += '&agencyUserId=' + app.globalData.loginUserInfo.id;
}
var that = this;
// const promise = new Promise(resolve => {
// that.widget.renderToCanvas({ wxml:wxml(that.data.jobDetail), style }).then(res1 => {
// const p2 = that.widget.canvasToTempFilePath()
// p2.then(res => {
// console.log(res);
// resolve({
// title:that.data.shareTitle,
// imageUrl: res.tempFilePath,
// })
// })
// });
// });
return {
"title":that.data.shareTitle,
'imageUrl':that.data.src ,
'path': path,
// promise
}
},
showVideo(e) {
console.log(e);
console.log(wx.getSystemInfo());
var that = this;
this.videoContext = wx.createVideoContext(`${e.target.dataset.id}`, this);
this.videoContext.requestFullScreen();
this.videoContext.hideStatusBar();
this.videoContext.play();
setTimeout(() => {
that.setData({
isShareShow: true,
/**
* 页面的初始数据
*/
data: {
id:''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
id:options.id
})
},
sub_enroll: function (e) {
console.log("↓↓↓↓↓↓↓↓↓↓↓↓")
console.log(e.detail)
wx.navigateTo({
url: '../enroll/index?jd='+e.detail,
})
},
sendTitle(e){
wx.setNavigationBarTitle({
title:e.detail
});
}, 500);
},
fullScreen(e) {
console.log(e);
if (!e.detail.fullScreen) {
this.setData({
isShareShow: false,
});
this.videoContext.stop();
}
},
// play(e) {
// //执行全屏方法
// var id = e.currentTarget.id;
// var videoContext = wx.createVideoContext("a"+id , this);
// videoContext.requestFullScreen();
// setTimeout(()=>{
// videoContext.play();
// },100)
// this.setData({
// fullScreen:true
// })
// },
// screenChange(e){
// console.log(e.currentTarget.id);
// var id = e.currentTarget.id;
// var videoContext = wx.createVideoContext(id , this);
// let fullScreen = e.detail.fullScreen //值true为进入全屏false为退出全屏
// if (!fullScreen ){ //退出全屏
// videoContext.pause()
// this.setData({
// controls: false
// })
// }else{ //进入全屏
// this.setData({
// controls: true
// })
// }
// },
// closeVideo(e) {
// var id = e.currentTarget.id;
// //执行退出全屏方法
// var videoContext = wx.createVideoContext('a'+id, this);
// videoContext.exitFullScreen();
// },
// /**视屏进入、退出全屏 */
// fullScreen(e){
// var isFull = e.detail.fullScreen;
// //视屏全屏时显示加载video非全屏时不显示加载video
// this.setData({
// fullScreen:isFull
// })
// },
onShareTimeline:function(){
return {
title:this.data.shareTitle,
query:"?storeJobId="+ this.data.storeJobId
}
},
getStoreJobDetailById() {
var that = this;
wx.request({
// url: app.globalData.ip + "/store/job/getStoreJobDetailById?storeJobId=" + that.data.searchForm.storeJobId,
url: app.globalData.ip + "/overall/store/job/getStoreJobDetailById?storeJobId=" + that.data.searchForm.storeJobId,
method: "POST",
header: app.globalData.headers,
data: that.data.searchForm,
success: function (res) {
console.log(res);
var result = res.data.data;
var title = result.storeJob.jobName;
// var title1 = result.store.aliasName;
// that.data.logo2
console.log(title);
that.setData({
shareTitle: title,
})
let regs = /\.(jpg|jpeg|png)(\?.*)?$/
res.data.data.storeImage.forEach((item)=>{
item.isImg = regs.test(item.url.toLowerCase())
})
console.log(res);
console.log(that.data.jobDetail);
if (app.isNotEmptyCheck(title)) {
title = result.storeJob.jobName;
} else {
title = result.store.aliasName;
}
wx.setNavigationBarTitle({
title
});
result.storeJob.workType = commonUtil.getWorkTypeById(
result.storeJob.workTypeMulti
);
if (
app.isNotEmptyCheck(result.storeJob.calculationSalaryType)
) {
result.storeJob.calculationSalaryType = result.storeJob.calculationSalaryType.split(
"#"
)[0];
}
if (app.isNotEmptyCheck(result.storeJob.paymentSalaryType)) {
result.storeJob.paymentSalaryType = result.storeJob.paymentSalaryType.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.salaryDesp)) {
result.storeJob.salaryDesp = result.storeJob.salaryDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.workDurationDesp)) {
result.storeJob.workDurationDesp = result.storeJob.workDurationDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.probationDesp)) {
result.storeJob.probationDesp = result.storeJob.probationDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.workingLunchDesp)) {
result.storeJob.workingLunchDesp = result.storeJob.workingLunchDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.dormitoryDesp)) {
result.storeJob.dormitoryDesp = result.storeJob.dormitoryDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.foregift)) {
result.storeJob.foregift = result.storeJob.foregift.split(
""
);
var arrTemp = [];
result.storeJob.foregift.forEach(item => {
var arr = item.split("");
if (app.length > 0) {
arrTemp.push({
item0: arr[0].split("#")[0],
item1: arr[1].split("#")[0]
});
}
});
result.storeJob.foregift = arrTemp;
} else {
result.storeJob.foregift = "无押金";
}
result.store.distance = commonUtil.getDistanceName(
result.store.distance
);
if (app.isNotEmptyCheck(result.store.distance)) {
result.store.distance = '丨' + result.store.distance;
}
/*if (app.isNotEmptyCheck(result.store.district)) {
var tempArr = result.store.district.split(",");
if (tempArr.length == 1) {
result.store.district = tempArr[0];
} else if (tempArr.length == 2) {
result.store.district = tempArr[0] + "" + tempArr[1];
} else if (tempArr.length > 2) {
result.store.district = tempArr[1] + "" + tempArr[2];
}
}*/
// getStoreAddress
that.disposeJobListData(result);
if (app.isNotEmptyCheck(result.store.logo)) {
result['logo2'] = result.store.logo.replace("http:","http:");
} else {
result['logo2'] = '';
}
let citys = commonUtil.setJobInfoPosition(result.store.district)
result.storeJob.genderRestrict = commonUtil.getGenderByMinAge(result.storeJob)
that.setData({
jobDetail: result,
citys: citys || "-",
});
console.log(that.data.jobDetail);
}
});
},
/**
* 处理后台返回的职位列表
*/
disposeJobListData(jobDetail) {
var that = this;
// item["workType"] = commonUtil.getWorkTypeById(
// item.workTypeMulti
// );
// if (app.isNotEmptyCheck(item.distance)) {
// item["distanceKm"] = commonUtil.getDistanceName(
// item.distance
// );
// }
//年龄
var ageStr = '';
if (app.isNotEmptyCheck(jobDetail.storeJob.minAge) && app.isNotEmptyCheck(jobDetail.storeJob.maxAge)) {
ageStr = jobDetail.storeJob.minAge + '-' + jobDetail.storeJob.maxAge + '岁';
} else if (app.isNotEmptyCheck(jobDetail.storeJob.minAge)) {
ageStr = jobDetail.storeJob.minAge + '岁以上';
} else if (app.isNotEmptyCheck(jobDetail.storeJob.maxAge)) {
ageStr = jobDetail.storeJob.maxAge + '岁以下';
}
jobDetail.storeJob["age"] = ageStr;
// //时薪
// var hourlyPayStr = '';
// var hasHourlyPay = false;
// if (app.isNotEmptyCheck(jobDetail.storeJob.hourlyPay)) {
// hourlyPayStr = jobDetail.storeJob.hourlyPay + '元/小时';
// hasHourlyPay = true;
// } else if (app.isNotEmptyCheck(jobDetail.storeJob.dayPay)) {
// hourlyPayStr = jobDetail.storeJob.dayPay + '元/日';
// hasHourlyPay = true;
// } else {
// if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay) && app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) {
// if (jobDetail.storeJob.minMonthlyPay == jobDetail.storeJob.maxMonthlyPay) {
// hourlyPayStr = jobDetail.storeJob.minMonthlyPay;
// } else {
// hourlyPayStr = jobDetail.storeJob.minMonthlyPay + '-' + jobDetail.storeJob.maxMonthlyPay;
// }
// } else if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay)) {
// hourlyPayStr = jobDetail.storeJob.minMonthlyPay;
// } else if (app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) {
// hourlyPayStr = jobDetail.storeJob.maxMonthlyPay;
// }
// }
// jobDetail.storeJob["hourlyPay"] = hourlyPayStr;
jobDetail.storeJob["salaryClassifyValue"] = commonUtil.getSalaryClassifyValue(jobDetail.storeJob.salaryClassify, jobDetail.storeJob.salaryClassifyValue);
//月薪
var monthlyPayStr = '';
// if (hasHourlyPay) {
if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay) && app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) {
if (jobDetail.storeJob.minMonthlyPay == jobDetail.storeJob.maxMonthlyPay) {
monthlyPayStr = jobDetail.storeJob.minMonthlyPay;
} else {
monthlyPayStr = jobDetail.storeJob.minMonthlyPay + '-' + jobDetail.storeJob.maxMonthlyPay;
}
} else if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay)) {
monthlyPayStr = jobDetail.storeJob.minMonthlyPay;
} else if (app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) {
monthlyPayStr = jobDetail.storeJob.maxMonthlyPay;
}
// }
jobDetail.storeJob["monthlyPay"] = monthlyPayStr;
//地址深圳丨龙岗区丨
var districtStr = '';
if (app.isNotEmptyCheck(jobDetail.storeJob.district)) {
var districtArr = jobDetail.storeJob.district.split(',');
if(districtArr.length < 3) {
districtStr = districtArr[districtArr.length - 1];
} else {
districtStr = districtArr[1] + '丨' + districtArr[2];
}
//districtStr = districtArr[1] + '丨' + districtArr[2];
}
jobDetail.storeJob["districtStr"] = districtStr;
jobDetail.storeJob["districtDetail"] = commonUtil.getStoreAddress(jobDetail.storeJob.district, jobDetail.storeJob.detailPosition);
//职位特色
if (app.isNotEmptyCheck(jobDetail.storeJob.jobSpecialLabelNames)) {
jobDetail.storeJob['jobSpecialLabelNames'] = that.getJobSpecialLabelNamesArray(jobDetail.storeJob.jobSpecialLabelNames);
}
},
},
getJobSpecialLabelNamesArray(jobSpecialLabelNames) {
if (app.isNotEmptyCheck(jobSpecialLabelNames)) {
return jobSpecialLabelNames.split(', ');
}
return [];
},
goSimilar() {
var that = this;
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
console.log(that.data.jobDetail)
console.log(that.data.jobDetail.storeJob.jobLabelId)
},
wx.navigateTo({
url: "../similar/index?brandId=" +
that.data.jobDetail.store.brandId +
"&jobLabelId=" +
that.data.jobDetail.storeJob.jobLabelId +
"&classify=99"
});
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
makePhoneCall() {
console.log(1);
var that = this;
wx.makePhoneCall({
// number: that.data.jobDetail.assistantUserTel + ""
phoneNumber:'18039237825'
});
// var that = this;
},
// let res = wx.getStorageSync({
// key: "assistantUserTel"
// });
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
// console.log(res);
// console.log("缓存获取电话号:" + res.data);
},
// if (app.isNotEmptyCheck(res.data)) {
// wx.makePhoneCall({
// number: res.data
// });
// } else {
// wx.request({
// url: app.globalData.ip + "/store/job/getOneAssistantUser",
// method: "POST",
// header: app.globalData.headers,
// data: {},
// success: function (res) {
// console.log(res.data.data.tel);
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
// wx.setStorageSync({
// key: "assistantUserTel",
// data: res.data.data.tel
// });
},
// wx.makePhoneCall({
// number: res.data.data.tel + ""
// });
// }
// });
// }
},
textPaste() {
var that = this;
wx.setClipboardData({
// data: that.data.jobDetail.assistantUserWechat,
data:'18039237825',
success: function (res) {
wx.getClipboardData({
success: function (res) {
wx.showToast({
icon: "none",
title: '已复制微信号,快去添加好友吧',
duration:0,
})
wx.showModal({
title: '已复制微信号',
content: '快去搜索添加经纪人好友吧',
showCancel:false,
success (res) {
if (res.confirm) {
console.log('用户点击确定')
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
console.log(res.data) // data
}
})
}
})
},
/*collectPaste() {
var txt;
var that = this;
if(!this.data.isCollect){
that.setData({
isCollect: true
})
txt = '收藏成功'
}else{
that.setData({
isCollect: false
})
txt = '取消收藏'
}
wx.showToast({
icon: "none",
title: txt,
})
},*/
goEnroll() {
var that = this;
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
// wx.setStorageSync({
// key: "jobDetailStorage",
// data: that.data.jobDetail
// });
wx.setStorageSync('jobDetailStorage', that.data.jobDetail.storeJob);
// wx.navigateTo({
// url: "../enroll/index?applyType=1"
// });
},
wx.navigateTo({
url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel
});
},
emptyMethod() {
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
wxLogin() {
var that = this;
wx.login({
success(res) {
if (res.code) {
that.setData({
wxCode: res.code
});
} else {
console.log('获取code失败' + res.errMsg)
}
}
})
},
getPhoneNumber(e) {
var that = this;
console.log(e)
console.log(e.detail.errMsg)
console.log(that.data.jobDetail.storeJob);
/*wx.setStorageSync({
key: "jobDetailStorage",
data: that.data.jobDetail.storeJob,
});*/
wx.setStorageSync('jobDetailStorage', that.data.jobDetail.storeJob);
// console.log(e);
// console.log(e.detail.errMsg)
// console.log(e.detail.iv)
// console.log(e.detail.encryptedData)
if ("getPhoneNumber:ok" == e.detail.errMsg) {//同意
var iv = e.detail.iv;
var encryptedData = e.detail.encryptedData;
wx.checkSession({
success () {
//session_key 未过期,并且在本生命周期一直有效
wx.request({
url: app.globalData.ip + '/getWechatTel',
data: {
code: that.data.wxCode,
iv: iv,
encryptedData: encryptedData,
},
success: function (res) {
console.log(res);
app.globalData.openId = res.data.data.openId;
let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null);
var collected = e.currentTarget.dataset.collected;
if(collected) {
promise.then(res => {
that.setData({
isLogin: app.globalData.isLogin
});
that.doCollected(collected, e.currentTarget.dataset.jobid);
})
} else {
/*wx.navigateTo({
url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
});*/
promise.then(res => {
wx.navigateTo({
//url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
url: "../enroll/index?applyType=1"
});
})
}
// wx.navigateTo({
// url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
// });
},
fail: function (res) {
console.log("获取用户手机号错误");
}
})
},
fail () {
// session_key 已经失效,需要重新执行登录流程
wx.login({
success(res) {
if (res.code) {
console.log(res.code);
//发起网络请求
wx.request({
url: app.globalData.ip + '/getWechatTel',
data: {
code: res.code,
iv: iv,
encryptedData: encryptedData,
},
success: function (res) {
console.log(res);
},
let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null);
var collected = e.currentTarget.dataset.collected;
if(collected) {
promise.then(res => {
that.setData({
isLogin: app.globalData.isLogin
});
that.doCollected(collected, e.currentTarget.dataset.jobid);
});
} else {
promise.then(res => {
wx.navigateTo({
//url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
url: "../enroll/index?applyType=1"
});
})
}
},
fail: function (res) {
console.log("获取用户手机号错误");
}
})
} else {
console.log('获取手机号失败!' + res.errMsg)
}
}
})
}
})
} else {//拒绝
var collected = e.currentTarget.dataset.collected;
if (collected) {
try {
wx.setStorageSync('comeFromPage', 'detail');
wx.setStorageSync('comeFromPageParam', {storeJobId: that.data.searchForm.storeJobId});
} catch (e) {
console.log("detail-页面跳转,设置参数错误:", e);
}
wx.navigateTo({
url: '/pages/login/index',
})
} else {
wx.navigateTo({
//url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
url: "../enroll/index?applyType=1"
});
}
}
return false;
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
collectPaste(e) {
var txt;
var that = this;
var collected = e.currentTarget.dataset.collected;
var storeJobId = e.currentTarget.dataset.jobid;
that.doCollected(collected, storeJobId);
// console.log(collected);
// if(!this.data.isCollect){
// that.setData({
// isCollect: true,
// collectTxt:'已收藏'
// })
// txt = '收藏成功'
// }else{
// that.setData({
// isCollect: false,
// collectTxt:'收藏'
// })
// }
},
doCollected(collected, storeJobId) {
var that = this;
var url = '/user/collect/job/add';
if(collected - 1 == 0) {
url = '/user/collect/job/remove';
}
console.log(app.globalData.headers)
//发起网络请求
wx.request({
url: app.globalData.ip + url,
data: {
storeJobId: storeJobId,
},
header: app.globalData.headers,
method: "GET",
success: function (res) {
var txt;
if(collected - 1 == 0) {//取消收藏
that.data.jobDetail.storeJob.collected = 2;
txt = '取消收藏';
} else {//收藏
that.data.jobDetail.storeJob.collected = 1;
txt = '收藏成功';
}
that.setData({
jobDetail: that.data.jobDetail,
isLogin: app.globalData.isLogin
});
console.log(that.data.jobDetail)
wx.showToast({
icon: "none",
title: txt,
})
},
fail: function (res) {
console.log("操作失败");
}
})
},
});
}
})

@ -1,6 +1,6 @@
{
"usingComponents": {
"wxml-to-canvas": "wxml-to-canvas"
},
"navigationBarTitleText": " "
}
"usingComponents": {
"di": "plugin://job-plugin/detail"
}
}

@ -1,317 +1,2 @@
<view class="pb180 bt1">
<view class='p20 pb10 pt12'>
<view class='v-center'>
<view class='jobTitle'>
<!-- {{jobDetail.store.aliasName}} {{jobDetail.storeJob.jobName}} -->
{{jobDetail.storeJob.jobName}}
<button open-type="share" class="sharebtn" style="width:unset;padding:0;font-weight:100">
<i class="iconfont icon-zhuanfa f20" style="color: #999;"></i>
</button>
</view>
</view>
<view class='display-flex mt12'>
<view class="display-flex flex-1">
<view>
<image class='tImage' wx:if="{{jobDetail.store.logo != null && jobDetail.store.logo != ''}}" mode='aspectFit' src='{{jobDetail.store.logo}}'>
</image>
<image class='tImage' wx:else mode='aspectFit' src='https://matripe.oss-cn-beijing.aliyuncs.com/default.png'>
</image>
</view>
<view class="flex-1 vsb">
<view class='f14s c045 mb4'>
<!-- 深圳丨龙岗区丨16-35岁 -->
{{citys}}{{jobDetail.store.distance}}
<!-- {{jobDetail.store.distance}} -->
</view>
<view class='f14s c045 mb4'>
<!-- 深圳丨龙岗区丨16-35岁 -->
<block>{{jobDetail.storeJob.genderRestrict}}</block>
丨{{jobDetail.storeJob.age}}
<!-- {{jobDetail.storeJob.district}}{{jobDetail.storeJob.age}} -->
</view>
</view>
</view>
<view class="tr">
<view class='jobMoney'>
<!-- {{jobDetail.storeJob.combiSalary}} -->
<!-- {{jobDetail.storeJob.hourlyPay}} -->
{{jobDetail.storeJob.salaryClassifyValue}}
</view>
<view class='f14s c633 mt10'>
<!-- 5200-8400 -->
{{jobDetail.storeJob.monthlyPay}}
</view>
</view>
</view>
<view class="bb1 tabBox pb4">
<!-- <view wx:if="{{jobDetail.storeJob.rebate != null}}" class='tagsLi spli'>
返费{{jobDetail.storeJob.rebate}}
</view> -->
<view class="display-flex " hover-class="none" hover-stop-propagation="false" style="align-ltems:center">
<view class="t-icon t-icon-ziying1" wx:if="{{jobDetail.storeProjectSignType == 1}}"></view>
<view class='tagsLi' style="color:{{labelColor[index % labelColor.length]}};background-color:{{bgColor[index % bgColor.length]}};" wx:for="{{jobDetail.storeJob.jobSpecialLabelNames}}" wx:for-item="item1" wx:key='index'>{{item1}}</view>
</view>
<view class="display-flex" hover-class="none" hover-stop-propagation="false">
<view class='tagsLi' tyle="color:{{labelColor[index % labelColor.length]}};background-color:{{bgColor[index % bgColor.length]}};" wx:for="{{jobDetail.storeJob.jobRequestLabelNames}}" wx:for-item="item1" wx:key='index'>{{item1}}</view>
</view>
</view>
</view>
<view class="mg020 pb10 bb1 v-center">
<view wx:if="{{jobDetail.poses.store.latitude}}">
<i class="iconfont icon-dizhi11 f18 mr10 lh1" style="color:#027AFF;"></i>
</view>
<view class="address" bindtap="openMap" data-lat="{{jobDetail.poses.store.latitude}}" data-lng="{{jobDetail.poses.store.longitude}}" data-address="{{jobDetail.poses.store.posContent}}">{{jobDetail.poses.store.posContent ? jobDetail.poses.store.posContent :'暂无地址信息'}}</view>
<view>
<i class="iconfont icon-gengduo1 f14 ml18 dib pr c9" style="line-height:1;top:1px;"></i>
</view>
</view>
<view class="p020">
<!-- <view class="storeTitle" data-title="{{jobDetail.storeJob.storeName}}"> {{jobDetail.storeJob.storeName}}</view> -->
<scroll-view scroll-x="true" class="scroll-header bb1" wx:if='{{jobDetail.storeImage.length != 0}}'>
<view wx:for='{{jobDetail.storeImage}}' class="scrollImgBox" wx:key='index'>
<!-- <view wx:if="{{item.isImg}}" > -->
<image data-src="{{item.url}}" data-id='{{item.id}}' wx:if="{{item.isImg}}" src="{{item.url}}" mode="aspectFill" class="scrollImg" bindtap="showImage" ></image>
<view class="videoContainer" data-id='{{item.id}}' bindtap="showVideo" hover-class="none" hover-stop-propagation="false" wx:if="{{!item.isImg && item.url}}" style='width:100%;height:100%'>
<video class="theVideo" id='{{item.id}}' data-id='{{item.id}}' src="{{item.url}}" show-fullscreen-btn='{{false}}' show-play-btn='{{false}}' show-center-play-btn='{{false}}' bindfullscreenchange="fullScreen" enable-play-gesture='{{true}}'>
<view wx:if="{{isShareShow}}" bindtap='shareVideo' custom-cache="{{false}}" data-src="{{item.url}}" class="t-icon t-icon-fenxiang" hover-class="none" hover-stop-propagation="false"></view>
</video>
</view>
<view bindtap='shareVideo' custom-cache="{{false}}" data-src="{{item.url}}" class="t-icon t-icon-fenxiang" hover-class="none" hover-stop-propagation="false"></view>
<!-- </view> -->
<!-- <view wx:if="{{!item.isImg}}">
<view class="pr" class="scrollImgBox">
<video wx:key='{{index}}' id='a{{item.id}}' bindfullscreenchange="screenChange" src="{{item.url}}" controls="true" bindended="closeVideo" controls class="scrollImg"></video>
<view class="scrollImg" id="{{item.id}}" style="background-color: #787878;position: absolute;left: 0;opacity: 0;" catchtap='play'></view>
</view>
</view> -->
</view>
</scroll-view>
</view>
<view class="f14 p020">
<view class="detailH3">薪资待遇</view>
<view class="outSp">
<view class="display-flex">
<view class="rb1">薪资明细</view>
<view class="textb1">{{jobDetail.storeJob.salaryDetail}}</view>
</view>
<view class="display-flex">
<view class="rb1">薪资发放</view>
<view class="textb1">{{jobDetail.storeJob.payDay}}</view>
</view>
<view class="display-flex">
<view class="rb1">银行卡</view>
<view class="textb1">{{jobDetail.storeJob.bankInfo}}</view>
</view>
<view class="display-flex">
<view class="rb1">工期</view>
<view class="textb1">{{jobDetail.storeJob.workCycle}}</view>
</view>
<view class="display-flex">
<view class="rb1">培训</view>
<view class="textb1">{{jobDetail.storeJob.training}}</view>
</view>
<view class="display-flex">
<view class="rb1">试用期</view>
<view class="textb1">{{jobDetail.storeJob.probation}}</view>
</view>
<view class="display-flex">
<view class="rb1">福利待遇</view>
<view class="textb1">{{jobDetail.storeJob.boon}}</view>
</view>
<view class="display-flex">
<view class="rb1">薪资说明</view>
<view class="textb1">{{jobDetail.storeJob.salaryDesp}}</view>
</view>
</view>
<view class="detailH3">招聘要求</view>
<view class="outSp">
<view class="display-flex">
<view class="rb1">性别年龄</view>
<view class="textb1">{{showSexAgeText}}</view>
</view>
<view class="display-flex">
<view class="rb1">文化学历</view>
<view class="textb1">{{jobDetail.storeJob.education}}</view>
</view>
<!-- <view class="display-flex">
<view class="rb1">文化学历</view>
<view class="textb1">{{jobDetail.storeJob.education}}</view>
</view> -->
<view class="display-flex">
<view class="rb1">证件</view>
<view class="textb1">{{jobDetail.storeJob.idCard}}</view>
</view>
<view class="display-flex">
<view class="rb1">疑难杂症</view>
<view class="textb1">{{jobDetail.storeJob.otherRequire}}</view>
</view>
<view class="display-flex">
<view class="rb1">体检</view>
<view class="textb1">{{jobDetail.storeJob.healthRequire}}</view>
</view>
</view>
<view class="detailH3">岗位说明</view>
<view class="outSp">
<view class="display-flex">
<view class="rb1">工作内容</view>
<view class="textb1">{{jobDetail.storeJob.workContent}}</view>
</view>
<view class="display-flex">
<view class="rb1">工作方式</view>
<view class="textb1">{{jobDetail.storeJob.workMode}}</view>
</view>
<view class="display-flex">
<view class="rb1">班次工时</view>
<view class="textb1">{{jobDetail.storeJob.workClasses}}</view>
</view>
<view class="display-flex">
<view class="rb1">工作衣</view>
<view class="textb1">{{jobDetail.storeJob.workClothes}}</view>
</view>
<view class="display-flex">
<view class="rb1">车间</view>
<view class="textb1">{{jobDetail.storeJob.securityCheck}}</view>
</view>
<view class="display-flex">
<view class="rb1">保险</view>
<view class="textb1">{{jobDetail.storeJob.employeeInsurance}}</view>
</view>
<view class="display-flex">
<view class="rb1">换岗调班</view>
<view class="textb1">{{jobDetail.storeJob.otherDesp}}</view>
</view>
</view>
<view class="detailH3">吃饭住宿</view>
<view class="outSp">
<view class="display-flex">
<view class="rb1">吃饭</view>
<view class="textb1" style="padding:0;">
<view class="display-flex">
<view class="rb1">吃饭</view>
<view class="textb1">{{jobDetail.storeJob.workingLunch}}</view>
</view>
<!-- <view class="display-flex">
<view class="rb1">补充说明</view>
<view class="textb1">{{jobDetail.storeJob.workingLunchDesp}}</view>
</view> -->
</view>
</view>
<view class="display-flex">
<view class="rb1">住宿</view>
<view class="textb1" style="padding:0;">
<view class="display-flex">
<view class="rb1 sbb1">住宿费用</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.dormitory}}</view>
</view>
<view class="display-flex">
<view class="rb1 sbb1">宿舍设施</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.dormitoryFacilities}}</view>
</view>
<view class="display-flex">
<view class="rb1 sbb1">宿舍距离</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.dormDistance}}</view>
</view>
<view class="display-flex">
<view class="rb1 sbb1">厂车</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.bus}}</view>
</view>
<!-- <view class="display-flex">
<view class="rb1 sbb1">水电费</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.waterAndElec}}</view>
</view> -->
<view class="display-flex">
<view class="rb1">住宿要求</view>
<view class="textb1">{{jobDetail.storeJob.dormitoryDesp}}</view>
</view>
</view>
</view>
</view>
<view wx:if="{{jobDetail.storeJob.OtherInfo}}">
<view class="detailH3">其它信息</view>
<view class="pri border1" style="line-height:24px;padding:3px 8px;border-radius: 4px;color:#333">{{jobDetail.storeJob.OtherInfo}}</view>
</view>
</view>
</view>
<view class='bottomBtn' style="padding-bottom:{{pbtm}}px">
<view class='display-flex tc'>
<view class='flex-1 pl16' style='padding-right: 10px;' bindtap='showphone'>
<view style="position:relative;top:2px;">
<icon class="iconfont icon-dianhua2 lh1" style="color:#787878;font-size:18px;position:relative;top:1px"></icon>
<view class="btext" style="margin-top:2px;">电话</view>
</view>
</view>
<view class='flex-1' style='padding-right: 10px;' bindtap="textPaste">
<view style="position:relative;top:2px;">
<icon class="iconfont icon-weixin lh1" style="color:#787878;font-size:18px;">
</icon>
<view class="btext" style="margin-top:2px;">微信</view>
</view>
</view>
<view class='flex-1' style='padding-right: 10px;' bindtap="collectPaste">
<button catchtap="collectPaste" data-collected="{{jobDetail.storeJob.collected}}" data-jobid="{{jobDetail.storeJob.id}}" wx:if="{{isLogin}}" class="collectBtn" style="position:relative;top:3px;">
<icon class="iconfont {{jobDetail.storeJob.collected - 2 == 0 ? 'icon-wode-shoucang':'icon-shoucang-red'}} lh1" style="font-size:18px;color:#787878;"></icon>
<view class="btext" style="color:{{jobDetail.storeJob.collected - 1 == 0 ? '#DA0106' : ''}}">{{jobDetail.storeJob.collected - 1 == 0 ? '已' : ''}}收藏</view>
</button>
<button open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod" wx:else data-collected="{{jobDetail.storeJob.collected}}" data-jobid="{{jobDetail.storeJob.id}}" class="collectBtn" style="position:relative;top:3px;">
<icon class="iconfont {{isCollect ? 'icon-shoucang-red':' icon-wode-shoucang'}} lh1" style="font-size:18px;color:#787878;"></icon>
<view class="btext">收藏</view>
</button>
</view>
<view class='flex-3' style='padding-right: 16px;'>
<button wx:if="{{isLogin}}" type='primary' class="detailBtn" bindtap='goEnroll'>
立即报名
</button>
<button wx:else type='primary' class="detailBtn" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod">
立即报名
</button>
</view>
</view>
</view>
<view class="noShow">
<button bindtap="renderToCanvas">渲染到canvas</button>
<button bindtap="extraImage">导出图片</button>
<image src="{{src}}" style="width:300px; height: 240px"></image>
<wxml-to-canvas class="widget" style="width:400px; height: 360px"></wxml-to-canvas>
</view>
<scroll-view class="fadeIn" wx:if="{{phoneDialog}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog p020" style="box-sizing:border-box;">
<view class="weui-dialog__hd bb1">
<!-- <strong class="weui-dialog__title">18039237825</strong></view> -->
<!-- <view class="weui-dialog__bd">
<view>现在登录吗?</view>
</view> -->
<image src="http://matripe.oss-cn-beijing.aliyuncs.com/goodJob/bocaoLogo.png" style="width:56px;height:56px;border-radius:50%;"></image>
<view class="f20 c3">孔老师</view>
<view class="f14 c9">人才经纪人</view>
<!-- <view class="mt20 f22 c3">{{pmdUserInfo.tel}}</view> -->
<view class="mt20 f22 c3">18039237825</view>
</view>
<view class="display-flex pb20" style="padding-top:20px;">
<view class="flex-1 lflex v-center" bindtap="close" hover-class="thover">取消</view>
<view class="rflex">
<button class="" type="primary" bindtap="makePhoneCall">呼叫</button>
</view>
</view>
</view>
</scroll-view>
<!--pages/detail/index.wxml-->
<di s_id="{{id}}" bind:click_enroll="sub_enroll" bindsendTitle="sendTitle"></di>

@ -1,372 +1,4 @@
page,
.pb180 {
padding-bottom: 120px;
}
.bottomBtn {
position: fixed;
width: 100%;
left: 0;
bottom: 0;
background-color: #fff;
border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.mt3{
margin-top: 3px;
}
.sharebtn{
padding-right: 0;
margin: 0;
display: inline;
background-color: transparent;
line-height: 1;
float:right;
margin-top: 5px;
}
.ml2{
margin-left: 2px;
}
.am-button {
margin-top: 0;
margin-bottom: 0;
}
.activeList {
display: flex;
text-align: center;
}
button::after{
border: 0;
}
.menu {
flex: 1;
line-height: 1.5;
font-size: 16px;
color: rgba(0, 0, 0, 0.65);
border-bottom: 4px solid transparent;
}
.menu.active {
font-weight: 601;
color: rgba(0, 0, 0, 0.85);
border-bottom: 4px solid #FE633F;
}
.icon-wode-shoucang{
color: #787878 !important;
}
.icon-shoucang-red{
color: #DA0106 !important;
}
.scrollImg {
/* width: 67px;
height: 67px;
margin-right: 12px;
margin-top: 20px; */
/* margin-top: 16px; */
}
.show{
display:show;
}
.hide{
display:none;
}
.scroll-header {
display: flex;
white-space: nowrap;
}
.scroll-header view {
display: inline-block;
}
.scroll-header image:first-child {
margin-left: 0px;
}
button.detailBtn{
margin-bottom: 0;
padding: 7px 0;
font-size: 18px;
font-weight: 601;
color: #ffffff;
line-height: 26px;
margin-top: 8px;
background: #027AFF;
border-radius: 21px;
margin-bottom: 16px;
}
.flex-1.f14.c085{
/* white-space: pre-wrap; */
white-space: pre-line;
font-size: 17px;
line-height: 28px;
}
button.collectBtn{
margin: 0;
padding: 0;
line-height: 1.4;
padding: 0;
background-color: #fff;
/* text-align: left; */
/* background-color: #fff; */
}
.tagsLi{
height: 20px;
font-size: 14px;
font-weight: 400;
margin-right: 8px;
margin-bottom: 8px;
color: #888;
line-height: 18px;
padding: 0px 4px;
}
.pb4{
padding-bottom: 4px;
}
.mg020 {
margin: 0 20px;
}
.dName{
font-size: 16px;
font-weight: 601;
color: #262626;
line-height: 22px;
}
.dsName{
font-size: 12px;
font-weight: 400;
color: #8c8c8c;
line-height: 17px;
}
.ava{
width: 48px;
height: 48px;
border-radius: 50%;
margin-right: 14px;
}
.f25{
font-size: 25px;
}
.p20-0{
padding: 20px 0;
margin-bottom: 20px;
}
.p020{
padding: 0 20px;
}
.dianhua{
color: #787878;
}
.achover .dianhua{
color:#999;
}
.scrollImgBox {
position: relative;
border-radius: 4px;
width: 60px;
height: 60px;
margin: 12px 5px;
overflow: hidden;
}
image {
max-width: 100%;
max-height: 100%;
}
.show {
display: show;
}
.hide {
display: none;
}
.p020 {
padding: 0 20px;
}
.scroll-header {
display: flex;
white-space: nowrap;
}
.scroll-header view {
display: inline-block;
}
.scroll-header video {
width: 100%;
height: 100%;
border-radius: 8px;
}
.scroll-header image:first-child {
margin-left: 0px;
}
.storeTitle{
font-size: 18px;
font-weight: 601;
color: #262626;
line-height: 25px;
/* margin-bottom: 10px; */
}
.storeInfo{
font-size: 15px;
font-weight: 400;
color: #939393;
line-height: 21px;
white-space: pre-line;
}
.address{
font-size: 15px;
font-weight: 400;
color: #333;
line-height: 21px;
flex: 1;
}
.btext{
font-size: 11px;
font-weight: 400;
color: #444444;
line-height: 16px;
margin-top: 2px;
}
.flex-3{
flex: 3;
}
.noShow{
position: absolute;
top: -9999px;
}
.detailH3 {
font-size: 16px;
font-weight: 400;
color: #000;
line-height: 22px;
margin-top: 16px;
margin-bottom: 8px;
}
.pri {
white-space: pre-line;
}
.pri:empty:before,
.textb1:empty:before {
content: "-" !important;
color: #333;
}
.outSp {
border: 1px solid #f3f3f3;
border-radius: 4px;
/* line-height: 56rpx; */
}
.outSp .display-flex:last-child .rb1,
.outSp .display-flex:last-child .textb1 {
border-bottom: 0;
}
.sbb1 {
border-bottom: 1rpx solid #eee !important;
}
.tabBox .display-flex {
flex-wrap: wrap;
}
.tabBox .display-flex > view {
margin-bottom: 8px;
}
.rb1 {
font-size: 14px;
color: #666;
text-align: center;
width: 80px;
border-right: 1px solid #f3f3f3;
border-bottom: 1px solid #f3f3f3;
display: flex;
align-items: center;
justify-content: center;
}
.textb1 {
white-space: pre-line;
color: #333;
border-bottom: 1px solid #f3f3f3;
padding: 0 8px;
flex: 1;
line-height: 1.8;
padding-top: 3px;
}
.jobMoney {
color: var(--color-ysd);
}
.c633 {
color: var(--color-027);
}
.videoContainer::after {
content: "";
width: 0;
height: 0;
border: 10px solid #ffffffbb;
border-right-color: transparent;
border-top-color: transparent;
border-left-width: 16px;
border-right-width: 0px;
border-bottom-color: transparent;
left: 50%;
top: 50%;
border-radius: 3px;
transform: translate(-50%, -50%);
/* background-color: #ffffff; */
position: absolute;
z-index: 10;
}
.theVideo {
position: relative;
}
.theVideo .t-icon {
position: absolute;
bottom: 80px;
right: 30px;
width: 20px;
height: 24px;
background-repeat: no-repeat;
background-size: 100%;
z-index: 1111;
}
.theVideo .t-icon::after {
position: absolute;
content: "";
width: 44px;
height: 44px;
left: 50%;
top: 50%;
transform: translate(-50%, -55%);
background-color: #ffffff66;
border-radius: 50%;
}
.t-icon-ziying1 {
background-repeat: no-repeat;
display: inline-block;
width: 32px;
height: 20px;
margin-right: 6px;
}
.ml18{
margin-left: 18px;
}
.mask {
position: fixed;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.3);
top: 0;
left: 0;
z-index: 99;
pointer-events: none;
/* display: none; */
}
.norecruit {
position: absolute;
width: 100%;
height: 38px;
line-height: 38px;
top: -38px;
font-size: 14px;
text-align: center;
background-color: #666;
color: #fff;
/* display: none; */
}
/* pages/detail/index.wxss */
page{
padding-bottom: 120px;
}

@ -0,0 +1,918 @@
const app = getApp();
const commonUtil = require("../../utils/commonUtil.js");
const { wxml, style } = require('./demo.js')
var QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js');
var qqmapsdk;
Page({
data: {
citys: "",
storeJobId: "",
currIndex: '1',
//职位ID
searchForm: {
storeJobId: "",
lng: "",
lat: ""
},
fullScreen:false,
labelColor: ["#c41d7f", "#096dd9", "#531dab", "#d46b08", "#389e0d", "#08979c", "#cf1322"],
bgColor: ["#fff0f6", "#e6f7ff", "#f9f0ff", "#fff7e6", "#f6ffed", "#e6fffb", "#fff1f0"],
jobDetail: {}, //详情
wxCode: '',
pbtm:0,
shareTitle:'',
isCollect:false,
src: '',
word:'woca',
phoneDialog:false,
isImg: true,
wxml: {
text: "啊啊按",
},
},
onShow() {
var that = this;
this.setData({
isLogin: app.globalData.isLogin
});
if (!app.globalData.isLogin) {
this.wxLogin();
}
},
showphone:function(){
this.setData({
phoneDialog: true
});
},
close: function () {
this.setData({
phoneDialog:false,
})
},
wxLogin() {
var that = this;
wx.login({
success(res) {
if (res.code) {
that.setData({
wxCode: res.code
});
} else {
console.log('获取code失败' + res.errMsg)
}
}
})
},
showImage(e){
let resImg = e.currentTarget.dataset.src;
console.log(this.data.jobDetail.storeImage);
var imgArr = [];
this.data.jobDetail.storeImage.forEach((item) => {
// let regs = /\.(jpg|jpeg|png)(\?.*)?$/;
// item.isImg = regs.test(item.url.toLowerCase());
if (item.isImg) {
imgArr.push(item.url);
}
});
wx.previewImage({
current: e.currentTarget.dataset.src, // 当前显示图片的http链接
urls: imgArr,
});
},
renderToCanvas() {
const p1 = this.widget.renderToCanvas({ wxml:wxml(that.data.wxml), style })
p1.then((res) => {
console.log('container', res.layoutBox)
this.container = res
console.log(res);
})
},
extraImage() {
var that = this;
// return new Promise(function (resolve, reject) {
that.widget.renderToCanvas({ wxml:wxml(that.data.wxml), style }).then(res1 => {
const p2 = that.widget.canvasToTempFilePath()
p2.then(res => {
console.log(res);
that.setData({
src: res.tempFilePath,
})
})
});
// });
},
onLoad(query) {
var that = this;
that.widget = that.selectComponent('.widget')
wx.getSystemInfo({
success: res => {
console.log('手机信息res' + res.model)
let modelmes = res.model;
console.log(modelmes.search('iPhone X'));
if (modelmes.search('iPhone 12 Pro') != -1 || modelmes.search('iPhone X') != -1 || modelmes.search('iPhone XR') != -1 || modelmes.search('iPhone XS max') != -1 || modelmes.search('iPhone 11') != -1) {
that.setData({
pbtm: 40
})
} else {
}
}
})
qqmapsdk = new QQMapWX({
key: '5PTBZ-YI7C6-MZGS3-ES7QN-4T5O2-EJFVR'
});
console.log('HHHHHHHHHHHHH' + query.storeJobId);
this.data.searchForm.storeJobId = query.storeJobId;
// this.data.wxCode = query.wxCode;
// this.getLocation();
this.getStoreJobDetailById();
// that.setData({
// wxCode: that.data.wxCode
// })
wx.setStorageSync({
key: "storeJobId",
data: query.storeJobId
});
let agencyUserId = query.agencyUserId;
if(agencyUserId) {
wx.setStorageSync('storageSyncAgencyUserId', agencyUserId);
console.log('agencyUserId', agencyUserId)
app.globalData.isCommission = 1;
}
},
openMap(e){
wx.showLoading({
title: '加载中',
})
console.log(e);
let address = e.currentTarget.dataset.address;
let lat = e.currentTarget.dataset.lat;
var formatted_addresses = ""
qqmapsdk.reverseGeocoder({
location:`${e.currentTarget.dataset.lat},${e.currentTarget.dataset.lng}`,
success: function(res) {
console.log(res);
formatted_addresses = res.result.formatted_addresses.recommend;
}
})
console.log(address);
console.log(formatted_addresses);
wx.getLocation({
type: 'gcj02', //返回可以用于wx.openLocation的经纬度
success (res) {
wx.openLocation({
latitude: e.currentTarget.dataset.lat - 0,
longitude :e.currentTarget.dataset.lng - 0,
name:formatted_addresses,
address:address,
scale: 8
})
},
complete(res){
wx.hideLoading();
console.log(1123213);
}
})
},
changeMenu(e) {
let currentIndex = parseInt(e.currentTarget.dataset.id);
this.setData({
currIndex: e.currentTarget.dataset.id
})
},
getLocation() {
var that = this;
wx.getSetting({
success: res => {
console.log(res); // res.authSetting.location
if (res.authSetting.location) {
wx.getLocation({
success(res1) {
console.log("获取位置");
console.log(res1);
if (
app.isNotEmptyCheck(res1.latitude) &&
app.isNotEmptyCheck(res1.longitude)
) {
that.data.searchForm.lat = res1.latitude;
that.data.searchForm.lng = res1.longitude;
}
that.getStoreJobDetailById();
},
fail() {
that.getStoreJobDetailById();
}
});
} else {
that.getStoreJobDetailById();
}
}
}); // my.getLocation({
// success(res) {
// my.hideLoading();
// console.log(res)
// that.data.searchForm.lng = res.longitude;
// that.data.searchForm.lat = res.latitude;
// that.getStoreJobDetailById();
// },
// fail() {
// my.hideLoading();
// that.getStoreJobDetailById();
// },
// })
},
onShareAppMessage: function () {
var path = commonUtil.getCurrentPageUrlWithArgs();
if(app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) {//当前用户是代理人
path += '&agencyUserId=' + app.globalData.loginUserInfo.id;
}
var that = this;
// const promise = new Promise(resolve => {
// that.widget.renderToCanvas({ wxml:wxml(that.data.jobDetail), style }).then(res1 => {
// const p2 = that.widget.canvasToTempFilePath()
// p2.then(res => {
// console.log(res);
// resolve({
// title:that.data.shareTitle,
// imageUrl: res.tempFilePath,
// })
// })
// });
// });
return {
"title":that.data.shareTitle,
'imageUrl':that.data.src ,
'path': path,
// promise
}
},
showVideo(e) {
console.log(e);
console.log(wx.getSystemInfo());
var that = this;
this.videoContext = wx.createVideoContext(`${e.target.dataset.id}`, this);
this.videoContext.requestFullScreen();
this.videoContext.hideStatusBar();
this.videoContext.play();
setTimeout(() => {
that.setData({
isShareShow: true,
});
}, 500);
},
fullScreen(e) {
console.log(e);
if (!e.detail.fullScreen) {
this.setData({
isShareShow: false,
});
this.videoContext.stop();
}
},
// play(e) {
// //执行全屏方法
// var id = e.currentTarget.id;
// var videoContext = wx.createVideoContext("a"+id , this);
// videoContext.requestFullScreen();
// setTimeout(()=>{
// videoContext.play();
// },100)
// this.setData({
// fullScreen:true
// })
// },
// screenChange(e){
// console.log(e.currentTarget.id);
// var id = e.currentTarget.id;
// var videoContext = wx.createVideoContext(id , this);
// let fullScreen = e.detail.fullScreen //值true为进入全屏false为退出全屏
// if (!fullScreen ){ //退出全屏
// videoContext.pause()
// this.setData({
// controls: false
// })
// }else{ //进入全屏
// this.setData({
// controls: true
// })
// }
// },
// closeVideo(e) {
// var id = e.currentTarget.id;
// //执行退出全屏方法
// var videoContext = wx.createVideoContext('a'+id, this);
// videoContext.exitFullScreen();
// },
// /**视屏进入、退出全屏 */
// fullScreen(e){
// var isFull = e.detail.fullScreen;
// //视屏全屏时显示加载video非全屏时不显示加载video
// this.setData({
// fullScreen:isFull
// })
// },
onShareTimeline:function(){
return {
title:this.data.shareTitle,
query:"?storeJobId="+ this.data.storeJobId
}
},
getStoreJobDetailById() {
var that = this;
wx.request({
// url: app.globalData.ip + "/store/job/getStoreJobDetailById?storeJobId=" + that.data.searchForm.storeJobId,
url: app.globalData.ip + "/overall/store/job/getStoreJobDetailById?storeJobId=" + that.data.searchForm.storeJobId,
method: "POST",
header: app.globalData.headers,
data: that.data.searchForm,
success: function (res) {
console.log(res);
var result = res.data.data;
var title = result.storeJob.jobName;
// var title1 = result.store.aliasName;
// that.data.logo2
console.log(title);
that.setData({
shareTitle: title,
})
let regs = /\.(jpg|jpeg|png)(\?.*)?$/
res.data.data.storeImage.forEach((item)=>{
item.isImg = regs.test(item.url.toLowerCase())
})
console.log(res);
console.log(that.data.jobDetail);
if (app.isNotEmptyCheck(title)) {
title = result.storeJob.jobName;
} else {
title = result.store.aliasName;
}
wx.setNavigationBarTitle({
title
});
result.storeJob.workType = commonUtil.getWorkTypeById(
result.storeJob.workTypeMulti
);
if (
app.isNotEmptyCheck(result.storeJob.calculationSalaryType)
) {
result.storeJob.calculationSalaryType = result.storeJob.calculationSalaryType.split(
"#"
)[0];
}
if (app.isNotEmptyCheck(result.storeJob.paymentSalaryType)) {
result.storeJob.paymentSalaryType = result.storeJob.paymentSalaryType.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.salaryDesp)) {
result.storeJob.salaryDesp = result.storeJob.salaryDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.workDurationDesp)) {
result.storeJob.workDurationDesp = result.storeJob.workDurationDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.probationDesp)) {
result.storeJob.probationDesp = result.storeJob.probationDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.workingLunchDesp)) {
result.storeJob.workingLunchDesp = result.storeJob.workingLunchDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.dormitoryDesp)) {
result.storeJob.dormitoryDesp = result.storeJob.dormitoryDesp.split(
""
);
}
if (app.isNotEmptyCheck(result.storeJob.foregift)) {
result.storeJob.foregift = result.storeJob.foregift.split(
""
);
var arrTemp = [];
result.storeJob.foregift.forEach(item => {
var arr = item.split("");
if (app.length > 0) {
arrTemp.push({
item0: arr[0].split("#")[0],
item1: arr[1].split("#")[0]
});
}
});
result.storeJob.foregift = arrTemp;
} else {
result.storeJob.foregift = "无押金";
}
result.store.distance = commonUtil.getDistanceName(
result.store.distance
);
if (app.isNotEmptyCheck(result.store.distance)) {
result.store.distance = '丨' + result.store.distance;
}
/*if (app.isNotEmptyCheck(result.store.district)) {
var tempArr = result.store.district.split(",");
if (tempArr.length == 1) {
result.store.district = tempArr[0];
} else if (tempArr.length == 2) {
result.store.district = tempArr[0] + "" + tempArr[1];
} else if (tempArr.length > 2) {
result.store.district = tempArr[1] + "" + tempArr[2];
}
}*/
// getStoreAddress
that.disposeJobListData(result);
if (app.isNotEmptyCheck(result.store.logo)) {
result['logo2'] = result.store.logo.replace("http:","http:");
} else {
result['logo2'] = '';
}
let citys = commonUtil.setJobInfoPosition(result.store.district)
result.storeJob.genderRestrict = commonUtil.getGenderByMinAge(result.storeJob)
that.setData({
jobDetail: result,
citys: citys || "-",
});
console.log(that.data.jobDetail);
}
});
},
/**
* 处理后台返回的职位列表
*/
disposeJobListData(jobDetail) {
var that = this;
// item["workType"] = commonUtil.getWorkTypeById(
// item.workTypeMulti
// );
// if (app.isNotEmptyCheck(item.distance)) {
// item["distanceKm"] = commonUtil.getDistanceName(
// item.distance
// );
// }
//年龄
var ageStr = '';
if (app.isNotEmptyCheck(jobDetail.storeJob.minAge) && app.isNotEmptyCheck(jobDetail.storeJob.maxAge)) {
ageStr = jobDetail.storeJob.minAge + '-' + jobDetail.storeJob.maxAge + '岁';
} else if (app.isNotEmptyCheck(jobDetail.storeJob.minAge)) {
ageStr = jobDetail.storeJob.minAge + '岁以上';
} else if (app.isNotEmptyCheck(jobDetail.storeJob.maxAge)) {
ageStr = jobDetail.storeJob.maxAge + '岁以下';
}
jobDetail.storeJob["age"] = ageStr;
// //时薪
// var hourlyPayStr = '';
// var hasHourlyPay = false;
// if (app.isNotEmptyCheck(jobDetail.storeJob.hourlyPay)) {
// hourlyPayStr = jobDetail.storeJob.hourlyPay + '元/小时';
// hasHourlyPay = true;
// } else if (app.isNotEmptyCheck(jobDetail.storeJob.dayPay)) {
// hourlyPayStr = jobDetail.storeJob.dayPay + '元/日';
// hasHourlyPay = true;
// } else {
// if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay) && app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) {
// if (jobDetail.storeJob.minMonthlyPay == jobDetail.storeJob.maxMonthlyPay) {
// hourlyPayStr = jobDetail.storeJob.minMonthlyPay;
// } else {
// hourlyPayStr = jobDetail.storeJob.minMonthlyPay + '-' + jobDetail.storeJob.maxMonthlyPay;
// }
// } else if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay)) {
// hourlyPayStr = jobDetail.storeJob.minMonthlyPay;
// } else if (app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) {
// hourlyPayStr = jobDetail.storeJob.maxMonthlyPay;
// }
// }
// jobDetail.storeJob["hourlyPay"] = hourlyPayStr;
jobDetail.storeJob["salaryClassifyValue"] = commonUtil.getSalaryClassifyValue(jobDetail.storeJob.salaryClassify, jobDetail.storeJob.salaryClassifyValue);
//月薪
var monthlyPayStr = '';
// if (hasHourlyPay) {
if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay) && app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) {
if (jobDetail.storeJob.minMonthlyPay == jobDetail.storeJob.maxMonthlyPay) {
monthlyPayStr = jobDetail.storeJob.minMonthlyPay;
} else {
monthlyPayStr = jobDetail.storeJob.minMonthlyPay + '-' + jobDetail.storeJob.maxMonthlyPay;
}
} else if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay)) {
monthlyPayStr = jobDetail.storeJob.minMonthlyPay;
} else if (app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) {
monthlyPayStr = jobDetail.storeJob.maxMonthlyPay;
}
// }
jobDetail.storeJob["monthlyPay"] = monthlyPayStr;
//地址深圳丨龙岗区丨
var districtStr = '';
if (app.isNotEmptyCheck(jobDetail.storeJob.district)) {
var districtArr = jobDetail.storeJob.district.split(',');
if(districtArr.length < 3) {
districtStr = districtArr[districtArr.length - 1];
} else {
districtStr = districtArr[1] + '丨' + districtArr[2];
}
//districtStr = districtArr[1] + '丨' + districtArr[2];
}
jobDetail.storeJob["districtStr"] = districtStr;
jobDetail.storeJob["districtDetail"] = commonUtil.getStoreAddress(jobDetail.storeJob.district, jobDetail.storeJob.detailPosition);
//职位特色
if (app.isNotEmptyCheck(jobDetail.storeJob.jobSpecialLabelNames)) {
jobDetail.storeJob['jobSpecialLabelNames'] = that.getJobSpecialLabelNamesArray(jobDetail.storeJob.jobSpecialLabelNames);
}
},
getJobSpecialLabelNamesArray(jobSpecialLabelNames) {
if (app.isNotEmptyCheck(jobSpecialLabelNames)) {
return jobSpecialLabelNames.split(', ');
}
return [];
},
goSimilar() {
var that = this;
console.log(that.data.jobDetail)
console.log(that.data.jobDetail.storeJob.jobLabelId)
wx.navigateTo({
url: "../similar/index?brandId=" +
that.data.jobDetail.store.brandId +
"&jobLabelId=" +
that.data.jobDetail.storeJob.jobLabelId +
"&classify=99"
});
},
makePhoneCall() {
console.log(1);
var that = this;
wx.makePhoneCall({
// number: that.data.jobDetail.assistantUserTel + ""
phoneNumber:'18039237825'
});
// var that = this;
// let res = wx.getStorageSync({
// key: "assistantUserTel"
// });
// console.log(res);
// console.log("缓存获取电话号:" + res.data);
// if (app.isNotEmptyCheck(res.data)) {
// wx.makePhoneCall({
// number: res.data
// });
// } else {
// wx.request({
// url: app.globalData.ip + "/store/job/getOneAssistantUser",
// method: "POST",
// header: app.globalData.headers,
// data: {},
// success: function (res) {
// console.log(res.data.data.tel);
// wx.setStorageSync({
// key: "assistantUserTel",
// data: res.data.data.tel
// });
// wx.makePhoneCall({
// number: res.data.data.tel + ""
// });
// }
// });
// }
},
textPaste() {
var that = this;
wx.setClipboardData({
// data: that.data.jobDetail.assistantUserWechat,
data:'18039237825',
success: function (res) {
wx.getClipboardData({
success: function (res) {
wx.showToast({
icon: "none",
title: '已复制微信号,快去添加好友吧',
duration:0,
})
wx.showModal({
title: '已复制微信号',
content: '快去搜索添加经纪人好友吧',
showCancel:false,
success (res) {
if (res.confirm) {
console.log('用户点击确定')
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
console.log(res.data) // data
}
})
}
})
},
/*collectPaste() {
var txt;
var that = this;
if(!this.data.isCollect){
that.setData({
isCollect: true
})
txt = '收藏成功'
}else{
that.setData({
isCollect: false
})
txt = '取消收藏'
}
wx.showToast({
icon: "none",
title: txt,
})
},*/
goEnroll() {
var that = this;
// wx.setStorageSync({
// key: "jobDetailStorage",
// data: that.data.jobDetail
// });
wx.setStorageSync('jobDetailStorage', that.data.jobDetail.storeJob);
// wx.navigateTo({
// url: "../enroll/index?applyType=1"
// });
wx.navigateTo({
url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel
});
},
emptyMethod() {
},
wxLogin() {
var that = this;
wx.login({
success(res) {
if (res.code) {
that.setData({
wxCode: res.code
});
} else {
console.log('获取code失败' + res.errMsg)
}
}
})
},
getPhoneNumber(e) {
var that = this;
console.log(e)
console.log(e.detail.errMsg)
console.log(that.data.jobDetail.storeJob);
/*wx.setStorageSync({
key: "jobDetailStorage",
data: that.data.jobDetail.storeJob,
});*/
wx.setStorageSync('jobDetailStorage', that.data.jobDetail.storeJob);
// console.log(e);
// console.log(e.detail.errMsg)
// console.log(e.detail.iv)
// console.log(e.detail.encryptedData)
if ("getPhoneNumber:ok" == e.detail.errMsg) {//同意
var iv = e.detail.iv;
var encryptedData = e.detail.encryptedData;
wx.checkSession({
success () {
//session_key 未过期,并且在本生命周期一直有效
wx.request({
url: app.globalData.ip + '/getWechatTel',
data: {
code: that.data.wxCode,
iv: iv,
encryptedData: encryptedData,
},
success: function (res) {
console.log(res);
app.globalData.openId = res.data.data.openId;
let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null);
var collected = e.currentTarget.dataset.collected;
if(collected) {
promise.then(res => {
that.setData({
isLogin: app.globalData.isLogin
});
that.doCollected(collected, e.currentTarget.dataset.jobid);
})
} else {
/*wx.navigateTo({
url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
});*/
promise.then(res => {
wx.navigateTo({
//url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
url: "../enroll/index?applyType=1"
});
})
}
// wx.navigateTo({
// url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
// });
},
fail: function (res) {
console.log("获取用户手机号错误");
}
})
},
fail () {
// session_key 已经失效,需要重新执行登录流程
wx.login({
success(res) {
if (res.code) {
console.log(res.code);
//发起网络请求
wx.request({
url: app.globalData.ip + '/getWechatTel',
data: {
code: res.code,
iv: iv,
encryptedData: encryptedData,
},
success: function (res) {
console.log(res);
let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null);
var collected = e.currentTarget.dataset.collected;
if(collected) {
promise.then(res => {
that.setData({
isLogin: app.globalData.isLogin
});
that.doCollected(collected, e.currentTarget.dataset.jobid);
});
} else {
promise.then(res => {
wx.navigateTo({
//url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
url: "../enroll/index?applyType=1"
});
})
}
},
fail: function (res) {
console.log("获取用户手机号错误");
}
})
} else {
console.log('获取手机号失败!' + res.errMsg)
}
}
})
}
})
} else {//拒绝
var collected = e.currentTarget.dataset.collected;
if (collected) {
try {
wx.setStorageSync('comeFromPage', 'detail');
wx.setStorageSync('comeFromPageParam', {storeJobId: that.data.searchForm.storeJobId});
} catch (e) {
console.log("detail-页面跳转,设置参数错误:", e);
}
wx.navigateTo({
url: '/pages/login/index',
})
} else {
wx.navigateTo({
//url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
url: "../enroll/index?applyType=1"
});
}
}
return false;
},
collectPaste(e) {
var txt;
var that = this;
var collected = e.currentTarget.dataset.collected;
var storeJobId = e.currentTarget.dataset.jobid;
that.doCollected(collected, storeJobId);
// console.log(collected);
// if(!this.data.isCollect){
// that.setData({
// isCollect: true,
// collectTxt:'已收藏'
// })
// txt = '收藏成功'
// }else{
// that.setData({
// isCollect: false,
// collectTxt:'收藏'
// })
// }
},
doCollected(collected, storeJobId) {
var that = this;
var url = '/user/collect/job/add';
if(collected - 1 == 0) {
url = '/user/collect/job/remove';
}
console.log(app.globalData.headers)
//发起网络请求
wx.request({
url: app.globalData.ip + url,
data: {
storeJobId: storeJobId,
},
header: app.globalData.headers,
method: "GET",
success: function (res) {
var txt;
if(collected - 1 == 0) {//取消收藏
that.data.jobDetail.storeJob.collected = 2;
txt = '取消收藏';
} else {//收藏
that.data.jobDetail.storeJob.collected = 1;
txt = '收藏成功';
}
that.setData({
jobDetail: that.data.jobDetail,
isLogin: app.globalData.isLogin
});
console.log(that.data.jobDetail)
wx.showToast({
icon: "none",
title: txt,
})
},
fail: function (res) {
console.log("操作失败");
}
})
},
});

@ -0,0 +1,6 @@
{
"usingComponents": {
"wxml-to-canvas": "wxml-to-canvas"
},
"navigationBarTitleText": " "
}

@ -0,0 +1,317 @@
<view class="pb180 bt1">
<view class='p20 pb10 pt12'>
<view class='v-center'>
<view class='jobTitle'>
<!-- {{jobDetail.store.aliasName}} {{jobDetail.storeJob.jobName}} -->
{{jobDetail.storeJob.jobName}}
<button open-type="share" class="sharebtn" style="width:unset;padding:0;font-weight:100">
<i class="iconfont icon-zhuanfa f20" style="color: #999;"></i>
</button>
</view>
</view>
<view class='display-flex mt12'>
<view class="display-flex flex-1">
<view>
<image class='tImage' wx:if="{{jobDetail.store.logo != null && jobDetail.store.logo != ''}}" mode='aspectFit' src='{{jobDetail.store.logo}}'>
</image>
<image class='tImage' wx:else mode='aspectFit' src='https://matripe.oss-cn-beijing.aliyuncs.com/default.png'>
</image>
</view>
<view class="flex-1 vsb">
<view class='f14s c045 mb4'>
<!-- 深圳丨龙岗区丨16-35岁 -->
{{citys}}{{jobDetail.store.distance}}
<!-- {{jobDetail.store.distance}} -->
</view>
<view class='f14s c045 mb4'>
<!-- 深圳丨龙岗区丨16-35岁 -->
<block>{{jobDetail.storeJob.genderRestrict}}</block>
丨{{jobDetail.storeJob.age}}
<!-- {{jobDetail.storeJob.district}}{{jobDetail.storeJob.age}} -->
</view>
</view>
</view>
<view class="tr">
<view class='jobMoney'>
<!-- {{jobDetail.storeJob.combiSalary}} -->
<!-- {{jobDetail.storeJob.hourlyPay}} -->
{{jobDetail.storeJob.salaryClassifyValue}}
</view>
<view class='f14s c633 mt10'>
<!-- 5200-8400 -->
{{jobDetail.storeJob.monthlyPay}}
</view>
</view>
</view>
<view class="bb1 tabBox pb4">
<!-- <view wx:if="{{jobDetail.storeJob.rebate != null}}" class='tagsLi spli'>
返费{{jobDetail.storeJob.rebate}}
</view> -->
<view class="display-flex " hover-class="none" hover-stop-propagation="false" style="align-ltems:center">
<view class="t-icon t-icon-ziying1" wx:if="{{jobDetail.storeProjectSignType == 1}}"></view>
<view class='tagsLi' style="color:{{labelColor[index % labelColor.length]}};background-color:{{bgColor[index % bgColor.length]}};" wx:for="{{jobDetail.storeJob.jobSpecialLabelNames}}" wx:for-item="item1" wx:key='index'>{{item1}}</view>
</view>
<view class="display-flex" hover-class="none" hover-stop-propagation="false">
<view class='tagsLi' tyle="color:{{labelColor[index % labelColor.length]}};background-color:{{bgColor[index % bgColor.length]}};" wx:for="{{jobDetail.storeJob.jobRequestLabelNames}}" wx:for-item="item1" wx:key='index'>{{item1}}</view>
</view>
</view>
</view>
<view class="mg020 pb10 bb1 v-center">
<view wx:if="{{jobDetail.poses.store.latitude}}">
<i class="iconfont icon-dizhi11 f18 mr10 lh1" style="color:#027AFF;"></i>
</view>
<view class="address" bindtap="openMap" data-lat="{{jobDetail.poses.store.latitude}}" data-lng="{{jobDetail.poses.store.longitude}}" data-address="{{jobDetail.poses.store.posContent}}">{{jobDetail.poses.store.posContent ? jobDetail.poses.store.posContent :'暂无地址信息'}}</view>
<view>
<i class="iconfont icon-gengduo1 f14 ml18 dib pr c9" style="line-height:1;top:1px;"></i>
</view>
</view>
<view class="p020">
<!-- <view class="storeTitle" data-title="{{jobDetail.storeJob.storeName}}"> {{jobDetail.storeJob.storeName}}</view> -->
<scroll-view scroll-x="true" class="scroll-header bb1" wx:if='{{jobDetail.storeImage.length != 0}}'>
<view wx:for='{{jobDetail.storeImage}}' class="scrollImgBox" wx:key='index'>
<!-- <view wx:if="{{item.isImg}}" > -->
<image data-src="{{item.url}}" data-id='{{item.id}}' wx:if="{{item.isImg}}" src="{{item.url}}" mode="aspectFill" class="scrollImg" bindtap="showImage" ></image>
<view class="videoContainer" data-id='{{item.id}}' bindtap="showVideo" hover-class="none" hover-stop-propagation="false" wx:if="{{!item.isImg && item.url}}" style='width:100%;height:100%'>
<video class="theVideo" id='{{item.id}}' data-id='{{item.id}}' src="{{item.url}}" show-fullscreen-btn='{{false}}' show-play-btn='{{false}}' show-center-play-btn='{{false}}' bindfullscreenchange="fullScreen" enable-play-gesture='{{true}}'>
<view wx:if="{{isShareShow}}" bindtap='shareVideo' custom-cache="{{false}}" data-src="{{item.url}}" class="t-icon t-icon-fenxiang" hover-class="none" hover-stop-propagation="false"></view>
</video>
</view>
<view bindtap='shareVideo' custom-cache="{{false}}" data-src="{{item.url}}" class="t-icon t-icon-fenxiang" hover-class="none" hover-stop-propagation="false"></view>
<!-- </view> -->
<!-- <view wx:if="{{!item.isImg}}">
<view class="pr" class="scrollImgBox">
<video wx:key='{{index}}' id='a{{item.id}}' bindfullscreenchange="screenChange" src="{{item.url}}" controls="true" bindended="closeVideo" controls class="scrollImg"></video>
<view class="scrollImg" id="{{item.id}}" style="background-color: #787878;position: absolute;left: 0;opacity: 0;" catchtap='play'></view>
</view>
</view> -->
</view>
</scroll-view>
</view>
<view class="f14 p020">
<view class="detailH3">薪资待遇</view>
<view class="outSp">
<view class="display-flex">
<view class="rb1">薪资明细</view>
<view class="textb1">{{jobDetail.storeJob.salaryDetail}}</view>
</view>
<view class="display-flex">
<view class="rb1">薪资发放</view>
<view class="textb1">{{jobDetail.storeJob.payDay}}</view>
</view>
<view class="display-flex">
<view class="rb1">银行卡</view>
<view class="textb1">{{jobDetail.storeJob.bankInfo}}</view>
</view>
<view class="display-flex">
<view class="rb1">工期</view>
<view class="textb1">{{jobDetail.storeJob.workCycle}}</view>
</view>
<view class="display-flex">
<view class="rb1">培训</view>
<view class="textb1">{{jobDetail.storeJob.training}}</view>
</view>
<view class="display-flex">
<view class="rb1">试用期</view>
<view class="textb1">{{jobDetail.storeJob.probation}}</view>
</view>
<view class="display-flex">
<view class="rb1">福利待遇</view>
<view class="textb1">{{jobDetail.storeJob.boon}}</view>
</view>
<view class="display-flex">
<view class="rb1">薪资说明</view>
<view class="textb1">{{jobDetail.storeJob.salaryDesp}}</view>
</view>
</view>
<view class="detailH3">招聘要求</view>
<view class="outSp">
<view class="display-flex">
<view class="rb1">性别年龄</view>
<view class="textb1">{{showSexAgeText}}</view>
</view>
<view class="display-flex">
<view class="rb1">文化学历</view>
<view class="textb1">{{jobDetail.storeJob.education}}</view>
</view>
<!-- <view class="display-flex">
<view class="rb1">文化学历</view>
<view class="textb1">{{jobDetail.storeJob.education}}</view>
</view> -->
<view class="display-flex">
<view class="rb1">证件</view>
<view class="textb1">{{jobDetail.storeJob.idCard}}</view>
</view>
<view class="display-flex">
<view class="rb1">疑难杂症</view>
<view class="textb1">{{jobDetail.storeJob.otherRequire}}</view>
</view>
<view class="display-flex">
<view class="rb1">体检</view>
<view class="textb1">{{jobDetail.storeJob.healthRequire}}</view>
</view>
</view>
<view class="detailH3">岗位说明</view>
<view class="outSp">
<view class="display-flex">
<view class="rb1">工作内容</view>
<view class="textb1">{{jobDetail.storeJob.workContent}}</view>
</view>
<view class="display-flex">
<view class="rb1">工作方式</view>
<view class="textb1">{{jobDetail.storeJob.workMode}}</view>
</view>
<view class="display-flex">
<view class="rb1">班次工时</view>
<view class="textb1">{{jobDetail.storeJob.workClasses}}</view>
</view>
<view class="display-flex">
<view class="rb1">工作衣</view>
<view class="textb1">{{jobDetail.storeJob.workClothes}}</view>
</view>
<view class="display-flex">
<view class="rb1">车间</view>
<view class="textb1">{{jobDetail.storeJob.securityCheck}}</view>
</view>
<view class="display-flex">
<view class="rb1">保险</view>
<view class="textb1">{{jobDetail.storeJob.employeeInsurance}}</view>
</view>
<view class="display-flex">
<view class="rb1">换岗调班</view>
<view class="textb1">{{jobDetail.storeJob.otherDesp}}</view>
</view>
</view>
<view class="detailH3">吃饭住宿</view>
<view class="outSp">
<view class="display-flex">
<view class="rb1">吃饭</view>
<view class="textb1" style="padding:0;">
<view class="display-flex">
<view class="rb1">吃饭</view>
<view class="textb1">{{jobDetail.storeJob.workingLunch}}</view>
</view>
<!-- <view class="display-flex">
<view class="rb1">补充说明</view>
<view class="textb1">{{jobDetail.storeJob.workingLunchDesp}}</view>
</view> -->
</view>
</view>
<view class="display-flex">
<view class="rb1">住宿</view>
<view class="textb1" style="padding:0;">
<view class="display-flex">
<view class="rb1 sbb1">住宿费用</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.dormitory}}</view>
</view>
<view class="display-flex">
<view class="rb1 sbb1">宿舍设施</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.dormitoryFacilities}}</view>
</view>
<view class="display-flex">
<view class="rb1 sbb1">宿舍距离</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.dormDistance}}</view>
</view>
<view class="display-flex">
<view class="rb1 sbb1">厂车</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.bus}}</view>
</view>
<!-- <view class="display-flex">
<view class="rb1 sbb1">水电费</view>
<view class="textb1 sbb1">{{jobDetail.storeJob.waterAndElec}}</view>
</view> -->
<view class="display-flex">
<view class="rb1">住宿要求</view>
<view class="textb1">{{jobDetail.storeJob.dormitoryDesp}}</view>
</view>
</view>
</view>
</view>
<view wx:if="{{jobDetail.storeJob.OtherInfo}}">
<view class="detailH3">其它信息</view>
<view class="pri border1" style="line-height:24px;padding:3px 8px;border-radius: 4px;color:#333">{{jobDetail.storeJob.OtherInfo}}</view>
</view>
</view>
</view>
<view class='bottomBtn' style="padding-bottom:{{pbtm}}px">
<view class='display-flex tc'>
<view class='flex-1 pl16' style='padding-right: 10px;' bindtap='showphone'>
<view style="position:relative;top:2px;">
<icon class="iconfont icon-dianhua2 lh1" style="color:#787878;font-size:18px;position:relative;top:1px"></icon>
<view class="btext" style="margin-top:2px;">电话</view>
</view>
</view>
<view class='flex-1' style='padding-right: 10px;' bindtap="textPaste">
<view style="position:relative;top:2px;">
<icon class="iconfont icon-weixin lh1" style="color:#787878;font-size:18px;">
</icon>
<view class="btext" style="margin-top:2px;">微信</view>
</view>
</view>
<view class='flex-1' style='padding-right: 10px;' bindtap="collectPaste">
<button catchtap="collectPaste" data-collected="{{jobDetail.storeJob.collected}}" data-jobid="{{jobDetail.storeJob.id}}" wx:if="{{isLogin}}" class="collectBtn" style="position:relative;top:3px;">
<icon class="iconfont {{jobDetail.storeJob.collected - 2 == 0 ? 'icon-wode-shoucang':'icon-shoucang-red'}} lh1" style="font-size:18px;color:#787878;"></icon>
<view class="btext" style="color:{{jobDetail.storeJob.collected - 1 == 0 ? '#DA0106' : ''}}">{{jobDetail.storeJob.collected - 1 == 0 ? '已' : ''}}收藏</view>
</button>
<button open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod" wx:else data-collected="{{jobDetail.storeJob.collected}}" data-jobid="{{jobDetail.storeJob.id}}" class="collectBtn" style="position:relative;top:3px;">
<icon class="iconfont {{isCollect ? 'icon-shoucang-red':' icon-wode-shoucang'}} lh1" style="font-size:18px;color:#787878;"></icon>
<view class="btext">收藏</view>
</button>
</view>
<view class='flex-3' style='padding-right: 16px;'>
<button wx:if="{{isLogin}}" type='primary' class="detailBtn" bindtap='goEnroll'>
立即报名
</button>
<button wx:else type='primary' class="detailBtn" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod">
立即报名
</button>
</view>
</view>
</view>
<view class="noShow">
<button bindtap="renderToCanvas">渲染到canvas</button>
<button bindtap="extraImage">导出图片</button>
<image src="{{src}}" style="width:300px; height: 240px"></image>
<wxml-to-canvas class="widget" style="width:400px; height: 360px"></wxml-to-canvas>
</view>
<scroll-view class="fadeIn" wx:if="{{phoneDialog}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog p020" style="box-sizing:border-box;">
<view class="weui-dialog__hd bb1">
<!-- <strong class="weui-dialog__title">18039237825</strong></view> -->
<!-- <view class="weui-dialog__bd">
<view>现在登录吗?</view>
</view> -->
<image src="http://matripe.oss-cn-beijing.aliyuncs.com/goodJob/bocaoLogo.png" style="width:56px;height:56px;border-radius:50%;"></image>
<view class="f20 c3">孔老师</view>
<view class="f14 c9">人才经纪人</view>
<!-- <view class="mt20 f22 c3">{{pmdUserInfo.tel}}</view> -->
<view class="mt20 f22 c3">18039237825</view>
</view>
<view class="display-flex pb20" style="padding-top:20px;">
<view class="flex-1 lflex v-center" bindtap="close" hover-class="thover">取消</view>
<view class="rflex">
<button class="" type="primary" bindtap="makePhoneCall">呼叫</button>
</view>
</view>
</view>
</scroll-view>

@ -0,0 +1,372 @@
page,
.pb180 {
padding-bottom: 120px;
}
.bottomBtn {
position: fixed;
width: 100%;
left: 0;
bottom: 0;
background-color: #fff;
border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.mt3{
margin-top: 3px;
}
.sharebtn{
padding-right: 0;
margin: 0;
display: inline;
background-color: transparent;
line-height: 1;
float:right;
margin-top: 5px;
}
.ml2{
margin-left: 2px;
}
.am-button {
margin-top: 0;
margin-bottom: 0;
}
.activeList {
display: flex;
text-align: center;
}
button::after{
border: 0;
}
.menu {
flex: 1;
line-height: 1.5;
font-size: 16px;
color: rgba(0, 0, 0, 0.65);
border-bottom: 4px solid transparent;
}
.menu.active {
font-weight: 601;
color: rgba(0, 0, 0, 0.85);
border-bottom: 4px solid #FE633F;
}
.icon-wode-shoucang{
color: #787878 !important;
}
.icon-shoucang-red{
color: #DA0106 !important;
}
.scrollImg {
/* width: 67px;
height: 67px;
margin-right: 12px;
margin-top: 20px; */
/* margin-top: 16px; */
}
.show{
display:show;
}
.hide{
display:none;
}
.scroll-header {
display: flex;
white-space: nowrap;
}
.scroll-header view {
display: inline-block;
}
.scroll-header image:first-child {
margin-left: 0px;
}
button.detailBtn{
margin-bottom: 0;
padding: 7px 0;
font-size: 18px;
font-weight: 601;
color: #ffffff;
line-height: 26px;
margin-top: 8px;
background: #027AFF;
border-radius: 21px;
margin-bottom: 16px;
}
.flex-1.f14.c085{
/* white-space: pre-wrap; */
white-space: pre-line;
font-size: 17px;
line-height: 28px;
}
button.collectBtn{
margin: 0;
padding: 0;
line-height: 1.4;
padding: 0;
background-color: #fff;
/* text-align: left; */
/* background-color: #fff; */
}
.tagsLi{
height: 20px;
font-size: 14px;
font-weight: 400;
margin-right: 8px;
margin-bottom: 8px;
color: #888;
line-height: 18px;
padding: 0px 4px;
}
.pb4{
padding-bottom: 4px;
}
.mg020 {
margin: 0 20px;
}
.dName{
font-size: 16px;
font-weight: 601;
color: #262626;
line-height: 22px;
}
.dsName{
font-size: 12px;
font-weight: 400;
color: #8c8c8c;
line-height: 17px;
}
.ava{
width: 48px;
height: 48px;
border-radius: 50%;
margin-right: 14px;
}
.f25{
font-size: 25px;
}
.p20-0{
padding: 20px 0;
margin-bottom: 20px;
}
.p020{
padding: 0 20px;
}
.dianhua{
color: #787878;
}
.achover .dianhua{
color:#999;
}
.scrollImgBox {
position: relative;
border-radius: 4px;
width: 60px;
height: 60px;
margin: 12px 5px;
overflow: hidden;
}
image {
max-width: 100%;
max-height: 100%;
}
.show {
display: show;
}
.hide {
display: none;
}
.p020 {
padding: 0 20px;
}
.scroll-header {
display: flex;
white-space: nowrap;
}
.scroll-header view {
display: inline-block;
}
.scroll-header video {
width: 100%;
height: 100%;
border-radius: 8px;
}
.scroll-header image:first-child {
margin-left: 0px;
}
.storeTitle{
font-size: 18px;
font-weight: 601;
color: #262626;
line-height: 25px;
/* margin-bottom: 10px; */
}
.storeInfo{
font-size: 15px;
font-weight: 400;
color: #939393;
line-height: 21px;
white-space: pre-line;
}
.address{
font-size: 15px;
font-weight: 400;
color: #333;
line-height: 21px;
flex: 1;
}
.btext{
font-size: 11px;
font-weight: 400;
color: #444444;
line-height: 16px;
margin-top: 2px;
}
.flex-3{
flex: 3;
}
.noShow{
position: absolute;
top: -9999px;
}
.detailH3 {
font-size: 16px;
font-weight: 400;
color: #000;
line-height: 22px;
margin-top: 16px;
margin-bottom: 8px;
}
.pri {
white-space: pre-line;
}
.pri:empty:before,
.textb1:empty:before {
content: "-" !important;
color: #333;
}
.outSp {
border: 1px solid #f3f3f3;
border-radius: 4px;
/* line-height: 56rpx; */
}
.outSp .display-flex:last-child .rb1,
.outSp .display-flex:last-child .textb1 {
border-bottom: 0;
}
.sbb1 {
border-bottom: 1rpx solid #eee !important;
}
.tabBox .display-flex {
flex-wrap: wrap;
}
.tabBox .display-flex > view {
margin-bottom: 8px;
}
.rb1 {
font-size: 14px;
color: #666;
text-align: center;
width: 80px;
border-right: 1px solid #f3f3f3;
border-bottom: 1px solid #f3f3f3;
display: flex;
align-items: center;
justify-content: center;
}
.textb1 {
white-space: pre-line;
color: #333;
border-bottom: 1px solid #f3f3f3;
padding: 0 8px;
flex: 1;
line-height: 1.8;
padding-top: 3px;
}
.jobMoney {
color: var(--color-ysd);
}
.c633 {
color: var(--color-027);
}
.videoContainer::after {
content: "";
width: 0;
height: 0;
border: 10px solid #ffffffbb;
border-right-color: transparent;
border-top-color: transparent;
border-left-width: 16px;
border-right-width: 0px;
border-bottom-color: transparent;
left: 50%;
top: 50%;
border-radius: 3px;
transform: translate(-50%, -50%);
/* background-color: #ffffff; */
position: absolute;
z-index: 10;
}
.theVideo {
position: relative;
}
.theVideo .t-icon {
position: absolute;
bottom: 80px;
right: 30px;
width: 20px;
height: 24px;
background-repeat: no-repeat;
background-size: 100%;
z-index: 1111;
}
.theVideo .t-icon::after {
position: absolute;
content: "";
width: 44px;
height: 44px;
left: 50%;
top: 50%;
transform: translate(-50%, -55%);
background-color: #ffffff66;
border-radius: 50%;
}
.t-icon-ziying1 {
background-repeat: no-repeat;
display: inline-block;
width: 32px;
height: 20px;
margin-right: 6px;
}
.ml18{
margin-left: 18px;
}
.mask {
position: fixed;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.3);
top: 0;
left: 0;
z-index: 99;
pointer-events: none;
/* display: none; */
}
.norecruit {
position: absolute;
width: 100%;
height: 38px;
line-height: 38px;
top: -38px;
font-size: 14px;
text-align: center;
background-color: #666;
color: #fff;
/* display: none; */
}

@ -1,797 +1,156 @@
const app = getApp();
const commonUtil = require("../../utils/commonUtil.js");
var inter;
Page({
data: {
// array: ['服务员1', '服务员2', '服务员3', '服务员4'],
hopeJobList: [],
//期望职位列表
hopeJobListIndex: -1,
applyType: 0,
//申请标识0预约1报名
jobDetail: {},
phoneNumber: '',
//职位详情
btnLoading: false,
sendTime: '获取验证码',
sendColor: '#fe633f',
snsMsgWait:60,
showMsgCode: true,
msgCode: '',
disabled: 0, //0不可点
_num: 0,
sex:-1,
tapFlag:true, //点击手机号倒计时变红
iosDialog1: false,
iosDialog2: false,
canInputTel: false,
inputShowed: true,
inputTel: '',
wxCode: '',
canCommit: false,
inputUserName: '',
},
onShow:function(){
// this.openIOS2();
if (app.globalData.isLogin) {
this.data.canInputTel = true;
this.data.inputTel = app.globalData.loginUserInfo.tel;
this.data.canCommit = true;
if (app.isNotEmptyCheck(app.globalData.user.userName)) {
this.data.inputUserName = app.globalData.user.userName;
}
} else {
this.wxLogin();
}
this.setData({
isLogin: app.globalData.isLogin,
hasUserInfo: app.globalData.hasUserInfo,
canInputTel: this.data.canInputTel,
canCommit: this.data.canCommit,
inputUserName: this.data.inputUserName,
});
},
wxLogin() {
var that = this;
wx.login({
success(res) {
if (res.code) {
that.setData({
wxCode: res.code
});
} else {
console.log('获取code失败' + res.errMsg)
}
}
})
},
getPhoneNumber(e) {
var that = this;
console.log(e)
console.log(e.detail.errMsg)
// console.log(e);
// console.log(e.detail.errMsg)
// console.log(e.detail.iv)
// console.log(e.detail.encryptedData)
if ("getPhoneNumber:ok" == e.detail.errMsg) { //同意
var iv = e.detail.iv;
var encryptedData = e.detail.encryptedData;
wx.checkSession({
success() {
//session_key 未过期,并且在本生命周期一直有效
wx.request({
url: app.globalData.ip + '/getWechatTel',
data: {
code: that.data.wxCode,
iv: iv,
encryptedData: encryptedData,
},
success: function(res) {
console.log(res);
let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null);
promise.then(res => {
that.setData({
isLogin: app.globalData.isLogin,
phoneNumber: app.globalData.loginUserInfo.tel,
canInputTel: true,
});
})
},
fail: function(res) {
console.log("获取用户手机号错误");
}
})
},
fail() {
// session_key 已经失效,需要重新执行登录流程
wx.login({
success(res) {
if (res.code) {
console.log(res.code);
//发起网络请求
wx.request({
url: app.globalData.ip + '/getWechatTel',
data: {
code: res.code,
iv: iv,
encryptedData: encryptedData,
},
success: function(res) {
console.log(res);
app.globalData.openId = res.data.data.openId;
let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null);
var collected = e.currentTarget.dataset.collected;
if (collected) {
promise.then(res => {
that.setData({
isLogin: app.globalData.isLogin
});
that.doCollected(collected, e.currentTarget.dataset.jobid);
})
} else {
wx.navigateTo({
url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
});
}
},
fail: function(res) {
console.log("获取用户手机号错误");
}
})
} else {
console.log('获取手机号失败!' + res.errMsg)
}
}
})
}
})
} else { //拒绝
console.log("拒绝获取手机号====");
that.setData({
canInputTel: true,
inputShowed: true,
});
}
return false;
},
close: function () {
this.setData({
iosDialog1: false,
iosDialog2: false,
})
},
closeInputCode: function () {
var telNum = '';
if (app.isNotEmptyCheck(app.globalData.loginUserInfo.tel)) {
telNum = app.globalData.loginUserInfo.tel;
}
this.setData({
iosDialog1: false,
iosDialog2: false,
phoneNumber: telNum,
})
},
openIOS1: function() {
this.setData({
iosDialog1: true
});
},
openIOS2: function() {
var that = this;
clearInterval(inter);
this.setData({
iosDialog2: true,
msgCode: '',
sendColor: '#ccc',
sendTime: '60秒',
snsMsgWait:60,
smsFlag: false
});
this.sendCode();
},
showCha: function (e) {
this.setData({
msgCode: e.detail.value
})
},
bindinputUserName: function (e) {
this.setData({
inputUserName: e.detail.value
})
},
checkCodeAndLogin: function () {
app.load("校验中...");
var that = this;
console.log(this.data.inputTel)
if (this.data.msgCode == '') {
app.hideLoad();
wx.showToast({
icon: "none",
title: '验证码不能为空',
duration: 2000
})
return;
}
var channelContactId = '';
try {
var value = wx.getStorageSync('fromQrCodeChannelContactId')
if (value) {
console.log("fromQrCodeChannelContactId======", value);
channelContactId = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
var agencyUserId = '';
try {
var value = wx.getStorageSync('storageSyncAgencyUserId')
if (value) {
console.log("storageSyncAgencyUserId======", value);
agencyUserId = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
wx.request({
url: app.globalData.ip + '/registerOrLoginByTel',
data: {
tel: that.data.inputTel,
code: that.data.msgCode,
channelContactId: channelContactId,
agencyUserId: agencyUserId,
autoLoginTag: -1,
},
header: {
'content-type': 'application/json'
},
success: function (res) {
app.hideLoad();
console.log(res.data);
if (res.data.status == 200) {
app.globalData.sessionId = res.data.data.sessionId;
app.globalData.headers.Cookie = 'JSESSIONID=' + res.data.data.sessionId;
app.globalData.headers2.Cookie = 'JSESSIONID=' + res.data.data.sessionId;
app.globalData.isLogin = true;
app.globalData.agencyStatus = res.data.data.agencyStatus;
app.globalData.hasUserInfo = res.data.data.imgSrc != '' && res.data.data.imgSrc != null && res.data.data.imgSrc != undefined && res.data.data.nickName != '' && res.data.data.nickName != null && res.data.data.nickName != undefined ? 1 : 0,
app.globalData.loginUserInfo = res.data.data;
//登录设置缓存
app.globalData.userLoginTokenInfo.tel = res.data.data.tel;
app.globalData.userLoginTokenInfo.token = null;
wx.setStorageSync('loginUserTokenInfo', app.globalData.userLoginTokenInfo);
console.log(111);
that.close();
that.setData({
isLogin: true,
canInputTel: true,
canCommit: true,
});
} else {
wx.showToast({
icon: "none",
title: res.data.msg,
duration: 2000
})
}
}
})
//console.log('form发生了submit事件携带数据为', e.detail.value)
},
inputBlur:function(e){
var that = this;
var myreg = /^[1][3456789][0-9]{9}$/;
console.log(e.detail.value);
that.data.inputTel = e.detail.value;
if(myreg.test(e.detail.value)){
if (app.globalData.isLogin) {
if (app.globalData.loginUserInfo.tel != that.data.inputTel) {
that.addUserResourceAfterInputTel();
this.openIOS2();
}
} else {
that.addUserResourceAfterInputTel();
this.openIOS2();
}
}else{
wx.showToast({
duration: 2000,
title: '手机号格式不正确',
icon: 'none',
mask: true
})
}
},
showCha: function (e) {
var myreg = /^[1][3456789][0-9]{9}$/;
if (e.target.dataset.tel == 1) {
if (myreg.test(e.detail.value) && this.data.tapFlag) {
this.setData({
disabled: 1,
phoneNumber: e.detail.value
})
} else {
this.setData({
disabled: 0
})
}
} else {
this.setData({
msgCode: e.detail.value
})
}
if (e.detail.value.length > 0) {
this.setData({
_num: e.target.dataset.num,
})
} else {
this.setData({
_num: 0,
})
}
},
sendCode: function () {
var that = this;
// 60秒后重新获取验证码
wx.request({
url: app.globalData.ip + '/commons/sendMsgCode',
data: {
// tel: that.data.phoneNumber
tel: that.data.inputTel
},
header: app.globalData.headers,
method: "GET",
success: function (res) {
console.log("发送短信验证码");
console.log(res);
if (res.data.status == 200) {
// app.globalData.headers.Cookie = 'JSESSIONID=' + res.data.data.sessionId;
// app.globalData.headers2.Cookie = 'JSESSIONID=' + res.data.data.sessionId;
that.setData({
smsFlag: true,
sendColor: '#cccccc',
sendTime: that.data.snsMsgWait + '秒',
snsMsgWait: that.data.snsMsgWait - 1,
disabled: 0,
});
inter = setInterval(function () {
that.setData({
smsFlag: true,
sendColor: '#cccccc',
sendTime: that.data.snsMsgWait + '秒',
snsMsgWait: that.data.snsMsgWait - 1
});
if (that.data.snsMsgWait < 0) {
clearInterval(inter)
that.setData({
sendColor: '#ff0000',
sendTime: '重新获取',
snsMsgWait: 60,
smsFlag: false,
disabled: 1,
});
}
}.bind(that), 1000);
} else {
wx.showToast({
icon: "none",
title: res.data.msg,
duration: 2000
});
}
}
})
},
checkMsgCode: function (formData) {
var that = this;
// if (this.data.phoneNumber == '') {
if (this.data.inputTel == '') {
that.showTips('手机号码不能为空');
return;
}
/*if(this.data.showMsgCode) {//需要填写验证码时才验证
if (this.data.msgCode == '') {
that.showTips('验证码不能为空');
return;
}
wx.request({
url: app.globalData.ip + '/commons/validateMsgCode',
data: {
tel: that.data.phoneNumber,
code: that.data.msgCode,
},
header: app.globalData.headers,
method: "GET",
success: function (res) {
console.log(res);
if (res.data.status == 200) {
that.doSubmit(formData);
}else {
that.showTips(res.data.msg);
}
}
})
} else {
that.doSubmit(formData);
}*/
that.doSubmit(formData);
},
showTips(_title) {
wx.showToast({
duration: 2000,
title: _title,
icon: 'none',
mask: true
})
},
onLoad(query) {
var that = this;
wx.setStorageSync({
key: "storeJobId",
data: -1
});
this.data.applyType = query.applyType;
console.log(this.data.applyType);
// this.data.phoneNumber = query.tel != undefined ? query.tel : '';
this.data.phoneNumber = app.globalData.loginUserInfo.tel;
console.log(this.data.jobDetail);
if (this.data.applyType == 1) {
that.data.jobDetail = wx.getStorageSync("jobDetailStorage");
console.log(that.data.jobDetail);
if(app.isEmptyCheck(that.data.jobDetail.districtStr)){
that.data.jobDetail.districtStr = that.data.jobDetail.district;
}
// that.data.jobDetail["salaryClassifyValue"] = commonUtil.getSalaryClassifyValue(that.data.jobDetail.salaryClassify, that.data.jobDetail.salaryClassify);
// that.data.jobDetail.districtStr = that.data.jobDetail.district;
that.setData({
jobDetail:that.data.jobDetail
})
wx.setNavigationBarTitle({
title: "我想报名"
});
} else {
wx.setNavigationBarTitle({
title: "预约推荐"
});
}
this.setData({
applyType: that.data.applyType,
jobDetail: that.data.jobDetail,
phoneNumber: that.data.phoneNumber,
showMsgCode: that.data.phoneNumber != '' ? false : true,
});
//this.getHopeJobLabels();
},
getHopeJobLabels() {
var that = this;
wx.request({
url: app.globalData.ip + "/labels/findAllHopeJobLabels?category=4",
method: "GET",
header: app.globalData.headers,
data: {},
success: function (res) {
console.log(res);
that.setData({
hopeJobList: res.data.data
});
},
fail: function (res) {
console.log("获取期望职位错误");
}
});
},
bindPickerChange(e) {
console.log("picker发送选择改变携带值为", e.detail.value);
this.setData({
hopeJobListIndex: e.detail.value
});
},
changeSex(e){
var sex = e.currentTarget.dataset.sex;
this.setData({
sex: sex
});
},
onSubmit(e) {
console.log(e);
var that = this;
that.setData({
btnLoading: true
});
if (e.detail.value.tel == '') {
that.showTips('你尚未验证手机号,不能报名');
that.setData({
btnLoading: false
});
return;
}
var myreg = /^[1][3456789][0-9]{9}$/;
if (!myreg.test(e.detail.value.tel) || e.detail.value.tel == "") {
wx.showToast({
icon: "none",
title: "请输入正确手机号",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
var formData = e.detail.value;
formData["applyType"] = that.data.applyType;
// formData["sex"] = that.data.sex;
if (that.data.applyType == 1) {
formData["storeJobId"] = that.data.jobDetail.id;
}
console.log(formData);
that.checkMsgCode(formData);
},
onSubmitAfterGetUserInfo() {
var that = this;
that.setData({
btnLoading: true
});
if (that.data.inputTel == '') {
that.showTips('你尚未验证手机号,不能报名');
that.setData({
btnLoading: false
});
return;
}
var myreg = /^[1][3456789][0-9]{9}$/;
if (!myreg.test(that.data.inputTel) || that.data.inputTel == "") {
wx.showToast({
icon: "none",
title: "请输入正确手机号",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
var formData = {
userName: that.data.inputUserName,
tel: that.data.inputTel,
};
formData["applyType"] = that.data.applyType;
// formData["sex"] = that.data.sex;
if (that.data.applyType == 1) {
formData["storeJobId"] = that.data.jobDetail.id;
}
console.log(formData);
that.checkMsgCode(formData);
},
doSubmit(formData) {
var that = this;
try {
var value = wx.getStorageSync('fromQrCodeChannelContactId')
if (value) {
console.log("fromQrCodeChannelContactId======", value);
formData['channelContactId'] = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
try {
var value = wx.getStorageSync('storageSyncAgencyUserId')
if (value) {
console.log("storageSyncAgencyUserId======", value);
formData['agencyUserId'] = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
formData['isCommission'] = app.globalData.isCommission;
wx.request({
url: app.globalData.ip + "/user/resource/applyJobWX",
method: "POST",
header: app.globalData.headers,
data: formData,
success: function (res) {
console.log(res);
if (res.data.status == 200) {
if (res.data.data.doLogin == 0) {
app.setLoginUserTokenInfo(formData.tel, null);
}
if (app.isNotEmptyCheck(formData.userName)) {//报名之后把用户名修改了,设置一下前端缓存的用户名
app.globalData.user.userName = formData.userName;
}
wx.redirectTo({
url: "../success/index?applyType=" + that.data.applyType
});
} else {
wx.showToast({
icon: "none",
title: res.data.msg,
duration: 2000
});
that.setData({
btnLoading: false
});
}
}
});
},
addUserResourceAfterInputTel() {
var that = this;
var formData = {
applyType: 1,
sourceFrom: 19,
tel: that.data.inputTel,
};
that.addOneRecord(formData);
},
addUserResourceAfterGetWXUserInfoRefuse() {
var that = this;
var formData = {
applyType: 1,
sourceFrom: 20,
tel: that.data.inputTel,
};
that.addOneRecord(formData);
that.openIOS1();
},
addOneRecord(formData) {
var that = this;
if (that.data.applyType == 1) {
formData["storeJobId"] = that.data.jobDetail.id;
}
try {
var value = wx.getStorageSync('fromQrCodeChannelContactId')
if (value) {
console.log("fromQrCodeChannelContactId======", value);
formData['channelContactId'] = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
try {
var value = wx.getStorageSync('storageSyncAgencyUserId')
if (value) {
console.log("storageSyncAgencyUserId======", value);
formData['agencyUserId'] = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
wx.request({
url: app.globalData.ip + "/user/resource/applyJobWX",
method: "POST",
header: app.globalData.headers,
data: formData,
success: function (res) {
console.log(res);
if (res.data.status == 200) {
} else {
}
}
});
},
emptyMethod() {
},
getUserInfoBtn: function(e) {
console.log(e)
let that = this;
// let type = e.currentTarget.dataset.type;
// var collected = e.currentTarget.dataset.collected;
// var storeJobId = e.currentTarget.dataset.jobid;
// let idx = e.currentTarget.dataset.idx;
// console.log(type)
wx.getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log(res)
//发起网络请求
wx.request({
url: app.globalData.ip + '/updateUserWechatInfo',
data: {
nickName: res.userInfo.nickName,
avatarUrl: res.userInfo.avatarUrl,
gender: res.userInfo.gender,
country: res.userInfo.country,
province: res.userInfo.province,
city: res.userInfo.city,
},
method: "POST",
header: app.globalData.headers,
success: function(res) {
console.log(res);
app.globalData.hasUserInfo = 1;
that.setData({
hasUserInfo: 1
})
that.onSubmitAfterGetUserInfo();
},
fail: function(res) {
that.addUserResourceAfterGetWXUserInfoRefuse();
}
})
},
fail: (res) => {
console.log(res)
that.addUserResourceAfterGetWXUserInfoRefuse();
}
})
},
});
// pages/enroll/index.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
inputUserName: '',
phoneNumber:'',
btnLoading: false,
jobDetail:{}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
// console.log(wx.getStorageSync("jobDetailStorageChajian"))
},
bindinputUserName(e) {
console.log(e)
},
getJob(e){
console.log(e.detail)
this.setData({
jobDetail:e.detail
})
},
onSubmit(e) {
console.log(e);
var that = this;
that.setData({
btnLoading: true
});
if (e.detail.value.userName == '') {
wx.showToast({
icon: "none",
title: "请输入姓名",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
var myreg = /^[1][3456789][0-9]{9}$/;
if (!myreg.test(e.detail.value.tel) || e.detail.value.tel == "") {
wx.showToast({
icon: "none",
title: "请输入正确手机号",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
var formData = {
userName: e.detail.value.userName,
tel: e.detail.value.tel,
applyType:1,
isCommission:0,
storeJobId:that.data.jobDetail.storeJob.id
};
wx.request({
url: app.globalData.ip + "/user/resource/applyJobWX",
method: "POST",
header: app.globalData.headers,
data: formData,
success: function (res) {
wx.showToast({
icon: "success",
title: "报名成功",
duration: 3000,
success(){
that.setData({
inputUserName:'',
phoneNumber:'',
btnLoading: false
})
}
});
}
})
},
getPhoneNumber(e) {
var that = this;
console.log(e.detail.code) // 动态令牌
console.log(e.detail.errMsg) // 回调信息(成功失败都会返回)
console.log(e.detail.errno) // 错误码(失败时返回)
if ("getPhoneNumber:ok" == e.detail.errMsg) { //同意
} else { //拒绝
console.log("拒绝获取手机号====");
}
return false;
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -1,4 +1,6 @@
{
"navigationBarTitleText": "我想报名"
}
"navigationBarTitleText": "我想报名",
"usingComponents": {
"enroll": "plugin://job-plugin/enroll"
}
}

@ -1,208 +1,25 @@
<view class='bt1'>
<block wx:if='{{applyType == 0}}'>
<view class='p1020 f12 c045' style='padding-right: 0;'>
请提供你的联系方式和基本信息,稍后会有职业顾问联系你,免费帮你推荐合适的工作
</view>
</block>
<block wx:elif='{{applyType == 1}}'>
<view class='p20'>
<view class='v-center'>
<view class='jobTitle'>
<!-- {{jobDetail.store.aliasName}} {{jobDetail.storeJob.jobName}} -->
{{jobDetail.jobName}}
</view>
</view>
<view class='display-flex mt20 mb8'>
<view class="display-flex flex-1">
<view>
<image class='tImage' wx:if="{{jobDetail.logo != null && jobDetail.logo != ''}}" mode='aspectFit'
src='{{jobDetail.logo}}'>
</image>
<image class='tImage' wx:else mode='aspectFit'
src='https://matripe.oss-cn-beijing.aliyuncs.com/default.png'>
</image>
</view>
<view class="flex-1 vsb">
<view class='f14s c045 mb4'>
<!-- 深圳丨龙岗区丨16-35岁 -->
{{jobDetail.districtStr}}{{jobDetail.distance}}
</view>
<view class='f14s c045 mb4'>
<!-- 深圳丨龙岗区丨16-35岁 -->
<block wx:if="{{jobDetail.gender == 1}}">限男生</block>
<block wx:if="{{jobDetail.gender == 2}}">限女生</block>
<block wx:if="{{jobDetail.gender == 3}}">男女不限</block>
丨{{jobDetail.age}}
<!-- {{jobDetail.storeJob.district}}{{jobDetail.storeJob.age}} -->
</view>
</view>
</view>
<view class="tr">
<view class='jobMoney'>
{{jobDetail.salaryClassifyValue}}
</view>
<view class='f14s c633 mt8'>
<!-- 5200-8400 -->
{{jobDetail.monthlyPay}}
</view>
</view>
</view>
<view>
<view wx:if="{{jobDetail.rebate != null}}" class='tagsLi'>
返费{{jobDetail.rebate}}
</view>
<view class='tagsLi' wx:for="{{jobDetail.jobSpecialLabelNames}}" wx:for-item="item1" wx:key='{{index}}'>
{{item1}}
</view>
</view>
<view class="bt1 mt16"></view>
</view>
<!-- <view class='f13 c045 bb1 bt1' style='padding: 32px 16px 8px;'>
请提供你的基本信息,稍后会有经纪人联系你
</view> -->
</block>
<form bindsubmit='onSubmit'>
<view class='page-section'>
<view class='form-row'>
<view class='form-row-label'>
姓名
</view>
<view class='form-row-content'>
<input class='input' name='userName' value="{{inputUserName}}" bindinput='bindinputUserName' bindfocus='bindinputUserName' placeholder='请输入你的姓名' type='text'>
</input>
</view>
</view>
<!-- <view class='form-row'>
<view class='form-row-label'>
性别
</view>
<view class="dib" data-sex="1" bindtap="changeSex">
<view class="iconfont {{sex == '1' ? 'icon-xuanzhong' : 'icon-weixuanzhong'}} dib"></view>
<text class='radioText'>男</text>
</view>
<view class="dib ml16" data-sex="2" bindtap="changeSex">
<view class="iconfont {{sex == '2' ? 'icon-xuanzhong' : 'icon-weixuanzhong'}} dib"></view>
<text class='radioText'>女</text>
</view>
</view> -->
<!-- <view class='form-row'>
<view class='form-row-label'>
年龄
</view>
<view class='form-row-content'>
<input class='input' name='age' placeholder='请输入你的年龄' type='number'>
</input>
</view>
</view> -->
</view>
<view class='page-section'>
<view class='form-row'>
<view class='form-row-label'>
手机号
</view>
<view class='form-row-content pr'>
<!-- <input class='input {{showMsgCode?"pea":"pen"}}' name='tel' value="{{phoneNumber}}" placeholder='请输入手机号'
type='number' bindinput='showCha' bindfocus='showCha' data-num="5" data-tel="1" maxlength='11'>
</input> -->
<button wx:if="{{!canInputTel}}" class="pa input" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod" style="position: absolute; width: 100%; opacity: 0;margin-top: 0;z-index: 99; ">啊啊啊</button>
<input class='input' name='tel' value="{{phoneNumber}}" focus="{{inputShowed}}" placeholder='请输入手机号' type='number' bindinput='showCha'
bindfocus='showCha' data-num="5" data-tel="1" maxlength='11' bindblur="inputBlur">
</input>
</view>
</view>
<!-- <view class="weui-cell weui-cell_vcode f14s">
<view class="weui-cell__hd">
<view class="weui-label fwb f16">验证码</view>
</view>
<view class="weui-cell__bd">
<input bindinput='showCha' bindfocus='showCha' data-num="6" maxlength='4' value="{{msgCode}}"
class="weui-input f16" type="number" placeholder="请输入验证码" />
</view>
<view class="weui-cell__ft">
<view class="weui-vcode-btn f16 {{smsFlag ?'pen':'pea'}}" bindtap="sendCode" disabled="{{smsFlag}}"
style="color:{{sendColor}};">{{sendTime}}</view>
</view>
</view> -->
<!-- <view class='form-line' style="margin-left:0;">
</view> -->
</view>
<view class='mt50 tc'>
<button wx:if="{{!canCommit}}" type='primary' formType='submit' class='fullBtn' disabled='true'>
<block wx:if='{{applyType == 0}}'>
提交预约
</block>
<block wx:elif='{{applyType == 1}}'>
提交报名
</block>
</button>
<button wx:if="{{canCommit && hasUserInfo == 1}}" type='primary' formType='submit' class='fullBtn' disabled='{{btnLoading}}'>
<block wx:if='{{applyType == 0}}'>
提交预约
</block>
<block wx:elif='{{applyType == 1}}'>
提交报名
</block>
</button>
<button wx:if="{{canCommit && hasUserInfo - 0 == 0}}" class="fullBtn" open-type="getUserInfo" bindtap="getUserInfoBtn" >提交报名</button>
<!-- <button wx:if="{{canCommit && !hasUserInfo}}" type='primary' formType='submit' class='fullBtn' disabled='{{btnLoading}}'>
<block wx:if='{{applyType == 0}}'>
提交预约
</block>
<block wx:elif='{{applyType == 1}}'>
提交报名
</block>
</button> -->
<!-- <button type='primary' class='fullBtn' bindtap="openIOS1">
点击出弹框
</button> -->
</view>
</form>
</view>
<scroll-view class="fadeIn" wx:if="{{iosDialog1}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog">
<view class="weui-dialog__hd"><strong class="weui-dialog__title">提交失败</strong></view>
<view class="weui-dialog__bd bd1">
<view>你需要授权你的微信昵称才可以提交报名</view>
</view>
<view class="display-flex pb20 v-center">
<view class="flex-1 lflex" bindtap="close" hover-class="thover" style="padding-left:0;">知道了</view>
</view>
</view>
</scroll-view>
<scroll-view class="fadeIn" wx:if="{{iosDialog2}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog">
<view class="weui-dialog__hd"><strong class="weui-dialog__title">请输入发送到你手机上的验证码</strong></view>
<view class="weui-dialog__bd">
<view class="display-flex">
<view class="flex-1">
<input maxlength='4' value="{{msgCode}}" bindinput='showCha' class="f16" type="number" placeholder="请输入验证码" />
</view>
<view class="rightTime {{disabled == 1?'':'pen'}}" style="color: {{sendColor}}" bindtap='sendCode'> {{sendTime}}
</view>
</view>
</view>
<view class="display-flex pb20">
<view class="flex-1 lflex v-center" bindtap="closeInputCode" hover-class="thover">取消</view>
<view class="rflex">
<button class="" type="primary" bindtap="checkCodeAndLogin">确定</button>
</view>
</view>
</view>
</scroll-view>
<enroll bindsendJob="getJob"></enroll>
<form bindsubmit='onSubmit'>
<view class='page-section mt20'>
<view class='form-row'>
<view class='form-row-label'>
姓名
</view>
<view class='form-row-content'>
<input class='input' name='userName' value="{{inputUserName}}" placeholder='请输入你的姓名' type='text'>
</input>
</view>
</view>
<view class='form-row'>
<view class='form-row-label'>
手机号
</view>
<view class='form-row-content pr'>
<!-- <button class="pa input" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" style="position: absolute; width: 100%; opacity: 1;margin-top: 0;z-index: 99; ">啊啊啊</button> -->
<input class='input' name='tel' value="{{phoneNumber}}" focus="{{inputShowed}}" placeholder='请输入手机号' type='number' maxlength='11'>
</input>
</view>
</view>
</view>
<button class="fullBtn mt80" formType='submit' disabled="{{btnLoading}}" loading="{{btnLoading}}" open-type="getUserInfo" >提交报名</button>
</form>

@ -1,176 +1,48 @@
.date-radio {
padding: 26rpx;
}
.date-radio label + label {
margin-left: 20rpx;
}
.row {
display: flex;
align-items: center;
padding: 0 30rpx;
}
.row-title {
flex: 1;
padding-top: 28rpx;
padding-bottom: 28rpx;
font-size: 34rpx;
color: #000;
}
.row-extra {
flex-basis: initial;
font-size: 14px;
color: #111;
}
.row-arrow {
width: 32rpx;
height: 32rpx;
margin-left: 16rpx;
}
input {
font-size: 16px;
color: #262626 !important;
}
.zbtn{
width: 100%;
position: absolute;
top: -23px;
left: 0;
z-index: 999;
opacity: 0;
}
.pr{
position: relative;
}
.f14s{
font-size: 14px;
}
.weui-cell:before {
-webkit-transform: scaleY(1);
transform: scaleY(1);
border-top: 1px solid rgba(0,0,0,0.08);
}
.weui-vcode-btn {
display: inline-block;
padding: 0 0.6em 0 0.7em;
line-height: 44px;
font-size: 16px;
height: auto;
}
.weui-cell{
padding-left: 20px;
}
.weui-label{
width:95px;
.form-row {
display: flex;
align-items: center;
padding: 0 20px;
height: 44px;
align-items: center;
margin-bottom: 20px;
}
.form-row{
margin-bottom: 20px;
.form-row-label {
width: 50px;
font-size: 16px;
font-weight: 400;
color: #666666;
line-height: 22px;
margin-right: 10px;
}
.form-row-label,input {
font-size: 16px;
.form-row-content {
flex: 1;
font-size: 16px;
background: #f4f4f4;
border-radius: 6px;
line-height: 50px;
}
input {
height: 50px;
line-height: 50px;
padding-left: 20px;
}
.tagsLi{
font-size: 16px;
font-weight: 400;
color: #555555;
line-height: 22px;
padding:1px 8px;
height: 50px;
line-height: 50px;
padding-left: 20px;
}
.mt50{
margin-top: 90px;
.mt20{
margin-top: 20px;
}
.fullBtn{
width: 260px;
width: 260px;
height: 50px;
opacity: 1;
background-color: #027AFF;
background-color: #ff4400;
border-radius: 25px;
font-size: 18px;
font-weight: 601;
color: #ffffff;
line-height: 50px;
}
.ml16{
margin-left: 16px;
.fullBtn:active,.fullBtn:focus{
background-color:#ff6933;
}
.mt80{
margin-top: 80px;
}
.weui-dialog__title{
font-size: 18px;
font-weight: 400;
color: #333333;
line-height: 25px;
}
.weui-dialog__bd{
font-size: 16px;
font-weight: 400;
text-align: center;
color: #787878;
line-height: 22px;
margin-bottom: 20px;
/* border-bottom: 1rpx solid #e2e2e2; */
}
.weui-dialog__bd.bd1{
padding:0 40px 20px 40px;
border-bottom: 1rpx solid #e2e2e2;
}
.weui-dialog__bd .display-flex{
padding:0;
padding-bottom:20px;
border-bottom: 1rpx solid #e2e2e2;
}
.weui-dialog__hd {
padding: 32px 24px 20px;
}
.weui-dialog__bd input{
height: 40px;
text-align: left;
opacity: 1;
background: #f4f4f4;
border-radius: 6px;
}
.rightTime{
width: 120px;
text-align: center;
line-height: 40px;
}
.lflex{
font-size: 18px;
font-weight: 601;
text-align: center;
color: #027AFF;
line-height: 28px;
/* margin-top: 7px; */
padding:0 10px 0 30px;
}
.rflex{
flex:1;
padding:0 30px 0 10px;
}
.rflex button{
margin-top: 0;
margin-bottom: 0;
height: 40px;
opacity: 1;
background: #027AFF;
border-radius: 25px;
font-size: 18px;
font-weight: 601;
color: #ffffff;
line-height: 40px;
}
.pb16{
padding-bottom: 16px;
}
.pb20{
padding-bottom: 20px;
}

@ -0,0 +1,797 @@
const app = getApp();
const commonUtil = require("../../utils/commonUtil.js");
var inter;
Page({
data: {
// array: ['服务员1', '服务员2', '服务员3', '服务员4'],
hopeJobList: [],
//期望职位列表
hopeJobListIndex: -1,
applyType: 0,
//申请标识0预约1报名
jobDetail: {},
phoneNumber: '',
//职位详情
btnLoading: false,
sendTime: '获取验证码',
sendColor: '#fe633f',
snsMsgWait:60,
showMsgCode: true,
msgCode: '',
disabled: 0, //0不可点
_num: 0,
sex:-1,
tapFlag:true, //点击手机号倒计时变红
iosDialog1: false,
iosDialog2: false,
canInputTel: false,
inputShowed: true,
inputTel: '',
wxCode: '',
canCommit: false,
inputUserName: '',
},
onShow:function(){
// this.openIOS2();
if (app.globalData.isLogin) {
this.data.canInputTel = true;
this.data.inputTel = app.globalData.loginUserInfo.tel;
this.data.canCommit = true;
if (app.isNotEmptyCheck(app.globalData.user.userName)) {
this.data.inputUserName = app.globalData.user.userName;
}
} else {
this.wxLogin();
}
this.setData({
isLogin: app.globalData.isLogin,
hasUserInfo: app.globalData.hasUserInfo,
canInputTel: this.data.canInputTel,
canCommit: this.data.canCommit,
inputUserName: this.data.inputUserName,
});
},
wxLogin() {
var that = this;
wx.login({
success(res) {
if (res.code) {
that.setData({
wxCode: res.code
});
} else {
console.log('获取code失败' + res.errMsg)
}
}
})
},
getPhoneNumber(e) {
var that = this;
console.log(e)
console.log(e.detail.errMsg)
// console.log(e);
// console.log(e.detail.errMsg)
// console.log(e.detail.iv)
// console.log(e.detail.encryptedData)
if ("getPhoneNumber:ok" == e.detail.errMsg) { //同意
var iv = e.detail.iv;
var encryptedData = e.detail.encryptedData;
wx.checkSession({
success() {
//session_key 未过期,并且在本生命周期一直有效
wx.request({
url: app.globalData.ip + '/getWechatTel',
data: {
code: that.data.wxCode,
iv: iv,
encryptedData: encryptedData,
},
success: function(res) {
console.log(res);
let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null);
promise.then(res => {
that.setData({
isLogin: app.globalData.isLogin,
phoneNumber: app.globalData.loginUserInfo.tel,
canInputTel: true,
});
})
},
fail: function(res) {
console.log("获取用户手机号错误");
}
})
},
fail() {
// session_key 已经失效,需要重新执行登录流程
wx.login({
success(res) {
if (res.code) {
console.log(res.code);
//发起网络请求
wx.request({
url: app.globalData.ip + '/getWechatTel',
data: {
code: res.code,
iv: iv,
encryptedData: encryptedData,
},
success: function(res) {
console.log(res);
app.globalData.openId = res.data.data.openId;
let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null);
var collected = e.currentTarget.dataset.collected;
if (collected) {
promise.then(res => {
that.setData({
isLogin: app.globalData.isLogin
});
that.doCollected(collected, e.currentTarget.dataset.jobid);
})
} else {
wx.navigateTo({
url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber
});
}
},
fail: function(res) {
console.log("获取用户手机号错误");
}
})
} else {
console.log('获取手机号失败!' + res.errMsg)
}
}
})
}
})
} else { //拒绝
console.log("拒绝获取手机号====");
that.setData({
canInputTel: true,
inputShowed: true,
});
}
return false;
},
close: function () {
this.setData({
iosDialog1: false,
iosDialog2: false,
})
},
closeInputCode: function () {
var telNum = '';
if (app.isNotEmptyCheck(app.globalData.loginUserInfo.tel)) {
telNum = app.globalData.loginUserInfo.tel;
}
this.setData({
iosDialog1: false,
iosDialog2: false,
phoneNumber: telNum,
})
},
openIOS1: function() {
this.setData({
iosDialog1: true
});
},
openIOS2: function() {
var that = this;
clearInterval(inter);
this.setData({
iosDialog2: true,
msgCode: '',
sendColor: '#ccc',
sendTime: '60秒',
snsMsgWait:60,
smsFlag: false
});
this.sendCode();
},
showCha: function (e) {
this.setData({
msgCode: e.detail.value
})
},
bindinputUserName: function (e) {
this.setData({
inputUserName: e.detail.value
})
},
checkCodeAndLogin: function () {
app.load("校验中...");
var that = this;
console.log(this.data.inputTel)
if (this.data.msgCode == '') {
app.hideLoad();
wx.showToast({
icon: "none",
title: '验证码不能为空',
duration: 2000
})
return;
}
var channelContactId = '';
try {
var value = wx.getStorageSync('fromQrCodeChannelContactId')
if (value) {
console.log("fromQrCodeChannelContactId======", value);
channelContactId = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
var agencyUserId = '';
try {
var value = wx.getStorageSync('storageSyncAgencyUserId')
if (value) {
console.log("storageSyncAgencyUserId======", value);
agencyUserId = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
wx.request({
url: app.globalData.ip + '/registerOrLoginByTel',
data: {
tel: that.data.inputTel,
code: that.data.msgCode,
channelContactId: channelContactId,
agencyUserId: agencyUserId,
autoLoginTag: -1,
},
header: {
'content-type': 'application/json'
},
success: function (res) {
app.hideLoad();
console.log(res.data);
if (res.data.status == 200) {
app.globalData.sessionId = res.data.data.sessionId;
app.globalData.headers.Cookie = 'JSESSIONID=' + res.data.data.sessionId;
app.globalData.headers2.Cookie = 'JSESSIONID=' + res.data.data.sessionId;
app.globalData.isLogin = true;
app.globalData.agencyStatus = res.data.data.agencyStatus;
app.globalData.hasUserInfo = res.data.data.imgSrc != '' && res.data.data.imgSrc != null && res.data.data.imgSrc != undefined && res.data.data.nickName != '' && res.data.data.nickName != null && res.data.data.nickName != undefined ? 1 : 0,
app.globalData.loginUserInfo = res.data.data;
//登录设置缓存
app.globalData.userLoginTokenInfo.tel = res.data.data.tel;
app.globalData.userLoginTokenInfo.token = null;
wx.setStorageSync('loginUserTokenInfo', app.globalData.userLoginTokenInfo);
console.log(111);
that.close();
that.setData({
isLogin: true,
canInputTel: true,
canCommit: true,
});
} else {
wx.showToast({
icon: "none",
title: res.data.msg,
duration: 2000
})
}
}
})
//console.log('form发生了submit事件携带数据为', e.detail.value)
},
inputBlur:function(e){
var that = this;
var myreg = /^[1][3456789][0-9]{9}$/;
console.log(e.detail.value);
that.data.inputTel = e.detail.value;
if(myreg.test(e.detail.value)){
if (app.globalData.isLogin) {
if (app.globalData.loginUserInfo.tel != that.data.inputTel) {
that.addUserResourceAfterInputTel();
this.openIOS2();
}
} else {
that.addUserResourceAfterInputTel();
this.openIOS2();
}
}else{
wx.showToast({
duration: 2000,
title: '手机号格式不正确',
icon: 'none',
mask: true
})
}
},
showCha: function (e) {
var myreg = /^[1][3456789][0-9]{9}$/;
if (e.target.dataset.tel == 1) {
if (myreg.test(e.detail.value) && this.data.tapFlag) {
this.setData({
disabled: 1,
phoneNumber: e.detail.value
})
} else {
this.setData({
disabled: 0
})
}
} else {
this.setData({
msgCode: e.detail.value
})
}
if (e.detail.value.length > 0) {
this.setData({
_num: e.target.dataset.num,
})
} else {
this.setData({
_num: 0,
})
}
},
sendCode: function () {
var that = this;
// 60秒后重新获取验证码
wx.request({
url: app.globalData.ip + '/commons/sendMsgCode',
data: {
// tel: that.data.phoneNumber
tel: that.data.inputTel
},
header: app.globalData.headers,
method: "GET",
success: function (res) {
console.log("发送短信验证码");
console.log(res);
if (res.data.status == 200) {
// app.globalData.headers.Cookie = 'JSESSIONID=' + res.data.data.sessionId;
// app.globalData.headers2.Cookie = 'JSESSIONID=' + res.data.data.sessionId;
that.setData({
smsFlag: true,
sendColor: '#cccccc',
sendTime: that.data.snsMsgWait + '秒',
snsMsgWait: that.data.snsMsgWait - 1,
disabled: 0,
});
inter = setInterval(function () {
that.setData({
smsFlag: true,
sendColor: '#cccccc',
sendTime: that.data.snsMsgWait + '秒',
snsMsgWait: that.data.snsMsgWait - 1
});
if (that.data.snsMsgWait < 0) {
clearInterval(inter)
that.setData({
sendColor: '#ff0000',
sendTime: '重新获取',
snsMsgWait: 60,
smsFlag: false,
disabled: 1,
});
}
}.bind(that), 1000);
} else {
wx.showToast({
icon: "none",
title: res.data.msg,
duration: 2000
});
}
}
})
},
checkMsgCode: function (formData) {
var that = this;
// if (this.data.phoneNumber == '') {
if (this.data.inputTel == '') {
that.showTips('手机号码不能为空');
return;
}
/*if(this.data.showMsgCode) {//需要填写验证码时才验证
if (this.data.msgCode == '') {
that.showTips('验证码不能为空');
return;
}
wx.request({
url: app.globalData.ip + '/commons/validateMsgCode',
data: {
tel: that.data.phoneNumber,
code: that.data.msgCode,
},
header: app.globalData.headers,
method: "GET",
success: function (res) {
console.log(res);
if (res.data.status == 200) {
that.doSubmit(formData);
}else {
that.showTips(res.data.msg);
}
}
})
} else {
that.doSubmit(formData);
}*/
that.doSubmit(formData);
},
showTips(_title) {
wx.showToast({
duration: 2000,
title: _title,
icon: 'none',
mask: true
})
},
onLoad(query) {
var that = this;
wx.setStorageSync({
key: "storeJobId",
data: -1
});
this.data.applyType = query.applyType;
console.log(this.data.applyType);
// this.data.phoneNumber = query.tel != undefined ? query.tel : '';
this.data.phoneNumber = app.globalData.loginUserInfo.tel;
console.log(this.data.jobDetail);
if (this.data.applyType == 1) {
that.data.jobDetail = wx.getStorageSync("jobDetailStorage");
console.log(that.data.jobDetail);
if(app.isEmptyCheck(that.data.jobDetail.districtStr)){
that.data.jobDetail.districtStr = that.data.jobDetail.district;
}
// that.data.jobDetail["salaryClassifyValue"] = commonUtil.getSalaryClassifyValue(that.data.jobDetail.salaryClassify, that.data.jobDetail.salaryClassify);
// that.data.jobDetail.districtStr = that.data.jobDetail.district;
that.setData({
jobDetail:that.data.jobDetail
})
wx.setNavigationBarTitle({
title: "我想报名"
});
} else {
wx.setNavigationBarTitle({
title: "预约推荐"
});
}
this.setData({
applyType: that.data.applyType,
jobDetail: that.data.jobDetail,
phoneNumber: that.data.phoneNumber,
showMsgCode: that.data.phoneNumber != '' ? false : true,
});
//this.getHopeJobLabels();
},
getHopeJobLabels() {
var that = this;
wx.request({
url: app.globalData.ip + "/labels/findAllHopeJobLabels?category=4",
method: "GET",
header: app.globalData.headers,
data: {},
success: function (res) {
console.log(res);
that.setData({
hopeJobList: res.data.data
});
},
fail: function (res) {
console.log("获取期望职位错误");
}
});
},
bindPickerChange(e) {
console.log("picker发送选择改变携带值为", e.detail.value);
this.setData({
hopeJobListIndex: e.detail.value
});
},
changeSex(e){
var sex = e.currentTarget.dataset.sex;
this.setData({
sex: sex
});
},
onSubmit(e) {
console.log(e);
var that = this;
that.setData({
btnLoading: true
});
if (e.detail.value.tel == '') {
that.showTips('你尚未验证手机号,不能报名');
that.setData({
btnLoading: false
});
return;
}
var myreg = /^[1][3456789][0-9]{9}$/;
if (!myreg.test(e.detail.value.tel) || e.detail.value.tel == "") {
wx.showToast({
icon: "none",
title: "请输入正确手机号",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
var formData = e.detail.value;
formData["applyType"] = that.data.applyType;
// formData["sex"] = that.data.sex;
if (that.data.applyType == 1) {
formData["storeJobId"] = that.data.jobDetail.id;
}
console.log(formData);
that.checkMsgCode(formData);
},
onSubmitAfterGetUserInfo() {
var that = this;
that.setData({
btnLoading: true
});
if (that.data.inputTel == '') {
that.showTips('你尚未验证手机号,不能报名');
that.setData({
btnLoading: false
});
return;
}
var myreg = /^[1][3456789][0-9]{9}$/;
if (!myreg.test(that.data.inputTel) || that.data.inputTel == "") {
wx.showToast({
icon: "none",
title: "请输入正确手机号",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
var formData = {
userName: that.data.inputUserName,
tel: that.data.inputTel,
};
formData["applyType"] = that.data.applyType;
// formData["sex"] = that.data.sex;
if (that.data.applyType == 1) {
formData["storeJobId"] = that.data.jobDetail.id;
}
console.log(formData);
that.checkMsgCode(formData);
},
doSubmit(formData) {
var that = this;
try {
var value = wx.getStorageSync('fromQrCodeChannelContactId')
if (value) {
console.log("fromQrCodeChannelContactId======", value);
formData['channelContactId'] = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
try {
var value = wx.getStorageSync('storageSyncAgencyUserId')
if (value) {
console.log("storageSyncAgencyUserId======", value);
formData['agencyUserId'] = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
formData['isCommission'] = app.globalData.isCommission;
wx.request({
url: app.globalData.ip + "/user/resource/applyJobWX",
method: "POST",
header: app.globalData.headers,
data: formData,
success: function (res) {
console.log(res);
if (res.data.status == 200) {
if (res.data.data.doLogin == 0) {
app.setLoginUserTokenInfo(formData.tel, null);
}
if (app.isNotEmptyCheck(formData.userName)) {//报名之后把用户名修改了,设置一下前端缓存的用户名
app.globalData.user.userName = formData.userName;
}
wx.redirectTo({
url: "../success/index?applyType=" + that.data.applyType
});
} else {
wx.showToast({
icon: "none",
title: res.data.msg,
duration: 2000
});
that.setData({
btnLoading: false
});
}
}
});
},
addUserResourceAfterInputTel() {
var that = this;
var formData = {
applyType: 1,
sourceFrom: 19,
tel: that.data.inputTel,
};
that.addOneRecord(formData);
},
addUserResourceAfterGetWXUserInfoRefuse() {
var that = this;
var formData = {
applyType: 1,
sourceFrom: 20,
tel: that.data.inputTel,
};
that.addOneRecord(formData);
that.openIOS1();
},
addOneRecord(formData) {
var that = this;
if (that.data.applyType == 1) {
formData["storeJobId"] = that.data.jobDetail.id;
}
try {
var value = wx.getStorageSync('fromQrCodeChannelContactId')
if (value) {
console.log("fromQrCodeChannelContactId======", value);
formData['channelContactId'] = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
try {
var value = wx.getStorageSync('storageSyncAgencyUserId')
if (value) {
console.log("storageSyncAgencyUserId======", value);
formData['agencyUserId'] = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
wx.request({
url: app.globalData.ip + "/user/resource/applyJobWX",
method: "POST",
header: app.globalData.headers,
data: formData,
success: function (res) {
console.log(res);
if (res.data.status == 200) {
} else {
}
}
});
},
emptyMethod() {
},
getUserInfoBtn: function(e) {
console.log(e)
let that = this;
// let type = e.currentTarget.dataset.type;
// var collected = e.currentTarget.dataset.collected;
// var storeJobId = e.currentTarget.dataset.jobid;
// let idx = e.currentTarget.dataset.idx;
// console.log(type)
wx.getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log(res)
//发起网络请求
wx.request({
url: app.globalData.ip + '/updateUserWechatInfo',
data: {
nickName: res.userInfo.nickName,
avatarUrl: res.userInfo.avatarUrl,
gender: res.userInfo.gender,
country: res.userInfo.country,
province: res.userInfo.province,
city: res.userInfo.city,
},
method: "POST",
header: app.globalData.headers,
success: function(res) {
console.log(res);
app.globalData.hasUserInfo = 1;
that.setData({
hasUserInfo: 1
})
that.onSubmitAfterGetUserInfo();
},
fail: function(res) {
that.addUserResourceAfterGetWXUserInfoRefuse();
}
})
},
fail: (res) => {
console.log(res)
that.addUserResourceAfterGetWXUserInfoRefuse();
}
})
},
});

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "我想报名"
}

@ -0,0 +1,208 @@
<view class='bt1'>
<block wx:if='{{applyType == 0}}'>
<view class='p1020 f12 c045' style='padding-right: 0;'>
请提供你的联系方式和基本信息,稍后会有职业顾问联系你,免费帮你推荐合适的工作
</view>
</block>
<block wx:elif='{{applyType == 1}}'>
<view class='p20'>
<view class='v-center'>
<view class='jobTitle'>
<!-- {{jobDetail.store.aliasName}} {{jobDetail.storeJob.jobName}} -->
{{jobDetail.jobName}}
</view>
</view>
<view class='display-flex mt20 mb8'>
<view class="display-flex flex-1">
<view>
<image class='tImage' wx:if="{{jobDetail.logo != null && jobDetail.logo != ''}}" mode='aspectFit'
src='{{jobDetail.logo}}'>
</image>
<image class='tImage' wx:else mode='aspectFit'
src='https://matripe.oss-cn-beijing.aliyuncs.com/default.png'>
</image>
</view>
<view class="flex-1 vsb">
<view class='f14s c045 mb4'>
<!-- 深圳丨龙岗区丨16-35岁 -->
{{jobDetail.districtStr}}{{jobDetail.distance}}
</view>
<view class='f14s c045 mb4'>
<!-- 深圳丨龙岗区丨16-35岁 -->
<block wx:if="{{jobDetail.gender == 1}}">限男生</block>
<block wx:if="{{jobDetail.gender == 2}}">限女生</block>
<block wx:if="{{jobDetail.gender == 3}}">男女不限</block>
丨{{jobDetail.age}}
<!-- {{jobDetail.storeJob.district}}{{jobDetail.storeJob.age}} -->
</view>
</view>
</view>
<view class="tr">
<view class='jobMoney'>
{{jobDetail.salaryClassifyValue}}
</view>
<view class='f14s c633 mt8'>
<!-- 5200-8400 -->
{{jobDetail.monthlyPay}}
</view>
</view>
</view>
<view>
<view wx:if="{{jobDetail.rebate != null}}" class='tagsLi'>
返费{{jobDetail.rebate}}
</view>
<view class='tagsLi' wx:for="{{jobDetail.jobSpecialLabelNames}}" wx:for-item="item1" wx:key='{{index}}'>
{{item1}}
</view>
</view>
<view class="bt1 mt16"></view>
</view>
<!-- <view class='f13 c045 bb1 bt1' style='padding: 32px 16px 8px;'>
请提供你的基本信息,稍后会有经纪人联系你
</view> -->
</block>
<form bindsubmit='onSubmit'>
<view class='page-section'>
<view class='form-row'>
<view class='form-row-label'>
姓名
</view>
<view class='form-row-content'>
<input class='input' name='userName' value="{{inputUserName}}" bindinput='bindinputUserName' bindfocus='bindinputUserName' placeholder='请输入你的姓名' type='text'>
</input>
</view>
</view>
<!-- <view class='form-row'>
<view class='form-row-label'>
性别
</view>
<view class="dib" data-sex="1" bindtap="changeSex">
<view class="iconfont {{sex == '1' ? 'icon-xuanzhong' : 'icon-weixuanzhong'}} dib"></view>
<text class='radioText'>男</text>
</view>
<view class="dib ml16" data-sex="2" bindtap="changeSex">
<view class="iconfont {{sex == '2' ? 'icon-xuanzhong' : 'icon-weixuanzhong'}} dib"></view>
<text class='radioText'>女</text>
</view>
</view> -->
<!-- <view class='form-row'>
<view class='form-row-label'>
年龄
</view>
<view class='form-row-content'>
<input class='input' name='age' placeholder='请输入你的年龄' type='number'>
</input>
</view>
</view> -->
</view>
<view class='page-section'>
<view class='form-row'>
<view class='form-row-label'>
手机号
</view>
<view class='form-row-content pr'>
<!-- <input class='input {{showMsgCode?"pea":"pen"}}' name='tel' value="{{phoneNumber}}" placeholder='请输入手机号'
type='number' bindinput='showCha' bindfocus='showCha' data-num="5" data-tel="1" maxlength='11'>
</input> -->
<button wx:if="{{!canInputTel}}" class="pa input" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod" style="position: absolute; width: 100%; opacity: 0;margin-top: 0;z-index: 99; ">啊啊啊</button>
<input class='input' name='tel' value="{{phoneNumber}}" focus="{{inputShowed}}" placeholder='请输入手机号' type='number' bindinput='showCha'
bindfocus='showCha' data-num="5" data-tel="1" maxlength='11' bindblur="inputBlur">
</input>
</view>
</view>
<!-- <view class="weui-cell weui-cell_vcode f14s">
<view class="weui-cell__hd">
<view class="weui-label fwb f16">验证码</view>
</view>
<view class="weui-cell__bd">
<input bindinput='showCha' bindfocus='showCha' data-num="6" maxlength='4' value="{{msgCode}}"
class="weui-input f16" type="number" placeholder="请输入验证码" />
</view>
<view class="weui-cell__ft">
<view class="weui-vcode-btn f16 {{smsFlag ?'pen':'pea'}}" bindtap="sendCode" disabled="{{smsFlag}}"
style="color:{{sendColor}};">{{sendTime}}</view>
</view>
</view> -->
<!-- <view class='form-line' style="margin-left:0;">
</view> -->
</view>
<view class='mt50 tc'>
<button wx:if="{{!canCommit}}" type='primary' formType='submit' class='fullBtn' disabled='true'>
<block wx:if='{{applyType == 0}}'>
提交预约
</block>
<block wx:elif='{{applyType == 1}}'>
提交报名
</block>
</button>
<button wx:if="{{canCommit && hasUserInfo == 1}}" type='primary' formType='submit' class='fullBtn' disabled='{{btnLoading}}'>
<block wx:if='{{applyType == 0}}'>
提交预约
</block>
<block wx:elif='{{applyType == 1}}'>
提交报名
</block>
</button>
<button wx:if="{{canCommit && hasUserInfo - 0 == 0}}" class="fullBtn" open-type="getUserInfo" bindtap="getUserInfoBtn" >提交报名</button>
<!-- <button wx:if="{{canCommit && !hasUserInfo}}" type='primary' formType='submit' class='fullBtn' disabled='{{btnLoading}}'>
<block wx:if='{{applyType == 0}}'>
提交预约
</block>
<block wx:elif='{{applyType == 1}}'>
提交报名
</block>
</button> -->
<!-- <button type='primary' class='fullBtn' bindtap="openIOS1">
点击出弹框
</button> -->
</view>
</form>
</view>
<scroll-view class="fadeIn" wx:if="{{iosDialog1}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog">
<view class="weui-dialog__hd"><strong class="weui-dialog__title">提交失败</strong></view>
<view class="weui-dialog__bd bd1">
<view>你需要授权你的微信昵称才可以提交报名</view>
</view>
<view class="display-flex pb20 v-center">
<view class="flex-1 lflex" bindtap="close" hover-class="thover" style="padding-left:0;">知道了</view>
</view>
</view>
</scroll-view>
<scroll-view class="fadeIn" wx:if="{{iosDialog2}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog">
<view class="weui-dialog__hd"><strong class="weui-dialog__title">请输入发送到你手机上的验证码</strong></view>
<view class="weui-dialog__bd">
<view class="display-flex">
<view class="flex-1">
<input maxlength='4' value="{{msgCode}}" bindinput='showCha' class="f16" type="number" placeholder="请输入验证码" />
</view>
<view class="rightTime {{disabled == 1?'':'pen'}}" style="color: {{sendColor}}" bindtap='sendCode'> {{sendTime}}
</view>
</view>
</view>
<view class="display-flex pb20">
<view class="flex-1 lflex v-center" bindtap="closeInputCode" hover-class="thover">取消</view>
<view class="rflex">
<button class="" type="primary" bindtap="checkCodeAndLogin">确定</button>
</view>
</view>
</view>
</scroll-view>

@ -0,0 +1,176 @@
.date-radio {
padding: 26rpx;
}
.date-radio label + label {
margin-left: 20rpx;
}
.row {
display: flex;
align-items: center;
padding: 0 30rpx;
}
.row-title {
flex: 1;
padding-top: 28rpx;
padding-bottom: 28rpx;
font-size: 34rpx;
color: #000;
}
.row-extra {
flex-basis: initial;
font-size: 14px;
color: #111;
}
.row-arrow {
width: 32rpx;
height: 32rpx;
margin-left: 16rpx;
}
input {
font-size: 16px;
color: #262626 !important;
}
.zbtn{
width: 100%;
position: absolute;
top: -23px;
left: 0;
z-index: 999;
opacity: 0;
}
.pr{
position: relative;
}
.f14s{
font-size: 14px;
}
.weui-cell:before {
-webkit-transform: scaleY(1);
transform: scaleY(1);
border-top: 1px solid rgba(0,0,0,0.08);
}
.weui-vcode-btn {
display: inline-block;
padding: 0 0.6em 0 0.7em;
line-height: 44px;
font-size: 16px;
height: auto;
}
.weui-cell{
padding-left: 20px;
}
.weui-label{
width:95px;
}
.form-row{
margin-bottom: 20px;
}
.form-row-label,input {
font-size: 16px;
}
input {
height: 50px;
line-height: 50px;
padding-left: 20px;
}
.tagsLi{
font-size: 16px;
font-weight: 400;
color: #555555;
line-height: 22px;
padding:1px 8px;
}
.mt50{
margin-top: 90px;
}
.fullBtn{
width: 260px;
height: 50px;
opacity: 1;
background-color: #027AFF;
border-radius: 25px;
font-size: 18px;
font-weight: 601;
color: #ffffff;
line-height: 50px;
}
.ml16{
margin-left: 16px;
}
.weui-dialog__title{
font-size: 18px;
font-weight: 400;
color: #333333;
line-height: 25px;
}
.weui-dialog__bd{
font-size: 16px;
font-weight: 400;
text-align: center;
color: #787878;
line-height: 22px;
margin-bottom: 20px;
/* border-bottom: 1rpx solid #e2e2e2; */
}
.weui-dialog__bd.bd1{
padding:0 40px 20px 40px;
border-bottom: 1rpx solid #e2e2e2;
}
.weui-dialog__bd .display-flex{
padding:0;
padding-bottom:20px;
border-bottom: 1rpx solid #e2e2e2;
}
.weui-dialog__hd {
padding: 32px 24px 20px;
}
.weui-dialog__bd input{
height: 40px;
text-align: left;
opacity: 1;
background: #f4f4f4;
border-radius: 6px;
}
.rightTime{
width: 120px;
text-align: center;
line-height: 40px;
}
.lflex{
font-size: 18px;
font-weight: 601;
text-align: center;
color: #027AFF;
line-height: 28px;
/* margin-top: 7px; */
padding:0 10px 0 30px;
}
.rflex{
flex:1;
padding:0 30px 0 10px;
}
.rflex button{
margin-top: 0;
margin-bottom: 0;
height: 40px;
opacity: 1;
background: #027AFF;
border-radius: 25px;
font-size: 18px;
font-weight: 601;
color: #ffffff;
line-height: 40px;
}
.pb16{
padding-bottom: 16px;
}
.pb20{
padding-bottom: 20px;
}

File diff suppressed because it is too large Load Diff

@ -1,3 +1,8 @@
{
"navigationBarTitleText": "好工作"
}
"navigationStyle":"custom",
"usingComponents": {
"job-list": "plugin://job-plugin/job-component"
}
}

@ -1,384 +1 @@
<view>
<scroll-view bindscroll="PageScroll" scroll-y class="jobCenterActive">
<view class="weui-search-bar weui-search-bar_focusing" id="searchBar" style="line-height: 1;">
<button class="opacityBtn" wx:if="{{!isLogin}}" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber1" catchtap="emptyMethod">按钮点击</button>
<view class="display-flex opacityBtn" wx:if="{{isLogin && hasUserInfo - 0 == 0}}">
<view>
<button open-type="getUserInfo" bindtap="getUserInfoBtn" data-type="1">{{searchCityParamStorage.name == '' ?
'全国' :
searchCityParamStorage.shortName}}</button>
</view>
<view class="flex-1">
<button open-type="getUserInfo" bindtap="getUserInfoBtn" data-type="2">搜索</button>
</view>
</view>
<view class="cf v-center" hover-class="thover" bindtap="goCity">
<view class="f14 cf085 dib">{{searchCityParamStorage.name == '' ? '全国' :
searchCityParamStorage.shortName}}</view>
<i class="iconfont icon-zhankai" style="font-size:12px;margin:0px 12px 0 6px;"></i>
</view>
<form class="weui-search-bar__form flex-1">
<view class="weui-search-bar__box">
<i class="iconfont icon-sousuo"></i>
<input type="text" class="weui-search-bar__input f15" placeholder-style="color:#999;" placeholder="搜索工作" value="{{inputVal}}" focus="{{inputShowed}}" bindinput="inputTyping" bindconfirm="searchKey" confirm-type="search" />
<span class="iconfont icon-qingchu" wx:if="{{inputVal.length > 0}}" bindtap="clearInput"></span>
</view>
<label class="weui-search-bar__label" bindtap="showInput">
<i class="weui-icon-search"></i>
<span class="weui-search-bar__text">搜索工作</span>
</label>
</form>
<!-- <view class="cf v-center" hover-class="thover" bindtap="goScreen">
<i class="iconfont {{storeJobListSearchForm.sortTag == 0 && storeJobListSearchForm.brandIds == '' && storeJobListSearchForm.jobSpecialLabelIds == '' ? ' icon-shaixuan' : 'icon-a-shaixuan21 cf00' }}"
style="font-size:16px;margin:0px 6px 0 16px;"></i>
<view class="f14 cf085 dib">筛选</view>
</view> -->
<view class="cf v-center" hover-class="topHover" bindtap='showphone'>
<i class="iconfont icon-kefu2" style="font-size:16px;margin:0px 6px 0 16px;"></i>
<view class="f14 cf085 dib">客服</view>
</view>
</view>
<view class="banner">
<swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="2000" duration="500" class="innerSwiper" style="width:calc(100vw - 20px);height:calc(100vw/3 - 21px/3)" indicator-color="rgba(255,255,255,0.3)" indicator-active-color="#ffffff">
<block wx:for="{{background}}" wx:key="*this">
<swiper-item>
<view class="swiper-item">
<navigator url="/pages/specialArea/index?id=608" hover-class="none">
<image src="{{item}}" style="width:calc(100vw - 20px);height:calc(100vw/3 - 20px/3)"></image>
</navigator>
</view>
</swiper-item>
</block>
</swiper>
</view>
<view style="margin:10px 10px 0;">
<view class="p10 display-flex bgf br8 spef">
<view class="flex-1 tc" hover-class="thover" catchtap="toSpecialArea" data-id="608">
<i class="t-icon t-icon-jinriretui" style="width:48px;height:48px;"></i>
<view class="stm">今日热推</view>
</view>
<view class="flex-1 tc" hover-class="thover" catchtap="toSpecialArea" data-id="602">
<i class="t-icon t-icon-duanqigong" style="width:48px;height:48px;"></i>
<view class="stm">短期工</view>
</view>
<view class="flex-1 tc" hover-class="thover" catchtap="toSpecialArea" data-id="610">
<i class="t-icon t-icon-hanjiagong" style="width:48px;height:48px;"></i>
<view class="stm">寒假工</view>
</view>
<view class="flex-1 tc" hover-class="thover" catchtap="toSpecialArea" data-id="603">
<i class="t-icon t-icon-dalinggong" style="width:48px;height:48px;"></i>
<view class="stm">大龄工</view>
</view>
</view>
</view>
<view x:if="{{jobList != null && jobList.length > 0}}" class="p10100">
<!-- lower-threshold="{{!isLogin? -100 : 50 }}" refresher-enabled="true" bindrefresherrestore="bindrefresherrestore" -->
<view class="jcenter bgf br8">
<view class="xgxg">
<view class="bb1 display-flex" style="justify-content: space-between;position: relative;">
<view class="csbf {{getTop||activez!=''?'active':''}}" bindtap="chooseGj" id="menu">{{firstMenu}} <i class="iconfont icon-zhankai"></i>
<scroll-view class="gjFixed" bindtap="closeFix" catchtouchmove="cc" wx:if="{{getTop}}">
<view class="bgf p010 tl c3">
<view class="f14 bb1 {{activez=='zuijin'?'cf00':''}}" data-id="zuijin" bindtap="chooseM" style="line-height:42px;" hover-class="thover">离我最近</view>
<view class="f14 {{activez=='zuigao'?'cf00':''}}" data-id="zuigao" bindtap="chooseM" style="line-height:42px;" hover-class="thover">工价最高</view>
</view>
</scroll-view>
</view>
<view class="csbf {{getTopn||activen!=''?'active':''}}" bindtap="chooseNl">年龄 <i class="iconfont icon-zhankai"></i>
<scroll-view class="gjFixed" bindtap="closeFix" catchtouchmove="cc" wx:if="{{getTopn}}">
<view class="bgf p010 tl c3">
<view class="f14 bb1 {{activen=='nl1'?'cf00':''}}" data-id="nl1" data-str="16-18" bindtap="choosen" style="line-height:42px;" hover-class="thover">16-18岁</view>
<view class="f14 bb1 {{activen=='nl2'?'cf00':''}}" data-id="nl2" data-str="18-45" bindtap="choosen" style="line-height:42px;" hover-class="thover">18-45岁</view>
<view class="f14 bb1 {{activen=='nl3'?'cf00':''}}" data-id="nl3" data-str="45-58" bindtap="choosen" style="line-height:42px;" hover-class="thover">45-58岁</view>
<view class="f14 {{activen=='nl4'?'cf00':''}}" data-id="nl4" data-str="58" bindtap="choosen" style="line-height:42px;" hover-class="thover">58岁以上</view>
</view>
</scroll-view>
</view>
<view class="csbf" bindtap="open1">特色 <i class="iconfont icon-zhankai"></i> </view>
<view class="csbf" bindtap="open2">更多 <i class="iconfont icon-zhankai"></i> </view>
</view>
</view>
<scroll-view scroll-y="{{isScrollTop}}" enable-back-to-top='{{true}}' refresher-triggered="{{isTrigger}}" refresher-enabled="{{false}}" bindscrolltolower='onScrollToLower' bindrefresherrefresh="onScrollRefresh" class="jobCenterActive" class="mt10" style="height: calc(100vh - 40px);margin-top: -1px;" lower-threshold="80">
<view class="jobOne" hover-start-time='50' hover-stay-time='0' wx:for='{{jobList}}' data-id='{{item.id}}' bindtap='goDetail' wx:key='{{index}}'>
<view class='p1020 jobIn' hover-class='ahover'>
<view class="display-flex">
<view class="prImg">
<image src="{{item.logo}}" wx:if="{{item.logo != null && item.logo != ''}}" mode="aspectFit" class="logoClass" alt="">
</image>
<image class='logoClass' wx:else mode='aspectFit' src='https://matripe.oss-cn-beijing.aliyuncs.com/default.png'></image>
<button wx:if="{{isLogin && hasUserInfo - 0 == 0}}" class="collect v-center {{item.collected - 1 == 0 ? 'collectred':''}}" open-type="getUserInfo" bindtap="getUserInfoBtn" data-type="4" data-collected="{{item.collected}}" data-jobid="{{item.id}}" hover-stop-propagation>
<icon class="iconfont {{item.collected - 1 == 0 ? 'icon-shoucang-red':'icon-wode-shoucang'}}" style="font-size:10px;position: relative;top: -5px;"></icon>
<text class="f10 {{item.collected - 1 == 0 ? 'cred':'c8'}}" style="line-height:18px;margin-left:2px;">{{item.collected - 2 == 0 ? '收藏' : '已收藏'}}</text>
</button>
<button wx:if="{{isLogin && hasUserInfo - 1 == 0}}" class="collect v-center {{item.collected - 1 == 0 ? 'collectred':''}}" catchtap="collectPaste" data-collected="{{item.collected}}" data-jobid="{{item.id}}" hover-stop-propagation>
<icon class="iconfont {{item.collected - 1 == 0 ? 'icon-shoucang-red':'icon-wode-shoucang'}}" style="font-size:10px;position: relative;top: -5px;"></icon>
<text class="f10 {{item.collected - 1 == 0 ? 'cred':'c8'}}" style="line-height:18px;margin-left:2px;">{{item.collected - 2 == 0 ? '收藏' : '已收藏'}}</text>
</button>
<button wx:if="{{!isLogin}}" class="collect" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod" data-collected="{{item.collected}}" data-jobid="{{item.id}}" hover-stop-propagation>
<icon class="iconfont icon-wode-shoucang" style="font-size:10px;position: relative;top: -5px;">
</icon>
<text class="f10 c8" style="line-height:18px;margin-left:2px;">收藏</text>
</button>
</view>
<view class="flex-1 vsb">
<view class='display-flex'>
<view class='storeName' wx:if="{{item.jobName != null && item.jobName != ''}}">
{{item.jobName}}
</view>
<view class='storeName' wx:else>
{{item.aliasName}}
</view>
<view class='hourPay'>
{{item.salaryClassifyValue}}
<!-- {{item.hourlyPay}} -->
<!-- {{item.combiSalary}} -->
</view>
</view>
<view class='v-center mt16 mb16'>
<view class='f14s c045 flex-1'>
{{item.district}}
<block wx:if="{{item.district != '' && item.district != null && item.district != undefined}}">
| </block>
<block wx:if="{{item.distance != null && item.distance != ''}}">{{item.distanceKm}}</block>
<block wx:else>{{item.age}}</block>
<view class="fr f14s c633 fw400">{{item.monthlyPay}}</view>
<!-- {{item.aliasName}} <text class='f14 c025 ml8'> {{ item.distanceKm }} </text> -->
</view>
</view>
<view class=''>
<view class="tttg">
<!-- <view wx:if="{{item.rebate != null && item.rebate != ''}}" class='tagsLi spli'>
返费{{item.rebate}}
</view> -->
<view class='tagsLi' wx:for="{{item.jobSpecialLabelNames}}" wx:for-item="item1" wx:key='{{index}}'>
{{item1}}
</view>
</view>
<button wx:if="{{isLogin && hasUserInfo - 0 == 0}}" class="weui-btn weui-btn_mini weui-btn_primary fr" open-type="getUserInfo" catchtap="getUserInfoBtn" data-type="5" data-idx='{{index}}'>立即报名</button>
<button wx:if="{{isLogin && hasUserInfo - 1 == 0}}" class="weui-btn weui-btn_mini weui-btn_primary fr" hover-stop-propagation catchtap="goEnroll" data-idx='{{index}}' hover-class="hcb">立即报名</button>
<button wx:if="{{!isLogin}}" class="weui-btn weui-btn_mini weui-btn_primary fr" hover-stop-propagation open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod" hover-class="hcb" data-idx='{{index}}'>立即报名</button>
</view>
</view>
</view>
</view>
<!-- <view class='sbLine'>
</view> -->
</view>
<block wx:if="{{(jobList == null || jobList.length == 0) && (storeJobListSearchForm.keys != null && storeJobListSearchForm.keys != '')}}">
<view class='tc p20 f12 c045'>
没有符合条件的职位
</view>
</block>
<block wx:else>
<!-- <loading wx:if='{{loading}}' size='36px' className='inlineBlock'>
加载中
</loading> -->
<!-- 通过审核后打开 -->
<!-- <view style="height:48px;">
<button wx:if="{{!isLogin}}" class="clickMore mb20" wx:if="{{!isLogin}}" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber1" catchtap="emptyMethod">点击加载更多</button>
</view> -->
<block wx:if="{{isLogin}}">
<view class='tc' style="border-top: 1rpx solid #f5f5f5;" wx:if='{{hasMoreData}}'>
<text class='tc p20 f12 c045 dib'> 加载中...</text>
</view>
<view class='tc p20 f12 c045' wx:if='{{!hasMoreData}}'>
暂无更多数据
</view>
</block>
</block>
</scroll-view>
</view>
</view>
</scroll-view>
<view wx:if="{{jobList == null || jobList.length == 0 && pageShow}}" class="tc">
<view class="t-icon t-icon-zanwujilu" style="width:80px;height:80px;margin:60px auto 20px;"></view>
<view class="tc f14 c045">暂无记录</view>
</view>
<scroll-view class="fadeIn" wx:if="{{iosDialog1}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog">
<view class="weui-dialog__hd"><strong class="weui-dialog__title">登录后才能查看全部职位</strong></view>
<view class="weui-dialog__bd">
<view>现在登录吗?</view>
</view>
<view class="display-flex pb20">
<view class="flex-1 lflex v-center" bindtap="close" hover-class="thover">知道了</view>
<view class="rflex">
<button class="" type="primary" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber1" catchtap="emptyMethod">立即登录</button>
</view>
</view>
</view>
</scroll-view>
<scroll-view class="fadeIn" wx:if="{{iosDialog2}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog">
<view class="weui-dialog__hd"><strong class="weui-dialog__title">请提供你的手机号</strong></view>
<view class="weui-dialog__bd">
<view>方便客服联系你,帮你推荐工作</view>
</view>
<view class="display-flex pb20 v-center">
<view class="flex-1 lflex p020" hover-class="thover">
<button open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber1" catchtap="emptyMethod" class="btnFlex" data-type="close">好的</button>
</view>
</view>
</view>
</scroll-view>
<scroll-view class="fadeIn" wx:if="{{phoneDialog}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog p020" style="box-sizing:border-box;">
<!-- <view class="weui-dialog__hd"><strong class="weui-dialog__title">{{pmdUserInfo.tel}}</strong></view> -->
<!-- <view class="weui-dialog__hd bb1">
<view>
<image wx:if="pmdUserInfo.imgSrc != ''" src="{{pmdUserInfo.imgSrc}}" style="width:56px;height:56px;border-radius:50%;"></image>
<image wx:else src="http://matripe.oss-cn-beijing.aliyuncs.com/defaultAva.png" style="width:56px;height:56px;border-radius:50%;"></image>
</view>
<view class="f20 c3">{{pmdUserInfo.userName}}</view>
<view class="f14 c9">客户经理</view>
<view class="mt20 f22 c3">{{pmdUserInfo.tel}}</view>
</view> -->
<view class="weui-dialog__hd bb1">
<!-- <image wx:if="pmdUserInfo.imgSrc != ''" src="{{pmdUserInfo.imgSrc}}" style="width:56px;height:56px;border-radius:50%;"></image> -->
<image src="http://matripe.oss-cn-beijing.aliyuncs.com/goodJob/bocaoLogo.png" style="width:56px;height:56px;border-radius:50%;"></image>
<view class="f20 c3">孔老师</view>
<view class="f14 c9">专属客服</view>
<!-- <view class="mt20 f22 c3">{{pmdUserInfo.tel}}</view> -->
<view class="mt20 f22 c3">18039237825</view>
</view>
<view class="display-flex pb20" style="padding-top:20px;">
<view class="flex-1 lflex v-center" bindtap="close" hover-class="thover">取消</view>
<view class="rflex">
<button class="" type="primary" bindtap="makePhoneCall">呼叫</button>
</view>
</view>
</view>
</scroll-view>
</view>
<scroll-view class="fadeIn" wx:if="{{dialog1}}" style="position: fixed;z-index: 9999;">
<view class="weui-mask" bindtap="close"></view>
<view class="weui-half-screen-dialog">
<view class="innerDia p1620">
<view style="height: calc(75vh - 120px);overflow: auto;">
<view class="f14 c3">薪资福利</view>
<view class="mt10">
<block wx:for="{{tagArray1}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-indexTag="1" data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view>
<view class="f14 c3 mt10">食宿保障</view>
<view class="mt10">
<block wx:for="{{tagArray3}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-indexTag="3" data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view>
<view class="f14 c3 mt10">班制特色</view>
<view class="mt10">
<block wx:for="{{tagArray0}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-indexTag="0" data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view>
<view class="f14 c3 mt10">其它特色</view>
<view class="mt10">
<block wx:for="{{tagArray2}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-indexTag="2" data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view>
</view>
<!-- <view class="f14 c3">特色</view>
<view class="mt10" style="height: calc(75vh - 140px);overflow: auto;">
<block wx:for="{{jobSpecialLabelList}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view> -->
<view class="btmFix">
<view class="display-flex">
<view class="flex-1 pl20 pr10">
<button class="resetBtn" style="font-weight:400;" catchtap="reset" data-type="1">
重置
</button>
</view>
<view class="flex-1 pl10 pr20">
<button type='primary' class="loginOut" style="font-weight:400;" catchtap="loginOut">
确定
</button>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
<scroll-view class="fadeIn" wx:if="{{dialog2}}" style="position: fixed;z-index: 9999;">
<view class="weui-mask" bindtap="close"></view>
<view class="weui-half-screen-dialog" style="height:60vh;">
<view class="innerDia p1620">
<view class="f14 c3">品牌</view>
<view class="mt10">
<block wx:for="{{brandList}}" wx:for-item="item">
<view bindtap='selectBrand' data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
<!-- <view class="bgAc">盒马鲜生</view>
<view class="bgAc active">昌硕电子</view> -->
</view>
<view class="btmFix">
<view class="display-flex">
<view class="flex-1 pl20 pr10">
<button class="resetBtn" style="font-weight:400;" catchtap="reset" data-type="2">
重置
</button>
</view>
<view class="flex-1 pl10 pr20">
<button type='primary' class="loginOut" style="font-weight:400;" catchtap="loginOut">
确定
</button>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
<job-list tabId="{{tabSelectID}}" bind:click_specialbtn="special_btn" bind:click_btn="sub_fun" bindsendMsg="sendMsg"/>

@ -1,529 +1,12 @@
/* required by usingComponents */
page {
overflow-x: hidden;
/* line-height: 1; */
background: #f5f5f5;
}
.demo-steps-class {
margin: 20px 0;
border-bottom: 1px solid #e5e5e5;
}
.demo-btn-container {
display: flex;
justify-content: space-between;
margin: 20px;
}
.demo-btn {
width: 47%;
}
.atd-config-transparent-header {
background-color: #fff;
}
/*.atd-config-transparent-header .content-top {
background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*13jpTYrECqYAAAAAAAAAAABjARQnAQ');
background-repeat: no-repeat;
background-size: 100% 100%;
-moz-background-size: 100% 100%;
width: 100vw;
height: 746rpx;
color: #fff;
}*/
/* .atd-config-transparent-header .content-top{
color: #000;
} */
.atd-config-transparent-header .content-top .statusBar {
background-color: transparent;
display: flex;
align-items: center;
justify-content: center;
}
.atd-config-transparent-header .content-top .titleBar {
/* background-color: #108ee9; */
display: flex;
align-items: center;
justify-content: left;
padding-left: 32rpx;
}
.tab-content {
display: flex;
justify-content: center;
align-items: center;
padding: 40rpx;
box-sizing: border-box;
/* 如果 swipeable="{{true}}",需要增加 height */
/* height: 350px; */
/* 为了体现 stickyBar 的作用而增加的 tab-content 的高度 */
height: 100vh;
}
/*.atd-config-transparent-header .content-bottom {
margin-top: 1000rpx;
background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*rFctR6myHjcAAAAAAAAAAABjARQnAQ');
background-repeat: no-repeat;
background-size: 100% 100%;
-moz-background-size: 100% 100%;
width: 100vw;
height: 746rpx;
}
*/
.atd-config-transparent-header .content-top .titleBar {
background-color: #fff;
}
.am-tabs-content-wrap {
height: auto !important;
}
.atd-config-transparent-header .content-top .titleBar {
padding-left: 0;
}
.am-tabs-tab-bar-wrap {
width: calc(100vw - 120px);
}
.latest {
color: rgba(0, 0, 0, 0.65);
}
.latest .active {
color: rgba(0, 0, 0, 0.85);
font-weight: 601;
}
.secondSelect {
padding: 8px 20px;
}
.zoneSelect .dib {
font-size: 14px;
margin-left: 8px;
background-color: rgba(0, 0, 0, 0.06);
color: rgba(0, 0, 0, 0.65);
padding: 4px;
}
.zoneSelect .dib.active {
background-color: rgba(254, 99, 63, 0.15);
color: #fe633f;
}
.am-tabs-bar {
padding-left: 20px;
}
.weui-tabs-swiper {
display: none;
}
.weui-tabs-bar__item {
margin: 12px 8px;
}
.weui-tabs-bar__title {
color: rgba(0, 0, 0, 0.65);
}
.weui-tabs-bar__title.tab-bar-title__selected {
font-weight: bolder;
color: rgba(0, 0, 0, 0.85);
border-bottom-color: #fe633f !important;
}
.dian {
float: left;
position: relative;
line-height: 36px;
left: 20px;
box-shadow: -30px 0 30px #fff;
}
.weui-cell_access .weui-cell__ft {
padding-right: 16px;
}
.weui-tabs {
padding-left: 12px;
}
.tagsLi {
font-size: 12px;
}
.mt6{
margin-top: 6px;
}
.mb6{
margin-bottom: 5px;
}
.logoClass {
width: 48px;
height: 48px;
max-width: 100%;
/* border: 1rpx solid #ddd; */
margin-bottom: 16px;
border-radius: 4px;
}
.f20.c633.lh1{
font-weight: 601;
}
.storeName{
font-size: 18px;
color:rgba(0,0,0,0.85);
/* flex:1; */
width: 360rpx;
font-weight: 601;
line-height:1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.hourPay{
/* f18 c633 lh1 flex-1 tr */
font-size: 18px;
line-height: 1;
flex: 1;
text-align: right;
white-space: nowrap;
color: #ea433a;
font-weight: 601;
}
.weui-btn_primary{
border-radius: 3px;
font-size: 12px;
margin-top: 2px;
font-weight: 400;
width:48px;
height:18px;
border-radius: 9px;
/* line-height: 18px; */
background-color: #027AFF;
margin-bottom: 0;
}
.searchbar-result{margin-top:0;font-size:14px}.searchbar-result .weui-cell__bd{padding:2px 0 2px 20px;color:var(--weui-FG-1)}.searchbar-result:before{display:none}
.weui-search-bar {
position: relative;
padding: 8px 16px;
padding-bottom: 10px;
}
.tttg{
max-width:calc(100vw - 150px);float: left;
}
.tttg .tagsLi{
display: none;
}
.tttg .tagsLi:nth-child(-n+3){
display: inline-block;
}
.f12.c045.flex-1.mb4{
margin-bottom: 7px;
}
.prImg{
position: relative;
width: 48px;
height: 48px;
margin-right: 10px;
}
button.collect{
position: absolute;
left: 0;
top: 65px;
bottom: 0;
padding: 0;
width: 48px;
border: 1rpx solid #ddd;
border-radius: 2px;
height: 18px;
text-align: center;
margin: 0;
padding: 0px;
background-color: #fff;
/* opacity: 0.7; */
line-height: 18px;
/* border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px; */
display: flex;
align-items: center;
justify-content: center;
}
.cf{
color: #fff;
}
.icon-sousuo{
position: absolute;
top: 50%;
left: 14px;
margin-top: -7px;
width: 16px;
height: 16px;
color: #cccccc;
}
.weui-search-bar__form{
border-radius: 20px;
}
.icon-qingchu{
position: absolute;
top: 50%;
right: 4px;
margin-top: -15px;
padding: 8px;
width: 18px;
height: 18px;
-webkit-mask-size: 16px;
mask-size: 16px;
color: rgba(0, 0, 0, 0.25);
}
.f15{
font-size: 15px !important;
}
.weui-search-bar__box {
padding-left: 36px;
}
.weui-search-bar{
background-color: #027AFF;
}
.p1020 {
padding:10px;
}
/* .p1020 .display-flex{
padding: 16px 10px;
} */
#searchBar .cf,#searchBar .cf085{
color: #FFF;
}
.banner{
/* background-color: #027AFF; */
margin-top: 10px;
padding:0 10px;
}
.innerSwiper{
border-radius: 8px;
overflow: hidden;
}
.jobCenter{
height:calc(100vh);
padding: 0px;
margin-top:10px;
border-radius: 8px;
position: relative;
z-index: 999;
background-color: #fff;
box-sizing: border-box;
}
.jobCenterActive{
height:calc(100vh);
/* padding: 0 10px;
margin-top:10px; */
/* border-radius: 8px; */
position: relative;
z-index: 999;
background-color: #f8f8f7;
box-sizing: border-box;
}
.jobOne{
/* margin-top: 10px; */
padding: 0 10px;
line-height: 1;
margin-top:-1rpx;
}
.jobIn{
border-top:1rpx solid #f5f5f5;
padding: 20px 0px;
background-color: #fff;
/* border-radius: 4px; */
}
.jobOne:nth-of-type(1) .jobIn{
border-top:0;
}
.jobOne:nth-child(1) .jobIn{
border-top:0;
}
.icon-weixuanzhong2{
color:#999;
font-size:6px;
margin-left:2px;
line-height: 36px;
position: relative;
top:-2px;
}
.xgxg .icon-zhankai{
font-size: 14px;
}
.csbf{
/* position: relative; */
/* width:60px; */
text-align: center;
font-size: 14px;
font-weight: 400;
color: #333333;
line-height: 36px;
}
/* .csbf .icon-baise1{
font-size:7px;
position: relative;
top: -2px;
} */
.csbf.active{
color: #027AFF;
}
/* .csbf.active .icon-baise1{
color: #027AFF;
} */
.weui-search-bar__box .weui-search-bar__input {
padding: 6px 0;
}
.topHover,.ahover{
opacity: 0.8;
}
.c8,.icon-wode-shoucang{
color: #888;
}
.cred,.icon-shoucang-red{
color: rgba(234,67,58,1);
}
.collect.collectred{
/* opacity: 0.5; */
border: 1rpx solid #ea433a;
}
.opacityBtn{
position: absolute;
width: calc(100vw - 100px);
z-index: 999;
opacity: 0;
}
.opacityBtn button{
padding:0 10px;
}
.clickMore{
width: 120px;
height: 28px;
margin: 16px auto;
opacity: 1;
border: 1px solid #979797;
border-radius: 20px;
color: #8c8c8c;
line-height: 28px;
font-size: 14px;
background-color: #fff;
}
.stm{
font-size: 13px;
font-weight: 400;
text-align: center;
color: #262626;
line-height: 18px;
}
.gjFixed{
position: absolute;
top:36px;
left:-20px;
width:100vw;
height:100vh;
/* right:0;
bottom:0; */
z-index: 999;
background-color: rgba(0, 0, 0, 0.8);
}
.oh{
overflow: hidden;
height:100vh;
}
.oa{
overflow:auto;
}
.weui-half-screen-dialog{
height:75vh;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
padding: 0;
}
.bgAc{
display: inline-block;
width: 80px;
height: 32px;
background: #f5f6f7;
border-radius: 7px;
font-size: 12px;
color: #666666;
line-height: 32px;
text-align: center;
margin-right:8px;
margin-bottom: 10px;
}
.bgAc.active{
background: rgba(2,122,255,0.10);
color: #027aff;
}
.btmFix {
position: fixed;
bottom: 0px;
left: 0;
width: 100%;
/* background-color: #ffffff; */
z-index: 99;
}
.resetBtn{
height: 44px;
opacity: 1;
background: #fff;
border: 1rpx solid #027AFF;
border-radius: 25px;
font-size: 18px;
font-weight: 601;
color: #027AFF;
padding: 0;
line-height: 44px;
margin-bottom: 40px;
}
.resetBtn:active{
background-color: #f2f2f2;
}
.loginOut {
width: 100%;
height: 44px;
opacity: 1;
background: #027AFF;
border-radius: 25px;
font-size: 18px;
font-weight: 601;
color: #ffffff;
padding: 0;
line-height: 44px;
margin-bottom: 40px;
}
.loginOut{
margin-top: 20rpx;
}
.pl10{
padding-left: 10px;
}
.pr10{
padding-right: 10px;
}
.spef{
justify-content: space-between;
}
.spef .flex-1{
max-width: 52px;
min-width: 52px;
}
.p10100{
padding: 10px 10px 0;
min-height:100vh;
}
.xgxg{
padding:0 10px;position: sticky; top: 0;z-index:1000;background-color: #fff;
border-radius: 8px;
/* pages/index/index.wxss */
#nav {
text-align: center;
background: #eeeeee;
margin: 1em;
padding: 1em;
border-radius: 5px;
}
#add {
margin: 1em;
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,3 @@
{
"navigationBarTitleText": "好工作"
}

@ -0,0 +1,384 @@
<view>
<scroll-view bindscroll="PageScroll" scroll-y class="jobCenterActive">
<view class="weui-search-bar weui-search-bar_focusing" id="searchBar" style="line-height: 1;">
<button class="opacityBtn" wx:if="{{!isLogin}}" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber1" catchtap="emptyMethod">按钮点击</button>
<view class="display-flex opacityBtn" wx:if="{{isLogin && hasUserInfo - 0 == 0}}">
<view>
<button open-type="getUserInfo" bindtap="getUserInfoBtn" data-type="1">{{searchCityParamStorage.name == '' ?
'全国' :
searchCityParamStorage.shortName}}</button>
</view>
<view class="flex-1">
<button open-type="getUserInfo" bindtap="getUserInfoBtn" data-type="2">搜索</button>
</view>
</view>
<view class="cf v-center" hover-class="thover" bindtap="goCity">
<view class="f14 cf085 dib">{{searchCityParamStorage.name == '' ? '全国' :
searchCityParamStorage.shortName}}</view>
<i class="iconfont icon-zhankai" style="font-size:12px;margin:0px 12px 0 6px;"></i>
</view>
<form class="weui-search-bar__form flex-1">
<view class="weui-search-bar__box">
<i class="iconfont icon-sousuo"></i>
<input type="text" class="weui-search-bar__input f15" placeholder-style="color:#999;" placeholder="搜索工作" value="{{inputVal}}" focus="{{inputShowed}}" bindinput="inputTyping" bindconfirm="searchKey" confirm-type="search" />
<span class="iconfont icon-qingchu" wx:if="{{inputVal.length > 0}}" bindtap="clearInput"></span>
</view>
<label class="weui-search-bar__label" bindtap="showInput">
<i class="weui-icon-search"></i>
<span class="weui-search-bar__text">搜索工作</span>
</label>
</form>
<!-- <view class="cf v-center" hover-class="thover" bindtap="goScreen">
<i class="iconfont {{storeJobListSearchForm.sortTag == 0 && storeJobListSearchForm.brandIds == '' && storeJobListSearchForm.jobSpecialLabelIds == '' ? ' icon-shaixuan' : 'icon-a-shaixuan21 cf00' }}"
style="font-size:16px;margin:0px 6px 0 16px;"></i>
<view class="f14 cf085 dib">筛选</view>
</view> -->
<view class="cf v-center" hover-class="topHover" bindtap='showphone'>
<i class="iconfont icon-kefu2" style="font-size:16px;margin:0px 6px 0 16px;"></i>
<view class="f14 cf085 dib">客服</view>
</view>
</view>
<view class="banner">
<swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="2000" duration="500" class="innerSwiper" style="width:calc(100vw - 20px);height:calc(100vw/3 - 21px/3)" indicator-color="rgba(255,255,255,0.3)" indicator-active-color="#ffffff">
<block wx:for="{{background}}" wx:key="*this">
<swiper-item>
<view class="swiper-item">
<navigator url="/pages/specialArea/index?id=608" hover-class="none">
<image src="{{item}}" style="width:calc(100vw - 20px);height:calc(100vw/3 - 20px/3)"></image>
</navigator>
</view>
</swiper-item>
</block>
</swiper>
</view>
<view style="margin:10px 10px 0;">
<view class="p10 display-flex bgf br8 spef">
<view class="flex-1 tc" hover-class="thover" catchtap="toSpecialArea" data-id="608">
<i class="t-icon t-icon-jinriretui" style="width:48px;height:48px;"></i>
<view class="stm">今日热推</view>
</view>
<view class="flex-1 tc" hover-class="thover" catchtap="toSpecialArea" data-id="602">
<i class="t-icon t-icon-duanqigong" style="width:48px;height:48px;"></i>
<view class="stm">短期工</view>
</view>
<view class="flex-1 tc" hover-class="thover" catchtap="toSpecialArea" data-id="610">
<i class="t-icon t-icon-hanjiagong" style="width:48px;height:48px;"></i>
<view class="stm">寒假工</view>
</view>
<view class="flex-1 tc" hover-class="thover" catchtap="toSpecialArea" data-id="603">
<i class="t-icon t-icon-dalinggong" style="width:48px;height:48px;"></i>
<view class="stm">大龄工</view>
</view>
</view>
</view>
<view x:if="{{jobList != null && jobList.length > 0}}" class="p10100">
<!-- lower-threshold="{{!isLogin? -100 : 50 }}" refresher-enabled="true" bindrefresherrestore="bindrefresherrestore" -->
<view class="jcenter bgf br8">
<view class="xgxg">
<view class="bb1 display-flex" style="justify-content: space-between;position: relative;">
<view class="csbf {{getTop||activez!=''?'active':''}}" bindtap="chooseGj" id="menu">{{firstMenu}} <i class="iconfont icon-zhankai"></i>
<scroll-view class="gjFixed" bindtap="closeFix" catchtouchmove="cc" wx:if="{{getTop}}">
<view class="bgf p010 tl c3">
<view class="f14 bb1 {{activez=='zuijin'?'cf00':''}}" data-id="zuijin" bindtap="chooseM" style="line-height:42px;" hover-class="thover">离我最近</view>
<view class="f14 {{activez=='zuigao'?'cf00':''}}" data-id="zuigao" bindtap="chooseM" style="line-height:42px;" hover-class="thover">工价最高</view>
</view>
</scroll-view>
</view>
<view class="csbf {{getTopn||activen!=''?'active':''}}" bindtap="chooseNl">年龄 <i class="iconfont icon-zhankai"></i>
<scroll-view class="gjFixed" bindtap="closeFix" catchtouchmove="cc" wx:if="{{getTopn}}">
<view class="bgf p010 tl c3">
<view class="f14 bb1 {{activen=='nl1'?'cf00':''}}" data-id="nl1" data-str="16-18" bindtap="choosen" style="line-height:42px;" hover-class="thover">16-18岁</view>
<view class="f14 bb1 {{activen=='nl2'?'cf00':''}}" data-id="nl2" data-str="18-45" bindtap="choosen" style="line-height:42px;" hover-class="thover">18-45岁</view>
<view class="f14 bb1 {{activen=='nl3'?'cf00':''}}" data-id="nl3" data-str="45-58" bindtap="choosen" style="line-height:42px;" hover-class="thover">45-58岁</view>
<view class="f14 {{activen=='nl4'?'cf00':''}}" data-id="nl4" data-str="58" bindtap="choosen" style="line-height:42px;" hover-class="thover">58岁以上</view>
</view>
</scroll-view>
</view>
<view class="csbf" bindtap="open1">特色 <i class="iconfont icon-zhankai"></i> </view>
<view class="csbf" bindtap="open2">更多 <i class="iconfont icon-zhankai"></i> </view>
</view>
</view>
<scroll-view scroll-y="{{isScrollTop}}" enable-back-to-top='{{true}}' refresher-triggered="{{isTrigger}}" refresher-enabled="{{false}}" bindscrolltolower='onScrollToLower' bindrefresherrefresh="onScrollRefresh" class="jobCenterActive" class="mt10" style="height: calc(100vh - 40px);margin-top: -1px;" lower-threshold="80">
<view class="jobOne" hover-start-time='50' hover-stay-time='0' wx:for='{{jobList}}' data-id='{{item.id}}' bindtap='goDetail' wx:key='{{index}}'>
<view class='p1020 jobIn' hover-class='ahover'>
<view class="display-flex">
<view class="prImg">
<image src="{{item.logo}}" wx:if="{{item.logo != null && item.logo != ''}}" mode="aspectFit" class="logoClass" alt="">
</image>
<image class='logoClass' wx:else mode='aspectFit' src='https://matripe.oss-cn-beijing.aliyuncs.com/default.png'></image>
<button wx:if="{{isLogin && hasUserInfo - 0 == 0}}" class="collect v-center {{item.collected - 1 == 0 ? 'collectred':''}}" open-type="getUserInfo" bindtap="getUserInfoBtn" data-type="4" data-collected="{{item.collected}}" data-jobid="{{item.id}}" hover-stop-propagation>
<icon class="iconfont {{item.collected - 1 == 0 ? 'icon-shoucang-red':'icon-wode-shoucang'}}" style="font-size:10px;position: relative;top: -5px;"></icon>
<text class="f10 {{item.collected - 1 == 0 ? 'cred':'c8'}}" style="line-height:18px;margin-left:2px;">{{item.collected - 2 == 0 ? '收藏' : '已收藏'}}</text>
</button>
<button wx:if="{{isLogin && hasUserInfo - 1 == 0}}" class="collect v-center {{item.collected - 1 == 0 ? 'collectred':''}}" catchtap="collectPaste" data-collected="{{item.collected}}" data-jobid="{{item.id}}" hover-stop-propagation>
<icon class="iconfont {{item.collected - 1 == 0 ? 'icon-shoucang-red':'icon-wode-shoucang'}}" style="font-size:10px;position: relative;top: -5px;"></icon>
<text class="f10 {{item.collected - 1 == 0 ? 'cred':'c8'}}" style="line-height:18px;margin-left:2px;">{{item.collected - 2 == 0 ? '收藏' : '已收藏'}}</text>
</button>
<button wx:if="{{!isLogin}}" class="collect" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod" data-collected="{{item.collected}}" data-jobid="{{item.id}}" hover-stop-propagation>
<icon class="iconfont icon-wode-shoucang" style="font-size:10px;position: relative;top: -5px;">
</icon>
<text class="f10 c8" style="line-height:18px;margin-left:2px;">收藏</text>
</button>
</view>
<view class="flex-1 vsb">
<view class='display-flex'>
<view class='storeName' wx:if="{{item.jobName != null && item.jobName != ''}}">
{{item.jobName}}
</view>
<view class='storeName' wx:else>
{{item.aliasName}}
</view>
<view class='hourPay'>
{{item.salaryClassifyValue}}
<!-- {{item.hourlyPay}} -->
<!-- {{item.combiSalary}} -->
</view>
</view>
<view class='v-center mt16 mb16'>
<view class='f14s c045 flex-1'>
{{item.district}}
<block wx:if="{{item.district != '' && item.district != null && item.district != undefined}}">
| </block>
<block wx:if="{{item.distance != null && item.distance != ''}}">{{item.distanceKm}}</block>
<block wx:else>{{item.age}}</block>
<view class="fr f14s c633 fw400">{{item.monthlyPay}}</view>
<!-- {{item.aliasName}} <text class='f14 c025 ml8'> {{ item.distanceKm }} </text> -->
</view>
</view>
<view class=''>
<view class="tttg">
<!-- <view wx:if="{{item.rebate != null && item.rebate != ''}}" class='tagsLi spli'>
返费{{item.rebate}}
</view> -->
<view class='tagsLi' wx:for="{{item.jobSpecialLabelNames}}" wx:for-item="item1" wx:key='{{index}}'>
{{item1}}
</view>
</view>
<button wx:if="{{isLogin && hasUserInfo - 0 == 0}}" class="weui-btn weui-btn_mini weui-btn_primary fr" open-type="getUserInfo" catchtap="getUserInfoBtn" data-type="5" data-idx='{{index}}'>立即报名</button>
<button wx:if="{{isLogin && hasUserInfo - 1 == 0}}" class="weui-btn weui-btn_mini weui-btn_primary fr" hover-stop-propagation catchtap="goEnroll" data-idx='{{index}}' hover-class="hcb">立即报名</button>
<button wx:if="{{!isLogin}}" class="weui-btn weui-btn_mini weui-btn_primary fr" hover-stop-propagation open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="emptyMethod" hover-class="hcb" data-idx='{{index}}'>立即报名</button>
</view>
</view>
</view>
</view>
<!-- <view class='sbLine'>
</view> -->
</view>
<block wx:if="{{(jobList == null || jobList.length == 0) && (storeJobListSearchForm.keys != null && storeJobListSearchForm.keys != '')}}">
<view class='tc p20 f12 c045'>
没有符合条件的职位
</view>
</block>
<block wx:else>
<!-- <loading wx:if='{{loading}}' size='36px' className='inlineBlock'>
加载中
</loading> -->
<!-- 通过审核后打开 -->
<!-- <view style="height:48px;">
<button wx:if="{{!isLogin}}" class="clickMore mb20" wx:if="{{!isLogin}}" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber1" catchtap="emptyMethod">点击加载更多</button>
</view> -->
<block wx:if="{{isLogin}}">
<view class='tc' style="border-top: 1rpx solid #f5f5f5;" wx:if='{{hasMoreData}}'>
<text class='tc p20 f12 c045 dib'> 加载中...</text>
</view>
<view class='tc p20 f12 c045' wx:if='{{!hasMoreData}}'>
暂无更多数据
</view>
</block>
</block>
</scroll-view>
</view>
</view>
</scroll-view>
<view wx:if="{{jobList == null || jobList.length == 0 && pageShow}}" class="tc">
<view class="t-icon t-icon-zanwujilu" style="width:80px;height:80px;margin:60px auto 20px;"></view>
<view class="tc f14 c045">暂无记录</view>
</view>
<scroll-view class="fadeIn" wx:if="{{iosDialog1}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog">
<view class="weui-dialog__hd"><strong class="weui-dialog__title">登录后才能查看全部职位</strong></view>
<view class="weui-dialog__bd">
<view>现在登录吗?</view>
</view>
<view class="display-flex pb20">
<view class="flex-1 lflex v-center" bindtap="close" hover-class="thover">知道了</view>
<view class="rflex">
<button class="" type="primary" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber1" catchtap="emptyMethod">立即登录</button>
</view>
</view>
</view>
</scroll-view>
<scroll-view class="fadeIn" wx:if="{{iosDialog2}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog">
<view class="weui-dialog__hd"><strong class="weui-dialog__title">请提供你的手机号</strong></view>
<view class="weui-dialog__bd">
<view>方便客服联系你,帮你推荐工作</view>
</view>
<view class="display-flex pb20 v-center">
<view class="flex-1 lflex p020" hover-class="thover">
<button open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber1" catchtap="emptyMethod" class="btnFlex" data-type="close">好的</button>
</view>
</view>
</view>
</scroll-view>
<scroll-view class="fadeIn" wx:if="{{phoneDialog}}" style="position: relative;z-index: 999;">
<view class="weui-mask"></view>
<view class="weui-dialog p020" style="box-sizing:border-box;">
<!-- <view class="weui-dialog__hd"><strong class="weui-dialog__title">{{pmdUserInfo.tel}}</strong></view> -->
<!-- <view class="weui-dialog__hd bb1">
<view>
<image wx:if="pmdUserInfo.imgSrc != ''" src="{{pmdUserInfo.imgSrc}}" style="width:56px;height:56px;border-radius:50%;"></image>
<image wx:else src="http://matripe.oss-cn-beijing.aliyuncs.com/defaultAva.png" style="width:56px;height:56px;border-radius:50%;"></image>
</view>
<view class="f20 c3">{{pmdUserInfo.userName}}</view>
<view class="f14 c9">客户经理</view>
<view class="mt20 f22 c3">{{pmdUserInfo.tel}}</view>
</view> -->
<view class="weui-dialog__hd bb1">
<!-- <image wx:if="pmdUserInfo.imgSrc != ''" src="{{pmdUserInfo.imgSrc}}" style="width:56px;height:56px;border-radius:50%;"></image> -->
<image src="http://matripe.oss-cn-beijing.aliyuncs.com/goodJob/bocaoLogo.png" style="width:56px;height:56px;border-radius:50%;"></image>
<view class="f20 c3">孔老师</view>
<view class="f14 c9">专属客服</view>
<!-- <view class="mt20 f22 c3">{{pmdUserInfo.tel}}</view> -->
<view class="mt20 f22 c3">18039237825</view>
</view>
<view class="display-flex pb20" style="padding-top:20px;">
<view class="flex-1 lflex v-center" bindtap="close" hover-class="thover">取消</view>
<view class="rflex">
<button class="" type="primary" bindtap="makePhoneCall">呼叫</button>
</view>
</view>
</view>
</scroll-view>
</view>
<scroll-view class="fadeIn" wx:if="{{dialog1}}" style="position: fixed;z-index: 9999;">
<view class="weui-mask" bindtap="close"></view>
<view class="weui-half-screen-dialog">
<view class="innerDia p1620">
<view style="height: calc(75vh - 120px);overflow: auto;">
<view class="f14 c3">薪资福利</view>
<view class="mt10">
<block wx:for="{{tagArray1}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-indexTag="1" data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view>
<view class="f14 c3 mt10">食宿保障</view>
<view class="mt10">
<block wx:for="{{tagArray3}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-indexTag="3" data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view>
<view class="f14 c3 mt10">班制特色</view>
<view class="mt10">
<block wx:for="{{tagArray0}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-indexTag="0" data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view>
<view class="f14 c3 mt10">其它特色</view>
<view class="mt10">
<block wx:for="{{tagArray2}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-indexTag="2" data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view>
</view>
<!-- <view class="f14 c3">特色</view>
<view class="mt10" style="height: calc(75vh - 140px);overflow: auto;">
<block wx:for="{{jobSpecialLabelList}}" wx:for-item="item">
<view bindtap='selectJobSpecialLabel' data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
</view> -->
<view class="btmFix">
<view class="display-flex">
<view class="flex-1 pl20 pr10">
<button class="resetBtn" style="font-weight:400;" catchtap="reset" data-type="1">
重置
</button>
</view>
<view class="flex-1 pl10 pr20">
<button type='primary' class="loginOut" style="font-weight:400;" catchtap="loginOut">
确定
</button>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
<scroll-view class="fadeIn" wx:if="{{dialog2}}" style="position: fixed;z-index: 9999;">
<view class="weui-mask" bindtap="close"></view>
<view class="weui-half-screen-dialog" style="height:60vh;">
<view class="innerDia p1620">
<view class="f14 c3">品牌</view>
<view class="mt10">
<block wx:for="{{brandList}}" wx:for-item="item">
<view bindtap='selectBrand' data-index="{{index}}" class="bgAc {{item.checked ? 'active' : ''}}">{{item.name}}</view>
</block>
<!-- <view class="bgAc">盒马鲜生</view>
<view class="bgAc active">昌硕电子</view> -->
</view>
<view class="btmFix">
<view class="display-flex">
<view class="flex-1 pl20 pr10">
<button class="resetBtn" style="font-weight:400;" catchtap="reset" data-type="2">
重置
</button>
</view>
<view class="flex-1 pl10 pr20">
<button type='primary' class="loginOut" style="font-weight:400;" catchtap="loginOut">
确定
</button>
</view>
</view>
</view>
</view>
</view>
</scroll-view>

@ -0,0 +1,529 @@
/* required by usingComponents */
page {
overflow-x: hidden;
/* line-height: 1; */
background: #f5f5f5;
}
.demo-steps-class {
margin: 20px 0;
border-bottom: 1px solid #e5e5e5;
}
.demo-btn-container {
display: flex;
justify-content: space-between;
margin: 20px;
}
.demo-btn {
width: 47%;
}
.atd-config-transparent-header {
background-color: #fff;
}
/*.atd-config-transparent-header .content-top {
background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*13jpTYrECqYAAAAAAAAAAABjARQnAQ');
background-repeat: no-repeat;
background-size: 100% 100%;
-moz-background-size: 100% 100%;
width: 100vw;
height: 746rpx;
color: #fff;
}*/
/* .atd-config-transparent-header .content-top{
color: #000;
} */
.atd-config-transparent-header .content-top .statusBar {
background-color: transparent;
display: flex;
align-items: center;
justify-content: center;
}
.atd-config-transparent-header .content-top .titleBar {
/* background-color: #108ee9; */
display: flex;
align-items: center;
justify-content: left;
padding-left: 32rpx;
}
.tab-content {
display: flex;
justify-content: center;
align-items: center;
padding: 40rpx;
box-sizing: border-box;
/* 如果 swipeable="{{true}}",需要增加 height */
/* height: 350px; */
/* 为了体现 stickyBar 的作用而增加的 tab-content 的高度 */
height: 100vh;
}
/*.atd-config-transparent-header .content-bottom {
margin-top: 1000rpx;
background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*rFctR6myHjcAAAAAAAAAAABjARQnAQ');
background-repeat: no-repeat;
background-size: 100% 100%;
-moz-background-size: 100% 100%;
width: 100vw;
height: 746rpx;
}
*/
.atd-config-transparent-header .content-top .titleBar {
background-color: #fff;
}
.am-tabs-content-wrap {
height: auto !important;
}
.atd-config-transparent-header .content-top .titleBar {
padding-left: 0;
}
.am-tabs-tab-bar-wrap {
width: calc(100vw - 120px);
}
.latest {
color: rgba(0, 0, 0, 0.65);
}
.latest .active {
color: rgba(0, 0, 0, 0.85);
font-weight: 601;
}
.secondSelect {
padding: 8px 20px;
}
.zoneSelect .dib {
font-size: 14px;
margin-left: 8px;
background-color: rgba(0, 0, 0, 0.06);
color: rgba(0, 0, 0, 0.65);
padding: 4px;
}
.zoneSelect .dib.active {
background-color: rgba(254, 99, 63, 0.15);
color: #fe633f;
}
.am-tabs-bar {
padding-left: 20px;
}
.weui-tabs-swiper {
display: none;
}
.weui-tabs-bar__item {
margin: 12px 8px;
}
.weui-tabs-bar__title {
color: rgba(0, 0, 0, 0.65);
}
.weui-tabs-bar__title.tab-bar-title__selected {
font-weight: bolder;
color: rgba(0, 0, 0, 0.85);
border-bottom-color: #fe633f !important;
}
.dian {
float: left;
position: relative;
line-height: 36px;
left: 20px;
box-shadow: -30px 0 30px #fff;
}
.weui-cell_access .weui-cell__ft {
padding-right: 16px;
}
.weui-tabs {
padding-left: 12px;
}
.tagsLi {
font-size: 12px;
}
.mt6{
margin-top: 6px;
}
.mb6{
margin-bottom: 5px;
}
.logoClass {
width: 48px;
height: 48px;
max-width: 100%;
/* border: 1rpx solid #ddd; */
margin-bottom: 16px;
border-radius: 4px;
}
.f20.c633.lh1{
font-weight: 601;
}
.storeName{
font-size: 18px;
color:rgba(0,0,0,0.85);
/* flex:1; */
width: 360rpx;
font-weight: 601;
line-height:1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.hourPay{
/* f18 c633 lh1 flex-1 tr */
font-size: 18px;
line-height: 1;
flex: 1;
text-align: right;
white-space: nowrap;
color: #ea433a;
font-weight: 601;
}
.weui-btn_primary{
border-radius: 3px;
font-size: 12px;
margin-top: 2px;
font-weight: 400;
width:48px;
height:18px;
border-radius: 9px;
/* line-height: 18px; */
background-color: #027AFF;
margin-bottom: 0;
}
.searchbar-result{margin-top:0;font-size:14px}.searchbar-result .weui-cell__bd{padding:2px 0 2px 20px;color:var(--weui-FG-1)}.searchbar-result:before{display:none}
.weui-search-bar {
position: relative;
padding: 8px 16px;
padding-bottom: 10px;
}
.tttg{
max-width:calc(100vw - 150px);float: left;
}
.tttg .tagsLi{
display: none;
}
.tttg .tagsLi:nth-child(-n+3){
display: inline-block;
}
.f12.c045.flex-1.mb4{
margin-bottom: 7px;
}
.prImg{
position: relative;
width: 48px;
height: 48px;
margin-right: 10px;
}
button.collect{
position: absolute;
left: 0;
top: 65px;
bottom: 0;
padding: 0;
width: 48px;
border: 1rpx solid #ddd;
border-radius: 2px;
height: 18px;
text-align: center;
margin: 0;
padding: 0px;
background-color: #fff;
/* opacity: 0.7; */
line-height: 18px;
/* border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px; */
display: flex;
align-items: center;
justify-content: center;
}
.cf{
color: #fff;
}
.icon-sousuo{
position: absolute;
top: 50%;
left: 14px;
margin-top: -7px;
width: 16px;
height: 16px;
color: #cccccc;
}
.weui-search-bar__form{
border-radius: 20px;
}
.icon-qingchu{
position: absolute;
top: 50%;
right: 4px;
margin-top: -15px;
padding: 8px;
width: 18px;
height: 18px;
-webkit-mask-size: 16px;
mask-size: 16px;
color: rgba(0, 0, 0, 0.25);
}
.f15{
font-size: 15px !important;
}
.weui-search-bar__box {
padding-left: 36px;
}
.weui-search-bar{
background-color: #027AFF;
}
.p1020 {
padding:10px;
}
/* .p1020 .display-flex{
padding: 16px 10px;
} */
#searchBar .cf,#searchBar .cf085{
color: #FFF;
}
.banner{
/* background-color: #027AFF; */
margin-top: 10px;
padding:0 10px;
}
.innerSwiper{
border-radius: 8px;
overflow: hidden;
}
.jobCenter{
height:calc(100vh);
padding: 0px;
margin-top:10px;
border-radius: 8px;
position: relative;
z-index: 999;
background-color: #fff;
box-sizing: border-box;
}
.jobCenterActive{
height:calc(100vh);
/* padding: 0 10px;
margin-top:10px; */
/* border-radius: 8px; */
position: relative;
z-index: 999;
background-color: #f8f8f7;
box-sizing: border-box;
}
.jobOne{
/* margin-top: 10px; */
padding: 0 10px;
line-height: 1;
margin-top:-1rpx;
}
.jobIn{
border-top:1rpx solid #f5f5f5;
padding: 20px 0px;
background-color: #fff;
/* border-radius: 4px; */
}
.jobOne:nth-of-type(1) .jobIn{
border-top:0;
}
.jobOne:nth-child(1) .jobIn{
border-top:0;
}
.icon-weixuanzhong2{
color:#999;
font-size:6px;
margin-left:2px;
line-height: 36px;
position: relative;
top:-2px;
}
.xgxg .icon-zhankai{
font-size: 14px;
}
.csbf{
/* position: relative; */
/* width:60px; */
text-align: center;
font-size: 14px;
font-weight: 400;
color: #333333;
line-height: 36px;
}
/* .csbf .icon-baise1{
font-size:7px;
position: relative;
top: -2px;
} */
.csbf.active{
color: #027AFF;
}
/* .csbf.active .icon-baise1{
color: #027AFF;
} */
.weui-search-bar__box .weui-search-bar__input {
padding: 6px 0;
}
.topHover,.ahover{
opacity: 0.8;
}
.c8,.icon-wode-shoucang{
color: #888;
}
.cred,.icon-shoucang-red{
color: rgba(234,67,58,1);
}
.collect.collectred{
/* opacity: 0.5; */
border: 1rpx solid #ea433a;
}
.opacityBtn{
position: absolute;
width: calc(100vw - 100px);
z-index: 999;
opacity: 0;
}
.opacityBtn button{
padding:0 10px;
}
.clickMore{
width: 120px;
height: 28px;
margin: 16px auto;
opacity: 1;
border: 1px solid #979797;
border-radius: 20px;
color: #8c8c8c;
line-height: 28px;
font-size: 14px;
background-color: #fff;
}
.stm{
font-size: 13px;
font-weight: 400;
text-align: center;
color: #262626;
line-height: 18px;
}
.gjFixed{
position: absolute;
top:36px;
left:-20px;
width:100vw;
height:100vh;
/* right:0;
bottom:0; */
z-index: 999;
background-color: rgba(0, 0, 0, 0.8);
}
.oh{
overflow: hidden;
height:100vh;
}
.oa{
overflow:auto;
}
.weui-half-screen-dialog{
height:75vh;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
padding: 0;
}
.bgAc{
display: inline-block;
width: 80px;
height: 32px;
background: #f5f6f7;
border-radius: 7px;
font-size: 12px;
color: #666666;
line-height: 32px;
text-align: center;
margin-right:8px;
margin-bottom: 10px;
}
.bgAc.active{
background: rgba(2,122,255,0.10);
color: #027aff;
}
.btmFix {
position: fixed;
bottom: 0px;
left: 0;
width: 100%;
/* background-color: #ffffff; */
z-index: 99;
}
.resetBtn{
height: 44px;
opacity: 1;
background: #fff;
border: 1rpx solid #027AFF;
border-radius: 25px;
font-size: 18px;
font-weight: 601;
color: #027AFF;
padding: 0;
line-height: 44px;
margin-bottom: 40px;
}
.resetBtn:active{
background-color: #f2f2f2;
}
.loginOut {
width: 100%;
height: 44px;
opacity: 1;
background: #027AFF;
border-radius: 25px;
font-size: 18px;
font-weight: 601;
color: #ffffff;
padding: 0;
line-height: 44px;
margin-bottom: 40px;
}
.loginOut{
margin-top: 20rpx;
}
.pl10{
padding-left: 10px;
}
.pr10{
padding-right: 10px;
}
.spef{
justify-content: space-between;
}
.spef .flex-1{
max-width: 52px;
min-width: 52px;
}
.p10100{
padding: 10px 10px 0;
min-height:100vh;
}
.xgxg{
padding:0 10px;position: sticky; top: 0;z-index:1000;background-color: #fff;
border-radius: 8px;
}

@ -32,6 +32,7 @@
<button type='primary' class="loginBtn wxBtn" open-type="getPhoneNumber"
catchgetphonenumber="getPhoneNumber">
<!-- <i class="iconfont icon-weixin11"></i> 微信授权登录 -->
<i class="iconfont icon-shouji1 f18"></i>
手机号快捷登录
</button>
</view>

@ -0,0 +1,97 @@
// pages/special/index.js
Page({
/**
* 页面的初始数据
*/
data: {
id:''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(options.id)
this.setData({
id:options.id
})
let id = options.id;
if(id == "608"){
wx.setNavigationBarTitle({
title: '今日热推'
})
}else if(id == "602"){
wx.setNavigationBarTitle({
title: '实习生'
})
}else if(id == "610"){
wx.setNavigationBarTitle({
title: '寒暑假工'
})
}else if(id == "603"){
wx.setNavigationBarTitle({
title: '社会工'
})
}else if(id == "604"){
wx.setNavigationBarTitle({
title: '大龄工'
})
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
sub_fun: function (e) {
console.log(e.detail)
wx.navigateTo({
url: '../detail/index?id='+e.detail,
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,5 @@
{
"usingComponents": {
"special": "plugin://job-plugin/special"
}
}

@ -0,0 +1 @@
<special s_id="{{id}}" bind:click_btn="sub_fun"></special>

@ -0,0 +1 @@
/* pages/special/index.wxss */

@ -17,5 +17,5 @@
}
},
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "goodJob"
"projectname": "yicai"
}
Loading…
Cancel
Save