diff --git a/src/router/index.js b/src/router/index.js
index 661fb7f2..4c27af91 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -11,14 +11,9 @@ const settingsDisabled = disabledFeatures.includes('settings')
const settings = {
path: '/settings',
component: Layout,
- children: [
- {
- path: 'index',
- component: () => import('@/views/settings/index'),
- name: 'Settings',
- meta: { title: 'settings', icon: 'settings', noCache: true }
- }
- ]
+ name: 'Settings',
+ hasSubmenu: true,
+ meta: { title: 'settings', icon: 'settings', noCache: true }
}
const statusesDisabled = disabledFeatures.includes('statuses')
@@ -145,7 +140,8 @@ export const constantRouterMap = [
{
path: '',
component: Layout,
- redirect: '/users/index'
+ redirect: '/users/index',
+ hidden: true
}
]
diff --git a/src/store/getters.js b/src/store/getters.js
index f58f0c6b..a287712d 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -17,6 +17,7 @@ const getters = {
errorLogs: state => state.errorLog.logs,
users: state => state.users.fetchedUsers,
authHost: state => state.user.authHost,
- settings: state => state.settings
+ settings: state => state.settings,
+ tabs: state => state.settings.tabs
}
export default getters
diff --git a/src/views/layout/components/Sidebar/index.vue b/src/views/layout/components/Sidebar/index.vue
index e52ae6b6..b23e4dc6 100644
--- a/src/views/layout/components/Sidebar/index.vue
+++ b/src/views/layout/components/Sidebar/index.vue
@@ -7,6 +7,7 @@
:text-color="variables.menuText"
:active-text-color="variables.menuActiveText"
mode="vertical"
+ @open="handleOpen"
>
@@ -17,13 +18,15 @@
import { mapGetters } from 'vuex'
import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss'
+// import router from '@/router'
export default {
components: { SidebarItem },
computed: {
...mapGetters([
'permission_routers',
- 'sidebar'
+ 'sidebar',
+ 'tabs'
]),
variables() {
return variables
@@ -34,6 +37,26 @@ export default {
},
mounted() {
this.$store.dispatch('FetchOpenReportsCount')
+ },
+ methods: {
+ async handleOpen($event) {
+ if ($event === '/settings') {
+ let items = localStorage.getItem('settingsTabs')
+ if (!items) {
+ await this.$store.dispatch('FetchSettings')
+ items = this.tabs
+ localStorage.setItem('settingsTabs', JSON.stringify(items))
+ }
+ JSON.parse(items).forEach(item => {
+ // router.addRoute('Settings', [{
+ // path: item.value,
+ // component: {
+ // template: 'Ioio'
+ // }
+ // }])
+ })
+ }
+ }
}
}