add ProductTab
This commit is contained in:
@@ -28,8 +28,8 @@
|
||||
<script setup lang="ts">
|
||||
import AppNavBar from "@/components/navbar/index.vue";
|
||||
import PageTransition from "@/components/PageTransition.vue";
|
||||
import {useTabBarStore} from "@/store/tabBarStore";
|
||||
import { permissionCodes } from "@/utils/permission";
|
||||
import { useTabBarStore } from "@/store/tabBarStore";
|
||||
import { gaoRoleCodes, permissionCodes } from "@/utils/permission";
|
||||
import { useUserStore } from "timi-web-api";
|
||||
|
||||
const route = useRoute();
|
||||
@@ -53,6 +53,8 @@ type TabItem = {
|
||||
text: string;
|
||||
permission?: string | string[];
|
||||
permissionMode?: "and" | "or";
|
||||
role?: string | string[];
|
||||
roleMode?: "and" | "or";
|
||||
};
|
||||
|
||||
const tabVal = ref(route.path);
|
||||
@@ -63,10 +65,14 @@ const tabList: TabItem[] = [
|
||||
text: "客户",
|
||||
permission: [permissionCodes.customer.create, permissionCodes.eventRecord.create]
|
||||
},
|
||||
{ value: "/product", icon: "layers", text: "产品", role: gaoRoleCodes.storeManager },
|
||||
{ value: "/store", icon: "shop-3", text: "门店", permission: permissionCodes.stat.read },
|
||||
{ value: "/management", icon: "setting-1", text: "管理" }
|
||||
];
|
||||
const list = computed(() => tabList.filter(item => !item.permission || userStore.hasPermissions(item.permission, item.permissionMode)));
|
||||
const list = computed(() => tabList.filter(item => (
|
||||
(!item.permission || userStore.hasPermissions(item.permission, item.permissionMode))
|
||||
&& (!item.role || userStore.hasRoles(item.role, item.roleMode))
|
||||
)));
|
||||
|
||||
watch(() => route.path, (newPath: string) => {
|
||||
tabVal.value = resolveTabValue(newPath);
|
||||
@@ -94,6 +100,10 @@ function resolveTabValue(path: string): string {
|
||||
return "/store";
|
||||
}
|
||||
|
||||
if (path.startsWith("/product")) {
|
||||
return "/product";
|
||||
}
|
||||
|
||||
if (path.startsWith("/management")) {
|
||||
return "/management";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user