Files
sgy-web/pages/recruit/referto/referto.js
2023-09-01 17:00:33 +08:00

238 lines
5.6 KiB
JavaScript

// pages/recruit/referto/referto.js
Page({
/**
* 页面的初始数据
*/
data: {
notice : '', //地区提示
areaData : '', //地区数据
paySuccess : false,
experienceId: '',
typesArr : [],
typesIndex : 0,
refertoStatus: false,
checkStatus : false,
// 省份选择
areasArr : [],
areaId : 0,
areaIndex : 0,
// 市级选择
cityArr : [],
cityId : 0,
cityIndex : 0,
// 区域选择
regiArr : [],
regiId : 0,
regiIndex : 0,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
experienceId: options.id
})
// 获取申请前置接口
this.recruitInfo(options.id);
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
// 获取省市区列表
this.createInfo();
},
/**
* 省市区列表
*/
createInfo() {
wx.$api.site.create().then(res => {
let areas = res.data,
areaIndex = this.data.areaIndex
this.setData({
areasArr : areas,
areaId : areas[areaIndex].id,
})
this.citylist(areas[areaIndex].id)
}).catch(err => {})
},
/**
* 所在省份-下拉
*/
areasChange(e) {
let area = this.data.areasArr,
index = e.detail.value,
atcode = area[index].id
if (index != this.data.areaIndex) {
this.setData({
areaIndex : index,
areaId : atcode
})
// 获取市级列表
this.citylist(atcode)
}
},
/**
* 市级列表
*/
citylist(cityId) {
wx.$api.site.create({
parent_id: cityId
}).then(res=>{
let cityArr = res.data
this.setData({
cityId : cityArr[0].id,
cityIndex : 0,
cityArr : cityArr
})
// 获取区级列表
this.regilist(cityArr[0].id)
})
},
/**
* 市级下拉筛选
*/
cityDrop(e) {
let city = this.data.cityArr,
index = e.detail.value,
citycode = city[index].id
if (index != this.data.cityIndex) {
this.setData({
cityIndex : index,
cityId : citycode
})
// 获取市级列表
this.regilist(citycode)
}
},
/**
* 区列表
*/
regilist(areaId) {
wx.$api.site.create({
parent_id: areaId
}).then(res=>{
this.setData({
regiArr : res.data,
regiId : res.data[0].id,
regiIndex : 0
})
})
},
/**
* 区下拉筛选
*/
regiDrop(e) {
let newIndex = e.detail.value
this.setData({
regiIndex : newIndex,
regiId : this.data.regiArr[newIndex].id
})
},
/**
* 申请前置接口
*/
recruitInfo(id) {
wx.$api.recruit.Enroll(id, {
experience_area_id: getApp().globalData.experienceAreaId
}).then(res => {
this.setData({
areaData : res.data.areas,
notice : res.data.experience_notice,
typesArr : [{experience_type_id: null, name: "请选择体验内容"}, ...res.data.types],
paySuccess : false
})
}).catch(err => {})
},
/**
* 体验内容筛选
*/
tasteDrop(e) {
let newIndex = e.detail.value
this.setData({
typesIndex : newIndex
})
},
/**
* 提交表单
*/
siteform(e) {
let value = e.detail.value
let errMsg = ''
if(this.data.typesArr[this.data.typesIndex].experience_type_id === null) errMsg = "请选择体验内容"
if(errMsg != ''){
wx.showToast({
title: errMsg,
icon : 'none'
})
return
}
let data = {
name : value.name,
address : value.address,
province_id : this.data.areaId,
city_id : this.data.cityId,
district_id : this.data.regiId,
experience_id : this.data.experienceId,
experience_area_id : this.data.areaData.experience_area_id,
experience_type_id : this.data.typesArr[this.data.typesIndex].experience_type_id,
invite : getApp().globalData.inviteText
}
this.setData({
disabled: true
})
wx.$api.recruit.recruitAdd(data).then(res => {
this.setData({
checkStatus: true,
disabled: false
})
}).catch(() =>{
this.setData({
disabled: false
})
})
},
/**
* 关闭弹框,跳转首页
*/
refertoTap() {
this.setData({
refertoStatus: false
})
wx.switchTab({
url: '/pages/recruit/index'
})
},
/**
* 申请体验官成功后,弹出
*/
checkTap() {
this.setData({
refertoStatus: true,
checkStatus: false
})
}
})