diff --git a/src/components/03_customer-management/FormEmployeeOther.vue b/src/components/03_customer-management/FormEmployeeOther.vue index 427306e9..4823d597 100644 --- a/src/components/03_customer-management/FormEmployeeOther.vue +++ b/src/components/03_customer-management/FormEmployeeOther.vue @@ -107,7 +107,13 @@ const employeeOther = defineModel('employeeOther'); hide-bottom-space class="col-md-3 col-6" :label="$t('form.firstName')" - v-model="employeeOther.fatherFirstName" + :model-value="employeeOther.fatherFirstName" + @update:model-value=" + (v) => + typeof v === 'string' && employeeOther + ? (employeeOther.fatherFirstName = v.trim()) + : '' + " /> ('employeeOther'); hide-bottom-space class="col-md-3 col-6" :label="$t('form.lastName')" - v-model="employeeOther.fatherLastName" + :model-value="employeeOther.fatherLastName" + @update:model-value=" + (v) => + typeof v === 'string' && employeeOther + ? (employeeOther.fatherLastName = v.trim()) + : '' + " /> ('employeeOther'); hide-bottom-space class="col-md-3 col-6" :label="$t('form.firstNameEN')" - v-model="employeeOther.fatherFirstNameEN" + :model-value="employeeOther.fatherFirstNameEN" + @update:model-value=" + (v) => + typeof v === 'string' && employeeOther + ? (employeeOther.fatherFirstNameEN = v.trim()) + : '' + " /> ('employeeOther'); hide-bottom-space class="col-md-3 col-6" :label="$t('form.lastNameEN')" - v-model="employeeOther.fatherLastNameEN" + :model-value="employeeOther.fatherLastNameEN" + @update:model-value=" + (v) => + typeof v === 'string' && employeeOther + ? (employeeOther.fatherLastNameEN = v.trim()) + : '' + " /> @@ -154,7 +178,13 @@ const employeeOther = defineModel('employeeOther'); hide-bottom-space class="col-md-3 col-6" :label="$t('form.firstName')" - v-model="employeeOther.motherFirstName" + :model-value="employeeOther.motherFirstName" + @update:model-value=" + (v) => + typeof v === 'string' && employeeOther + ? (employeeOther.motherFirstName = v.trim()) + : '' + " /> ('employeeOther'); hide-bottom-space class="col-md-3 col-6" :label="$t('form.lastName')" - v-model="employeeOther.motherLastName" + :model-value="employeeOther.motherLastName" + @update:model-value=" + (v) => + typeof v === 'string' && employeeOther + ? (employeeOther.motherLastName = v.trim()) + : '' + " /> ('employeeOther'); hide-bottom-space class="col-md-3 col-6" :label="$t('form.firstNameEN')" - v-model="employeeOther.motherFirstNameEN" + :model-value="employeeOther.motherFirstNameEN" + @update:model-value=" + (v) => + typeof v === 'string' && employeeOther + ? (employeeOther.motherFirstNameEN = v.trim()) + : '' + " /> ('employeeOther'); hide-bottom-space class="col-md-3 col-6" :label="$t('form.lastNameEN')" - v-model="employeeOther.motherLastNameEN" + :model-value="employeeOther.motherLastNameEN" + @update:model-value=" + (v) => + typeof v === 'string' && employeeOther + ? (employeeOther.motherLastNameEN = v.trim()) + : '' + " /> diff --git a/src/components/03_customer-management/FormEmployeePassport.vue b/src/components/03_customer-management/FormEmployeePassport.vue index 8a2830a4..2edc304f 100644 --- a/src/components/03_customer-management/FormEmployeePassport.vue +++ b/src/components/03_customer-management/FormEmployeePassport.vue @@ -328,7 +328,7 @@ watch( :label="$t('form.firstName')" :model-value="readonly ? firstName || '-' : firstName" @update:model-value=" - (v) => (typeof v === 'string' ? (firstName = v) : '') + (v) => (typeof v === 'string' ? (firstName = v.trim()) : '') " /> @@ -342,7 +342,7 @@ watch( :label="$t('form.middleName')" :model-value="readonly ? middleName || '-' : middleName" @update:model-value=" - (v) => (typeof v === 'string' ? (middleName = v) : '') + (v) => (typeof v === 'string' ? (middleName = v.trim()) : '') " /> @@ -356,7 +356,7 @@ watch( :label="$t('form.lastName')" :model-value="readonly ? lastName || '-' : lastName" @update:model-value=" - (v) => (typeof v === 'string' ? (lastName = v) : '') + (v) => (typeof v === 'string' ? (lastName = v.trim()) : '') " /> @@ -382,7 +382,7 @@ watch( :label="$t('form.firstNameEN')" :model-value="readonly ? firstNameEN || '-' : firstNameEN" @update:model-value=" - (v) => (typeof v === 'string' ? (firstNameEN = v) : '') + (v) => (typeof v === 'string' ? (firstNameEN = v.trim()) : '') " /> @@ -396,7 +396,7 @@ watch( :label="$t('form.middleNameEN')" :model-value="readonly ? middleNameEN || '-' : middleNameEN" @update:model-value=" - (v) => (typeof v === 'string' ? (middleNameEN = v) : '') + (v) => (typeof v === 'string' ? (middleNameEN = v.trim()) : '') " /> @@ -410,7 +410,7 @@ watch( :label="$t('form.lastNameEN')" :model-value="readonly ? lastNameEN || '-' : lastNameEN" @update:model-value=" - (v) => (typeof v === 'string' ? (lastNameEN = v) : '') + (v) => (typeof v === 'string' ? (lastNameEN = v.trim()) : '') " /> diff --git a/src/components/03_customer-management/FormEmployeeWorkHistory.vue b/src/components/03_customer-management/FormEmployeeWorkHistory.vue index a3668c5b..4d937a3b 100644 --- a/src/components/03_customer-management/FormEmployeeWorkHistory.vue +++ b/src/components/03_customer-management/FormEmployeeWorkHistory.vue @@ -132,7 +132,10 @@ const workplaceFilter = selectFilterOptionRefMod( hide-bottom-space class="col-6" :label="$t('customerEmployee.formWorkHistory.employerName')" - v-model="work.ownerName" + :model-value="work.ownerName" + @update:model-value=" + (v) => (typeof v === 'string' ? (work.ownerName = v.trim()) : '') + " /> @@ -141,7 +144,10 @@ watch( class="col-12 col-md-6" label="Company name" for="input-register-name-en" - v-model="registerNameEN" + :model-value="registerNameEN" + @update:model-value=" + (v) => (typeof v === 'string' ? (registerNameEN = v.trim()) : '') + " :rules="[ (val: string) => val === '' || @@ -160,7 +166,10 @@ watch( class="col-6 col-md-5" :label="$t('customer.form.employerName')" for="input-legal-person-no" - v-model="customerName" + :model-value="customerName" + @update:model-value=" + (v) => (typeof v === 'string' ? (customerName = v.trim()) : '') + " /> - @@ -383,7 +397,10 @@ watch( hide-bottom-space class="col" label="Name" - v-model="firstNameEN" + :model-value="firstNameEN" + @update:model-value=" + (v) => (typeof v === 'string' ? (firstNameEN = v.trim()) : '') + " :rules="[ (val: string) => !!val || $t('form.error.required'), (val: string) => @@ -398,7 +415,10 @@ watch( hide-bottom-space class="col" label="Surname" - v-model="lastNameEN" + :model-value="lastNameEN" + @update:model-value=" + (v) => (typeof v === 'string' ? (lastNameEN = v.trim()) : '') + " :rules="[ (val: string) => !!val || $t('form.error.required'), (val: string) => diff --git a/src/pages/03_customer-management/form.ts b/src/pages/03_customer-management/form.ts index fc8fa7c3..fd5a3246 100644 --- a/src/pages/03_customer-management/form.ts +++ b/src/pages/03_customer-management/form.ts @@ -1,6 +1,10 @@ import { ref, toRaw, watch } from 'vue'; import { defineStore } from 'pinia'; -import { CustomerBranchCreate, CustomerCreate } from 'stores/customer/types'; +import { + CustomerBranchCreate, + CustomerCreate, + CustomerType, +} from 'stores/customer/types'; import { Employee, EmployeeCreate } from 'stores/employee/types'; import { useI18n } from 'vue-i18n'; @@ -29,7 +33,7 @@ export const useCustomerForm = defineStore('form-customer', () => { customerBranch: [], selectedImage: '', status: 'CREATED', - customerType: 'CORP', + customerType: CustomerType.Corporate, registeredBranchId: branchStore.currentMyBranch?.id || '', image: null, }; @@ -1092,6 +1096,20 @@ export const useEmployeeForm = defineStore('form-employee', () => { selectedImage: string; list: { url: string; imgFile: File | null; name: string }[]; }) { + currentFromDataEmployee.value.firstName = + currentFromDataEmployee.value.firstName.trim(); + currentFromDataEmployee.value.middleName = + currentFromDataEmployee.value.middleName?.trim(); + currentFromDataEmployee.value.lastName = + currentFromDataEmployee.value.lastName.trim(); + + currentFromDataEmployee.value.firstNameEN = + currentFromDataEmployee.value.firstNameEN.trim(); + currentFromDataEmployee.value.middleNameEN = + currentFromDataEmployee.value.middleNameEN?.trim(); + currentFromDataEmployee.value.lastNameEN = + currentFromDataEmployee.value.lastNameEN.trim(); + if (state.value.dialogType === 'create') { const res = await employeeStore.create( {