diff --git a/src/modules/04_registryPerson/stores/salary.ts b/src/modules/04_registryPerson/stores/salary.ts index a5a9d64a8..834504cd0 100644 --- a/src/modules/04_registryPerson/stores/salary.ts +++ b/src/modules/04_registryPerson/stores/salary.ts @@ -5,7 +5,7 @@ import type { DataOption } from "@/modules/04_registryPerson/interface/index/Mai export const useSalaryDataStore = defineStore("salatyDataStore", () => { // commandCode ขอตำแหน่ง - const salaryCode = ref([5, 6, 7]); + const salaryCode = ref([5, 6, 7, 19]); const commandCodeData = ref([]); const posTypeData = ref([]); //รายการประเภทตำแหน่ง | กลุ่มงาน diff --git a/src/modules/04_registryPerson/views/detailView.vue b/src/modules/04_registryPerson/views/detailView.vue index e8f22dc1f..7e8c150aa 100644 --- a/src/modules/04_registryPerson/views/detailView.vue +++ b/src/modules/04_registryPerson/views/detailView.vue @@ -22,7 +22,6 @@ import type { DataOptionSys, } from "@/modules/04_registryPerson/interface/index/Main"; import type { ResponseObject } from "@/modules/04_registryPerson/interface/response/Profile"; -import { s } from "@fullcalendar/core/internal-common"; /** importComponents*/ const CardNotPermission = defineAsyncComponent( diff --git a/src/modules/05_placement/components/PersonalList/Table.vue b/src/modules/05_placement/components/PersonalList/Table.vue index 499af6acd..9a4e8836b 100644 --- a/src/modules/05_placement/components/PersonalList/Table.vue +++ b/src/modules/05_placement/components/PersonalList/Table.vue @@ -937,8 +937,8 @@ function onUpdateStatus(id: string) { hideLoader(); } }, - "ยืนยันการส่งบรรจุ", - "ต้องการยืนยันการส่งบรรจุนี้ใช่หรือไม่ ?" + "ยืนยันการเปลี่ยนสถานะเป็นบรรจุแล้ว", + "ต้องการเปลี่ยนสถานะรายชื่อนี้เป็นบรรจุแล้วใช่หรือไม่ ?" ); } diff --git a/src/modules/15_development/components/Target.vue b/src/modules/15_development/components/Target.vue index f5a33abbd..94b2ac791 100644 --- a/src/modules/15_development/components/Target.vue +++ b/src/modules/15_development/components/Target.vue @@ -791,9 +791,7 @@ onMounted(() => { { v-if="!checkRoutePermission" round flat - color="primary" - icon="mdi-pencil-outline" + color="edit" + icon="edit" size="14px" @click=" () => { @@ -971,8 +969,8 @@ onMounted(() => { v-if="!checkRoutePermission" round flat - color="primary" - icon="mdi-pencil-outline" + color="edit" + icon="edit" size="14px" @click=" () => { diff --git a/src/modules/22_issues/interface/Main.ts b/src/modules/22_issues/interface/Main.ts index 56c4b46de..8e6fc9a3f 100644 --- a/src/modules/22_issues/interface/Main.ts +++ b/src/modules/22_issues/interface/Main.ts @@ -1,5 +1,3 @@ -import type { D } from "@fullcalendar/core/internal-common"; - interface Options { label: string; value: string; diff --git a/src/plugins/genreport.ts b/src/plugins/genreport.ts index 94c685bbb..6c751ff76 100644 --- a/src/plugins/genreport.ts +++ b/src/plugins/genreport.ts @@ -29,25 +29,32 @@ async function genReport( responseType: "arraybuffer", }) .then((res) => { - const data = res.data; - if (data) { - // สร้าง Blob จาก array buffer - const blob = new Blob([data], { - type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", - }); + const responseData = res.data; + if (responseData) { + // --- ส่วนที่ปรับปรุง 1: กำหนด MIME Type ให้ตรงกับไฟล์ที่รับมาจริง --- + const mimeType = + type === "docx" + ? "application/vnd.openxmlformats-officedocument.wordprocessingml.document" + : "application/pdf"; - // สร้าง URL สำหรับไฟล์ Blob + const blob = new Blob([responseData], { type: mimeType }); const url = URL.createObjectURL(blob); - // สร้างลิงก์เพื่อดาวน์โหลดไฟล์ + // --- ส่วนที่ปรับปรุง 2: จัดการชื่อไฟล์ (ป้องกันนามสกุลซ้อน) --- + const baseName = fileName.trim(); + const extension = type === "docx" ? "docx" : "pdf"; + const link = document.createElement("a"); link.href = url; - link.download = `${fileName}.${type === "docx" ? "docx" : "pdf"}`; // กำหนดชื่อไฟล์ที่จะดาวน์โหลด + link.download = `${baseName}.${extension}`; document.body.appendChild(link); link.click(); - // ลบ URL ที่สร้างขึ้นหลังจากใช้งาน - URL.revokeObjectURL(url); + // หน่วงเวลาเล็กน้อยก่อนลบ element และ revoke URL เพื่อให้ Browser ทำงานเสร็จ + setTimeout(() => { + document.body.removeChild(link); + URL.revokeObjectURL(url); + }, 100); } }) .catch((err) => {