From d1a0722aaac9368b4e36254a2813ded0a488e149 Mon Sep 17 00:00:00 2001
From: "[li_she]" <[li.she@xujiesoft.com]>
Date: Fri, 6 Aug 2021 09:04:34 +0800
Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=90=9C=E7=B4=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/userFavorite.js | 1 +
src/store/modules/user.js | 8 ++
src/views/common/login.vue | 10 +-
src/views/main-navbar.vue | 8 +-
src/views/main-sidebar.vue | 119 ++++++++++++----------
src/views/main.vue | 11 +-
src/views/modules/sys/language/common.vue | 2 +-
src/views/modules/sys/user.vue | 60 +++++++----
8 files changed, 140 insertions(+), 79 deletions(-)
diff --git a/src/api/userFavorite.js b/src/api/userFavorite.js
index c546256..aca424f 100644
--- a/src/api/userFavorite.js
+++ b/src/api/userFavorite.js
@@ -9,3 +9,4 @@ export const saveUserFavorite = data => createAPI('userFavorite/save',"POST",da
// 取消收藏
export const removeUserFavorite = data => createAPI('userFavorite/remove',"POST",data)
+
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 15e4bc2..fe44a7e 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -4,6 +4,8 @@ export default {
id: 0,
name: '',
site: 0,
+ languageDefault: '',
+ userDisplay: ''
},
mutations: {
updateId (state, id) {
@@ -12,8 +14,14 @@ export default {
updateName (state, name) {
state.name = name
},
+ updateLanguageDefault (state,languageDefault){
+ state.languageDefault = languageDefault
+ },
updateSite (state,site){
state.site = site
+ },
+ updateUserDisplay (state,userDisplay){
+ state.userDisplay = userDisplay
}
}
}
diff --git a/src/views/common/login.vue b/src/views/common/login.vue
index 666b50b..c355ed7 100644
--- a/src/views/common/login.vue
+++ b/src/views/common/login.vue
@@ -48,9 +48,13 @@
}
},
created () {
-
+ this.userName();
},
methods: {
+ // 获取上次登陆的用户名
+ userName(){
+ this.dataForm.userName = localStorage.getItem('userName')
+ },
// 提交表单
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
@@ -62,7 +66,6 @@
'username': this.dataForm.userName,
'password': this.dataForm.password,
'uuid': this.dataForm.uuid
-
})
}).then(({data}) => {
if (data && data.code === 0) {
@@ -70,15 +73,14 @@
this.$router.replace({ name: 'home' })
localStorage.setItem('locale', data.language)
localStorage.setItem('refresh', "0")
+ localStorage.setItem('userName', this.dataForm.userName)
} else {
-
this.$message.error(data.msg)
}
})
}
})
},
-
}
}
diff --git a/src/views/main-navbar.vue b/src/views/main-navbar.vue
index 2f2803b..a40c631 100644
--- a/src/views/main-navbar.vue
+++ b/src/views/main-navbar.vue
@@ -6,7 +6,7 @@
class="site-navbar__menu"
mode="horizontal">
-
+
{{$t('commonSystemName')}}
@@ -145,7 +145,7 @@
},
userName: {
get() {
- return this.$store.state.user.name
+ return this.$store.state.user.userDisplay
}
}
},
@@ -206,7 +206,9 @@
color: #fff;
margin-left: -45px;
}
-
+ .el-menu--horizontal>.el-menu-item {
+ color: #3b4249;
+ }
diff --git a/src/views/main-sidebar.vue b/src/views/main-sidebar.vue
index 537f446..ec36444 100644
--- a/src/views/main-sidebar.vue
+++ b/src/views/main-sidebar.vue
@@ -37,12 +37,12 @@
:dynamicMenuRoutes="dynamicMenuRoutes">
-
-
+
+
@@ -53,6 +53,7 @@
import SubMenu from './main-sidebar-sub-menu'
import {isURL} from '@/utils/validate'
import {userFavoriteList} from '@/api/userFavorite.js'
+import {treeDataTranslate} from '@/utils'
export default {
data() {
@@ -61,7 +62,9 @@ export default {
search: '',
categoryList: [],
uFavoriteList: [],
- favoriteList: []
+ favoriteList: [],
+ newMenuList: [],
+ list: []
}
},
components: {
@@ -117,81 +120,95 @@ export default {
$route: 'routeHandle'
},
created() {
- this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]').filter(item => item.menuId!=73)
-
- this.favoriteList = JSON.parse(sessionStorage.getItem('menuList') || '[]').filter(item => item.menuId==73)
+ this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]').filter(item => item.menuId != 73)
+ this.favoriteList = JSON.parse(sessionStorage.getItem('menuList') || '[]').filter(item => item.menuId == 73)
this.userFavorites()
this.dynamicMenuRoutes = JSON.parse(sessionStorage.getItem('dynamicMenuRoutes') || '[]')
this.routeHandle(this.$route)
},
methods: {
// 用户收藏夹
- userFavorites(){
+ userFavorites() {
let query = {
- userId:this.$store.state.user.id,
- languageCode:this.$i18n.locale
+ userId: this.$store.state.user.id,
+ languageCode: this.$i18n.locale
}
- userFavoriteList(query).then(({data})=> {
- if (data.list.length>0){
+ userFavoriteList(query).then(({data}) => {
+ if (data.list.length > 0) {
this.favoriteList[0].list = data.list
}
})
},
+
+ // 更具 当前节点id 获取上级节点
+ getParent(val, sum) {
+ if (val == 0) {
+ return;
+ }
+ let parent = this.list.filter(item => item.menuId == val)
+ if (parent.length > 0) {
+ parent[0].list.length = 0
+ sum.push(parent[0])
+ this.getParent(parent[0].parentId, sum)
+ }
+ },
// 搜索菜单方式1 start
searchMenu1() {
-
if (this.search == "") {
- this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
+ this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]').filter(item => item.menuId != 73)
} else {
- this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
+ let menuPlus = []
+ this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]').filter(item => item.menuId != 73)
+
// this.menuList = this.treeFindPath(this.menuList).filter(this.search)
+ // 转换成list
+ this.list = this.treeFindPath(this.menuList)
let list = this.treeFindPath(this.menuList)
list = this.distinct(list, list);
+ // list中获取菜单
this.menuList = list.filter(item => item.name.indexOf(this.search) != -1)
+ let menuSum = []
+ for (let data of this.menuList) {
+ menuSum.push(data)
+ this.getParent(data.parentId, menuSum)
+ }
+ menuSum = Array.from(new Set([...menuSum]))
+
+ if (menuSum.length > 0) {
+ let menuList = menuSum.filter(item => item.parentId == 0);
+ this.menuList=menuList
+ this.treeList(menuList,menuSum)
+ }
}
},
- // 树结构菜单转换list
+ // 封装树形结构
+ treeList(menuList,menuSum) {
+ for (let m1 of menuList) {
+ for (let m2 of menuSum) {
+ if (m1.menuId == m2.parentId){
+ m1.list.push(m2)
+ this.treeList( m1.list,menuSum)
+ }
+ }
+ }
+ },
+ // 搜索菜单方式1 树结构菜单转换list
treeFindPath(tree, path = []) {
if (!tree) return []
for (const data of tree) {
path.push(data)
- if (data.list != null) {
- path.push(...data.list)
- delete data.list
- }
+ // if (data.list != null) {
+ // path.push(...data.list)
+ // delete data.list
+ // }
this.treeFindPath(data.list, path)
}
-
return path
},
- // 搜索菜单方式1 去重 end
+ // 搜索菜单方式1 去重
distinct(a, b) {
return Array.from(new Set([...a, ...b]))
},
- // 搜索菜单方式2 start
- searchMenu() {
- if (this.search == "") {
- this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
- } else {
- this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
- this.menuList = this.filterTree(this.menuList,this.search)
- console.log(this.menuList)
- }
- },
- filterTree (tree = [], map , arr = []) {
- if (!tree.length)
- return []
- for (let item of tree) {
- if (map.indexOf(item.name)>-1){
-
- }
- continue
- let node = {...item, list: []}
- arr.push(node)
- if (item.list && item.list.length)
- this.filterTree(item.list, map, node.list) }
- return arr
- },
// 路由操作
routeHandle(route) {
if (route.meta.isTab) {
@@ -222,10 +239,10 @@ export default {
}
}
-