index.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <template>
  2. <div class="leftSideMenu">
  3. <!-- @open="handleOpen" @close="handleClose" -->
  4. <el-menu class="el-menu-vertical-demo"
  5. :default-active="props.activeIndex"
  6. :collapse="false"
  7. :collapse-transition="false"
  8. :default-openeds="openeds"
  9. @select="selectMenu">
  10. <el-sub-menu index="1">
  11. <template #title>
  12. <el-icon>
  13. <location />
  14. </el-icon>
  15. <span>成绩分析</span>
  16. </template>
  17. <el-menu-item index="1-1" >成绩单</el-menu-item>
  18. <el-menu-item index="1-2">三率一分</el-menu-item>
  19. <el-menu-item index="1-3">分数段统计</el-menu-item>
  20. <el-menu-item index="1-4">平均分离差分析</el-menu-item>
  21. <el-menu-item index="1-5">教师统计</el-menu-item>
  22. </el-sub-menu>
  23. <el-sub-menu index="2">
  24. <template #title>
  25. <el-icon>
  26. <document />
  27. </el-icon>
  28. <span>试卷分析</span>
  29. </template>
  30. <el-menu-item index="2-1">总体分析</el-menu-item>
  31. <el-menu-item index="2-2">客观题分析</el-menu-item>
  32. </el-sub-menu>
  33. </el-menu>
  34. </div>
  35. </template>
  36. <script lang="ts" setup>
  37. import { useRouter } from "vue-router";
  38. const router = useRouter();
  39. import { defineProps,defineEmits } from 'vue';
  40. const props = defineProps(['activeIndex','ykjId']);
  41. const emit = defineEmits(['parentClick'])
  42. console.log(router)
  43. const openeds = ref(['1-1', '1-2', '1-3', '1-4', '1-5', '2-1', '2-2']);
  44. //点击事件
  45. const selectMenu = (key: string, keyPath: string[]) => {
  46. emit('parentClick', key);
  47. switch (key) {
  48. case '1-1'://成绩单
  49. router.push(
  50. { name: 'ksfx-cjfx_cjd-ykj_id', params: { ykj_id: props.ykjId } }
  51. // 'cjfx_cjd'
  52. )
  53. break;
  54. case '1-2'://三率一分
  55. router.push(
  56. { name: 'ksfx-cjfx_slyf-ykj_id', params: { ykj_id: props.ykjId } }
  57. )
  58. break;
  59. case '1-3'://分数段统计
  60. router.push({ name: 'ksfx-cjfx_fsdtj-ykj_id', params: {ykj_id:props.ykjId} })
  61. break;
  62. case '1-4'://平均分离差分析
  63. router.push('cjfx_pjflcfx')
  64. break;
  65. case '1-5'://教师统计
  66. router.push('cjfx_jstj')
  67. break;
  68. case '2-1'://总体分析
  69. router.push('sjfx_ztfx')
  70. break;
  71. case '2-2'://客观题分析
  72. router.push('sjfx_kgtfx')
  73. break;
  74. }
  75. }
  76. //开启
  77. const handleOpen = (key: string, keyPath: string[]) => {
  78. console.log(key, keyPath,"open");
  79. }
  80. const handleClose = (key: string, keyPath: string[]) => {
  81. console.log(key, keyPath,"close")
  82. }
  83. </script>
  84. <style lang="scss" scoped>
  85. </style>