From cba8f4b70308c2e538e63e68041f4b5f2b3d4d13 Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Mon, 20 Apr 2026 09:40:16 +0700 Subject: [PATCH 1/4] =?UTF-8?q?fixed#2435=20=E0=B8=A3=E0=B8=B0=E0=B8=9A?= =?UTF-8?q?=E0=B8=9A=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82=E0=B8=97?= =?UTF-8?q?=E0=B8=B0=E0=B9=80=E0=B8=9A=E0=B8=B5=E0=B8=A2=E0=B8=99=E0=B8=9B?= =?UTF-8?q?=E0=B8=A3=E0=B8=B0=E0=B8=A7=E0=B8=B1=E0=B8=95=E0=B8=B4=E0=B8=95?= =?UTF-8?q?=E0=B8=B3=E0=B9=81=E0=B8=AB=E0=B8=99=E0=B9=88=E0=B8=87/?= =?UTF-8?q?=E0=B9=80=E0=B8=87=E0=B8=B4=E0=B8=99=E0=B9=80=E0=B8=94=E0=B8=B7?= =?UTF-8?q?=E0=B8=AD=E0=B8=99=20>>=20=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=E0=B8=95=E0=B8=B3=E0=B9=81=E0=B8=AB=E0=B8=99=E0=B9=88?= =?UTF-8?q?=E0=B8=87/=E0=B9=80=E0=B8=87=E0=B8=B4=E0=B8=99=E0=B9=80?= =?UTF-8?q?=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99=20(=E0=B8=8A=E0=B8=B7?= =?UTF-8?q?=E0=B9=88=E0=B8=AD=E0=B8=8A=E0=B9=88=E0=B8=AD=E0=B8=87=E0=B8=81?= =?UTF-8?q?=E0=B8=A3=E0=B8=AD=E0=B8=81=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=A1?= =?UTF-8?q?=E0=B8=B9=E0=B8=A5=E0=B8=AB=E0=B8=B2=E0=B8=A2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../04_registryPerson/views/edit/components/FormPosition.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/04_registryPerson/views/edit/components/FormPosition.vue b/src/modules/04_registryPerson/views/edit/components/FormPosition.vue index c30fec131..b6ef8c829 100644 --- a/src/modules/04_registryPerson/views/edit/components/FormPosition.vue +++ b/src/modules/04_registryPerson/views/edit/components/FormPosition.vue @@ -706,6 +706,7 @@ function classInput(val: boolean) { hide-bottom-space autocomplete="on" name="organization" + :label="`${'หน่วยงาน'}`" /> From 0ccda33b37954ce32256cf0a31db12165852e04b Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Mon, 20 Apr 2026 09:47:20 +0700 Subject: [PATCH 2/4] =?UTF-8?q?fixed#1565=20=E0=B8=A3=E0=B8=B0=E0=B8=9A?= =?UTF-8?q?=E0=B8=9A=E0=B9=81=E0=B8=88=E0=B9=89=E0=B8=87=E0=B8=9B=E0=B8=B1?= =?UTF-8?q?=E0=B8=8D=E0=B8=AB=E0=B8=B2=E0=B8=9A=E0=B8=B1=E0=B8=87=E0=B8=84?= =?UTF-8?q?=E0=B8=B1=E0=B8=9A=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B8=81=E0=B8=A3?= =?UTF-8?q?=E0=B8=AD=E0=B8=81=E0=B8=AD=E0=B8=B5=E0=B9=80=E0=B8=A1=E0=B8=A5?= =?UTF-8?q?=20=E0=B9=81=E0=B8=A5=E0=B8=B0=E0=B8=A3=E0=B8=B0=E0=B8=9A?= =?UTF-8?q?=E0=B8=B8=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=84=E0=B8=A7=E0=B8=B2?= =?UTF-8?q?=E0=B8=A1=E0=B8=A7=E0=B9=88=E0=B8=B2=20admin=20=E0=B8=88?= =?UTF-8?q?=E0=B8=B0=E0=B8=95=E0=B8=B4=E0=B8=94=E0=B8=95=E0=B9=88=E0=B8=AD?= =?UTF-8?q?=E0=B8=81=E0=B8=A5=E0=B8=B1=E0=B8=9A=E0=B8=97=E0=B8=B2=E0=B8=87?= =?UTF-8?q?=E0=B8=AD=E0=B8=B5=E0=B9=80=E0=B8=A1=E0=B8=A5=E0=B9=80=E0=B8=9B?= =?UTF-8?q?=E0=B9=87=E0=B8=99=E0=B8=A5=E0=B8=B3=E0=B8=94=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B9=81=E0=B8=A3=E0=B8=81=E0=B8=81=E0=B8=A3=E0=B8=B8=E0=B8=93?= =?UTF-8?q?=E0=B8=B2=E0=B8=95=E0=B8=A3=E0=B8=A7=E0=B8=88=E0=B8=AA=E0=B8=AD?= =?UTF-8?q?=E0=B8=9A=E0=B8=97=E0=B8=B5=E0=B9=88=E0=B8=AD=E0=B8=B5=E0=B9=80?= =?UTF-8?q?=E0=B8=A1=E0=B8=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Dialogs/DialogDebug.vue | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/components/Dialogs/DialogDebug.vue b/src/components/Dialogs/DialogDebug.vue index e84ef99da..6443dff90 100644 --- a/src/components/Dialogs/DialogDebug.vue +++ b/src/components/Dialogs/DialogDebug.vue @@ -354,6 +354,11 @@ function onClose() {
+
+
+ ผู้ดูแลระบบจะติดต่อกลับผ่านทางอีเมลที่ท่านระบุ กรุณาตรวจสอบอีเมลของท่านเป็นระยะ +
+
@@ -378,12 +380,6 @@ function onClose() { v-model="formData.phone" class="inputgreen" hide-bottom-space - :rules="[ - () => - !!formData.email || - !!formData.phone || - 'กรุณากรอกอีเมลหรือเบอร์โทรติดต่อกลับ', - ]" />
From 519372056780d3c5a67983f47cc367ee51c7de0a Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Mon, 20 Apr 2026 09:55:27 +0700 Subject: [PATCH 3/4] fixed format email --- src/components/Dialogs/DialogDebug.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/Dialogs/DialogDebug.vue b/src/components/Dialogs/DialogDebug.vue index 6443dff90..42230b6f4 100644 --- a/src/components/Dialogs/DialogDebug.vue +++ b/src/components/Dialogs/DialogDebug.vue @@ -368,7 +368,11 @@ function onClose() { class="inputgreen" hide-bottom-space :rules="[ - (val: string) => !!val || 'กรุณากรอกอีเมลติดต่อกลับ', + (val: string) => !!val || 'กรุณากรอกที่อยู่อีเมล', + (val: string) => { + const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + return emailPattern.test(val) || 'กรุณากรอกที่อยู่อีเมลในรูปแบบที่ถูกต้อง'; + } ]" /> From 1de3d3575254732e4c72bf792a95a744c0cd4149 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 21 Apr 2026 14:14:38 +0700 Subject: [PATCH 4/4] refactor(retirement): download retirementReport --- .../01_retirement/RetirementDetail.vue | 38 +++++++++++++------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/src/modules/06_retirement/components/01_retirement/RetirementDetail.vue b/src/modules/06_retirement/components/01_retirement/RetirementDetail.vue index 2f773e5e1..08d05ff47 100644 --- a/src/modules/06_retirement/components/01_retirement/RetirementDetail.vue +++ b/src/modules/06_retirement/components/01_retirement/RetirementDetail.vue @@ -370,18 +370,32 @@ async function uploadFile(event: any, date: any) { */ async function downloadAttachment(type: string, id: string) { showLoader(); - await http - .get(config.API.reportRetireList(type, id)) - .then(async (res) => { - const data = res.data.result; - await genReport(data, `รายชื่อผู้เกษียณอายุราชการ`, type); - }) - .catch(async (e) => { - messageError($q, JSON.parse(await e.response.data.text())); - }) - .finally(() => { - hideLoader(); - }); + try { + const response = await http.get( + config.API.retirementReport + `/${type}/${id}`, + { + headers: { + accept: + type === "pdf" + ? "application/pdf" + : "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "content-Type": "application/json", + }, + responseType: "blob", + } + ); + const blob = response.data; + const url = URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + link.download = `รายชื่อผู้เกษียณอายุราชการ.${type}`; + link.click(); + URL.revokeObjectURL(url); + } catch (e) { + messageError($q, e); + } finally { + hideLoader(); + } } // ยืนยันการแก้ไขข้อมูล