hrms-mgt/src/stores/menuList.ts

145 lines
3.7 KiB
TypeScript
Raw Normal View History

2024-07-24 16:40:43 +07:00
import { defineStore } from "pinia";
import { ref } from "vue";
/**
* importType
*/
import type {
ListMenu,
ChildLevelTree,
DataPermissions,
} from "@/interface/response/main";
2024-07-24 16:40:43 +07:00
export const useMenuDataStore = defineStore("menuUse", () => {
/****************** เมนู **************************/
/** รายการเมนู*/
2024-08-08 16:44:31 +07:00
const menuList = ref<ListMenu[]>([]);
2024-07-24 16:40:43 +07:00
/** ข้อมูล Level3*/
2024-07-24 16:40:43 +07:00
const childLevelTree = ref<ChildLevelTree>({
SYS_EVA_INDICATOR: [
{
sysName: "ตามแผน",
path: "KPIIndicatorByPlan",
2024-07-31 09:48:33 +07:00
meta: {
Auth: true,
Key: "SYS_EVA_INDICATOR",
Role: "STAFF",
},
2024-07-24 16:40:43 +07:00
},
{
sysName: "ตามตำแหน่ง",
path: "KPIIndicatorByRole",
2024-07-31 09:48:33 +07:00
meta: {
Auth: true,
Key: "SYS_EVA_INDICATOR",
Role: "STAFF",
},
2024-07-24 16:40:43 +07:00
},
{
2024-08-05 19:27:52 +07:00
sysName: "งานอื่นๆ ที่ได้รับมอบหมาย",
2024-07-24 16:40:43 +07:00
path: "KPIAssignment",
2024-07-31 09:48:33 +07:00
meta: {
Auth: true,
Key: "SYS_EVA_INDICATOR",
Role: "STAFF",
},
2024-07-24 16:40:43 +07:00
},
],
SYS_EXAM_CONTEST: [
{
sysName: "จัดการรอบสอบแข่งขัน",
path: "competePeriod",
},
{
sysName: "สถิติสมัครสอบแข่งขัน",
path: "competePeriodStat",
},
],
SYS_EXAM_SELECT: [
{
sysName: "จัดการรอบคัดเลือก",
path: "qualifyPeriod",
},
{
sysName: "จัดการรอบคัดเลือกคนพิการ",
path: "disablePeriod",
},
{
sysName: "จัดการรายชื่อคัดเลือก",
path: "manage",
},
{
sysName: "สถิติสมัครคัดเลือก",
path: "qualifyPeriodStat",
},
{
sysName: "สถิติสมัครคัดเลือกคนพิการ",
path: "qualifyPeriodStatDisable",
},
],
SYS_DISCIPLINE_INFO: [
{
sysName: "กรรมการ",
path: "disciplineDirector",
},
{
sysName: "ช่องทางการร้องเรียน",
path: "disciplineChannel",
},
],
SYS_EVA_INFO: [
{
sysName: "กรรมการ",
path: "evaluateDirector",
},
{
sysName: "การประชุม",
path: "evaluateMeeting",
},
],
});
/**
* function
* @param data
*/
2024-07-24 16:40:43 +07:00
function fetchListMenu(data: ListMenu[]) {
if (data) {
2024-08-08 16:44:31 +07:00
menuList.value = [
{
id: "dashboard",
order: 0,
icon: "mdi-home-variant-outline",
sysName: "หน้าแรก",
sysDescription: "หน้าแรก",
path: "dashboard",
parentId: null,
children: [],
},
...data,
];
}
2024-07-24 16:40:43 +07:00
}
/****************** สิทธิ์ **************************/
2024-07-31 09:48:33 +07:00
const permissions = ref<DataPermissions>();
/**
* function
* @param data
*/
function fetchDataPermission(data: DataPermissions) {
2024-07-31 09:48:33 +07:00
permissions.value = data;
}
2024-07-24 16:40:43 +07:00
return {
/****************** เมนู **************************/
2024-07-24 16:40:43 +07:00
fetchListMenu,
menuList,
/****************** สิทธิ์ **************************/
fetchDataPermission,
2024-07-31 09:48:33 +07:00
permissions,
2024-07-24 16:40:43 +07:00
};
});