Browse Source

组织树实现,修改组织树功能

feature
mk 1 year ago
parent
commit
7a52c0c316
  1. 4
      src/api/user.js
  2. BIN
      src/assets/images/icons/homeBlue.png
  3. 14
      src/router/index.js
  4. 4
      src/store/modules/app.js
  5. 1316
      src/views/selectAgency/1.json
  6. 7
      src/views/selectAgency/index.less
  7. 57
      src/views/selectAgency/index.vue

4
src/api/user.js

@ -10,7 +10,7 @@ export function login(data) {
data data
}) })
} }
// 检测用户是否完善信息 // 检测用户是否完善信息-废弃
export function checkWxmpRegister(params) { export function checkWxmpRegister(params) {
return request({ return request({
url: `/third/pacustomer/checkWxmpRegister`, url: `/third/pacustomer/checkWxmpRegister`,
@ -41,7 +41,7 @@ export function register(data) {
// 修改用户信息 // 修改用户信息
export function editUser(data) { export function editUser(data) {
return request({ return request({
url: `/third/pauserwechat/updateUserWechat`, url: `/epmetuser/user/saveOrUpdateUserH5DTO`,
method: 'post', method: 'post',
message: '提交用户信息中...', message: '提交用户信息中...',
data data

BIN
src/assets/images/icons/homeBlue.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 B

14
src/router/index.js

@ -74,24 +74,20 @@ router.beforeEach((to, from, next) => {
document.title = to.meta.title ? to.meta.title : title document.title = to.meta.title ? to.meta.title : title
} }
if (localStorage.getItem('token')) { if (localStorage.getItem('token')) {
store.dispatch('getUserInfo').then(() => { store.dispatch('getUserInfo').then((res) => {
checkWxmpRegister({ if (res.agencyId) {
userId: store.state.app.userInfo.userId
}).then(res => {
if (res) {
next() next()
} else { } else {
if (to.path === '/register') { if (to.path === '/selectAgency') {
next() next()
} else { } else {
console.log(to) console.log(to)
next({ path: '/register', query: { redirect: to.path, params: JSON.stringify(to.query) } }) next({ path: '/selectAgency' })
} }
} }
})
}) })
} else { } else {
if (getQueryStringByName('code') ) { if (getQueryStringByName('code') && !whiteList.includes(to.path)) {
login({ wxCode: getQueryStringByName('code'),appId:'wx1078fa1e99424de9'}).then(res => { login({ wxCode: getQueryStringByName('code'),appId:'wx1078fa1e99424de9'}).then(res => {
localStorage.setItem('token', res.token) localStorage.setItem('token', res.token)
let state = decodeURIComponent(getQueryStringByName('state')) let state = decodeURIComponent(getQueryStringByName('state'))

4
src/store/modules/app.js

@ -17,14 +17,14 @@ const actions = {
getUserInfo({ commit}) { getUserInfo({ commit}) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (Object.keys(state.userInfo).length) { if (Object.keys(state.userInfo).length) {
resolve() resolve(state.userInfo)
} }
getUserWechatByUserId({ getUserWechatByUserId({
token: localStorage.getItem('token') token: localStorage.getItem('token')
}) })
.then(res => { .then(res => {
commit('SET_USER_INFO', res) commit('SET_USER_INFO', res)
resolve() resolve(res)
}) })
.catch(error => { .catch(error => {
reject(error) reject(error)

1316
src/views/selectAgency/1.json

File diff suppressed because it is too large

7
src/views/selectAgency/index.less

@ -0,0 +1,7 @@
.selfCity{
background-color: #ffffff;
box-sizing: border-box;
}
.selectAgency{
border-radius: 8px;
}

57
src/views/selectAgency/index.vue

@ -1,22 +1,61 @@
<template> <template>
<div class=''> <div>
<div>123456789</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>
</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
@click="handelClickAgency(item)"></van-cell>
</van-list>
</div>
</div> </div>
</template> </template>
<script> <script>
import { editUser } from "@/api/user";
import cityJson from "./1.json"
export default { export default {
data() { data() {
return {}; return {
cityJson: [cityJson],
selfCity: [],
selfCityName:null
};
}, },
created() {}, created() {
methods: {}, this.getAgency()
components:{}, },
computed:{}, methods: {
getAgency() {
// this.cityJson = [cityJson]
},
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 {code} = await editUser(parm)
if(code == 0){
this.$router.replace('/')
}
} else {
this.cityJson = item.children
}
}
},
components: {},
computed: {},
watch: {}, watch: {},
} }
</script> </script>
<style lang='less'> <style lang='less' scoped>
@import './index';
</style> </style>

Loading…
Cancel
Save