feat: 启用mock用户时授予所有车站全部权限
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import type { NdmPermissionResultVO, Station } from '@/apis';
|
import type { NdmPermissionResultVO, Station } from '@/apis';
|
||||||
import { NDM_PERMISSION_STORE_ID } from '@/constants';
|
import { NDM_PERMISSION_STORE_ID } from '@/constants';
|
||||||
import { PERMISSION_TYPE_NAMES, type PermissionType } from '@/enums';
|
import { PERMISSION_TYPE_NAMES, type PermissionType } from '@/enums';
|
||||||
import { useStationStore } from '@/stores';
|
import { useSettingStore, useStationStore } from '@/stores';
|
||||||
import { defineStore } from 'pinia';
|
import { defineStore } from 'pinia';
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
import { objectEntries } from '@vueuse/core';
|
import { objectEntries } from '@vueuse/core';
|
||||||
@@ -12,12 +12,21 @@ export const usePermissionStore = defineStore(
|
|||||||
NDM_PERMISSION_STORE_ID,
|
NDM_PERMISSION_STORE_ID,
|
||||||
() => {
|
() => {
|
||||||
const stationStore = useStationStore();
|
const stationStore = useStationStore();
|
||||||
|
const settingStore = useSettingStore();
|
||||||
|
|
||||||
const permissionRecords = ref<NdmPermissionResultVO[] | null>(null);
|
const permissionRecords = ref<NdmPermissionResultVO[] | null>(null);
|
||||||
|
|
||||||
const permissions = computed<Permissions>(() => {
|
const permissions = computed<Permissions>(() => {
|
||||||
const result: Permissions = {};
|
const result: Permissions = {};
|
||||||
|
|
||||||
|
// 如果启用了mock用户,则授予所有车站全部权限
|
||||||
|
if (settingStore.mockUser) {
|
||||||
|
stationStore.stations.forEach((station) => {
|
||||||
|
result[station.code] = [...objectEntries(PERMISSION_TYPE_NAMES).map(([permType]) => permType)];
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
const records = permissionRecords.value;
|
const records = permissionRecords.value;
|
||||||
|
|
||||||
// 如果权限记录不存在,则不做权限配置
|
// 如果权限记录不存在,则不做权限配置
|
||||||
|
|||||||
Reference in New Issue
Block a user