index.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <view class="page_body">
  3. <!-- 荣誉总览 -->
  4. <honor-overview v-if="state.tabBarValue=='honorOverview'"></honor-overview>
  5. <!-- 荣誉教师 -->
  6. <honor-teacher v-if="state.tabBarValue=='honorTeacher'"></honor-teacher>
  7. <!-- 我的荣誉 -->
  8. <my-honor v-if="state.tabBarValue=='myHonor'"></my-honor>
  9. <!-- 荣誉审核 -->
  10. <honor-audit v-if="state.tabBarValue=='myHonor'"></honor-audit>
  11. <!-- 底部tabbar -->
  12. <page-tabbar :tabBarValue="state.tabBarValue" :tabBarList="state.tabBarList" @ChangeTabBarValue="ChangeTabBarValue"></page-tabbar>
  13. </view>
  14. </template>
  15. <script setup>
  16. import pageTabbar from '@/components/page-tabbar.vue';//头部
  17. import honorOverview from './honorOverview/index.vue';//荣誉总览
  18. import honorTeacher from './honorTeacher/index.vue';//荣誉教师
  19. import myHonor from './myHonor/index.vue';//我的荣誉
  20. import honorAudit from './honorAudit/index.vue';//荣誉审核
  21. import { reactive, ref,onMounted } from 'vue';
  22. import { useStore } from 'vuex';
  23. const store = useStore();
  24. const state = reactive({
  25. tabBarValue:'honorOverview',
  26. tabBarList:[{
  27. "pathName":"myHonor",
  28. "iconPath": "/static/image/tabbar/myHonor.png",
  29. "selectedIconPath": "/static/image/tabbar/myHonor_cur.png",
  30. "text": "我的荣誉"
  31. },{
  32. "pathName":"honorAudit",
  33. "iconPath": "/static/image/tabbar/honorAudit.png",
  34. "selectedIconPath": "/static/image/tabbar/honorAudit_cur.png",
  35. "text": "荣誉审核"
  36. }]
  37. })
  38. //切换tabBar
  39. const ChangeTabBarValue = (name) => {
  40. state.tabBarValue = name;
  41. }
  42. onMounted(()=>{
  43. const roleCodes = store.state?.userStore?.userInfo?.roleCodes || [];
  44. // 管理员和校长包含荣誉总览和荣誉教师,其他用户没有荣誉总览和荣誉教师
  45. if(roleCodes.includes('SCHOOL_MANAGER') || roleCodes.includes('SCHOOL_MASTER')){//管理员和校长
  46. const tabList = [{
  47. "pathName":"honorOverview",
  48. "iconPath": "/static/image/tabbar/honorOverview.png",
  49. "selectedIconPath": "/static/image/tabbar/honorOverview_cur.png",
  50. "text": "荣誉总览"
  51. },{
  52. "pathName":"honorTeacher",
  53. "iconPath": "/static/image/tabbar/honorTeacher.png",
  54. "selectedIconPath": "/static/image/tabbar/honorTeacher_cur.png",
  55. "text": "荣誉教师"
  56. }]
  57. state.tabBarList = [...tabList,...state.tabBarList];
  58. }
  59. })
  60. </script>
  61. <style lang="scss" scoped>
  62. .page_body{
  63. height: 100%;
  64. min-height: auto;
  65. }
  66. </style>