diff --git a/src/api/KPI/api.kpis.ts b/src/api/KPI/api.kpis.ts index fc00ea6..0fb124b 100644 --- a/src/api/KPI/api.kpis.ts +++ b/src/api/KPI/api.kpis.ts @@ -31,6 +31,8 @@ export default { /** ผลสัมฤทธิ์ของงาน*/ fileByFile: (name: string, group: string, id: string, fileName: string) => `${url}/file/${name}/${group}/${id}/${fileName}`, + fileByFileUser: (name: string, group: string, id: string) => + `${url}/file/${name}/${group}/${id}`, kpiUserCapacity: `${KpiUser}/capacity`, KpiEvaluationInfo, Kpiorg, diff --git a/src/api/org/api.org.ts b/src/api/org/api.org.ts index 45d915f..d7f9d78 100644 --- a/src/api/org/api.org.ts +++ b/src/api/org/api.org.ts @@ -1,10 +1,55 @@ import env from "../index"; const org = `${env.API_URI}/org`; - +const profileOrg = `${env.API_URI}/org/profile`; +const report = `${env.API_URI}/report/profile/`; export default { profilePosition: () => `${org}/profile/keycloak/position`, searchCommander: `${org}/profile/search/commander`, - dataUserInformation: `${org}/profile/user`, + + proFileType:`${profileOrg}/type`, + dataUserInformation: `${profileOrg}/user`, + dataUserChangeName: `${profileOrg}/changeName/user`, + dataUserAddress: `${profileOrg}/address/user`, + dataUserFamily:(type:string)=> `${profileOrg}/family/${type}/user`, + dataUserEducations: `${profileOrg}/educations/user`, + dataUserAbility: `${profileOrg}/ability/user`, + + + + dataUserGovernment: `${profileOrg}/government/user`, + dataUserDiscipline: `${profileOrg}/discipline/user`, + dataUserLeave: `${profileOrg}/leave/user`, + dataUserDuty: `${profileOrg}/duty/user`, + + dataUserSalary: `${profileOrg}/salary/user`, + dataUserNopaid: `${profileOrg}/nopaid/user`, + + dataUserCertificate:(type:string) => `${profileOrg}/${type}/user`, + + dataUserOther:`${profileOrg}/other/user`, + + profileReportId: (profileId: string) => `${report}kk1/${profileId}`, + profileKp7ShortId: (profileId: string) => `${report}kp7-short/${profileId}`, + + /** history */ + dataUserInformatioHistory:(type:string)=> `${profileOrg}${type}/history/user`, + dataUserChangeNameHistory: `${profileOrg}/changeName/history`, + dataUserHistory:(type:string)=> `${profileOrg}${type}/address/history/user`, + dataUserFamilyHistory:(type:string,emType:string,id:string)=> `${profileOrg}${emType}/family/${type}/history/${id}`, + dataUserEducationsHistory:(id:string)=> `${profileOrg}/educations/history/${id}`, + dataUserAbilityHistory:(id:string)=> `${profileOrg}/ability/history/${id}`, + + dataUserGovernmentHistory:(type:string)=> `${profileOrg}${type}/government/history/user`, + dataUserDisciplineHistory:(id:string)=> `${profileOrg}/discipline/history/${id}`, + dataUserLeaveHistory: (id:string)=>`${profileOrg}/leave/history/${id}`, + dataUserDutyHistory:(id:string)=> `${profileOrg}/duty/history/${id}`, + + dataUserSalaryHistory: (id:string)=>`${profileOrg}/salary/history/${id}`, + dataUserSalaryNopaidHistory: (id:string)=>`${profileOrg}/nopaid/history/${id}`, + + dataUserCertificateHistory:(type:string,id:string) => `${profileOrg}/${type}/history/${id}`, + dataUserHonorHistory:(type:string,emType:string,id:string) => `${profileOrg}${emType}/${type}/history/${id}`, + dataUserOtherHistory:(id:string)=>`${profileOrg}/other/history/${id}`, }; diff --git a/src/modules/10_registry/01_Information/01_Information.vue b/src/modules/10_registry/01_Information/01_Information.vue new file mode 100644 index 0000000..72e0576 --- /dev/null +++ b/src/modules/10_registry/01_Information/01_Information.vue @@ -0,0 +1,421 @@ + + diff --git a/src/modules/10_registry/01_Information/02_ChangeName.vue b/src/modules/10_registry/01_Information/02_ChangeName.vue new file mode 100644 index 0000000..f07935a --- /dev/null +++ b/src/modules/10_registry/01_Information/02_ChangeName.vue @@ -0,0 +1,351 @@ + + + \ No newline at end of file diff --git a/src/modules/10_registry/01_Information/03_Address.vue b/src/modules/10_registry/01_Information/03_Address.vue new file mode 100644 index 0000000..f84a26f --- /dev/null +++ b/src/modules/10_registry/01_Information/03_Address.vue @@ -0,0 +1,379 @@ + + diff --git a/src/modules/10_registry/01_Information/04_Family.vue b/src/modules/10_registry/01_Information/04_Family.vue new file mode 100644 index 0000000..039f01f --- /dev/null +++ b/src/modules/10_registry/01_Information/04_Family.vue @@ -0,0 +1,600 @@ + + + + diff --git a/src/modules/10_registry/01_Information/05_Educations.vue b/src/modules/10_registry/01_Information/05_Educations.vue new file mode 100644 index 0000000..1aa163c --- /dev/null +++ b/src/modules/10_registry/01_Information/05_Educations.vue @@ -0,0 +1,636 @@ + + + + \ No newline at end of file diff --git a/src/modules/10_registry/01_Information/06_Ability.vue b/src/modules/10_registry/01_Information/06_Ability.vue new file mode 100644 index 0000000..fe92a46 --- /dev/null +++ b/src/modules/10_registry/01_Information/06_Ability.vue @@ -0,0 +1,359 @@ + + + diff --git a/src/modules/10_registry/02_Government/01_Government.vue b/src/modules/10_registry/02_Government/01_Government.vue new file mode 100644 index 0000000..38db5a3 --- /dev/null +++ b/src/modules/10_registry/02_Government/01_Government.vue @@ -0,0 +1,500 @@ + + diff --git a/src/modules/10_registry/02_Government/02_Discipline.vue b/src/modules/10_registry/02_Government/02_Discipline.vue new file mode 100644 index 0000000..9fb7f1d --- /dev/null +++ b/src/modules/10_registry/02_Government/02_Discipline.vue @@ -0,0 +1,412 @@ + + + \ No newline at end of file diff --git a/src/modules/10_registry/02_Government/03_Leave.vue b/src/modules/10_registry/02_Government/03_Leave.vue new file mode 100644 index 0000000..9324f24 --- /dev/null +++ b/src/modules/10_registry/02_Government/03_Leave.vue @@ -0,0 +1,480 @@ + + + diff --git a/src/modules/10_registry/02_Government/04_Duty.vue b/src/modules/10_registry/02_Government/04_Duty.vue new file mode 100644 index 0000000..afdeec4 --- /dev/null +++ b/src/modules/10_registry/02_Government/04_Duty.vue @@ -0,0 +1,413 @@ + + + \ No newline at end of file diff --git a/src/modules/10_registry/03_Salary/01_Salary.vue b/src/modules/10_registry/03_Salary/01_Salary.vue new file mode 100644 index 0000000..21278a4 --- /dev/null +++ b/src/modules/10_registry/03_Salary/01_Salary.vue @@ -0,0 +1,521 @@ + + + \ No newline at end of file diff --git a/src/modules/10_registry/03_Salary/02_Nopaid.vue b/src/modules/10_registry/03_Salary/02_Nopaid.vue new file mode 100644 index 0000000..e812045 --- /dev/null +++ b/src/modules/10_registry/03_Salary/02_Nopaid.vue @@ -0,0 +1,392 @@ + + + \ No newline at end of file diff --git a/src/modules/10_registry/04_Achievement/01_Certificate.vue b/src/modules/10_registry/04_Achievement/01_Certificate.vue new file mode 100644 index 0000000..8d507e8 --- /dev/null +++ b/src/modules/10_registry/04_Achievement/01_Certificate.vue @@ -0,0 +1,386 @@ + + + diff --git a/src/modules/10_registry/04_Achievement/02_Training.vue b/src/modules/10_registry/04_Achievement/02_Training.vue new file mode 100644 index 0000000..78d63e3 --- /dev/null +++ b/src/modules/10_registry/04_Achievement/02_Training.vue @@ -0,0 +1,506 @@ + + + diff --git a/src/modules/10_registry/04_Achievement/03_Insignia.vue b/src/modules/10_registry/04_Achievement/03_Insignia.vue new file mode 100644 index 0000000..3eba8b8 --- /dev/null +++ b/src/modules/10_registry/04_Achievement/03_Insignia.vue @@ -0,0 +1,607 @@ + + + diff --git a/src/modules/10_registry/04_Achievement/04_Honor.vue b/src/modules/10_registry/04_Achievement/04_Honor.vue new file mode 100644 index 0000000..7b0d67c --- /dev/null +++ b/src/modules/10_registry/04_Achievement/04_Honor.vue @@ -0,0 +1,391 @@ + + + \ No newline at end of file diff --git a/src/modules/10_registry/04_Achievement/05_Assessments.vue b/src/modules/10_registry/04_Achievement/05_Assessments.vue new file mode 100644 index 0000000..75efd37 --- /dev/null +++ b/src/modules/10_registry/04_Achievement/05_Assessments.vue @@ -0,0 +1,469 @@ + + + diff --git a/src/modules/10_registry/05_Other/01_Other.vue b/src/modules/10_registry/05_Other/01_Other.vue new file mode 100644 index 0000000..6eb7b05 --- /dev/null +++ b/src/modules/10_registry/05_Other/01_Other.vue @@ -0,0 +1,297 @@ + + + diff --git a/src/modules/10_registry/05_Other/02_File.vue b/src/modules/10_registry/05_Other/02_File.vue new file mode 100644 index 0000000..36f7a12 --- /dev/null +++ b/src/modules/10_registry/05_Other/02_File.vue @@ -0,0 +1,142 @@ + + + diff --git a/src/modules/10_registry/Dialog/DialogHistory.vue b/src/modules/10_registry/Dialog/DialogHistory.vue new file mode 100644 index 0000000..e3dd120 --- /dev/null +++ b/src/modules/10_registry/Dialog/DialogHistory.vue @@ -0,0 +1,241 @@ + + + diff --git a/src/modules/10_registry/interface/index/Achievement.ts b/src/modules/10_registry/interface/index/Achievement.ts new file mode 100644 index 0000000..dfd588d --- /dev/null +++ b/src/modules/10_registry/interface/index/Achievement.ts @@ -0,0 +1,19 @@ +interface DataOptionInsignia { + id: string; + name: string; + typeName: string; +} + +interface ResponseObject { + id: string; + name: string; + shortName: string; + insigniaTypeName: string; + createdAt: Date; + lastUpdatedAt: Date; + lastUpdateFullName: string; + isActive: boolean; + note: string; +} + +export type { DataOptionInsignia, ResponseObject }; diff --git a/src/modules/10_registry/interface/index/Family.ts b/src/modules/10_registry/interface/index/Family.ts new file mode 100644 index 0000000..dd1d9e9 --- /dev/null +++ b/src/modules/10_registry/interface/index/Family.ts @@ -0,0 +1,48 @@ +interface FormPerson { + isLive: null | number | boolean | string; + citizenId: string; + prefix: string; + firstName: string; + lastName: string; + job: string; + lastNameOld?: string; + statusMarital?: string; +} + +interface FormChildren { + id: string; + createdAt: string; + createdUserId: string; + lastUpdatedAt: string; + lastUpdateUserId: string; + createdFullName: string; + lastUpdateFullName: string; + childrenCareer: string; + childrenFirstName: string; + childrenLastName: string; + childrenPrefix: string; + childrenLive: boolean | number | null; + childrenCitizenId: string; + profileId: string | null; + profileEmployeeId: string | null; +} + +interface DataOptionInsignia { + id: string; + name: string; + typeName: string; +} + +interface ResponseObject { + id: string; + name: string; + shortName: string; + insigniaTypeName: string; + createdAt: Date; + lastUpdatedAt: Date; + lastUpdateFullName: string; + isActive: boolean; + note: string; +} + +export type { FormPerson, FormChildren, DataOptionInsignia, ResponseObject }; diff --git a/src/modules/10_registry/router.ts b/src/modules/10_registry/router.ts index b59add7..8797400 100644 --- a/src/modules/10_registry/router.ts +++ b/src/modules/10_registry/router.ts @@ -4,7 +4,7 @@ const registryPage = () => import("@/modules/10_registry/views/main.vue"); const registryInformation = () => import("@/modules/10_registry/tabs/01_information.vue"); const registryGovernment = () => import("@/modules/10_registry/tabs/02_government.vue"); const registrySalary = () => import("@/modules/10_registry/tabs/03_salary.vue"); -const registryInsignia = () => import("@/modules/10_registry/tabs/04_insignia.vue"); +const registryAchievement = () => import("@/modules/10_registry/tabs/04_Achievement.vue"); const registryOther = () => import("@/modules/10_registry/tabs/05_other.vue"); export default [ @@ -46,9 +46,9 @@ export default [ }, }, { - path: "/registry/insignia", - name: "registryInsignia", - component: registryInsignia, + path: "/registry/achievement", + name: "achievement", + component: registryAchievement, meta: { Auth: true, Key: [10], diff --git a/src/modules/10_registry/store/registry.ts b/src/modules/10_registry/store/registry.ts new file mode 100644 index 0000000..6b5e5c8 --- /dev/null +++ b/src/modules/10_registry/store/registry.ts @@ -0,0 +1,33 @@ +import { defineStore } from "pinia"; +import type { DataOptionInsignia, ResponseObject } from '@/modules/10_registry/interface/index/Achievement' +import { ref } from "vue"; + + +export const useRegistryInFormationStore = defineStore( + "registryInFormationStore", + () => { + const typeProfile = ref("OFFICER"); + const profileId = ref('') + + + function typeChangeName(val: string) { + switch (val) { + case "prefix": + return "เปลี่ยนคำนำหน้าชื่อ"; + case "firstName": + return "เปลี่ยนชื่อ"; + case "lastName": + return "เปลี่ยนนามสกุล"; + case "all": + return "เปลี่ยนคำนำหน้าชื่อ, ชื่อ-นามสกุล"; + case "firstNameLastName": + return "เปลี่ยนชื่อ-นามสกุล"; + case "prefixAndlastName": + return "เปลี่ยนคำนำหน้าชื่อ และนามสกุล"; + default: + return "-"; + } + } + return { typeChangeName, typeProfile,profileId}; + } +); diff --git a/src/modules/10_registry/tabs/01_information.vue b/src/modules/10_registry/tabs/01_information.vue index f278a4b..ecb666b 100644 --- a/src/modules/10_registry/tabs/01_information.vue +++ b/src/modules/10_registry/tabs/01_information.vue @@ -1,176 +1,16 @@ diff --git a/src/modules/10_registry/tabs/03_salary.vue b/src/modules/10_registry/tabs/03_salary.vue index 237aed7..1812c09 100644 --- a/src/modules/10_registry/tabs/03_salary.vue +++ b/src/modules/10_registry/tabs/03_salary.vue @@ -1,3 +1,41 @@ + \ No newline at end of file +
+
+ +
ข้อมูลเงินเดือน/ค่าจ้าง
+
+
+ +
+ + + +
+ + diff --git a/src/modules/10_registry/tabs/04_Achievement.vue b/src/modules/10_registry/tabs/04_Achievement.vue new file mode 100644 index 0000000..7fc598d --- /dev/null +++ b/src/modules/10_registry/tabs/04_Achievement.vue @@ -0,0 +1,44 @@ + + + diff --git a/src/modules/10_registry/tabs/04_insignia.vue b/src/modules/10_registry/tabs/04_insignia.vue deleted file mode 100644 index e3cfffa..0000000 --- a/src/modules/10_registry/tabs/04_insignia.vue +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/src/modules/10_registry/tabs/05_other.vue b/src/modules/10_registry/tabs/05_other.vue index 00f4b14..cb3618b 100644 --- a/src/modules/10_registry/tabs/05_other.vue +++ b/src/modules/10_registry/tabs/05_other.vue @@ -1,3 +1,39 @@ + \ No newline at end of file +
+
+ +
เอกสารหลักฐานและอื่นๆ
+
+
+ +
+ + +
+ + diff --git a/src/modules/10_registry/views/main.vue b/src/modules/10_registry/views/main.vue index c4b0bf4..182d11a 100644 --- a/src/modules/10_registry/views/main.vue +++ b/src/modules/10_registry/views/main.vue @@ -1,25 +1,38 @@ \ No newline at end of file + diff --git a/src/stores/mixin.ts b/src/stores/mixin.ts index a715fa8..a1bfb6e 100644 --- a/src/stores/mixin.ts +++ b/src/stores/mixin.ts @@ -1,8 +1,10 @@ import { defineStore } from "pinia"; +import "moment/dist/locale/th"; import moment from "moment"; import CustomComponent from "@/components/CustomDialog.vue"; import { Loading, QSpinnerCube } from "quasar"; +moment.locale("th"); export const useCounterMixin = defineStore("mixin", () => { /** * ฟังก์ชันกลาง @@ -76,75 +78,19 @@ export const useCounterMixin = defineStore("mixin", () => { * @returns */ function date2Thai( - srcDate: Date, + srcDate: Date | null, isFullMonth: boolean = false, isTime: boolean = false ) { - if (srcDate == null) { - return null; - ` - `; - } - const date = new Date(srcDate); - const isValidDate = Boolean(+date); - if (!isValidDate) return srcDate.toString(); - if (isValidDate && date.getFullYear() < 1000) return srcDate.toString(); - const fullMonthThai = [ - "มกราคม", - "กุมภาพันธ์", - "มีนาคม", - "เมษายน", - "พฤษภาคม", - "มิถุนายน", - "กรกฎาคม", - "สิงหาคม", - "กันยายน", - "ตุลาคม", - "พฤศจิกายน", - "ธันวาคม", - ]; - const abbrMonthThai = [ - "ม.ค.", - "ก.พ.", - "มี.ค.", - "เม.ย.", - "พ.ค.", - "มิ.ย.", - "ก.ค.", - "ส.ค.", - "ก.ย.", - "ต.ค.", - "พ.ย.", - "ธ.ค.", - ]; - let dstYear = 0; - if (date.getFullYear() > 2500) { - dstYear = date.getFullYear(); - } else { - dstYear = date.getFullYear() + 543; - } - let dstMonth = ""; - if (isFullMonth) { - dstMonth = fullMonthThai[date.getMonth()]; - } else { - dstMonth = abbrMonthThai[date.getMonth()]; - } - let dstTime = ""; - if (isTime) { - const H = date.getHours().toString().padStart(2, "0"); - const M = date.getMinutes().toString().padStart(2, "0"); - // const S = date.getSeconds().toString().padStart(2, "0") - // dstTime = " " + H + ":" + M + ":" + S + " น." - dstTime = " " + H + ":" + M + " น."; - } - return ( - date.getDate().toString().padStart(2, "0") + - " " + - dstMonth + - " " + - dstYear + - dstTime - ); + if (srcDate == null || !moment(srcDate).isValid()) return ""; + + const dateMoment = moment(srcDate); + const day = dateMoment.format("DD"); + const month = dateMoment.format(isFullMonth ? "MMMM" : "MMM"); + const year = +dateMoment.format("YYYY") + 543; + return `${day} ${month} ${year}${ + isTime ? dateMoment.format(" HH:mm น.") : "" + }`; } function dateThai( @@ -322,13 +268,19 @@ export const useCounterMixin = defineStore("mixin", () => { } function dateToISO(date: Date) { - return ( - date.getFullYear() + - "-" + - appendLeadingZeroes(date.getMonth() + 1) + - "-" + - appendLeadingZeroes(date.getDate()) - ); + if (date != null) { + const srcDate = new Date(date); + + return ( + srcDate.getFullYear() + + "-" + + appendLeadingZeroes(srcDate.getMonth() + 1) + + "-" + + appendLeadingZeroes(srcDate.getDate()) + ); + } else { + return ""; + } } function appendLeadingZeroes(n: number) {