This commit is contained in:
GUjiYN 2024-01-27 14:53:32 +08:00
parent 09dd1d0d87
commit 420fc0298a
2 changed files with 110 additions and 117 deletions

View File

@ -1,23 +1,21 @@
<template> <template>
<div>
<a-menu <a-menu
:default-selected-keys="state.selectedKeys" id="dddddd"
v-model:openKeys="openKeys"
v-model:selectedKeys="selectedKeys"
style="width: 256px" style="width: 256px"
mode="inline" mode="inline"
:open-keys="state.openKeys"
:items="items" :items="items"
@openChange="onOpenChange" @click="handleClick"
@click="HandleClick"
></a-menu> ></a-menu>
</div>
</template> </template>
<script setup> <script setup>
import { h, reactive } from 'vue'; import { reactive, ref, h } from 'vue';
import { MailOutlined, AppstoreOutlined, SettingOutlined } from '@ant-design/icons-vue'; import { MailOutlined, AppstoreOutlined, SettingOutlined } from '@ant-design/icons-vue';
import { useRoute, useRouter } from 'vue-router'; import router from "@/router/index.js";
const router = useRouter();
const selectedKeys = ref(['1']);
const openKeys = ref(['sub1']);
function getItem(label, key, icon, children, type) { function getItem(label, key, icon, children, type) {
return { return {
key, key,
@ -27,54 +25,35 @@ function getItem(label, key, icon, children, type) {
type, type,
}; };
} }
const items = reactive([ const items = reactive([
getItem('首页', '0'), getItem('首页', 'sub1'),
getItem('系统管理', 'sub1', () => h(MailOutlined), [ getItem('系统管理', 'sub2', () => h(MailOutlined), [
getItem('用户管理', '1'), getItem('用户管理', '1'),
getItem('角色管理', '2'), getItem('角色管理', '2'),
getItem('权限管理', '3'), getItem('权限管理', '3'),
getItem('日志管理', '4'), getItem('日志管理', '4'),
getItem('日报管理', '5'), getItem('日报管理', '5'),
getItem('消息管理', '6'), getItem('消息管理', '6'),
], 'submenu'), ]),
getItem('首页管理', 'sub2', () => h(AppstoreOutlined), [ getItem('首页管理', 'sub3', () => h(AppstoreOutlined), [
getItem('轮播图管理', '7'), getItem('轮播图管理', '7'),
getItem('团队简介', '8'), getItem('团队简介', '8'),
getItem('项目推荐', '9'), getItem('项目推荐', '9'),
getItem('新闻展示', '10'), getItem('新闻展示', '10'),
getItem('用户推荐', '11'), getItem('用户推荐', '11'),
], 'submenu'), ]),
getItem('信息管理', 'sub4', () => h(SettingOutlined), [ getItem('信息管理', 'sub4', () => h(SettingOutlined), [
getItem('项目信息管理', '12'), getItem('项目信息管理', '12'),
getItem('团队信息管理', '13'), getItem('团队信息', '13'),
getItem('新闻信息管理', '14'), getItem('新闻信息', '14'),
], 'submenu'), ]),
]); ]);
const state = reactive({ const handleClick = (e) => {
rootSubmenuKeys: ['sub1', 'sub2', 'sub4'], console.log("点击成功");
openKeys: ['sub1'],
selectedKeys: [],
});
const onOpenChange = (openKeys) => {
const latestOpenKey = openKeys.find((key) => state.openKeys.indexOf(key) === -1);
if (state.rootSubmenuKeys.indexOf(latestOpenKey) === -1) {
state.openKeys = openKeys;
} else {
state.openKeys = latestOpenKey ? [latestOpenKey] : [];
}
};
const HandleClick = (e) => {
// console.log("");
const key = e.key; const key = e.key;
console.log(e.key); console.log(e.key);
switch (key) { switch (key) {
case '0':
router.push('/Manager/Main'); //
break;
case '1': case '1':
router.push('/Manager/User'); // router.push('/Manager/User'); //
break; break;
@ -120,5 +99,5 @@ const HandleClick = (e) => {
default: default:
break; break;
} }
}; }
</script> </script>

View File

@ -1,9 +1,23 @@
<template> <template>
<div style="display: flex;flex-direction: row" > <div class="container">
<LeftBar></LeftBar> <LeftBar></LeftBar>
<div class="content">
<router-view></router-view> <router-view></router-view>
</div> </div>
</div>
</template> </template>
<script setup> <script setup>
import LeftBar from "@/Manager/LeftBar.vue"; import LeftBar from "@/Manager/LeftBar.vue";
</script> </script>
<style scoped>
.container {
display: flex;
flex-direction: row;
}
.content {
flex: 1; /* 让内容部分占据剩余空间 */
}
</style>