锦水居民端小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

439 lines
10 KiB

var api = require("../../utils/api.js")
import {
$wuxActionSheet
} from "../../dist/index"
Page({
data: {
gridName: "",
gridId: "",
idCard: "",
userName: "",
sex: "",
mobile: "",
smsCode: "",
street: "",
community: "",
building: "",
submitEvent: false,
partyMember: false,
isPartyMember: "0",
wait: 60,
btntxt: "获取验证码",
tabType: "tab1",
state: "",
unionIdStatus: "0",
encryptedData: "",
iv: "",
wxCode: "",
gridList: [],
changeGridList: []
},
onLoad () {
this.getPrepareComplete().then(() => {
this.getGridList()
})
this.checkWxUnionId()
this.getWxCode()
},
// 拉取 用户信息
getPrepareComplete () {
return new Promise((resolve, reject) => {
api.prepareComplete().then(res => {
console.log("拉取用户信息", res)
this.setData({
idCard: res.data.identityNo,
userName: res.data.realName,
sex: res.data.sex,
mobile: res.data.mobile,
street: res.data.road,
community: res.data.villageName,
building: res.data.dwellingPlace,
state: res.data.state,
gridId: res.data.gridId,
gridName: res.data.gridName
})
resolve(true)
}).catch(() => {
reject(false)
})
})
},
adInputIdCard (e) {
this.setData({
idCard: e.detail.value
})
},
adInputUserName: function (e) {
this.setData({
userName: e.detail.value
})
},
adChangeSex: function (e) {
this.setData({
sex: e.currentTarget.dataset.sex
})
},
adInputMobile: function (e) {
this.setData({
mobile: e.detail.value
})
},
adInputSmsCode: function (e) {
this.setData({
smsCode: e.detail.value
})
},
adInputStreet: function (e) {
this.setData({
street: e.detail.value
})
},
adInputCommunity: function (e) {
this.setData({
community: e.detail.value
})
},
adInputBuilding: function (e) {
this.setData({
building: e.detail.value
})
},
// 我是居民/我是党员 切换
onChange (e) {
if (e.detail.key == "tab2") {
this.setData({
partyMember: true,
isPartyMember: "1",
tabType: "tab2"
})
console.log("this", this.data.partyMember)
} else {
this.setData({
partyMember: false,
isPartyMember: "0",
tabType: "tab1",
idCard: ""
})
console.log("this", this.data.partyMember)
}
},
outtime () {
let that = this
if (that.data.wait === 0) {
that.setData({
wait: 60,
btntxt: "获取验证码"
})
} else {
that.setData({
wait: that.data.wait - 1
})
setTimeout(() => {
that.outtime()
}, 1000)
}
},
toRegister () {
if (this.data.partyMember) {
if (this.data.idCard === "") {
wx.showToast({
title: "请先输入身份证号",
icon: "none",
duration: 3000
})
return false
}
}
if (this.data.userName === "") {
wx.showToast({
title: "请先输入姓名",
icon: "none",
duration: 3000
})
return false
}
if (this.data.sex === "") {
wx.showToast({
title: "请选择性别",
icon: "none",
duration: 3000
})
return false
}
if (this.data.mobile === "") {
wx.showToast({
title: "请先输入手机号",
icon: "none",
duration: 3000
})
return false
}
if (this.data.smsCode === "") {
wx.showToast({
title: "请先输入验证码",
icon: "none",
duration: 3000
})
return false
}
if (this.data.street === "") {
wx.showToast({
title: "请先输入所在街道",
icon: "none",
duration: 3000
})
return false
}
if (this.data.street.length > 30) {
wx.showToast({
title: "所在街道不超过30字",
icon: "none",
duration: 3000
})
return false
}
if (this.data.submitEvent === true) {
wx.showToast({
title: "加载中...",
icon: "none",
duration: 3000
})
return false
}
wx.showLoading({
title: "加载中..."
})
const para = {
partyFlag: this.data.isPartyMember,
identityNo: this.data.idCard,
mobile: this.data.mobile,
smsCode: this.data.smsCode,
realName: this.data.userName,
sex: this.data.sex,
road: this.data.street,
villageName: this.data.community,
dwellingPlace: this.data.building,
gridId: this.data.gridId,
wxCode: this.data.unionIdStatus === "1" ? "" : this.data.wxCode,
encryptedData: this.data.unionIdStatus === "1" ? "" : this.data.encryptedData,
iv: this.data.unionIdStatus === "1" ? "" : this.data.iv
}
console.log(this.data.tabType)
if (this.data.tabType == "tab1") {
api.completeResidentInfo(para).then(function (res) {
// console.log(res.data.resultCode)
wx.hideLoading()
if (res.data.resultCode == 1) {
wx.showModal({
title: "党员认证失败",
showCancel: false,
content: res.data.resultMsg,
success: function () {
wx.reLaunch({
url: "/pages/indexNew/indexNew"
})
}
})
} else {
wx.showToast({
title: "认证成功",
icon: "none",
duration: 3000,
complete: function () {
setTimeout(function () {
wx.reLaunch({
url: "/pages/indexNew/indexNew"
})
}, 3000);
}
})
}
})
} else {
api.completePartyInfo(para).then(function (res) {
// console.log(res.data.resultCode)
wx.hideLoading()
if (res.data.resultCode == 1) {
wx.showModal({
title: "党员认证失败",
showCancel: false,
content: res.data.resultMsg,
success: function () {
wx.reLaunch({
url: "/pages/indexNew/indexNew"
})
}
})
} else {
wx.showToast({
title: "认证成功",
icon: "none",
duration: 3000,
complete: function () {
setTimeout(function () {
wx.reLaunch({
url: "/pages/indexNew/indexNew"
})
}, 3000);
}
})
}
})
}
// api.completeInfo(para).then(function (res) {
// // console.log(res.data.resultCode)
// wx.hideLoading()
// if (res.data.resultCode == 1) {
// wx.showModal({
// title: '党员认证失败',
// showCancel: false,
// content: res.data.resultMsg,
// success: function (res) {
// wx.reLaunch({
// url: '/pages/index/index'
// })
// }
// })
// } else {
// wx.showToast({
// title: '认证成功',
// icon: 'none',
// duration: 3000,
// complete: function () {
// setTimeout(function () {
// wx.reLaunch({
// url: '/pages/index/index'
// })
// }, 3000);
// }
// })
// }
// })
},
getSmsCode () {
console.log(this.data.mobile)
if (this.data.mobile === "") {
wx.showToast({
title: "请先输入手机号",
icon: "none",
duration: 3000
})
return false
} else if (this.data.mobile.length !== 11) {
wx.showToast({
title: "请先输入正确手机号",
icon: "none",
duration: 3000
})
return false
}
if (this.data.wait < 60) {
wx.showToast({
title: "请" + this.data.wait + "秒后再试",
duration: 2000,
icon: "none"
})
return
}
this.outtime()
api.sendSms(this.data.mobile).then(function (res) {
console.log("已经成功发送验证码")
console.log(res)
})
},
// 性别选择
radioChange (e) {
this.setData({
sex: e.detail.value
})
},
// 查看用户是否完善个人信息
checkWxUnionId () {
api.checkWxUnionId().then(res => {
console.log("查看用户是否已保存unionId", res)
this.setData({
unionIdStatus: res.data
})
}).catch(err => {
this.setData({
unionIdStatus: "0"
})
console.log(err)
})
},
// 获取用户信息
getUserInfo (e) {
this.setData({
encryptedData: e.detail.encryptedData,
iv: e.detail.iv
})
this.toRegister()
},
// 获取wxCode
getWxCode () {
const that = this
wx.login({
success (res) {
that.setData({
wxCode: res.code
})
}
})
},
// 获取所有网格
getGridList () {
api.getGridList().then(res => {
console.log("获取所有网格", res)
const buttonList = []
res.data.forEach(item => {
if (item.gridId !== this.data.gridId) {
buttonList.push({
id: item.gridId,
text: item.grid
})
}
})
this.setData({
gridList: res.data,
changeGridList: buttonList
})
}).catch(err => {
this.setData({
gridList: []
})
console.log(err)
})
},
// 切换网格
changeGrid () {
const buttonList = []
this.data.gridList.forEach(item => {
buttonList.push({
id: item.gridId,
text: item.grid
})
})
const index = buttonList.findIndex(item => item.id === this.data.gridId)
if (index > -1) {
buttonList.splice(index, 1)
}
this.setData({
changeGridList: buttonList
})
const that = this
$wuxActionSheet().showSheet({
buttons: this.data.changeGridList,
className: "dialog-class",
buttonClicked (index, item) {
that.setData({
gridId: item.id,
gridName: item.text
})
return true
},
cancelText: "取消",
cancel () {},
destructiveButtonClicked () {},
})
}
})