From 06f921e4e1ec3f1333aa7720cbc0fe7eabb12b1a Mon Sep 17 00:00:00 2001 From: waruneeta Date: Thu, 15 Feb 2024 11:46:25 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1?= =?UTF-8?q?=E0=B9=82=E0=B8=84=E0=B8=A3=E0=B8=87=E0=B8=AA=E0=B8=A3=E0=B9=89?= =?UTF-8?q?=E0=B8=B2=E0=B8=87=20folder=20=E0=B8=87=E0=B8=A7=E0=B8=94=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/13_salary/api.salary.ts | 6 +++ src/api/14_KPI/api.KPI.ts | 6 +++ src/api/15_development/api.development.ts | 6 +++ src/app.config.ts | 13 +++++++ src/interface/request/main/main.ts | 39 +++++++++++++++++++ .../components/SalaryChart/DialogFormMain.vue | 5 +++ .../components/SalaryChart/DialogFormRate.vue | 5 +++ src/modules/13_salary/interface/index/Main.ts | 6 +++ .../13_salary/interface/response/Main.ts | 6 +++ src/modules/13_salary/router.ts | 25 ++++++++++++ src/modules/13_salary/store/SalaryStore.ts | 6 +++ src/modules/13_salary/views/salaryChart.vue | 12 ++++++ src/modules/13_salary/views/salaryRate.vue | 12 ++++++ src/modules/14_KPI/components/Table.vue | 5 +++ src/modules/14_KPI/interface/index/Main.ts | 6 +++ src/modules/14_KPI/interface/response/Main.ts | 6 +++ src/modules/14_KPI/router.ts | 14 +++++++ src/modules/14_KPI/store/KPIStore.ts | 6 +++ src/modules/14_KPI/views/MainPage.vue | 12 ++++++ .../15_development/components/Table.vue | 5 +++ .../15_development/interface/index/Main.ts | 6 +++ .../15_development/interface/response/Main.ts | 6 +++ src/modules/15_development/router.ts | 14 +++++++ .../15_development/store/developmentStore.ts | 6 +++ src/modules/15_development/views/MainPage.vue | 12 ++++++ src/router/index.ts | 6 +++ src/views/MainLayout.vue | 22 ++++++----- 27 files changed, 263 insertions(+), 10 deletions(-) create mode 100644 src/api/13_salary/api.salary.ts create mode 100644 src/api/14_KPI/api.KPI.ts create mode 100644 src/api/15_development/api.development.ts create mode 100644 src/modules/13_salary/components/SalaryChart/DialogFormMain.vue create mode 100644 src/modules/13_salary/components/SalaryChart/DialogFormRate.vue create mode 100644 src/modules/13_salary/interface/index/Main.ts create mode 100644 src/modules/13_salary/interface/response/Main.ts create mode 100644 src/modules/13_salary/router.ts create mode 100644 src/modules/13_salary/store/SalaryStore.ts create mode 100644 src/modules/13_salary/views/salaryChart.vue create mode 100644 src/modules/13_salary/views/salaryRate.vue create mode 100644 src/modules/14_KPI/components/Table.vue create mode 100644 src/modules/14_KPI/interface/index/Main.ts create mode 100644 src/modules/14_KPI/interface/response/Main.ts create mode 100644 src/modules/14_KPI/router.ts create mode 100644 src/modules/14_KPI/store/KPIStore.ts create mode 100644 src/modules/14_KPI/views/MainPage.vue create mode 100644 src/modules/15_development/components/Table.vue create mode 100644 src/modules/15_development/interface/index/Main.ts create mode 100644 src/modules/15_development/interface/response/Main.ts create mode 100644 src/modules/15_development/router.ts create mode 100644 src/modules/15_development/store/developmentStore.ts create mode 100644 src/modules/15_development/views/MainPage.vue diff --git a/src/api/13_salary/api.salary.ts b/src/api/13_salary/api.salary.ts new file mode 100644 index 000000000..857f9c5f2 --- /dev/null +++ b/src/api/13_salary/api.salary.ts @@ -0,0 +1,6 @@ +import env from "../index"; +const evaluateIndividual = `${env.API_URI}/evaluate-individual`; + +export default { + evaluateIndividual, +}; diff --git a/src/api/14_KPI/api.KPI.ts b/src/api/14_KPI/api.KPI.ts new file mode 100644 index 000000000..2c654582d --- /dev/null +++ b/src/api/14_KPI/api.KPI.ts @@ -0,0 +1,6 @@ +import env from "../index"; +const KPI = `${env.API_URI}/KPI`; + +export default { + KPI, +}; diff --git a/src/api/15_development/api.development.ts b/src/api/15_development/api.development.ts new file mode 100644 index 000000000..da7c97e9e --- /dev/null +++ b/src/api/15_development/api.development.ts @@ -0,0 +1,6 @@ +import env from "../index"; +const development = `${env.API_URI}/development`; + +export default { + development, +}; diff --git a/src/app.config.ts b/src/app.config.ts index 9c2f87f57..ac8451ba2 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -55,6 +55,15 @@ import evaluate from "./api/12_evaluatePersonal/api.evaluate"; /** API โครงสร้างอัตรากำลัง*/ import organization from "./api/02_organizational/api.organization"; +/** API เงินเดือน/ค่าจ้าง*/ +import salary from "./api/13_salary/api.salary"; + +/** API ระเมินผลการปฏิบัติราชการระดับบุคคล*/ +import KPI from "./api/14_KPI/api.KPI"; + +/** API เงินเดือน/ค่าจ้าง*/ +import development from "./api/15_development/api.development"; + // environment variables export const compettitivePanel = import.meta.env.VITE_COMPETITIVE_EXAM_PANEL; export const qualifyDisableExamPanel = import.meta.env @@ -110,6 +119,10 @@ const API = { /**evaluate*/ ...evaluate, + + ...salary, + ...KPI, + ...development, }; export default { diff --git a/src/interface/request/main/main.ts b/src/interface/request/main/main.ts index 225ceea44..ebd75901d 100644 --- a/src/interface/request/main/main.ts +++ b/src/interface/request/main/main.ts @@ -614,6 +614,45 @@ const menuList = readonly([ }, ], }, + { + key: 12, + icon: "mdi-cash", + activeIcon: "mdi-cash", + label: "เงินเดือน/ค่าจ้าง", + role: "salary", + children: [ + { + key: 12.1, + label: "ผังบัญชีเงินเดือน", + path: "salaryChart", + role: "salary", + }, + ], + }, + { + key: 13, + icon: "mdi-account-star", + activeIcon: "mdi-account-star", + label: "ประเมินผลการปฏิบัติราชการระดับบุคคล", + role: "evaluateKPI", + path: "KPIMain", + }, + { + key: 14, + icon: "mdi-briefcase-account", + activeIcon: "mdi-briefcase-account", + label: "พัฒนาบุคลากร/การศึกษาต่อ", + role: "development", + path: "developmentMain", + }, + // { + // key: 99, + // icon: "mdi-chat", + // activeIcon: "mdi-chat", + // label: "ถาม-ตอบ", + // role: "support", + // path: "support", + // }, ]); const tabList = readonly([ diff --git a/src/modules/13_salary/components/SalaryChart/DialogFormMain.vue b/src/modules/13_salary/components/SalaryChart/DialogFormMain.vue new file mode 100644 index 000000000..56468521a --- /dev/null +++ b/src/modules/13_salary/components/SalaryChart/DialogFormMain.vue @@ -0,0 +1,5 @@ + + + + + diff --git a/src/modules/13_salary/components/SalaryChart/DialogFormRate.vue b/src/modules/13_salary/components/SalaryChart/DialogFormRate.vue new file mode 100644 index 000000000..33ab9e8c8 --- /dev/null +++ b/src/modules/13_salary/components/SalaryChart/DialogFormRate.vue @@ -0,0 +1,5 @@ + + + + + diff --git a/src/modules/13_salary/interface/index/Main.ts b/src/modules/13_salary/interface/index/Main.ts new file mode 100644 index 000000000..a2567bc87 --- /dev/null +++ b/src/modules/13_salary/interface/index/Main.ts @@ -0,0 +1,6 @@ +interface DataOption { + id: string; + name: string; +} + +export type { DataOption }; diff --git a/src/modules/13_salary/interface/response/Main.ts b/src/modules/13_salary/interface/response/Main.ts new file mode 100644 index 000000000..a2567bc87 --- /dev/null +++ b/src/modules/13_salary/interface/response/Main.ts @@ -0,0 +1,6 @@ +interface DataOption { + id: string; + name: string; +} + +export type { DataOption }; diff --git a/src/modules/13_salary/router.ts b/src/modules/13_salary/router.ts new file mode 100644 index 000000000..d484610c6 --- /dev/null +++ b/src/modules/13_salary/router.ts @@ -0,0 +1,25 @@ +const salaryChart = () => import("@/modules/13_salary/views/salaryChart.vue"); +const salaryRate = () => import("@/modules/13_salary/views/salaryRate.vue"); + +export default [ + { + path: "/salary", + name: "salaryChart", + component: salaryChart, + meta: { + Auth: true, + Key: [1.1], + Role: "salary", + }, + }, + { + path: "/salary/rate", + name: "salaryRate", + component: salaryRate, + meta: { + Auth: true, + Key: [1.2], + Role: "salary", + }, + }, +]; diff --git a/src/modules/13_salary/store/SalaryStore.ts b/src/modules/13_salary/store/SalaryStore.ts new file mode 100644 index 000000000..03efb6e2f --- /dev/null +++ b/src/modules/13_salary/store/SalaryStore.ts @@ -0,0 +1,6 @@ +import { defineStore } from "pinia"; + +// store +export const useSalaryDataStore = defineStore("salaryDataStore", () => { + return {}; +}); diff --git a/src/modules/13_salary/views/salaryChart.vue b/src/modules/13_salary/views/salaryChart.vue new file mode 100644 index 000000000..773519059 --- /dev/null +++ b/src/modules/13_salary/views/salaryChart.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/src/modules/13_salary/views/salaryRate.vue b/src/modules/13_salary/views/salaryRate.vue new file mode 100644 index 000000000..773519059 --- /dev/null +++ b/src/modules/13_salary/views/salaryRate.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/src/modules/14_KPI/components/Table.vue b/src/modules/14_KPI/components/Table.vue new file mode 100644 index 000000000..1d46c384a --- /dev/null +++ b/src/modules/14_KPI/components/Table.vue @@ -0,0 +1,5 @@ + + + + + diff --git a/src/modules/14_KPI/interface/index/Main.ts b/src/modules/14_KPI/interface/index/Main.ts new file mode 100644 index 000000000..a2567bc87 --- /dev/null +++ b/src/modules/14_KPI/interface/index/Main.ts @@ -0,0 +1,6 @@ +interface DataOption { + id: string; + name: string; +} + +export type { DataOption }; diff --git a/src/modules/14_KPI/interface/response/Main.ts b/src/modules/14_KPI/interface/response/Main.ts new file mode 100644 index 000000000..a2567bc87 --- /dev/null +++ b/src/modules/14_KPI/interface/response/Main.ts @@ -0,0 +1,6 @@ +interface DataOption { + id: string; + name: string; +} + +export type { DataOption }; diff --git a/src/modules/14_KPI/router.ts b/src/modules/14_KPI/router.ts new file mode 100644 index 000000000..e59a16a16 --- /dev/null +++ b/src/modules/14_KPI/router.ts @@ -0,0 +1,14 @@ +const mainPage = () => import("@/modules/14_KPI/views/MainPage.vue"); + +export default [ + { + path: "/KPI", + name: "KPIMain", + component: mainPage, + meta: { + Auth: true, + Key: [1.1], + Role: "evaluateKPI", + }, + }, +]; diff --git a/src/modules/14_KPI/store/KPIStore.ts b/src/modules/14_KPI/store/KPIStore.ts new file mode 100644 index 000000000..b1d37a987 --- /dev/null +++ b/src/modules/14_KPI/store/KPIStore.ts @@ -0,0 +1,6 @@ +import { defineStore } from "pinia"; + +// store +export const useKPIDataStore = defineStore("KPIDataStore", () => { + return {}; +}); diff --git a/src/modules/14_KPI/views/MainPage.vue b/src/modules/14_KPI/views/MainPage.vue new file mode 100644 index 000000000..5ff639155 --- /dev/null +++ b/src/modules/14_KPI/views/MainPage.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/src/modules/15_development/components/Table.vue b/src/modules/15_development/components/Table.vue new file mode 100644 index 000000000..1d46c384a --- /dev/null +++ b/src/modules/15_development/components/Table.vue @@ -0,0 +1,5 @@ + + + + + diff --git a/src/modules/15_development/interface/index/Main.ts b/src/modules/15_development/interface/index/Main.ts new file mode 100644 index 000000000..a2567bc87 --- /dev/null +++ b/src/modules/15_development/interface/index/Main.ts @@ -0,0 +1,6 @@ +interface DataOption { + id: string; + name: string; +} + +export type { DataOption }; diff --git a/src/modules/15_development/interface/response/Main.ts b/src/modules/15_development/interface/response/Main.ts new file mode 100644 index 000000000..a2567bc87 --- /dev/null +++ b/src/modules/15_development/interface/response/Main.ts @@ -0,0 +1,6 @@ +interface DataOption { + id: string; + name: string; +} + +export type { DataOption }; diff --git a/src/modules/15_development/router.ts b/src/modules/15_development/router.ts new file mode 100644 index 000000000..46bfad991 --- /dev/null +++ b/src/modules/15_development/router.ts @@ -0,0 +1,14 @@ +const mainPage = () => import("@/modules/15_development/views/MainPage.vue"); + +export default [ + { + path: "/development", + name: "developmentMain", + component: mainPage, + meta: { + Auth: true, + Key: [1.1], + Role: "development", + }, + }, +]; diff --git a/src/modules/15_development/store/developmentStore.ts b/src/modules/15_development/store/developmentStore.ts new file mode 100644 index 000000000..cea789075 --- /dev/null +++ b/src/modules/15_development/store/developmentStore.ts @@ -0,0 +1,6 @@ +import { defineStore } from "pinia"; + +// store +export const useDevelopmentDataStore = defineStore("developmentDataStore", () => { + return {}; +}); diff --git a/src/modules/15_development/views/MainPage.vue b/src/modules/15_development/views/MainPage.vue new file mode 100644 index 000000000..74eb72131 --- /dev/null +++ b/src/modules/15_development/views/MainPage.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index d8095bbb7..2b49a0802 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -19,6 +19,9 @@ import ModuleOrder from "@/modules/10_order/router"; import ModuleLeave from "@/modules/09_leave/router"; import ModuleDiscipline from "@/modules/11_discipline/router"; import ModuleEvaluate from "@/modules/12_evaluatePersonal/router"; +import ModuleSalary from "@/modules/13_salary/router"; +import ModuleKPI from "@/modules/14_KPI/router"; +import ModuleDevelopment from "@/modules/15_development/router"; import ModuleSupport from "@/modules/00_support/router"; // TODO: ใช้หรือไม่? @@ -57,6 +60,9 @@ const router = createRouter({ ...ModuleLeave, ...ModuleDiscipline, ...ModuleEvaluate, + ...ModuleSalary, + ...ModuleKPI, + ...ModuleDevelopment, ...ModuleSupport, ], }, diff --git a/src/views/MainLayout.vue b/src/views/MainLayout.vue index c5e5ee476..161081f97 100644 --- a/src/views/MainLayout.vue +++ b/src/views/MainLayout.vue @@ -287,17 +287,18 @@ const myEventHandler = (e: any, setSCroll: boolean) => { * @param path string */ const activeMenu = (path: string) => { - if (path == "dashboard" && route.fullPath == "/") return true; - if (path == "registry" && route.fullPath == "/registry-employee") - return false; - if (path == "registry" && route.fullPath.includes(`/registry-employee/edit`)) - return false; - if (path == "registry" && route.fullPath.includes(`/registry-employee/add`)) - return false; + // if (path == "dashboard" && route.fullPath == "/") return true; + // if (path == "registry" && route.fullPath == "/registry-employee") + // return false; + // if (path == "registry" && route.fullPath.includes(`/registry-employee/edit`)) + // return false; + // if (path == "registry" && route.fullPath.includes(`/registry-employee/add`)) + // return false; - if (path == "registry" && route.fullPath == "/") return false; + // if (path == "registry" && route.fullPath == "/") return false; // if (path != "registry" && path == "registryEmployee" && route.fullPath == "/registryEmployee") return true; - const bool = route.fullPath.includes(`/${path}`); + // const bool = route.fullPath.includes(`/${path}`) || route.name === path; + const bool = route.name === path; return bool; }; @@ -903,7 +904,8 @@ watch( menuItem.key == 7 || menuItem.key == 8 || menuItem.key == 9 || - menuItem.key == 11 + menuItem.key == 11 || + menuItem.key == 12 " >