From 75d871fc645ef470e7b76337d396a66e979dba91 Mon Sep 17 00:00:00 2001 From: Net <93821485+somnetsak123@users.noreply.github.com> Date: Fri, 16 Feb 2024 09:57:04 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=95=E0=B8=A3=E0=B8=A7=E0=B8=88=E0=B8=AA?= =?UTF-8?q?=E0=B8=AD=E0=B8=9A=20=E0=B8=81=E0=B8=A3=E0=B8=AD=E0=B8=81?= =?UTF-8?q?=E0=B9=80=E0=B8=A7=E0=B8=A5=E0=B8=B2=E0=B9=84=E0=B8=A1=E0=B9=88?= =?UTF-8?q?=E0=B8=84=E0=B8=A3=E0=B8=9A=2010=20=E0=B8=AB=E0=B8=A5=E0=B8=B1?= =?UTF-8?q?=E0=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/04_registry/components/Coin.vue | 11 ++++++---- src/modules/04_registry/components/Other.vue | 8 ++++++- src/modules/04_registry/components/Record.vue | 21 ++++++++++++++++--- src/modules/04_registry/components/Work.vue | 21 ++++++++++++++++++- src/modules/04_registry/stores/time.ts | 4 ++++ 5 files changed, 56 insertions(+), 9 deletions(-) create mode 100644 src/modules/04_registry/stores/time.ts diff --git a/src/modules/04_registry/components/Coin.vue b/src/modules/04_registry/components/Coin.vue index 76a964ffa..6d1fbfa15 100644 --- a/src/modules/04_registry/components/Coin.vue +++ b/src/modules/04_registry/components/Coin.vue @@ -380,6 +380,7 @@ import { onMounted, ref, watch } from "vue"; import { useRoute } from "vue-router"; import { useCounterMixin } from "@/stores/mixin"; import { useProfileDataStore } from "@/modules/04_registry/store"; +import { validateTime } from "@/modules/04_registry/stores/time"; import ProfileTable from "@/modules/04_registry/components/Table.vue"; import DialogHeader from "@/modules/04_registry/components/DialogHeader.vue"; @@ -770,10 +771,10 @@ const clickAdd = async () => { * กดบันทึกใน dialog */ const clickSave = async () => { - if (inputDateRef.value.length != 0 && inputDateRef.value.length != 10) { - dayCheckedRef.value = true; - return ""; - } + dayChecked.value = validateTime(inputDate.value); + dayCheckedRef.value = validateTime(inputDateRef.value); + if (dayCheckedRef.value || dayChecked.value) return; + myForm.value.validate().then(async (result: boolean) => { if (result) { if (modalEdit.value) { @@ -904,6 +905,8 @@ const clickClose = async () => { modal.value = false; next.value = false; previous.value = false; + dayChecked.value = false; + dayCheckedRef.value = false; } }; diff --git a/src/modules/04_registry/components/Other.vue b/src/modules/04_registry/components/Other.vue index 8ddc7bd6b..cdb337dd3 100644 --- a/src/modules/04_registry/components/Other.vue +++ b/src/modules/04_registry/components/Other.vue @@ -65,6 +65,8 @@ mask="##/##/####" dense :rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]" + :error="dayChecked" + error-message="กรุณากรอกวันที่" /> { * กดบันทึกใน dialog */ const clickSave = async () => { + dayChecked.value = validateTime(inputDate.value); + if (dayChecked.value) return; + myForm.value.validate().then(async (result: boolean) => { if (result) { if (modalEdit.value) { @@ -546,6 +551,7 @@ const clickClose = async () => { modal.value = false; next.value = false; previous.value = false; + dayChecked.value = false; } }; diff --git a/src/modules/04_registry/components/Record.vue b/src/modules/04_registry/components/Record.vue index 04d64995a..28d797cd9 100644 --- a/src/modules/04_registry/components/Record.vue +++ b/src/modules/04_registry/components/Record.vue @@ -73,6 +73,8 @@ mask="##/##/####" dense :rules="[(val) => !!val || `${'กรุณาเลือก วัน/เดือน/ปี'}`]" + :error="dayChecked" + error-message="กรุณากรอก วัน/เดือน/ปี" /> { * กดบันทึกใน dialog */ const clickSave = async () => { + dayChecked.value = validateTime(inputDate.value); + dayCheckedRefCommandDate.value = validateTime(inputDateRefCommandDate.value); + console.log(dayChecked.value); + + console.log(dayCheckedRefCommandDate.value); + + if (dayChecked.value || dayCheckedRefCommandDate.value) return; + myForm.value.validate().then(async (result: boolean) => { if (result) { if (modalEdit.value) { @@ -782,6 +795,8 @@ const clickClose = async () => { modal.value = false; next.value = false; previous.value = false; + dayChecked.value = false; + dayCheckedRefCommandDate.value = false; } }; diff --git a/src/modules/04_registry/components/Work.vue b/src/modules/04_registry/components/Work.vue index a9a28b392..a6cebc5f8 100644 --- a/src/modules/04_registry/components/Work.vue +++ b/src/modules/04_registry/components/Work.vue @@ -239,6 +239,8 @@ :label="`${'เอกสารอ้างอิง (ลงวันที่)'}`" mask="##/##/####" dense + :error="dayCheckedRefCommandDate" + error-message="กรุณากรอกเอกสารอ้างอิง (ลงวันที่) หรือเว้นว่าง" /> (""); const dayCheckedStart = ref(false); const dayCheckedEnd = ref(false); +const dayCheckedRefCommandDate = ref(false); /** ตรวจเวลา */ watch( () => inputDateStart.value, @@ -446,11 +449,14 @@ watch( if (value.length === 10) { const dateVal = convertDate(value); if (dateVal.isValid) { + dayCheckedRefCommandDate.value = false; refCommandDate.value = new Date(dateVal.value); } else { + dayCheckedRefCommandDate.value = true; inputRefCommandDate.value = ""; } } else { + dayCheckedRefCommandDate.value = false; refCommandDate.value = null; } } @@ -765,6 +771,16 @@ const clickAdd = async () => { * กดบันทึกใน dialog */ const clickSave = async () => { + dayCheckedStart.value = validateTime(inputDateStart.value); + dayCheckedEnd.value = validateTime(inputDateEnd.value); + dayCheckedRefCommandDate.value = validateTime(inputRefCommandDate.value); + + if ( + dayCheckedStart.value || + dayCheckedEnd.value || + dayCheckedRefCommandDate.value + ) + return; myForm.value.validate().then(async (result: boolean) => { if (result) { if (modalEdit.value) { @@ -889,6 +905,9 @@ const clickClose = async () => { modal.value = false; next.value = false; previous.value = false; + dayCheckedStart.value = false; + dayCheckedEnd.value = false; + dayCheckedRefCommandDate.value = false; } }; diff --git a/src/modules/04_registry/stores/time.ts b/src/modules/04_registry/stores/time.ts new file mode 100644 index 000000000..cd1f18a19 --- /dev/null +++ b/src/modules/04_registry/stores/time.ts @@ -0,0 +1,4 @@ +export function validateTime(input: string) { + if (input.length != 0 && input.length != 10) return true; + return false; +}