<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 setup>
import { ref } from 'vue';

const props = defineProps({
  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: '库存预警' }] }
    ]
  }
});
const topIdx = ref(0);
const sideIdx = ref(0);
function selectTop(i) {
  topIdx.value = i;
  sideIdx.value = 0;
}
</script>

<style src="./MixedNavigation.css"></style>
