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; +}