|
|
|
@ -2,15 +2,20 @@ |
|
|
|
<div> |
|
|
|
<div class="selfCity flex flex-center2 p-12 flex-end"> |
|
|
|
<div class="flex flex-center2 flex-1"> |
|
|
|
<img src="@/assets/images/icons/homeBlue.png" alt="" /> |
|
|
|
<span style="color: #666666;" v-if="!selfCityName">请选择您所在城市</span> |
|
|
|
<span v-else>{{ selfCityName}}</span> |
|
|
|
<img src="@/assets/images/icons/homeBlue.png" alt="" @click="getAgency"/> |
|
|
|
<span style="color: #666666;" v-if="!selfCity">请选择您所在城市</span> |
|
|
|
<span v-else class="flex"> |
|
|
|
<div v-for="(item, index) in selfCity"> |
|
|
|
<span @click="handelClickAgencyName(item,index)"> {{ item.label }}</span> |
|
|
|
<span v-if="index != selfCity.length - 1">,</span> |
|
|
|
</div> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
<van-button v-show="false" type="info" size="small" round class="m-right10">手动选择</van-button> |
|
|
|
</div> |
|
|
|
<div class="container"> |
|
|
|
<van-list finished-text="没有更多了" @load="getAgency" class="selectAgency"> |
|
|
|
<van-cell v-for="(item, index) in cityJson" :title="item.agencyName" :key="index" is-link |
|
|
|
<van-list finished-text="没有更多了" class="selectAgency"> |
|
|
|
<van-cell v-for="(item, index) in cityJson" :title="item.label" :key="index" is-link |
|
|
|
@click="handelClickAgency(item)"></van-cell> |
|
|
|
</van-list> |
|
|
|
</div> |
|
|
|
@ -18,31 +23,38 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { editUser } from "@/api/user"; |
|
|
|
import cityJson from "./1.json" |
|
|
|
import { editUser, getAllOrgTreeList } from "@/api/user"; |
|
|
|
export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
cityJson: [cityJson], |
|
|
|
cityJson: [], |
|
|
|
selfCity: [], |
|
|
|
selfCityName:null |
|
|
|
}; |
|
|
|
}, |
|
|
|
created() { |
|
|
|
this.getAgency() |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
getAgency() { |
|
|
|
async getAgency() { |
|
|
|
// this.cityJson = [cityJson] |
|
|
|
this.selfCity = []; |
|
|
|
let res = await getAllOrgTreeList() |
|
|
|
if (res) { |
|
|
|
this.cityJson = res; |
|
|
|
} |
|
|
|
}, |
|
|
|
handelClickAgencyName(item,index){ |
|
|
|
if(item.id === this.selfCity[this.selfCity.length -1].id) return |
|
|
|
this.selfCity.splice(index + 1); |
|
|
|
this.cityJson = item.children; |
|
|
|
}, |
|
|
|
async handelClickAgency(item) { |
|
|
|
this.selfCity.push(item); |
|
|
|
this.selfCityName = this.selfCity.map(item=>item.agencyName).join(',') |
|
|
|
if (item.level === 'community') { |
|
|
|
let parm = this.$store.state.app.userInfo; |
|
|
|
parm.agencyId = item.agencyId; |
|
|
|
let parm = this.$store.state.app.userInfo; |
|
|
|
parm.agencyId = item.agencyId; |
|
|
|
let res = await editUser(parm) |
|
|
|
if(res){ |
|
|
|
if (res) { |
|
|
|
// this.$router.replace('home') |
|
|
|
this.$router.replace('/') |
|
|
|
} |
|
|
|
|