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.
648 lines
18 KiB
648 lines
18 KiB
const api = require('../../../../../utils/partApi')
|
|
const app = getApp()
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
look: true,
|
|
informFlag: false,
|
|
selectOption: [{
|
|
label: '机关企事业单位',
|
|
value: '0'
|
|
},
|
|
{
|
|
label: '学校',
|
|
value: '8'
|
|
},
|
|
{
|
|
label: '国有企业',
|
|
value: '2'
|
|
},
|
|
{
|
|
label: '私营企业',
|
|
value: '3'
|
|
},
|
|
{
|
|
label: '集体企业',
|
|
value: '4'
|
|
},
|
|
{
|
|
label: '外资企业、合资企业',
|
|
value: '5'
|
|
},
|
|
{
|
|
label: '社会组织',
|
|
value: '6'
|
|
},
|
|
{
|
|
label: '其他',
|
|
value: '7'
|
|
}
|
|
],
|
|
selectedStatus: false,
|
|
form: {
|
|
id: '',
|
|
name: '',
|
|
idCard: '',
|
|
mobile: '',
|
|
homeName: '', //居住小区名称
|
|
workUnit: '', //工作单位
|
|
workType: '', //单位性质
|
|
workIndustry: '', //所属行业
|
|
party: 1, //是否为党员
|
|
volunteer: 1, //是否加入志愿者
|
|
gridStaff: 1, //是否红色网格
|
|
owners: 1, //是否参加业主委员会
|
|
allDeptIds: [], //社区id
|
|
shibei: '1', //是否居住在市北
|
|
couplingCommunity: []
|
|
},
|
|
workTypeText: '',
|
|
streetList: [],
|
|
newArr: [],
|
|
multiIds: [],
|
|
multiIndex: [0, 0],
|
|
newArrC: [],
|
|
multiIdsC: [],
|
|
multiIndexC: [0, 0],
|
|
submitStatus: false,
|
|
changeFlag: false,
|
|
changeFlagC: false,
|
|
workTypeInput: false,
|
|
tipData: {}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad() {
|
|
this.getDeptTree()
|
|
let {
|
|
id,
|
|
realName,
|
|
identityNo,
|
|
allDeptIds,
|
|
mobile,
|
|
villageName,
|
|
workUnit,
|
|
workType,
|
|
workIndustry,
|
|
hobbies,
|
|
shibei
|
|
} = JSON.parse(wx.getStorageSync('userInfo'))
|
|
this.setData({
|
|
'form.name': realName,
|
|
'form.idCard': identityNo,
|
|
'form.mobile': mobile,
|
|
'form.allDeptIds': allDeptIds.split(','),
|
|
'form.workUnit': workUnit,
|
|
'form.workType': workType,
|
|
'form.workIndustry': workIndustry,
|
|
'form.hobbies': hobbies,
|
|
'form.shibei': shibei,
|
|
'form.homeName': villageName,
|
|
})
|
|
this.getByIdCardAndName()
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
// this.getByLoginUser()
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
},
|
|
getDeptTree() {
|
|
api.getDeptTree().then(res => {
|
|
this.setData({
|
|
streetList: res.data[0].children
|
|
})
|
|
let state = {
|
|
arr: [],
|
|
arr1: [],
|
|
arr2: [],
|
|
multiIds: []
|
|
}
|
|
let stateC = JSON.parse(JSON.stringify(state));
|
|
let allDeptIdsStr = this.data.form.allDeptIds.slice(1, 3)
|
|
let couplingCommunityStr = this.data.form.couplingCommunity.slice(1, 3)
|
|
this.data.streetList.map((v, vk) => {
|
|
state.arr1.push(v.label);
|
|
if (this.data.multiIndex[0] === vk) {
|
|
state.multiIds[0] = v;
|
|
}
|
|
if (this.data.multiIndexC[0] === vk) {
|
|
stateC.multiIds[0] = v;
|
|
}
|
|
if (allDeptIdsStr[0] == v.value && allDeptIdsStr[0]) {
|
|
if (state.arr2.length <= 0) {
|
|
v.children.map((c, ck) => {
|
|
state.arr2.push(c.label);
|
|
if (this.data.multiIndex[1] === ck) {
|
|
state.multiIds[1] = c;
|
|
}
|
|
});
|
|
}
|
|
} else if (!allDeptIdsStr[0]) {
|
|
if (state.arr2.length <= 0) {
|
|
v.children.map((c, ck) => {
|
|
state.arr2.push(c.label);
|
|
if (this.data.multiIndex[1] === ck) {
|
|
state.multiIds[1] = c;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
if (couplingCommunityStr[0] == v.value && couplingCommunityStr[0]) {
|
|
if (stateC.arr2.length <= 0) {
|
|
v.children.map((c, ck) => {
|
|
stateC.arr2.push(c.label);
|
|
if (this.data.multiIndexC[1] === ck) {
|
|
stateC.multiIds[1] = c;
|
|
}
|
|
});
|
|
}
|
|
} else if (!couplingCommunityStr[0]) {
|
|
if (stateC.arr2.length <= 0) {
|
|
v.children.map((c, ck) => {
|
|
stateC.arr2.push(c.label);
|
|
if (this.data.multiIndexC[1] === ck) {
|
|
stateC.multiIds[1] = c;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
});
|
|
state.arr[0] = state.arr1;
|
|
state.arr[1] = state.arr2;
|
|
stateC.arr[0] = state.arr1;
|
|
stateC.arr[1] = stateC.arr2;
|
|
this.setData({
|
|
newArr: state.arr,
|
|
multiIds: state.multiIds,
|
|
newArrC: stateC.arr,
|
|
multiIdsC: stateC.multiIds,
|
|
});
|
|
if (allDeptIdsStr) {
|
|
this.data.streetList.forEach((item, index) => {
|
|
if (item.value == allDeptIdsStr[0]) {
|
|
item.children.forEach((c, i) => {
|
|
if (c.value == allDeptIdsStr[1]) {
|
|
this.setData({
|
|
multiIndex: [index, i],
|
|
changeFlag: true
|
|
})
|
|
}
|
|
})
|
|
}
|
|
})
|
|
}
|
|
if (couplingCommunityStr) {
|
|
this.data.streetList.forEach((item, index) => {
|
|
if (item.value == couplingCommunityStr[0]) {
|
|
item.children.forEach((c, i) => {
|
|
if (c.value == couplingCommunityStr[1]) {
|
|
this.setData({
|
|
multiIndexC: [index, i],
|
|
changeFlagC: true
|
|
})
|
|
}
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}).catch(err => {
|
|
console.log(err)
|
|
})
|
|
},
|
|
|
|
bindMultiPickerChangeC() {
|
|
this.setData({
|
|
'form.couplingCommunity': ['1175270520603930625', this.data.multiIdsC[0].value, this.data.multiIdsC[1].value, this.data.multiIdsC[1].children[0].value],
|
|
changeFlagC: true
|
|
})
|
|
},
|
|
|
|
bindMultiPickerColumnChangeC(e) {
|
|
let data = {
|
|
newArrC: this.data.newArrC,
|
|
multiIndexC: this.data.multiIndexC,
|
|
multiIdsC: this.data.multiIdsC,
|
|
};
|
|
data.multiIndexC[e.detail.column] = e.detail.value;
|
|
let searchColumn = () => {
|
|
let arr1 = [];
|
|
this.data.streetList.map((v, vk) => {
|
|
if (data.multiIndexC[0] === vk) {
|
|
data.multiIdsC[0] = {
|
|
...v,
|
|
};
|
|
v.children.map((c, ck) => {
|
|
if (c.label != '武定路社区' && c.label != '陵县路社区') {
|
|
arr1.push(c.label);
|
|
}
|
|
if (data.multiIndexC[1] === ck) {
|
|
data.multiIdsC[1] = {
|
|
...c,
|
|
};
|
|
}
|
|
});
|
|
}
|
|
});
|
|
data.newArrC[1] = arr1;
|
|
};
|
|
switch (e.detail.column) {
|
|
case 0:
|
|
data.multiIndexC[1] = 0;
|
|
searchColumn();
|
|
break;
|
|
case 1:
|
|
searchColumn();
|
|
break;
|
|
}
|
|
this.setData(data);
|
|
this.setData({
|
|
newArrC: this.data.newArrC,
|
|
changeFlagC: true
|
|
})
|
|
},
|
|
cancelDlaog() {
|
|
this.setData({
|
|
workTypeInput: false
|
|
})
|
|
},
|
|
handelClickTwo() {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
},
|
|
bindWorkTypeTextInput(e) {
|
|
this.setData({
|
|
workTypeText: e.detail.value
|
|
})
|
|
},
|
|
confirmDlaog(e) {
|
|
this.setData({
|
|
workTypeInput: false
|
|
})
|
|
},
|
|
getByIdCardAndName() {
|
|
let parm = {
|
|
idCard: this.data.form.idCard,
|
|
name: this.data.form.name
|
|
}
|
|
api.getByIdCardAndName(parm).then(res => {
|
|
if (res.data) {
|
|
this.setData({
|
|
'form.id': res.data.id,
|
|
'form.couplingCommunity': res.data.couplingCommunity,
|
|
'form.owners': res.data.owners,
|
|
'form.party': res.data.party,
|
|
'form.gridStaff': res.data.gridStaff,
|
|
'form.volunteer': res.data.volunteer,
|
|
})
|
|
}
|
|
}).catch(err => {
|
|
|
|
})
|
|
},
|
|
//确定选择社区
|
|
bindMultiPickerChange() {
|
|
if (this.data.form.shibei == '0') {
|
|
this.setData({
|
|
'form.couplingCommunity': ['1175270520603930625', this.data.multiIds[0].value, this.data.multiIds[1].value, this.data.multiIds[1].children[0].value],
|
|
changeFlag: true
|
|
})
|
|
} else {
|
|
this.setData({
|
|
'form.allDeptIds': ['1175270520603930625', this.data.multiIds[0].value, this.data.multiIds[1].value, this.data.multiIds[1].children[0].value],
|
|
changeFlag: true
|
|
})
|
|
}
|
|
},
|
|
bindMultiPickerColumnChange(e) {
|
|
let data = {
|
|
newArr: this.data.newArr,
|
|
multiIndex: this.data.multiIndex,
|
|
multiIds: this.data.multiIds,
|
|
};
|
|
data.multiIndex[e.detail.column] = e.detail.value;
|
|
let searchColumn = () => {
|
|
let arr1 = [];
|
|
let arr2 = [];
|
|
this.data.streetList.map((v, vk) => {
|
|
if (data.multiIndex[0] === vk) {
|
|
data.multiIds[0] = {
|
|
...v,
|
|
};
|
|
v.children.map((c, ck) => {
|
|
if (c.label != '武定路社区' && c.label != '陵县路社区') {
|
|
arr1.push(c.label);
|
|
}
|
|
if (data.multiIndex[1] === ck) {
|
|
data.multiIds[1] = {
|
|
...c,
|
|
};
|
|
}
|
|
});
|
|
}
|
|
});
|
|
data.newArr[1] = arr1;
|
|
data.newArr[2] = arr2;
|
|
|
|
};
|
|
switch (e.detail.column) {
|
|
case 0:
|
|
// 每次切换还原初始值
|
|
data.multiIndex[1] = 0;
|
|
// data.multiIndex[2] = 0;
|
|
// 执行函数处理
|
|
searchColumn();
|
|
break;
|
|
case 1:
|
|
// data.multiIndex[2] = 0;
|
|
searchColumn();
|
|
break;
|
|
case 2:
|
|
searchColumn();
|
|
break;
|
|
|
|
}
|
|
|
|
this.setData(data);
|
|
this.setData({
|
|
newArr: this.data.newArr.splice(0, 2),
|
|
changeFlag: true
|
|
})
|
|
},
|
|
getByLoginUser() {
|
|
api.getByLoginUser().then(res => {
|
|
if (res.code !== 0) {
|
|
return this.$message.error(res.msg)
|
|
}
|
|
let arr = res.data.options[0].children.filter((item) => (item.children))
|
|
this.setData({
|
|
streetList: arr
|
|
})
|
|
})
|
|
},
|
|
handleClickDisabled(e) {
|
|
this.showToast('请前往个人信息中修改')
|
|
},
|
|
//所属行业
|
|
bindWorkIndustryInput(e) {
|
|
this.setData({
|
|
'form.workIndustry': e.detail.value
|
|
})
|
|
},
|
|
bindHobbiesInput(e) {
|
|
this.setData({
|
|
'form.hobbies': e.detail.value
|
|
})
|
|
},
|
|
|
|
|
|
//手机号双向绑定
|
|
bindRealMobileInput(e) {
|
|
this.showToast('请前往个人信息中修改')
|
|
// this.setData({
|
|
// 'form.mobile': e.detail.value
|
|
// })
|
|
// console.log(this.data.form)
|
|
},
|
|
bindHomeNameInput(e) {
|
|
this.setData({
|
|
'form.homeName': e.detail.value
|
|
})
|
|
},
|
|
binddeptNameInput(e) {
|
|
this.setData({
|
|
'form.deptName': e.detail.value
|
|
})
|
|
},
|
|
//取消选择
|
|
pickerCancel() {
|
|
this.setData({
|
|
selectedStatus: false
|
|
});
|
|
},
|
|
//单选框事件
|
|
bindFlagPartyChange(e) {
|
|
this.setData({
|
|
'form.party': e.detail.value
|
|
})
|
|
},
|
|
bindFlagVolunteerChange(e) {
|
|
this.setData({
|
|
'form.volunteer': e.detail.value
|
|
})
|
|
},
|
|
//
|
|
bindFlagGridStaffChange(e) {
|
|
this.setData({
|
|
'form.gridStaff': e.detail.value
|
|
})
|
|
},
|
|
bindFlagOwnersChange(e) {
|
|
this.setData({
|
|
'form.owners': e.detail.value
|
|
})
|
|
},
|
|
bindFlagshibeiChange(e) {
|
|
this.getDeptTree()
|
|
this.setData({
|
|
'form.shibei': e.detail.value,
|
|
'form.homeName': '',
|
|
'form.allDeptIds': [],
|
|
'form.couplingCommunity': [],
|
|
multiIndex: [0, 0],
|
|
multiIndexC: [0, 0],
|
|
changeFlag: false,
|
|
changeFlagC: false,
|
|
})
|
|
},
|
|
pickerConfirm(e) {
|
|
if (e.detail.value == '7') {
|
|
this.setData({
|
|
workTypeInput: true
|
|
})
|
|
}
|
|
this.setData({
|
|
'form.workType': e.detail.label,
|
|
selectedStatus: false
|
|
});
|
|
},
|
|
|
|
//点击显示下拉
|
|
handleCLickShow(e) {
|
|
this.setData({
|
|
selectedStatus: true,
|
|
})
|
|
},
|
|
|
|
showToast(title) {
|
|
wx.showToast({
|
|
title: title,
|
|
icon: 'none',
|
|
duration: 3000
|
|
})
|
|
},
|
|
submit() {
|
|
const para = {
|
|
...this.data.form
|
|
}
|
|
if (para.shibei == '0') {
|
|
para.owners = '',
|
|
para.homeName = ''
|
|
} else {
|
|
para.owners = parseInt(para.owners)
|
|
}
|
|
if (this.data.workTypeText) {
|
|
para.workType = this.data.workTypeText
|
|
}
|
|
para.party = parseInt(para.party)
|
|
para.volunteer = parseInt(para.volunteer)
|
|
para.gridStaff = parseInt(para.gridStaff)
|
|
para.owners = this.data.form.owners
|
|
// wx.showLoading({
|
|
// title: "提交中..."
|
|
// })
|
|
if (para.couplingCommunity.length === 4) {
|
|
this.changeFlagC = true
|
|
}
|
|
if (!this.changeFlagC) {
|
|
this.showToast('请前选择单位包联社区名称!')
|
|
return
|
|
}
|
|
let than = this
|
|
api.submitReportparty(para).then(res => {
|
|
if (res.code == '0') {
|
|
this.tipData = res.data;
|
|
than.setData({
|
|
submitStatus: true,
|
|
tipData: res.data
|
|
})
|
|
}else{
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: res.msg,
|
|
complete: (res) => {
|
|
if (res.cancel) {
|
|
}
|
|
if (res.confirm) {
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}).catch(err => {
|
|
console.log(err);
|
|
})
|
|
},
|
|
handleCheckbox(e) {
|
|
if (e.detail.value.length != 0) {
|
|
this.setData({
|
|
look: false
|
|
})
|
|
} else {
|
|
this.setData({
|
|
look: true
|
|
})
|
|
}
|
|
},
|
|
handleBack() {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
},
|
|
handleNext() {
|
|
this.setData({
|
|
informFlag: true
|
|
})
|
|
},
|
|
callLiveTelephone() {
|
|
wx.makePhoneCall({
|
|
phoneNumber: this.tipData.liveTelephone,
|
|
})
|
|
},
|
|
callLiveMobile() {
|
|
wx.makePhoneCall({
|
|
phoneNumber: this.tipData.liveMobile,
|
|
})
|
|
},
|
|
callCouplingelephone() {
|
|
wx.makePhoneCall({
|
|
phoneNumber: this.tipData.couplingelephone,
|
|
})
|
|
},
|
|
callCouplingMobile() {
|
|
wx.makePhoneCall({
|
|
phoneNumber: this.tipData.couplingMobile,
|
|
})
|
|
},
|
|
naviLiveAddress: function (e) {
|
|
let wxMap = wx.createMapContext('map', this);
|
|
wxMap.openMapApp({
|
|
latitude: parseFloat(this.tipData.liveLatitude),
|
|
longitude: parseFloat(this.tipData.liveLongitude),
|
|
destination: this.tipData.liveAddress,
|
|
complete: res => {
|
|
console.log(res);
|
|
}
|
|
});
|
|
},
|
|
naviCouplingAddress: function (e) {
|
|
let wxMap = wx.createMapContext('map', this);
|
|
wxMap.openMapApp({
|
|
latitude: parseFloat(this.tipData.couplingLatitude),
|
|
longitude: parseFloat(this.tipData.couplingLongitude),
|
|
destination: this.tipData.couplingAddress,
|
|
complete: res => {
|
|
console.log(res);
|
|
}
|
|
});
|
|
}
|
|
})
|