|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<div class="sw-menu">
|
|
|
- <a-menu style="flex:1" v-model:selectedKeys="current" mode="inline" active-text-color="#000" @click="itemClick">
|
|
|
+ <a-menu style="flex:1" v-model:selectedKeys="current" v-model:openKeys="openKeys" mode="inline" active-text-color="#000" @click="itemClick" @open="onOpen">
|
|
|
<template v-for="item in mods" :key="item.systemmoduleid">
|
|
|
<a-sub-menu v-if="item.apps.length > 1" :key="item.systemmoduleid" @click="modClick(item)">
|
|
|
<template #title>
|
|
@@ -37,9 +37,15 @@ import { CalendarOutlined} from '@ant-design/icons-vue'
|
|
|
import {ConfigProvider, Modal } from 'ant-design-vue';
|
|
|
const router = useRouter()
|
|
|
const store = useAuthStore()
|
|
|
-let { mods,actMod } = storeToRefs(store)
|
|
|
+let { mods,actMod,current,openKeys } = storeToRefs(store)
|
|
|
+const onOpen = (e) => {
|
|
|
+ openKeys.value = e.openKeys;
|
|
|
+};
|
|
|
+const onClose = (e) => {
|
|
|
+ const keys = e.openKeys;
|
|
|
+ keys.filter((key) => !openKeys.value.includes(key))
|
|
|
+};
|
|
|
|
|
|
-const current = ref([])
|
|
|
const itemClick = (item, key, keyPath)=>{
|
|
|
current.value = item.keyPath
|
|
|
}
|