声脉桥梁云监控平台

linkage.vue 3.4KB

    <template> <div class="linkage"> <el-select v-model="sheng" @change="choseProvince" placeholder="省级地区"> <el-option v-for="item in province" :key="item.id" :label="item.value" :value="item.id"> </el-option> </el-select> <el-select v-model="shi" @change="choseCity" placeholder="市级地区"> <el-option v-for="item in shi1" :key="item.id" :label="item.value" :value="item.id"> </el-option> </el-select> <el-select v-model="qu" @change="choseBlock" placeholder="区级地区"> <el-option v-for="item in qu1" :key="item.id" :label="item.value" :value="item.id"> </el-option> </el-select> </div> </template> <script> import axios from 'axios' export default { data() { return { mapJson: '../../static/map.json', province: '', sheng: '', shi: '', shi1: [], qu: '', qu1: [], city: '', block: '' } }, methods: { getCityData: function() { var that = this axios.get(this.mapJson).then(function(response) { if (response.status === 200) { var data = response.data that.province = [] that.city = [] that.block = [] for (var item in data) { if (item.match(/0000$/)) { that.province.push({ id: item, value: data[item], children: [] }) } else if (item.match(/00$/)) { that.city.push({ id: item, value: data[item], children: [] }) } else { that.block.push({ id: item, value: data[item] }) } } for (var index in that.province) { for (var index1 in that.city) { if (that.province[index].id.slice(0, 2) === that.city[index1].id.slice(0, 2)) { that.province[index].children.push(that.city[index1]) } } } for (var item1 in that.city) { for (var item2 in that.block) { if (that.block[item2].id.slice(0, 4) === that.city[item1].id.slice(0, 4)) { that.city[item1].children.push(that.block[item2]) } } } } else { console.log(response.status) } }) }, choseProvince: function(e) { for (var index2 in this.province) { if (e === this.province[index2].id) { this.shi1 = this.province[index2].children this.shi = this.province[index2].children[0].value this.qu1 = this.province[index2].children[0].children this.qu = this.province[index2].children[0].children[0].value this.E = this.qu1[0].id this.sheng = this.province[index2].value } } }, choseCity: function(e) { for (var index3 in this.city) { if (e === this.city[index3].id) { this.qu1 = this.city[index3].children this.qu = this.city[index3].children[0].value this.E = this.qu1[0].id this.shi = this.city[index3].value } } }, choseBlock: function(e) { for (var index3 in this.qu1) { if (e === this.qu1[index3].id) { this.qu = this.qu1[index3].value } } this.E = e } }, created: function() { this.getCityData() } } </script>