fix(03): employee form

This commit is contained in:
puriphatt 2024-08-06 04:51:17 +00:00
parent 4ab0e6f7c3
commit 36793f4741
4 changed files with 499 additions and 612 deletions

View file

@ -43,6 +43,8 @@ import { storeToRefs } from 'pinia';
import ProfileBanner from 'src/components/ProfileBanner.vue';
import ImageUploadDialog from 'src/components/ImageUploadDialog.vue';
import FormEmployeeHealthCheck from 'src/components/03_customer-management/FormEmployeeHealthCheck.vue';
import FormEmployeeWorkHistory from 'src/components/03_customer-management/FormEmployeeWorkHistory.vue';
import FormEmployeeOther from 'src/components/03_customer-management/FormEmployeeOther.vue';
import useOptionStore from 'src/stores/options';
const { t, locale } = useI18n();
@ -1861,28 +1863,53 @@ function createEmployeeForm() {
<div class="col">
<div style="position: sticky; top: 0" class="q-pa-sm">
<SideMenu
:menu="[
{
name: $t('formDialogTitleInformation'),
anchor: 'form-information',
},
{
name: $t('formDialogTitlePersonal'),
anchor: 'form-personal',
},
{
name: $t('formDialogTitlePersonnelAddress'),
anchor: 'form-personal-address',
},
{
name: $t('formDialogTitlePassport'),
anchor: 'form-passport',
},
{
name: $t('formDialogTitleVisa'),
anchor: 'form-visa',
},
]"
:menu="
employeeFormState.currentTab === 'personalInfo'
? [
{
name: $t('formDialogTitleInformation'),
anchor: 'form-information',
},
{
name: $t('formDialogTitlePersonal'),
anchor: 'form-personal',
},
{
name: $t('formDialogTitlePersonnelAddress'),
anchor: 'form-personal-address',
},
{
name: $t('formDialogTitlePassport'),
anchor: 'form-passport',
},
{
name: $t('formDialogTitleVisa'),
anchor: 'form-visa',
},
]
: employeeFormState.currentTab === 'healthCheck'
? [
{
name: $t('formDialogInputCheckupRes'),
anchor: 'form-checkup',
},
]
: employeeFormState.currentTab === 'workHistory'
? [
{
name: $t('workHistory'),
anchor: 'form-workHistory',
},
]
: employeeFormState.currentTab === 'other'
? [
{
name: $t('other'),
anchor: 'form-other',
},
]
: []
"
background="transparent"
:active="{
background: 'hsla(var(--blue-6-hsl) / .2)',
@ -1899,7 +1926,7 @@ function createEmployeeForm() {
>
<BasicInformation
id="form-information"
prefix-id="drawer-info-employee"
prefix-id="form-employee"
employee
dense
outlined
@ -1914,7 +1941,7 @@ function createEmployeeForm() {
/>
<FormPerson
id="form-personal"
prefix-id="drawer-info-employee"
prefix-id="form-employee"
dense
outlined
employee
@ -1930,33 +1957,50 @@ function createEmployeeForm() {
/>
<FormAddress
id="form-personal-address"
prefix-id="form-employee"
v-model:address="currentFromDataEmployee.address"
v-model:addressEN="currentFromDataEmployee.addressEN"
v-model:provinceId="currentFromDataEmployee.provinceId"
v-model:districtId="currentFromDataEmployee.districtId"
v-model:subDistrictId="currentFromDataEmployee.subDistrictId"
v-model:zipCode="currentFromDataEmployee.zipCode"
prefix-id="drawer-info-personnel"
dense
/>
</div>
<div
v-if="employeeFormState.currentTab === 'healthCheck'"
class="col-10 q-pa-md q-gutter-y-xl"
>
<div class="col-10 q-pa-md q-gutter-y-xl" v-else>
<FormEmployeeHealthCheck
id="form-information"
prefix-id="drawer-info-employee"
v-if="employeeFormState.currentTab === 'healthCheck'"
id="form-checkup"
prefix-id="form-employee"
dense
outlined
v-model:employeeCheckup="currentFromDataEmployee.employeeCheckup"
v-model:checkupTypeOption="optionStore.globalOption.insurancePlace"
v-model:medicalBenefitOption="optionStore.globalOption.insurancePlace"
v-model:medicalBenefitOption="optionStore.globalOption.typeInsurance"
v-model:insuranceCompanyOption="
optionStore.globalOption.insurancePlace
"
/>
<FormEmployeeWorkHistory
v-if="employeeFormState.currentTab === 'workHistory'"
id="form-work-history"
prefix-id="form-employee"
dense
outlined
v-model:employee-work="currentFromDataEmployee.employeeWork"
v-model:position-name-option="optionStore.globalOption.position"
v-model:job-type-option="optionStore.globalOption.businessType"
v-model:workplace-option="optionStore.globalOption.area"
/>
<FormEmployeeOther
v-if="employeeFormState.currentTab === 'other'"
id="form-other"
prefix-id="form-employee"
dense
outlined
v-model:employee-other="currentFromDataEmployee.employeeOtherInfo"
/>
</div>
</div>
</DialogForm>