From fa5a99d90fbc488d89bfa5117fc5ab1ffdb970e7 Mon Sep 17 00:00:00 2001 From: Thanaphon Frappet Date: Fri, 21 Feb 2025 11:53:59 +0700 Subject: [PATCH] refactor: dueDate set rules --- src/pages/12_debit-note/FormPage.vue | 2 +- .../expansion/DocumentExpansion.vue | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/pages/12_debit-note/FormPage.vue b/src/pages/12_debit-note/FormPage.vue index 2d877731..a003b814 100644 --- a/src/pages/12_debit-note/FormPage.vue +++ b/src/pages/12_debit-note/FormPage.vue @@ -119,7 +119,7 @@ const currentFormData = ref({ payBillDate: new Date(), paySplitCount: 0, payCondition: PayCondition.Full, - dueDate: new Date(), + dueDate: new Date(Date.now() + 86400000), discount: 0, status: 'CREATED', remark: '#[quotation-labor]

#[quotation-payment]', diff --git a/src/pages/12_debit-note/expansion/DocumentExpansion.vue b/src/pages/12_debit-note/expansion/DocumentExpansion.vue index 573d8c81..9206863b 100644 --- a/src/pages/12_debit-note/expansion/DocumentExpansion.vue +++ b/src/pages/12_debit-note/expansion/DocumentExpansion.vue @@ -69,6 +69,22 @@ const quotationCreatedBy = defineModel('quotationCreatedBy'); if (typeof v === 'string') dueDate = v; } " + :rules="[ + () => { + if (!dueDate) return $t('form.error.required'); + + const currentDate = new Date(dueDate); + const toDate = new Date(); + if ( + !readonly && + (currentDate.getTime() === toDate.getTime() || + currentDate.getTime() < toDate.getTime()) + ) + return $t('quotation.validateDueDate'); + return true; + }, + ]" + :disabled-dates="(date: Date) => date.getTime() <= Date.now()" :readonly />