From 7afbb2911aeda194a741f603977a9fab0eab3db7 Mon Sep 17 00:00:00 2001 From: AnandaTon Date: Tue, 3 Oct 2023 15:07:43 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= =?UTF-8?q?=20+=20=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1=E0=B9=80?= =?UTF-8?q?=E0=B8=87=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=99=E0=B9=84=E0=B8=82?= =?UTF-8?q?=20=E0=B8=97=E0=B8=B0=E0=B9=80=E0=B8=9A=E0=B8=B5=E0=B8=A2?= =?UTF-8?q?=E0=B8=99=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A7=E0=B8=B1=E0=B8=95?= =?UTF-8?q?=E0=B8=B4=E0=B8=A5=E0=B8=B9=E0=B8=81=E0=B8=88=E0=B9=89=E0=B8=B2?= =?UTF-8?q?=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/MainTreeEmployee.vue | 19 ++++++++++++----- src/stores/mixin.ts | 21 +++++++++++++++++-- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/modules/02_organizational/views/MainTreeEmployee.vue b/src/modules/02_organizational/views/MainTreeEmployee.vue index 988a34527..477442124 100644 --- a/src/modules/02_organizational/views/MainTreeEmployee.vue +++ b/src/modules/02_organizational/views/MainTreeEmployee.vue @@ -746,7 +746,7 @@ import type { QTableProps } from "quasar"; const $q = useQuasar(); // show dialog const mixin = useCounterMixin(); -const { date2Thai, success, modalError, messageError, showLoader, hideLoader } = +const { fails, success, modalError, messageError, showLoader, hideLoader } = mixin; const store = useOrganizationalDataStore(); const { organizationalData, changeOrganizationalColumns } = store; @@ -974,7 +974,6 @@ onMounted(async () => { }); const onSelected = async (id: string) => { - // await fetchPositionNumber(id); organizationId.value = id; }; @@ -1077,7 +1076,10 @@ const fetchData = async () => { positionEmployeeStatus: r.positionEmployeeStatus, positionMasterUserNote: r.positionMasterUserNote, qualification: r.qualification, - organizationId: r.organizationId, + organizationId: + r.organizationId == "00000000-0000-0000-0000-000000000000" + ? null + : r.organizationId, }); }); }) @@ -1394,12 +1396,18 @@ const clickSave = async () => { if (modalEdit.value) { await editData(); } else { - await saveData(); + if (selected.value == "") { + fails($q, "กรุณาเลือกหน่วยงาน"); + } else { + // console.log("save"); + await saveData(); + } + // await saveData(); } } }); + console.log(selected.value); }; - /** * บันทึกเพิ่มข้อมูล */ @@ -1439,6 +1447,7 @@ const saveData = async () => { isActive: isActive.value, isCondition: isCondition.value, conditionNote: conditionNote.value, + organizationId: organizationId.value, }) .then((res) => { success($q, "บันทึกข้อมูลร่างสำเร็จ"); diff --git a/src/stores/mixin.ts b/src/stores/mixin.ts index 39f2edea5..917063e28 100644 --- a/src/stores/mixin.ts +++ b/src/stores/mixin.ts @@ -245,7 +245,7 @@ export const useCounterMixin = defineStore("mixin", () => { function dateToISO(date: Date) { if (date != null) { - const srcDate = new Date(date) + const srcDate = new Date(date); return ( srcDate.getFullYear() + @@ -255,7 +255,7 @@ export const useCounterMixin = defineStore("mixin", () => { appendLeadingZeroes(srcDate.getDate()) ); } else { - return "" + return ""; } } @@ -396,6 +396,22 @@ export const useCounterMixin = defineStore("mixin", () => { } }; + const fails = (q: any, val: string) => { + // useQuasar ไม่สามารถใช้นอกไฟล์ .vue + if (val !== "") { + return q.notify({ + message: val, + color: "red", + icon: "mdi-information", + position: "bottom-right", + multiLine: true, + timeout: 1000, + badgeColor: "positive", + classes: "my-notif-class", + }); + } + }; + const dialogMessage = ( // ไม่เอาใส่ undefined q: any, @@ -818,5 +834,6 @@ export const useCounterMixin = defineStore("mixin", () => { dialogConfirm, dialogRemove, dialogMessageNotify, + fails, }; });