You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

797 lines
26 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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();
}
})
},
});