diff --git a/src/modules/21_report/components/01_org/Main.vue b/src/modules/21_report/components/01_org/Main.vue new file mode 100644 index 000000000..6c83fdc9a --- /dev/null +++ b/src/modules/21_report/components/01_org/Main.vue @@ -0,0 +1,374 @@ + + + + + diff --git a/src/modules/21_report/components/01_org/TableMain.vue b/src/modules/21_report/components/01_org/TableMain.vue new file mode 100644 index 000000000..a25de504e --- /dev/null +++ b/src/modules/21_report/components/01_org/TableMain.vue @@ -0,0 +1,349 @@ + + + + + diff --git a/src/modules/21_report/components/01_org/TreeMain.vue b/src/modules/21_report/components/01_org/TreeMain.vue new file mode 100644 index 000000000..1fd822ea7 --- /dev/null +++ b/src/modules/21_report/components/01_org/TreeMain.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/src/modules/21_report/interface/Main.ts b/src/modules/21_report/interface/Main.ts new file mode 100644 index 000000000..ef1950aad --- /dev/null +++ b/src/modules/21_report/interface/Main.ts @@ -0,0 +1,89 @@ +interface ListDataText { + value: string; + label: string; +} + +interface DataSurvey { + answer1: string; + answer2: string; + answer3: number; + status: boolean; +} + +interface TabPermissions { + isEdit: boolean; + isView: boolean; +} + +interface DataPermissions { + tab1: TabPermissions; + tab2: TabPermissions; + tab3: TabPermissions; + tab4: TabPermissions; + tab5: TabPermissions; + tab6: TabPermissions; + tab7: TabPermissions; +} + +interface AppointTopic { + id: string; + appointId: string; + profileId: string; + name: string; + position: string; + positionType: string; + positionLevel: string; + role: string; +} + +interface AppointTopicMain { + id: string; + profileId: string; + topic: string; + commandNo: string; + status: string; + directors: AppointTopic[]; +} + +interface ProbationReportType { + develop_orientation_score: number; + develop_self_learning_score: number; + develop_training_seminar_score: number; + develop_other_training_score: number; + develop_total_score: number; + develop_orientation_percent: number; + develop_self_learning_percent: number; + develop_training_seminar_percent: number; + develop_other_training_percent: number; + develop_total_percent: number; + develop_result: number; + achievement_score: number; + achievement_score_total: number; + achievement_percent: number; + achievement_result: number; + behavior_score: number; + behavior_score_total: number; + behavior_percent: number; + behavior_result: number; + sum_score: number; + sum_percent: number; + reason: string; + pass_result: number; + evaluate_date: Date; +} + +interface FileType{ + path:string + pathname:string + fileName:string + title:string +} +export type { + ListDataText, + DataSurvey, + DataPermissions, + AppointTopicMain, + AppointTopic, + ProbationReportType, + FileType +}; diff --git a/src/modules/21_report/router.ts b/src/modules/21_report/router.ts new file mode 100644 index 000000000..9ad97667d --- /dev/null +++ b/src/modules/21_report/router.ts @@ -0,0 +1,132 @@ +const reportOrg = () => import("@/modules/21_report/views/01_reportOrg.vue"); +const reportRegistry = () => + import("@/modules/21_report/views/02_reportRegistry.vue"); +const reportLeave = () => import("@/modules/09_leave/views/06_ReportMain.vue"); +const reportPlacement = () => + import("@/modules/05_placement/views/09_reportMain.vue"); +const reportRetire = () => + import("@/modules/06_retirement/views/07_report.vue"); +const reportDiscipline = () => + import("@/modules/11_discipline/components/9_DisciplineReport/Main.vue"); + +const reportDevelop = () => + import("@/modules/21_report/views/03_reportDevelopment.vue"); +// const reportSalary = () => import(""); +const reportKpi = () => import("@/modules/14_KPI/views/report.vue"); +const reportInsignia = () => + import("@/modules/07_insignia/views/06_ReportMain.vue"); +const reportExam = () => + import("@/modules/03_recruiting/views/01_compete/CompeteReport.vue"); + +export default [ + { + path: "/report/org", + name: "reportOrg", + component: reportOrg, + meta: { + Auth: true, + Key: "REPORT_ORG", + Role: "STAFF", + }, + }, + { + path: "/report/registry", + name: "reportRegistry", + component: reportRegistry, + meta: { + Auth: true, + Key: "REPORT_REGISTRY", + Role: "STAFF", + }, + }, + { + path: "/report/leave", + name: "reportLeave", + component: reportLeave, + meta: { + Auth: true, + Key: "REPORT_LEAVE", + Role: "STAFF", + }, + }, + { + path: "/report/placement", + name: "reportPlacement", + component: reportPlacement, + meta: { + Auth: true, + Key: "REPORT_PLACEMENT", + Role: "STAFF", + }, + }, + { + path: "/report/retire", + name: "reportRetire", + component: reportRetire, + meta: { + Auth: true, + Key: "REPORT_RETIRE", + Role: "STAFF", + }, + }, + { + path: "/report/discipline", + name: "reportDiscipline", + component: reportDiscipline, + meta: { + Auth: true, + Key: "REPORT_DISCIPLINE", + Role: "STAFF", + }, + }, + { + path: "/report/develop", + name: "reportDevelop", + component: reportDevelop, + meta: { + Auth: true, + Key: "REPORT_DEVELOP", + Role: "STAFF", + }, + }, + // { + // path: "/report/salary", + // name: "reportSalary", + // component: reportSalary, + // meta: { + // Auth: true, + // Key: "REPORT_SALARY", + // Role: "STAFF", + // }, + // }, + { + path: "/report/kpi", + name: "reportKpi", + component: reportKpi, + meta: { + Auth: true, + Key: "REPORT_KPI", + Role: "STAFF", + }, + }, + { + path: "/report/insignia", + name: "reportInsignia", + component: reportInsignia, + meta: { + Auth: true, + Key: "REPORT_INSIGNIA", + Role: "STAFF", + }, + }, + { + path: "/report/exam", + name: "reportExam", + component: reportExam, + meta: { + Auth: true, + Key: "REPORT_EXAM", + Role: "STAFF", + }, + }, +]; diff --git a/src/modules/21_report/views/01_reportOrg.vue b/src/modules/21_report/views/01_reportOrg.vue new file mode 100644 index 000000000..1b5085a37 --- /dev/null +++ b/src/modules/21_report/views/01_reportOrg.vue @@ -0,0 +1,374 @@ + + + + diff --git a/src/modules/21_report/views/02_reportRegistry.vue b/src/modules/21_report/views/02_reportRegistry.vue new file mode 100644 index 000000000..842d1e43b --- /dev/null +++ b/src/modules/21_report/views/02_reportRegistry.vue @@ -0,0 +1,442 @@ + + + + + diff --git a/src/modules/21_report/views/03_reportDevelopment.vue b/src/modules/21_report/views/03_reportDevelopment.vue new file mode 100644 index 000000000..30717c94a --- /dev/null +++ b/src/modules/21_report/views/03_reportDevelopment.vue @@ -0,0 +1,343 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index 040623a1d..45daf38a7 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -27,6 +27,7 @@ import ModuleActing from "@/modules/17_acting/router"; import ModuleCommand from "@/modules/18_command/router"; import ModulePositionCondition from "@/modules/19_condition/router"; import ModulePositionTemp from "@/modules/20_positionTemp/router"; +import ModuleReport from "@/modules/21_report/router"; // TODO: ใช้หรือไม่? import { authenticated, logout } from "@/plugins/auth"; @@ -77,6 +78,7 @@ const router = createRouter({ ...ModuleCommand, ...ModulePositionCondition, ...ModulePositionTemp, + ...ModuleReport, ], }, /**