home.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <template>
  2. <div id="home">
  3. <home1 v-if="type == '1'"></home1>
  4. <home2 v-else-if="type == '2'"></home2>
  5. <!-- <home3 v-else-if="type == '3'"></home3> -->
  6. </div>
  7. </template>
  8. <script setup lang="ts">
  9. // 组件
  10. import store from '@/stores/counter';
  11. import home1 from './home-1.vue';
  12. import home2 from './home-2.vue';
  13. // import home3 from './home-3.vue';
  14. import type { Ref } from 'vue';
  15. import { ref, onMounted } from 'vue';
  16. import { ElMessage } from 'element-plus';
  17. // 接口
  18. import { ModuleStore } from '@common/src/stores/admin/module'; //模块
  19. import { RoleStore } from '@common/src/stores/admin/role'; //模块
  20. import type { IQueryResult } from '@/util/types.util'; //
  21. const module = ModuleStore();
  22. const role = RoleStore();
  23. // 默认值
  24. let type: Ref<string> = ref('');
  25. onMounted(async () => {
  26. let e = store.state.user;
  27. let name = import.meta.env.VITE_APP_ROUTER;
  28. const res: IQueryResult = await module.query({ name: name, is_use: 'Y' });
  29. if (res && res.errcode == '0') {
  30. if (res.total > 0) {
  31. let moduleInfo = res.data[0];
  32. let roleInfo = await role.um();
  33. if (roleInfo.errcode == '0') {
  34. if (roleInfo.data) {
  35. let menus = roleInfo.data[moduleInfo._id];
  36. if (menus && menus.length > 0) {
  37. if (e && e.role_type == '1') type.value = '1';
  38. else if ((e && e.role_type == '2') || (e && e.role_type == '3')) type.value = '2';
  39. localStorage.setItem('is_role', 'true');
  40. } else {
  41. type.value = '2';
  42. localStorage.setItem('is_role', 'false');
  43. }
  44. }
  45. }
  46. }
  47. } else {
  48. ElMessage({ message: `${res.errmsg}`, type: 'error' });
  49. }
  50. });
  51. </script>
  52. <style scoped lang="scss"></style>