|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getArea | 
|---|
|  |  |  | } from '../../api/index' | 
|---|
|  |  |  | 
|---|
|  |  |  | // observer监听value的变化,如果有值则调用setLabel方法设置选择器的label | 
|---|
|  |  |  | observer(selectedValues) { | 
|---|
|  |  |  | if (selectedValues && selectedValues.length) { | 
|---|
|  |  |  | this.resetValus(selectedValues) | 
|---|
|  |  |  | console.log("--------------------",this.data.value) | 
|---|
|  |  |  | this.setLabel(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | // attached生命周期函数,在组件实例进入页面节点树时执行 | 
|---|
|  |  |  | attached() { | 
|---|
|  |  |  | this.initData() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | // wx.setStorageSync('addressList', tl) | 
|---|
|  |  |  | initData(){ | 
|---|
|  |  |  | let list = wx.getStorageSync('addressList') | 
|---|
|  |  |  | if(list && list.length){ | 
|---|
|  |  |  | this.setData({addressList: list}) | 
|---|
|  |  |  | this.resetValus(list) | 
|---|
|  |  |  | this.setLabel(); | 
|---|
|  |  |  | if (!this.data.value.length) { | 
|---|
|  |  |  | this.initRange(); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wx.setStorageSync('addressList', tl) | 
|---|
|  |  |  | this.setData({addressList: tl}) | 
|---|
|  |  |  | this.resetValus() | 
|---|
|  |  |  | this.setLabel(); | 
|---|
|  |  |  | if (!this.data.value.length) { | 
|---|
|  |  |  | this.initRange(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | console.log(this.data.addressList) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | resetValus(selectedValues){ | 
|---|
|  |  |  | selectedValues = selectedValues || this.data.value | 
|---|
|  |  |  | let temVal = [] | 
|---|
|  |  |  | let tlable ='' | 
|---|
|  |  |  | if (selectedValues.length == 3) { | 
|---|
|  |  |  | var v1  = selectedValues[0] | 
|---|
|  |  |  | var v2  = selectedValues[1] | 
|---|
|  |  |  | var v3= selectedValues[2] | 
|---|
|  |  |  | var t1,t2,t3; | 
|---|
|  |  |  | this.data.addressList.forEach(item =>{ | 
|---|
|  |  |  | if(v1 && v1.length ==6 | 
|---|
|  |  |  | &&v2 && v2.length ==6 | 
|---|
|  |  |  | &&v3  && v3.length ==6){ | 
|---|
|  |  |  | if(item.value.indexOf(v1) == 0){ | 
|---|
|  |  |  | t1 = item.value | 
|---|
|  |  |  | if(item.children){ | 
|---|
|  |  |  | item.children.forEach(item2 =>{ | 
|---|
|  |  |  | if(item2.value.indexOf(v2) == 0){ | 
|---|
|  |  |  | if(item2.children){ | 
|---|
|  |  |  | item2.children.forEach(item3 =>{ | 
|---|
|  |  |  | if(item3.value.indexOf(v3) == 0){ | 
|---|
|  |  |  | tlable = item.label +"-"+item2.label+'-'+item3.label | 
|---|
|  |  |  | t1 = item.value | 
|---|
|  |  |  | t2 = item2.value | 
|---|
|  |  |  | t3 = item3.value | 
|---|
|  |  |  | temVal = [t1,t2,t3] | 
|---|
|  |  |  | // this.value = temVal | 
|---|
|  |  |  | // this.data.label=tlable | 
|---|
|  |  |  | this.triggerEvent("change", { | 
|---|
|  |  |  | value: temVal, | 
|---|
|  |  |  | label:tlable | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.setData({value:temVal,label:tlable}) | 
|---|
|  |  |  | console.log("--------------------",this.data.value) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | label:label | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | console.log("label1", label) | 
|---|
|  |  |  | console.log("label",this.data.label) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // columnChange方法为选择器的columnchange事件处理函数,用于设置range和pickerValue | 
|---|
|  |  |  | columnChange(e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | label: t3 | 
|---|
|  |  |  | }] = this.getAddressByCode(l2, v3); | 
|---|
|  |  |  | const label = [t1, t2, t3].filter(v => v).join('-'); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const pickerValue = [s1, s2, s3]; | 
|---|
|  |  |  | const range = this.openChildren(addressList, [s1, s2, s3]); | 
|---|
|  |  |  | if (label.length) { | 
|---|
|  |  |  | 
|---|
|  |  |  | pickerValue | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // initRange方法用于初始化range | 
|---|