From f1a2c753bbf853338e074eec5d0469ed7c8a97ad Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Thu, 12 Mar 2026 20:26:26 +0700 Subject: [PATCH 01/54] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=84?= =?UTF-8?q?=E0=B8=B3=E0=B8=9C=E0=B8=B4=E0=B8=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../18_command/components/DialogAssign.vue | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/modules/18_command/components/DialogAssign.vue b/src/modules/18_command/components/DialogAssign.vue index fbe10f73f..11288977a 100644 --- a/src/modules/18_command/components/DialogAssign.vue +++ b/src/modules/18_command/components/DialogAssign.vue @@ -9,7 +9,7 @@ import { usePagination } from "@/composables/usePagination"; import { useCounterMixin } from "@/stores/mixin"; import type { DataOption } from "@/modules/18_command/interface/index/Main"; -import type { DataProfile} from "@/modules/18_command/interface/response/Main"; +import type { DataProfile } from "@/modules/18_command/interface/response/Main"; import DialogHeader from "@/components/DialogHeader.vue"; @@ -68,7 +68,7 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", }, - { + { name: "posNo", align: "left", label: "เลขที่ตำแหน่ง", @@ -77,7 +77,7 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", }, - { + { name: "position", align: "left", label: "ตำแหน่งในสายงาน", @@ -86,7 +86,7 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", }, - { + { name: "positionType", align: "left", label: "ประเภทตำแหน่ง", @@ -96,7 +96,9 @@ const columns = ref([ style: "font-size: 14px", format(val, row) { return row.posTypeName - ? `${row.posTypeName} ${row.positionLevelName ? `(${row.positionLevelName})` : ""}` + ? `${row.posTypeName} ${ + row.positionLevelName ? `(${row.positionLevelName})` : "" + }` : "-"; }, }, @@ -119,7 +121,7 @@ async function fetchDataPerson() { { fieldName: type.value, keyword: keyword.value.trim(), - system: (route.meta?.Key as string) || 'COMMAND', + system: (route.meta?.Key as string) || "COMMAND", }, { params: params.value, @@ -137,7 +139,7 @@ async function fetchDataPerson() { function onSubmit() { if (selected.value.length == 0) { - dialogMessageNotify($q, "กรุณาเลือกบุคคลที่ต้องการหมอบหมายคำสั่ง"); + dialogMessageNotify($q, "กรุณาเลือกบุคคลที่ต้องการมอบหมายคำสั่ง"); return; } dialogConfirm($q, async () => { @@ -148,7 +150,7 @@ function onSubmit() { }); await props.fetchListCommand(); handleClose(); - success($q, "หมอบหมายคำสั่งสำเร็จ"); + success($q, "มอบหมายคำสั่งสำเร็จ"); } catch (error) { messageError($q, error); } finally { @@ -180,7 +182,7 @@ watch(modal, (newVal) => { diff --git a/src/views/ErrorPermission.vue b/src/views/ErrorPermission.vue index ec5e14aad..49429875f 100644 --- a/src/views/ErrorPermission.vue +++ b/src/views/ErrorPermission.vue @@ -18,6 +18,12 @@ label="กลับหน้าหลัก" no-caps /> + +
+ + พบปัญหาการใช้งานกรุณาติดต่อผู้ดูแลระบบ + 088-264-9800 +
diff --git a/src/views/MainLayout.vue b/src/views/MainLayout.vue index 369ddee6d..36b6d7ff7 100644 --- a/src/views/MainLayout.vue +++ b/src/views/MainLayout.vue @@ -1282,6 +1282,14 @@ function onViewDetailNoti(url: string) { + +
+ + พบปัญหาการใช้งานกรุณาติดต่อผู้ดูแลระบบ + 088-264-9800 +
+
+ From 5f48063ae79424b67e82d7c5f7fdb2c195f8c566 Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Wed, 25 Mar 2026 10:27:45 +0700 Subject: [PATCH 14/54] fix layout and select input --- .../08_DialogAbsentLate.vue | 64 +++++++++++-------- 1 file changed, 39 insertions(+), 25 deletions(-) diff --git a/src/modules/04_registryPerson/components/detail/GovernmentInformation/08_DialogAbsentLate.vue b/src/modules/04_registryPerson/components/detail/GovernmentInformation/08_DialogAbsentLate.vue index 0697b5ad9..4d0311de3 100644 --- a/src/modules/04_registryPerson/components/detail/GovernmentInformation/08_DialogAbsentLate.vue +++ b/src/modules/04_registryPerson/components/detail/GovernmentInformation/08_DialogAbsentLate.vue @@ -90,6 +90,17 @@ function closeDialog() { modal.value = false; } +watch( + () => form.stampType, + (stampType) => { + if (stampType === "FULL_DAY") { + form.stampAmount = "1.0"; + } else if (stampType === "MORNING" || stampType === "AFTERNOON") { + form.stampAmount = "0.5"; + } + } +); + watch( () => modal.value, (newVal) => { @@ -119,29 +130,31 @@ watch(
-
- +
+
+ +
-
+
-
+
-
+
@@ -229,7 +244,6 @@ watch( label="เหตุผล" hide-bottom-space type="textarea" - :rules="[(val:string) => !!val || `${'กรุณากรอกเหตุผล'}`]" />
From 140553666dc8d6da16310e16a0cc44d69cef429f Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Wed, 25 Mar 2026 11:05:28 +0700 Subject: [PATCH 15/54] fix --- src/components/Dialogs/DialogDebug.vue | 10 ++++------ src/components/FooterContact.vue | 13 +++++++++++++ src/views/MainLayout.vue | 9 +++------ 3 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 src/components/FooterContact.vue diff --git a/src/components/Dialogs/DialogDebug.vue b/src/components/Dialogs/DialogDebug.vue index cd5b3a78d..e84ef99da 100644 --- a/src/components/Dialogs/DialogDebug.vue +++ b/src/components/Dialogs/DialogDebug.vue @@ -11,6 +11,7 @@ import http from "@/plugins/http"; import config from "@/app.config"; import DialogHeader from "@/components/DialogHeader.vue"; +import FooterContact from "@/components/FooterContact.vue"; const $q = useQuasar(); const store = usePositionKeycloakStore(); @@ -391,12 +392,9 @@ function onClose() { - -
- *พบปัญหาการใช้งานกรุณาติดต่อผู้ดูแลระบบ - 088-264-9800 + +
+
+
+ + + พบปัญหาการใช้งานกรุณาติดต่อผู้ดูแลระบบ + 088-264-9800 + +
+ + + + + diff --git a/src/views/MainLayout.vue b/src/views/MainLayout.vue index 36b6d7ff7..3812a311d 100644 --- a/src/views/MainLayout.vue +++ b/src/views/MainLayout.vue @@ -28,6 +28,7 @@ import { tabList, tabListPlacement } from "../interface/request/main/main"; import LoginLinkage from "@/components/LoginLinkage.vue"; import DialogDebug from "@/components/Dialogs/DialogDebug.vue"; +import FooterContact from "@/components/FooterContact.vue"; // landing page config url const configParam = { @@ -1282,12 +1283,8 @@ function onViewDetailNoti(url: string) { - -
- - พบปัญหาการใช้งานกรุณาติดต่อผู้ดูแลระบบ - 088-264-9800 -
+ + From 2b0d3340ee4c838ff288d3b6d3d5ae56b87a4a92 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Wed, 25 Mar 2026 11:54:34 +0700 Subject: [PATCH 16/54] fix:tel --- src/components/FooterContact.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/FooterContact.vue b/src/components/FooterContact.vue index fe2123415..3aa672f3c 100644 --- a/src/components/FooterContact.vue +++ b/src/components/FooterContact.vue @@ -3,7 +3,8 @@ พบปัญหาการใช้งานกรุณาติดต่อผู้ดูแลระบบ - 088-264-9800 + 088-264-9800 +
From 59c188a3a99ba5bce70631bc40b9fc136d541a89 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Wed, 25 Mar 2026 11:59:14 +0700 Subject: [PATCH 17/54] fix:tel --- src/components/FooterContact.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/FooterContact.vue b/src/components/FooterContact.vue index 3aa672f3c..d8d7236c5 100644 --- a/src/components/FooterContact.vue +++ b/src/components/FooterContact.vue @@ -3,8 +3,9 @@ พบปัญหาการใช้งานกรุณาติดต่อผู้ดูแลระบบ - 088-264-9800 - + 088-264-9800 +
From c066ee577a8ecc706b7dbf2da90c074d9c572efd Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Wed, 25 Mar 2026 12:10:53 +0700 Subject: [PATCH 18/54] fix: style --- src/components/FooterContact.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/FooterContact.vue b/src/components/FooterContact.vue index d8d7236c5..45082f566 100644 --- a/src/components/FooterContact.vue +++ b/src/components/FooterContact.vue @@ -4,7 +4,9 @@ พบปัญหาการใช้งานกรุณาติดต่อผู้ดูแลระบบ 088-264-9800 + >088-264-9800
From 263e122b60cafe089e7c3783a7b6ea28be396569 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Wed, 25 Mar 2026 15:05:49 +0700 Subject: [PATCH 19/54] fix: payload multiple --- .../09_leave/components/03_ChangeRound/DialogForm.vue | 8 ++++++++ src/modules/09_leave/stores/ChangeRoundStore.ts | 1 + 2 files changed, 9 insertions(+) diff --git a/src/modules/09_leave/components/03_ChangeRound/DialogForm.vue b/src/modules/09_leave/components/03_ChangeRound/DialogForm.vue index 59a5c8be2..954827e64 100644 --- a/src/modules/09_leave/components/03_ChangeRound/DialogForm.vue +++ b/src/modules/09_leave/components/03_ChangeRound/DialogForm.vue @@ -138,6 +138,14 @@ async function changeRound() { roundId: formData.round, effectiveDate: formattedDateForAPI, remark: formData.reson, + firstName: item.firstName, + lastName: item.lastName, + prefix: item.prefix, + rootDnaId: item.rootDnaId, + child1DnaId: item.child1DnaId, + child2DnaId: item.child2DnaId, + child3DnaId: item.child3DnaId, + child4DnaId: item.child4DnaId, })); } else { payload = { diff --git a/src/modules/09_leave/stores/ChangeRoundStore.ts b/src/modules/09_leave/stores/ChangeRoundStore.ts index b1370e358..4d34b5872 100644 --- a/src/modules/09_leave/stores/ChangeRoundStore.ts +++ b/src/modules/09_leave/stores/ChangeRoundStore.ts @@ -150,6 +150,7 @@ export const useChangeRoundDataStore = defineStore( if (apiData.length > 0) { checkCilck.value = false; rows.value = apiData.map((e: any) => ({ + ...e, profileId: e.profileId, cardId: e.citizenId, fullName: e.fullName, From 5830d2411867149b8fb0958cb504facd56246444 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Wed, 25 Mar 2026 16:55:15 +0700 Subject: [PATCH 20/54] refactor(ui): apply +543 year formatting to columns --- src/modules/03_recruiting/views/02_qualify/DisablePeriod.vue | 2 +- .../components/detail/Achievement/03_Insignia.vue | 2 +- src/modules/07_insignia/components/2_Manage/InfoInsignia.vue | 2 +- src/modules/14_KPI/views/01_kpiRound.vue | 2 +- src/modules/15_development/views/EmployeeHistory.vue | 2 +- src/modules/15_development/views/History.vue | 2 +- src/modules/15_development/views/MainPage.vue | 2 +- src/modules/15_development/views/Scholarship.vue | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/modules/03_recruiting/views/02_qualify/DisablePeriod.vue b/src/modules/03_recruiting/views/02_qualify/DisablePeriod.vue index 15ecf3039..d23684dea 100644 --- a/src/modules/03_recruiting/views/02_qualify/DisablePeriod.vue +++ b/src/modules/03_recruiting/views/02_qualify/DisablePeriod.vue @@ -112,7 +112,7 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", format(val, row) { - return `${row.year + 543}`; + return `${row.year ? row.year + 543 : "-"}`; }, sort: (a: number, b: number) => b - a, }, diff --git a/src/modules/04_registryPerson/components/detail/Achievement/03_Insignia.vue b/src/modules/04_registryPerson/components/detail/Achievement/03_Insignia.vue index 5da6c11e0..4c5be3b21 100644 --- a/src/modules/04_registryPerson/components/detail/Achievement/03_Insignia.vue +++ b/src/modules/04_registryPerson/components/detail/Achievement/03_Insignia.vue @@ -92,7 +92,7 @@ const baseColumns = ref([ field: "year", headerStyle: "font-size: 14px", style: "font-size: 14px", - format: (v) => v + 543, + format: (v) => (v ? v + 543 : "-"), sort: (a: string, b: string) => a .toString() diff --git a/src/modules/07_insignia/components/2_Manage/InfoInsignia.vue b/src/modules/07_insignia/components/2_Manage/InfoInsignia.vue index 3330aea56..2cf7b60c3 100644 --- a/src/modules/07_insignia/components/2_Manage/InfoInsignia.vue +++ b/src/modules/07_insignia/components/2_Manage/InfoInsignia.vue @@ -35,7 +35,7 @@ const columns = ref([ field: "year", headerStyle: "font-size: 14px", style: "font-size: 14px", - format: (v) => v + 543, + format: (v) => (v ? v + 543 : "-"), }, { name: "receiveDate", diff --git a/src/modules/14_KPI/views/01_kpiRound.vue b/src/modules/14_KPI/views/01_kpiRound.vue index f6db8904d..46502850b 100644 --- a/src/modules/14_KPI/views/01_kpiRound.vue +++ b/src/modules/14_KPI/views/01_kpiRound.vue @@ -44,7 +44,7 @@ const columns = ref([ field: "year", headerStyle: "font-size: 14px", style: "font-size: 14px", - format: (val) => val + 543, + format: (val) => (val ? val + 543 : "-"), }, { name: "durationKPI", diff --git a/src/modules/15_development/views/EmployeeHistory.vue b/src/modules/15_development/views/EmployeeHistory.vue index 87e7f696e..241666999 100644 --- a/src/modules/15_development/views/EmployeeHistory.vue +++ b/src/modules/15_development/views/EmployeeHistory.vue @@ -67,7 +67,7 @@ const columns = ref([ field: "year", headerStyle: "font-size: 14px", style: "font-size: 14px", - format: (v) => v + 543, + format: (v) => (v ? v + 543 : "-"), }, { name: "citizenId", diff --git a/src/modules/15_development/views/History.vue b/src/modules/15_development/views/History.vue index 76a8079ea..a9806406c 100644 --- a/src/modules/15_development/views/History.vue +++ b/src/modules/15_development/views/History.vue @@ -44,7 +44,7 @@ const columns = ref([ field: "year", headerStyle: "font-size: 14px", style: "font-size: 14px", - format: (v) => v + 543, + format: (v) => (v ? v + 543 : "-"), }, { name: "citizenId", diff --git a/src/modules/15_development/views/MainPage.vue b/src/modules/15_development/views/MainPage.vue index 7db45984f..397fd2b99 100644 --- a/src/modules/15_development/views/MainPage.vue +++ b/src/modules/15_development/views/MainPage.vue @@ -75,7 +75,7 @@ const columns = ref([ field: "year", headerStyle: "font-size: 14px", style: "font-size: 14px ; width:10%", - format: (val) => val + 543, + format: (val) => (val ? val + 543 : "-"), }, { name: "projectName", diff --git a/src/modules/15_development/views/Scholarship.vue b/src/modules/15_development/views/Scholarship.vue index 48d94b36c..12e494ddc 100644 --- a/src/modules/15_development/views/Scholarship.vue +++ b/src/modules/15_development/views/Scholarship.vue @@ -32,7 +32,7 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", format(val) { - return val + 543; + return val ? val + 543 : "-"; }, }, { From beef941dfda6a02a826cfc85080b90a4cad6439b Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Wed, 25 Mar 2026 17:08:34 +0700 Subject: [PATCH 21/54] fix: insigniaForm.year --- .../components/detail/Achievement/03_Insignia.vue | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/modules/04_registryPerson/components/detail/Achievement/03_Insignia.vue b/src/modules/04_registryPerson/components/detail/Achievement/03_Insignia.vue index 4c5be3b21..e08b1a073 100644 --- a/src/modules/04_registryPerson/components/detail/Achievement/03_Insignia.vue +++ b/src/modules/04_registryPerson/components/detail/Achievement/03_Insignia.vue @@ -920,9 +920,11 @@ onMounted(async () => { :locale="'th'" :enableTimePicker="false" > - + diff --git a/src/modules/14_KPI/views/report.vue b/src/modules/14_KPI/views/report.vue index f723dd697..23d14d89b 100644 --- a/src/modules/14_KPI/views/report.vue +++ b/src/modules/14_KPI/views/report.vue @@ -876,43 +876,6 @@ onMounted(() => {
- - - -
- - -
- -
- -
-
-
-
- diff --git a/src/modules/21_report/views/05_reportSalary.vue b/src/modules/21_report/views/05_reportSalary.vue index dafbfd3be..786f4dd3a 100644 --- a/src/modules/21_report/views/05_reportSalary.vue +++ b/src/modules/21_report/views/05_reportSalary.vue @@ -807,28 +807,6 @@ onMounted(() => { - -
- -
-
- -
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
diff --git a/src/modules/09_leave/interface/request/work.ts b/src/modules/09_leave/interface/request/work.ts index e69de29bb..c448c9fc9 100644 --- a/src/modules/09_leave/interface/request/work.ts +++ b/src/modules/09_leave/interface/request/work.ts @@ -0,0 +1,6 @@ +interface FormDataProcess { + startDate: Date | null; + endDate: Date | null; +} + +export type { FormDataProcess }; diff --git a/src/modules/09_leave/interface/response/work.ts b/src/modules/09_leave/interface/response/work.ts index 41df27b5f..af055b794 100644 --- a/src/modules/09_leave/interface/response/work.ts +++ b/src/modules/09_leave/interface/response/work.ts @@ -85,4 +85,24 @@ interface FormDetail { checkInLocationName: string; checkOutLocationName: string; } -export type { TableRows, DataResLog, DataResTime, TableRowsTime, FormDetail }; + +interface DataProcess { + id: string; + createdFullName: string; + createdAt: Date | null; + status: string; + startDate: Date | null; + endDate: Date | null; + processingDate: Date | null; + completedDate: Date | null; + errorMessage: string | null; +} + +export type { + TableRows, + DataResLog, + DataResTime, + TableRowsTime, + FormDetail, + DataProcess, +}; diff --git a/src/modules/09_leave/views/02_WorkingMain.vue b/src/modules/09_leave/views/02_WorkingMain.vue index 99387a4bb..fed615baf 100644 --- a/src/modules/09_leave/views/02_WorkingMain.vue +++ b/src/modules/09_leave/views/02_WorkingMain.vue @@ -1,15 +1,26 @@