| | |
| | | |
| | | <script> |
| | | // 使用说明:v-model时,必须传带有带有省,市,区拼音的字段 |
| | | import request from '@/utils/request' |
| | | import request from "@/utils/request"; |
| | | import store from "@/store"; |
| | | |
| | | export default { |
| | | name: "li_area_select", |
| | | //通过 model 选项配置子组件接收的 prop 名以及派发的事件名 |
| | | model: { |
| | | prop: "caddress", |
| | | event: "change", |
| | | event: "change" |
| | | }, |
| | | props: { |
| | | caddress: { |
| | | type: Object, |
| | | }, |
| | | type: Object |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | //areaJson: './../address.json', |
| | | addressArray: [], //所有数据 |
| | | cityArray: [], |
| | | areaArray: [], |
| | | areaArray: [] |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | methods: { |
| | | getAddressData() { |
| | | var that = this; |
| | | request({ |
| | | url: that.areaJson, |
| | | method: "get", |
| | | }).then(function (response) { |
| | | if (response.code === 200) { |
| | | //获取地址 |
| | | console.log(store.getters.addressArray,'addressArray'); |
| | | |
| | | that.addressArray = response.data; |
| | | //默认值赋值获取城市数组 |
| | | if (that.caddress.sheng) { |
| | | for (let ad of that.addressArray) { |
| | | if (ad.areaname === that.caddress.sheng) { |
| | | that.cityArray = ad.subarea; |
| | | //--- |
| | | //默认赋值获取区域数组 |
| | | if (that.caddress.shi) { |
| | | for (let area of that.cityArray) { |
| | | if (area.areaname === that.caddress.shi) { |
| | | that.areaArray = area.subarea; |
| | | break; |
| | | } |
| | | if (store.getters.addressArray.length) { |
| | | that.addressArray = store.getters.addressArray.length; |
| | | //默认值赋值获取城市数组 |
| | | if (that.caddress.sheng) { |
| | | for (let ad of that.addressArray) { |
| | | if (ad.areaname === that.caddress.sheng) { |
| | | that.cityArray = ad.subarea; |
| | | //--- |
| | | //默认赋值获取区域数组 |
| | | if (that.caddress.shi) { |
| | | for (let area of that.cityArray) { |
| | | if (area.areaname === that.caddress.shi) { |
| | | that.areaArray = area.subarea; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | request({ |
| | | url: that.areaJson, |
| | | method: "get" |
| | | }).then(function(response) { |
| | | if (response.code === 200) { |
| | | //获取地址 |
| | | |
| | | that.addressArray = response.data; |
| | | //默认值赋值获取城市数组 |
| | | if (that.caddress.sheng) { |
| | | for (let ad of that.addressArray) { |
| | | if (ad.areaname === that.caddress.sheng) { |
| | | that.cityArray = ad.subarea; |
| | | //--- |
| | | //默认赋值获取区域数组 |
| | | if (that.caddress.shi) { |
| | | for (let area of that.cityArray) { |
| | | if (area.areaname === that.caddress.shi) { |
| | | that.areaArray = area.subarea; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | //选择省份 |
| | | getCityData(val) { |
| | |
| | | this.$forceUpdate(); |
| | | }, |
| | | |
| | | getSheng(){ |
| | | let list= this.addressArray.filter(r=>r.areaname == this.caddress.sheng); |
| | | if(list.length>0){ |
| | | getSheng() { |
| | | let list = this.addressArray.filter( |
| | | r => r.areaname == this.caddress.sheng |
| | | ); |
| | | if (list.length > 0) { |
| | | return list[0].areacode; |
| | | } |
| | | else{ |
| | | return ''; |
| | | } else { |
| | | return ""; |
| | | } |
| | | }, |
| | | getShi(){ |
| | | let list= this.cityArray.filter(r=>r.areaname == this.caddress.shi); |
| | | if(list.length>0){ |
| | | getShi() { |
| | | let list = this.cityArray.filter(r => r.areaname == this.caddress.shi); |
| | | if (list.length > 0) { |
| | | return list[0].areacode; |
| | | } |
| | | else{ |
| | | return ''; |
| | | } else { |
| | | return ""; |
| | | } |
| | | }, |
| | | getQu(){ |
| | | let list= this.areaArray.filter(r=>r.areaname == this.caddress.qu); |
| | | if(list.length>0){ |
| | | getQu() { |
| | | let list = this.areaArray.filter(r => r.areaname == this.caddress.qu); |
| | | if (list.length > 0) { |
| | | return list[0].areacode; |
| | | } else { |
| | | return ""; |
| | | } |
| | | else{ |
| | | return ''; |
| | | } |
| | | }, |
| | | clean(){ |
| | | this.caddress.sheng=""; |
| | | this.caddress.shi=""; |
| | | this.caddress.qu=""; |
| | | clean() { |
| | | this.caddress.sheng = ""; |
| | | this.caddress.shi = ""; |
| | | this.caddress.qu = ""; |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | </style> |
| | | <style scoped></style> |