瀏覽代碼

feat: save

gemercheung 9 月之前
父節點
當前提交
9cbdf76a5c
共有 2 個文件被更改,包括 18 次插入1 次删除
  1. 17 1
      src/router.ts
  2. 1 0
      src/store/user.ts

+ 17 - 1
src/router.ts

@@ -1,5 +1,5 @@
 import { RouteRecordRaw, createRouter, createWebHashHistory } from "vue-router";
-import { UserStatus, logintAuth, userStatus } from "./store/user";
+import { UserStatus, logintAuth, userStatus, isSuper, isOrgUser } from "./store/user";
 import { watch, watchEffect } from "vue";
 
 export const COORD_NAME = "map-coord";
@@ -232,6 +232,22 @@ router.beforeEach((to, _, next) => {
   //   }
   // }
 
+  //users
+
+  if (to.name === "users") {
+    if (!isSuper.value && isOrgUser.value) {
+      router.replace({ name: 'no-persession' });
+      return
+    }
+  }
+  //
+  if (to.name === "org-users") {
+    if (!isSuper.value && !isOrgUser.value) {
+      router.replace({ name: 'no-persession' });
+      return
+    }
+  }
+
   if (to.name === "map") {
     router.replace({ name: COORD_NAME, params: to.params });
   } else if (to.name === "query-map") {

+ 1 - 0
src/store/user.ts

@@ -12,6 +12,7 @@ export enum UserStatus {
 }
 export const userStatus = ref<UserStatus>(UserStatus.UNKNOWN);
 
+export const isOrgUser = computed(() => user.value.type === 1 ? true : false)
 export const isSuper = computed(() => user.value ? user.value.roles.filter(item => item.roleKey === "super_admin").length > 0 : false)
 
 export const login = async (props: LoginProps) => {