Browse Source

feat(records): typo

gemercheung 1 year ago
parent
commit
8a749c6112
2 changed files with 14 additions and 2 deletions
  1. 11 1
      src/router.ts
  2. 3 1
      src/store/user.ts

+ 11 - 1
src/router.ts

@@ -1,5 +1,5 @@
 import { RouteRecordRaw, createRouter, createWebHashHistory } from "vue-router";
 import { RouteRecordRaw, createRouter, createWebHashHistory } from "vue-router";
-import { UserStatus, logintAuth, userStatus } from "./store/user";
+import { UserStatus, logintAuth, userStatus, isSuper } from "./store/user";
 import { watch, watchEffect } from "vue";
 import { watch, watchEffect } from "vue";
 
 
 export const COORD_NAME = "map-coord";
 export const COORD_NAME = "map-coord";
@@ -138,6 +138,7 @@ const routes: RouteRecordRaw[] = [
       },
       },
     ],
     ],
   },
   },
+  { path: '/:pathMatch(.*)*', component: import("@/view/layout/nav.vue") },
 ];
 ];
 
 
 export const findRoute = (
 export const findRoute = (
@@ -201,6 +202,15 @@ router.beforeEach((to, _, next) => {
     }
     }
     return;
     return;
   }
   }
+  // organization
+  if (to.name === "organization") {
+    console.log('isSuper-organization', isSuper.value)
+    if (!isSuper.value) {
+      router.replace({ name: "scene" });
+      return
+    }    
+  }
+
   if (to.name === "map") {
   if (to.name === "map") {
     router.replace({ name: COORD_NAME, params: to.params });
     router.replace({ name: COORD_NAME, params: to.params });
   } else if (to.name === "query-map") {
   } else if (to.name === "query-map") {

+ 3 - 1
src/store/user.ts

@@ -2,7 +2,7 @@ import { LoginProps, loginFetch, userInfoFetch } from "@/request";
 import { errorHook, gHeaders } from "@/request/state";
 import { errorHook, gHeaders } from "@/request/state";
 import { UserInfo } from "@/request/type";
 import { UserInfo } from "@/request/type";
 import { encodePwd } from "@/util";
 import { encodePwd } from "@/util";
-import { ref } from "vue";
+import { ref, computed } from "vue";
 
 
 export const user = ref<UserInfo>();
 export const user = ref<UserInfo>();
 export enum UserStatus {
 export enum UserStatus {
@@ -12,6 +12,8 @@ export enum UserStatus {
 }
 }
 export const userStatus = ref<UserStatus>(UserStatus.UNKNOWN);
 export const userStatus = ref<UserStatus>(UserStatus.UNKNOWN);
 
 
+export const isSuper = computed(() => user.value ? user.value.roles.filter(item => item.roleKey === "super_admin").length > 0 : false)
+
 export const login = async (props: LoginProps) => {
 export const login = async (props: LoginProps) => {
   const data = await loginFetch({
   const data = await loginFetch({
     ...props,
     ...props,