From 4d14dd22c3e504c15a30b85a87a500c6e896c512 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Thu, 15 Aug 2024 10:52:18 +0700 Subject: [PATCH] feat: add prefix and middlename field --- src/components/02_personnel-management/FormPerson.vue | 11 ++++++----- src/pages/02_personnel-management/MainPage.vue | 10 ++++++++++ src/stores/user/types.ts | 6 ++++++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/components/02_personnel-management/FormPerson.vue b/src/components/02_personnel-management/FormPerson.vue index 5843e9e2..64c9d073 100644 --- a/src/components/02_personnel-management/FormPerson.vue +++ b/src/components/02_personnel-management/FormPerson.vue @@ -10,11 +10,12 @@ import { } from 'src/utils/datetime'; import { ref, onMounted, watch } from 'vue'; import { useI18n } from 'vue-i18n'; +import { capitalize } from 'vue'; const { locale } = useI18n(); const optionStore = useOptionStore(); -const prefixName = defineModel('prefixName'); -const prefixNameEN = defineModel('prefixNameEn'); +const prefixName = defineModel('prefixName'); +const prefixNameEN = defineModel('prefixNameEn'); const firstName = defineModel('firstName'); const lastName = defineModel('lastName'); const firstNameEN = defineModel('firstNameEn'); @@ -24,8 +25,8 @@ const email = defineModel('email'); const gender = defineModel('gender'); const birthDate = defineModel('birthDate'); const nationality = defineModel('nationality'); -const midName = defineModel('midName'); -const midNameEn = defineModel('midNameEn'); +const midName = defineModel('midName'); +const midNameEn = defineModel('midNameEn'); defineProps<{ dense?: boolean; @@ -195,7 +196,7 @@ watch( :disable="!readonly" class="col-1" :label="$t('formDialogInputPrefixName')" - v-model="prefixNameEN" + :model-value="capitalize(prefixNameEn || '')" /> ({ registrationNo: null, lastNameEN: '', lastName: '', + middleNameEN: '', + middleName: '', firstNameEN: '', firstName: '', + namePrefix: null, userRole: '', userType: '', profileImage: null, @@ -601,8 +604,11 @@ async function assignFormData(idEdit: string) { registrationNo: foundUser.registrationNo, lastNameEN: foundUser.lastNameEN, lastName: foundUser.lastName, + middleNameEN: foundUser.middleNameEN, + middleName: foundUser.middleName, firstNameEN: foundUser.firstNameEN, firstName: foundUser.firstName, + namePrefix: foundUser.namePrefix, userRole: foundUser.userRole, userType: foundUser.userType, username: foundUser.username, @@ -1678,6 +1684,10 @@ watch( id="info-personal" v-model:first-name="formData.firstName" v-model:last-name="formData.lastName" + v-model:mid-name="formData.middleName" + v-model:mid-name-en="formData.middleNameEN" + v-model:prefix-name="formData.namePrefix" + v-model:prefix-name-en="formData.namePrefix" v-model:first-name-en="formData.firstNameEN" v-model:last-name-en="formData.lastNameEN" v-model:telephone-no="formData.telephoneNo" diff --git a/src/stores/user/types.ts b/src/stores/user/types.ts index cbc45b57..51cb47da 100644 --- a/src/stores/user/types.ts +++ b/src/stores/user/types.ts @@ -35,8 +35,11 @@ export type User = { address: string; lastNameEN: string; lastName: string; + middleNameEN?: string | null; + middleName?: string | null; firstNameEN: string; firstName: string; + namePrefix?: string | null; id: string; profileImageUrl: string; code: string; @@ -70,8 +73,11 @@ export type UserCreate = { registrationNo?: string | null; lastNameEN: string; lastName: string; + middleNameEN?: string | null; + middleName?: string | null; firstNameEN: string; firstName: string; + namePrefix?: string | null; userRole: string; userType: string; username: string;