Browse Source

组织树

dev
mk 2 years ago
parent
commit
d27624d778
  1. 8
      src/api/user.js
  2. 2
      src/views/home/index.vue
  3. 40
      src/views/selectAgency/index.vue

8
src/api/user.js

@ -115,3 +115,11 @@ export function getWxmpEventAndDemandMessageList(params) {
params
})
}
// 获取组织树
export function getAllOrgTreeList(params) {
return request({
url: `/gov/org/customerAgencyTree/getAllOrgTreeList`,
method: 'get',
params
})
}

2
src/views/home/index.vue

@ -3,7 +3,7 @@
<div class="blueBg"></div>
<div class="content">
<div class="flex flex-end">
<div class="flex flex-center2 white">
<div class="flex flex-center2 white" @click="$router.push('/selectAgency')">
<img src="@/assets/images/icons/home.png" class="img_17 m-right10" alt="">
<span>{{ this.$store.state.app.userInfo.agencyName || '--' }}</span>
</div>

40
src/views/selectAgency/index.vue

@ -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('/')
}

Loading…
Cancel
Save