123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469 |
- (function() {
- Vue.component('selsect-address', {
- template: `<div class="dropdown">
- <a id="addressLabel" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
- <input id="addrcode" placeholder="请选择家庭住址" type="text" class="form-control c-323232" name="addrcode"><span class="caret selcaret"></span>
- </a>
- <div class="bgc-fff dropdown-menu dropdown-menu-right" aria-labelledby="addressLabel" style="width:308px;" id="dropdown-address">
- <ul class="nav nav-tabs" role="tablist" id="addresslist">
- <li role="presentation" class="active" style="width:102px;">
- <a href="#province" aria-controls="province" role="tab" data-toggle="tab" id="_province" data-stopPropagation="true">{{provincename}}</a>
- </li>
- <li role="presentation" style="width:102px;">
- <a href="#city" aria-controls="city" role="tab" data-toggle="tab" id="_city" data-stopPropagation="true">{{cityname}}</a>
- </li>
- <li role="presentation" style="width:102px;">
- <a href="#county" aria-controls="county" role="tab" data-toggle="tab" id="_county" data-stopPropagation="true">{{countyname}}</a>
- </li>
- </ul>
- <div class="tab-content industrybox" style="height: auto">
- <div role="tabpanel" class="tab-pane active industry c-t-left" id="province" data-stopPropagation="true">
- <div class="w3-row mt10">
- <div class="w3-col c-f16 pl10" style="width:50px;">A-G</div>
- <div class="w3-rest c-f14 c-666">
- <span :id="province.id" v-for="province in province1" @click="selectP(province.id,province.name)">{{province.name}}</span>
- </div>
- </div>
- <div class="w3-row mt10">
- <div class="w3-col c-f16 pl10" style="width:50px;">H-J</div>
- <div class="w3-rest c-f140 c-666">
- <span :id="province.id" v-for="province in province2" @click="selectP(province.id,province.name)">{{province.name}}</span>
- </div>
- </div>
- <div class="w3-row mt10">
- <div class="w3-col c-f16 pl10" style="width:50px;">L-S</div>
- <div class="w3-rest c-f14 c-666">
- <span :id="province.id" v-for="province in province3" @click="selectP(province.id,province.name)">{{province.name}}</span>
- </div>
- </div>
- <div class="w3-row mt10">
- <div class="w3-col c-f16 pl10" style="width:50px;">T-Z</div>
- <div class="w3-rest c-f14 c-666">
- <span :id="province.id" v-for="province in province4" @click="selectP(province.id,province.name)">{{province.name}}</span>
- </div>
- </div>
- </div>
- <div role="tabpanel" class="tab-pane w3-row-padding industry" id="city" data-stopPropagation="true">
- <div class="w3-third mb20" v-for="city in cities" @click="selectCi(city.id,city.name)">
- <div :id="city.id" style="padding: 5px 13px 3px;">{{city.name}}</div>
- </div>
- </div>
- <div role="tabpanel" class="tab-pane w3-row-padding industry" id="county" data-stopPropagation="true">
- <div class="w3-third mb20" v-for="county in counties" @click="selectCo(county.id,county.name)">
- <div :id="county.id" style="padding: 5px 13px 3px;">{{county.name}}</div>
- </div>
- </div>
- </div>
- </div>`,
- props: [],
- data: function() {
- return {
- "province1": [{
- id: 340000,
- abbreviation: "",
- level: 1,
- name: "安徽",
- pid: 156,
- postCode: null
- },
- {
- id: 820000,
- abbreviation: "",
- level: 1,
- name: "澳门",
- pid: 156,
- postCode: null
- },
- {
- id: 110000,
- abbreviation: "",
- level: 1,
- name: "北京",
- pid: 156,
- postCode: null
- },
- {
- id: 500000,
- abbreviation: "",
- level: 1,
- name: "重庆",
- pid: 156,
- postCode: null
- },
- {
- id: 350000,
- abbreviation: "",
- level: 1,
- name: "福建",
- pid: 156,
- postCode: null
- },
- {
- id: 440000,
- abbreviation: "",
- level: 1,
- name: "广东",
- pid: 156,
- postCode: null
- },
- {
- id: 450000,
- abbreviation: "",
- level: 1,
- name: "广西",
- pid: 156,
- postCode: null
- },
- {
- id: 520000,
- abbreviation: "",
- level: 1,
- name: "贵州",
- pid: 156,
- postCode: null
- },
- {
- id: 620000,
- abbreviation: "",
- level: 1,
- name: "甘肃",
- pid: 156,
- postCode: null
- },
- ],
- "province2": [{
- id: 420000,
- abbreviation: "",
- level: 1,
- name: "湖北",
- pid: 156,
- postCode: null
- },
- {
- id: 230000,
- abbreviation: "",
- level: 1,
- name: "黑龙江",
- pid: 156,
- postCode: null
- },
- {
- id: 410000,
- abbreviation: "",
- level: 1,
- name: "河南",
- pid: 156,
- postCode: null
- },
- {
- id: 430000,
- abbreviation: "",
- level: 1,
- name: "湖南",
- pid: 156,
- postCode: null
- },
- {
- id: 460000,
- abbreviation: "",
- level: 1,
- name: "海南",
- pid: 156,
- postCode: null
- },
- {
- id: 130000,
- abbreviation: "",
- level: 1,
- name: "河北",
- pid: 156,
- postCode: null
- },
- {
- id: 220000,
- abbreviation: "",
- level: 1,
- name: "吉林",
- pid: 156,
- postCode: null
- },
- {
- id: 320000,
- abbreviation: "",
- level: 1,
- name: "江苏",
- pid: 156,
- postCode: null
- },
- {
- id: 360000,
- abbreviation: "",
- level: 1,
- name: "江西",
- pid: 156,
- postCode: null
- },
- ],
- "province3": [{
- id: 210000,
- abbreviation: "",
- level: 1,
- name: "辽宁",
- pid: 156,
- postCode: null
- },
- {
- id: 140000,
- abbreviation: "",
- level: 1,
- name: "山西",
- pid: 156,
- postCode: null
- },
- {
- id: 640000,
- abbreviation: "",
- level: 1,
- name: "宁夏",
- pid: 156,
- postCode: null
- },
- {
- id: 150000,
- abbreviation: "",
- level: 1,
- name: "内蒙古",
- pid: 156,
- postCode: null
- }, {
- id: 630000,
- abbreviation: "",
- level: 1,
- name: "青海",
- pid: 156,
- postCode: null
- },
- {
- id: 370000,
- abbreviation: "",
- level: 1,
- name: "山东",
- pid: 156,
- postCode: null
- },
- {
- id: 310000,
- abbreviation: "",
- level: 1,
- name: "上海",
- pid: 156,
- postCode: null
- },
- {
- id: 510000,
- abbreviation: "",
- level: 1,
- name: "四川",
- pid: 156,
- postCode: null
- },
- {
- id: 610000,
- abbreviation: "",
- level: 1,
- name: "陕西",
- pid: 156,
- postCode: null
- },
- ],
- "province4": [{
- id: 120000,
- abbreviation: "",
- level: 1,
- name: "天津",
- pid: 156,
- postCode: null
- },
- {
- id: 710000,
- abbreviation: "",
- level: 1,
- name: "台湾",
- pid: 156,
- postCode: null
- },
- {
- id: 540000,
- abbreviation: "",
- level: 1,
- name: "西藏",
- pid: 156,
- postCode: null
- },
- {
- id: 650000,
- abbreviation: "",
- level: 1,
- name: "新疆",
- pid: 156,
- postCode: null
- },
- {
- id: 810000,
- abbreviation: "",
- level: 1,
- name: "香港",
- pid: 156,
- postCode: null
- },
- {
- id: 530000,
- abbreviation: "",
- level: 1,
- name: "云南",
- pid: 156,
- postCode: null
- },
- {
- id: 330000,
- abbreviation: "",
- level: 1,
- name: "浙江",
- pid: 156,
- postCode: null
- },
- ],
- "address": '',
- "cities": [],
- "counties": [],
- "cityid": -1,
- "countyid": -1,
- "provinceid": -1,
- "cityname": "城市",
- "countyname": "县区",
- "provincename": "省份",
- }
- },
- mounted: function() {
- this.initinfo()
- $(".dropdown-menu").on("click", "[data-stopPropagation]", function(e) {
- e.stopPropagation();
- var tabid = e.currentTarget.id //js控制标签页
- var bbb = tabid.indexOf("_")
- if(tabid.indexOf("_") > -1) {
- $('#' + tabid).tab('show')
- }
- });
- },
- methods: {
- initinfo: function() {
- var vm = this;
- var loginInfo = JSON.parse(sessionStorage.getItem("oauthInfo"));
- var data1 = {
- userName: loginInfo.user,
- token: loginInfo.accessToken
- }
- loginAPI.getUserInfo(data1).then(function(res) {
- vm.userinfo = res
- if(vm.userinfo.provinceId != 0) {
- // vm.provinceid = vm.userinfo.provinceId
- // vm.cityid = vm.userinfo.cityId
- // vm.countyid = vm.userinfo.areaId
- // vm.provincename = vm.userinfo.provinceName
- // vm.cityname = vm.userinfo.cityName
- // vm.countyname = vm.userinfo.areaName
- vm.selectP(vm.userinfo.provinceId, vm.userinfo.provinceName)
- setTimeout(function() {
- vm.selectCi(vm.userinfo.cityId, vm.userinfo.cityName)
- }, 1000)
- setTimeout(function() {
- vm.selectCo(vm.userinfo.areaId, vm.userinfo.areaName)
- }, 2000)
- }
- })
- },
- getAddress: function(id, iscity) {
- var vm = this
- mineAPI.addressGet(id).then(function(res) {
- if(res) {
- if(iscity) {
- vm.cities = res.map(function(res) {
- return {
- id: res.id,
- name: res.name,
- }
- })
- } else {
- vm.counties = res.map(function(res) {
- return {
- id: res.id,
- name: res.name,
- }
- })
- }
- }
- })
- },
- selectP: function(id, name) {
- var vm = this
- $("#" + id).addClass("active")
- if(vm.provinceid != -1) {
- $("#" + vm.provinceid).removeClass("active")
- }
- vm.initcity()
- vm.initcounty()
- vm.provinceid = id
- vm.provincename = name
- vm.getAddress(id, true)
- $('#addresslist a[href="#city"]').tab('show')
- vm.addAddress()
- },
- selectCi: function(id, name) {
- var vm = this
- $("#" + vm.cityid).removeClass("active")
- vm.initcounty()
- $("#" + id).addClass("active")
- vm.cityid = id
- vm.cityname = name
- vm.getAddress(id, false)
- $('#addresslist a[href="#county"]').tab('show')
- vm.addAddress()
- },
- selectCo: function(id, name) {
- var vm = this
- $("#" + vm.countyid).removeClass("active")
- $("#" + id).addClass("active")
- vm.countyid = id
- vm.countyname = name
- vm.addAddress()
- },
- initcity: function() {
- var vm = this
- $("#" + vm.cityid).removeClass("active")
- vm.cityid = 0
- vm.cityname = "城市"
- },
- initcounty: function() {
- var vm = this
- $("#" + vm.countyid).removeClass("active")
- vm.countyid = 0
- vm.countyname = "县区"
- },
- addAddress: function() {
- var vm = this
- var address = ''
- if(vm.provincename != "省市") {
- address += vm.provincename
- if(vm.cityname != "城市") {
- address += vm.cityname
- if(vm.countyname != "县区") {
- address += vm.countyname
- }
- }
- }
- $("#addrcode").val(address)
- }
- },
- })
- })()
|