var api = require('../../utils/api.js') var global = require('../../utils/config.js') const QQMapWX = require('../../utils/qqmap-wx-jssdk') import { gcj02_to_wgs84 } from "../../utils/wgs84_to_gcj02"; const app = getApp() Page({ data: { gridId: '', gridName: '', gridNameArr: [], formid: '', resToken: '', resGridName: '', inviteUserId: '', GridNameId: "", qqMapWX: '', form: { }, streetList: [], addressContent: '', address: '', form: { name: '', idCard: '', mobile: '', homeName: '',//居住小区名称 workUnit: '',//工作单位 workType: '',//单位性质 workIndustry: '',//所属行业 party: 1,//是否为党员 allDeptIds: [],//社区id shibei:'1',//是否居住在市北 }, selectedStatus:false, selectOption: [ { label: '党政机关', value: '0' }, { label: '事业单位', value: '1' }, { label: '国有企业', value: '2' }, { label: '私营企业', value: '3' }, { label: '集体企业', value: '4' }, { label: '外资企业、合资企业', value: '5' }, { label: '社会组织', value: '6' }, { label: '其他', value: '7' } ], workTypeInput:false, workTypeText:'',//单位类型为其他的输入框值 newArr:[], multiIds:[], multiIndex: [0, 0], changeFlag:false, }, onLoad(options) { // this.data.qqMapWX = new QQMapWX({ // key: 'CMJBZ-4DECI-JXGGN-5B4WU-QLV2H-B5BEJ' // }) // this.getLocation().then(() => { // this.reverseLocation() // }) this.getDeptTree() // if (options.gid) { // this.setData({ // gridId:'1221751857028825090', // inviteUserId: options.inviteUserId // }) // } // this.getToken(options.gid) // this.getInvitation() }, // 获取经纬度 getLocation() { return new Promise((resolve, reject) => { const _this = this wx.getLocation({ type: 'gcj02', success(res) { if (res.latitude && res.longitude) { _this.setData({ 'form.issueLatitude': res.latitude, 'form.issueLongitude': res.longitude }) _this.getDeptIdByItude() resolve(true) } }, fail(err) { reject(err) } }) }) }, getDeptIdByItude() { let transfromlnglat = gcj02_to_wgs84(this.data.form.issueLongitude, this.data.form.issueLatitude) const para = { longitude: transfromlnglat[0], latitude: transfromlnglat[1] } api.getDeptIdByItude(para).then(res => { // 返回成功以后再调用 列表 this.setData({ 'form.streetId': res.data && res.data.streetId ? res.data.streetId : '', 'form.communityId': res.data && res.data.communityId ? res.data.communityId : '', 'form.gridId': res.data && res.data.gridId ? res.data.gridId : '', 'form.grid': res.data && res.data.gridName ? res.data.gridName : '' }) this.getDeptTree() }).catch(err => { this.getDeptTree() console.log(err) }) }, //获取街道树 getDeptTree() { api.getDeptTree().then(res => { this.setData({ streetList: res.data[0].children }) console.log(this.data.streetList); let state = { arr: [], arr1: [], arr2: [], // arr3: [], multiIds: [] } this.data.streetList.map((v, vk) => { state.arr1.push(v.label); if (this.data.multiIndex[0] === vk) { state.multiIds[0] = v; } 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 (state.arr3.length <= 0) { // c.children.map((t, tk) => { // state.arr3.push(t.label); // if (this.data.multiIndex[2] === tk) { // state.multiIds[2] = t; // } // }); // } }); } }); state.arr[0] = state.arr1; state.arr[1] = state.arr2; this.setData({ newArr: state.arr, multiIds: state.multiIds, }); if (this.data.form.streetId && this.data.form.communityId) { this.data.streetList.forEach(element => { if (element.value == this.data.form.streetId) { this.setData({ 'form.street': element.label, communityList: element.children.filter(item=>item.label!= '武定路社区'&&item.label!= '陵县路社区') // 社区 }) // 循环社区 element.children.forEach(community => { if (community.value == this.data.form.communityId) { this.setData({ 'form.community': community.label, gridList: community.children, // 'form.grid': community.children[0].label, // 网格默认选择第一个 // 'form.gridId': community.children[0].value // 网格 }) } }); } }); } }).catch(err => { console.log(err) }) }, //确定选择社区 bindMultiPickerChange() { this.setData({ 'form.allDeptIds':['1175270520603930625',this.data.multiIds[0].value,this.data.multiIds[1].value,this.data.streetList.filter(item=>item.value == this.data.multiIds[0].value)[0].children.filter(item=>item.value== this.data.multiIds[1].value)[0].children[0].value], changeFlag:true }) console.log(this.data.streetList); console.log(this.data.form.allDeptIds); }, //滑动社区 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) => { 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 }) }, reverseLocation() { const _this = this this.data.qqMapWX.reverseGeocoder({ location: { latitude: _this.data.form.issueLatitude, longitude: _this.data.form.issueLongitude }, success(res) { _this.setData({ addressContent: res.result.address, address: res.result.address // 'form.issueAddress': res.result.address, }) }, fail(err) { console.debug(err) } }) }, //姓名双向绑定 bindRealNameInput(e) { this.setData({ 'form.name': e.detail.value }) console.log(this.data.form) }, //身份证双向绑定 bindRealIdcardInput(e) { this.setData({ 'form.idCard': e.detail.value }) console.log(this.data.form) }, //工作单位 bindWorkUnitInput(e) { this.setData({ 'form.workUnit': e.detail.value }) console.log(this.data.form) }, //所属行业 bindWorkIndustryInput(e) { this.setData({ 'form.workIndustry': e.detail.value }) console.log(this.data.form) }, //手机号双向绑定 bindRealMobileInput(e) { this.setData({ 'form.mobile': e.detail.value }) console.log(this.data.form) }, //居住小区名称 bindHomeNameInput(e) { this.setData({ 'form.homeName': e.detail.value }) }, //单选框 bindFlagshibeiChange(e){ this.setData({ 'form.shibei': e.detail.value }) }, handleCLickShow(e) { this.setData({ selectedStatus: true, }) }, pickerConfirm(e) { console.log(e); if(e.detail.value == '7'){ this.setData({ workTypeInput:true }) } this.setData({ 'form.workType': e.detail.label, selectedStatus: false }); }, //下拉框取消 pickerCancel() { this.setData({ selectedStatus: false }); }, bindWorkTypeTextInput(e){ console.log(e,'cccccc'); this.setData({ workTypeText: e.detail.value }) console.log(this.data.workTypeText); }, //单位性质弹框确定 confirmDlaog(e){ console.log(e); this.setData({ workTypeInput:false }) }, //单位性质弹框取消 cancelDlaog(){ this.setData({ workTypeInput:false }) }, getToken: function (gid) { let that = this wx.login({ success(res) { if (res.code) { console.log('微信CODE: ' + res.code) let wxCode = res.code const para = { inviteUserId: that.data.inviteUserId, //写死四机社区第一网格 gridId: '1224104693058306049', wxCode: res.code } api.getTokenV3(para).then(function (res) { global.Token = res.data.token wx.removeStorageSync('token') wx.setStorageSync('token', res.data.token) that.setData({ resToken: res.data.token, resGridName: res.data.grid }) }) } } }) }, // 单选点击事件 showToast (title) { wx.showToast({ title: title, icon: 'none', duration: 2000 }) }, navigateToIndex() { if (!this.data.form.name) { this.showToast('请输入姓名') return false } if (!this.data.form.idCard) { this.showToast('请填写身份证号') return false } if(!this.data.form.workUnit){ this.showToast('请填写工作单位') return false } if (!this.data.form.mobile) { this.showToast('请填写手机号') return false } if(this.data.form.shibei == '1'){ if (this.data.form.allDeptIds.length == 0) { this.showToast('请选择报到常住社区名称') return false } if (!this.data.form.homeName) { this.showToast('请填写居住小区名称') return false } }else if(this.data.form.shibei == '0'){ if (this.data.form.allDeptIds.length == 0) { this.showToast('请填写单位报到联系社区名称') return false } } const para = { ...this.data.form } if(this.data.workTypeText){ para.workType = this.data.workTypeText } para.party = parseInt(para.party) console.log(para); // wx.showLoading({ // title: "提交中..." // }) let than = this // api.submitReportparty(para).then(res => { // wx.hideLoading() // if(res.code == '0'){ // than.setData({ // submitStatus:true // }) // }else{ // than.showToast(res.msg) // } // }).catch(err => { // wx.hideLoading() // console.log(err); // }) wx.reLaunch({ url: '/pages/home/home' }) console.log(this.data.form); } })