Files
aurora-admin/frameworks/MixedNavigation.vue2.vue
T

56 lines
1.7 KiB
Vue

<template>
<div class="aa-mixed">
<div class="aa-mixed-top">
<div
v-for="(m, i) in menu"
:key="i"
class="aa-mixed-topitem"
:class="{ 'is-active': topIdx === i }"
@click="selectTop(i)"
>{{ m.name }}</div>
</div>
<div class="aa-mixed-body">
<div class="aa-mixed-side">
<div
v-for="(it, i) in menu[topIdx].items"
:key="i"
class="aa-mixed-sideitem"
:class="{ 'is-active': sideIdx === i }"
@click="sideIdx = i"
>{{ it.name }}</div>
</div>
<div class="aa-mixed-content">
<h4>{{ menu[topIdx].name }} / {{ menu[topIdx].items[sideIdx].name }}</h4>
<div>{{ menu[topIdx].items[sideIdx].desc }}</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'AaMixedNavigation',
props: {
menu: {
type: Array,
default: () => [
{ name: '工作台', items: [{ name: '概览', desc: '数据看板总览' }, { name: '待办', desc: '我的待处理任务' }, { name: '报表', desc: '统计报表入口' }] },
{ name: '系统管理', items: [{ name: '用户管理', desc: '用户增删改查' }, { name: '角色管理', desc: '角色与权限分配' }, { name: '菜单管理', desc: '导航菜单配置' }] },
{ name: '业务中心', items: [{ name: '订单', desc: '订单列表与详情' }, { name: '商品', desc: '商品上下架' }, { name: '库存', desc: '库存预警' }] }
]
}
},
data() {
return { topIdx: 0, sideIdx: 0 };
},
methods: {
selectTop(i) {
this.topIdx = i;
this.sideIdx = 0;
}
}
};
</script>
<style src="./MixedNavigation.css"></style>