diff --git a/src/components/02_personnel-management/FormByType.vue b/src/components/02_personnel-management/FormByType.vue
index cfca51c6..d4211096 100644
--- a/src/components/02_personnel-management/FormByType.vue
+++ b/src/components/02_personnel-management/FormByType.vue
@@ -8,6 +8,7 @@ import { onMounted, ref, watch } from 'vue';
import { useI18n } from 'vue-i18n';
import { Icon } from '@iconify/vue';
import { QSelect } from 'quasar';
+import DatePicker from '../shared/DatePicker.vue';
const { locale } = useI18n();
const userStore = useUserStore();
@@ -158,132 +159,24 @@ watch(
"
@clear="registrationNo = ''"
/>
-
-
- {{ $i18n.locale === 'th-th' ? value + 543 : value }}
-
-
- {{ $i18n.locale === 'th-th' ? value + 543 : value }}
-
-
- {
- if (v && v.toString().length === 10) {
- startDate = parseAndFormatDate(v, locale);
- }
- }
- "
- >
-
-
-
-
-
-
-
-
-
+ clearable
+ />
-
-
- {{ $i18n.locale === 'th-th' ? value + 543 : value }}
-
-
- {{ $i18n.locale === 'th-th' ? value + 543 : value }}
-
-
- {
- if (v && v.toString().length === 10) {
- retireDate = parseAndFormatDate(v, locale);
- }
- }
- "
- >
-
-
-
-
-
-
-
-
-
+ id="input-retire-date"
+ :readonly="readonly"
+ :label="$t('formDialogInputRetireDate')"
+ v-model="retireDate"
+ clearable
+ />
+
-
-
- {{ $i18n.locale === 'th-th' ? value + 543 : value }}
-
-
- {{ $i18n.locale === 'th-th' ? value + 543 : value }}
-
-
- {
- if (v && v.toString().length === 10) {
- const today = new Date();
- const date = parseAndFormatDate(v, locale);
- birthDate = date && date > today ? today : date;
- console.log(today);
- }
- }
- "
- >
-
-
-
-
-
-
+ :id="`${prefixId}-input-birth-date`"
+ :readonly="readonly"
+ :label="$t('formDialogInputBirthDate')"
+ :disabled-dates="disabledAfterToday"
+ :rules="[
+ (val: string) =>
+ !!val || $t('selectValidate') + $t('formDialogInputBirthDate'),
+ ]"
+ />
+