refactor: edit div of DialogForm
This commit is contained in:
parent
a56ac704ee
commit
601537049d
1 changed files with 339 additions and 272 deletions
|
|
@ -213,7 +213,9 @@ const fieldDisplayEmployee = ref<
|
||||||
|
|
||||||
const fieldSelected = ref<
|
const fieldSelected = ref<
|
||||||
(
|
(
|
||||||
|
| 'orderNumber'
|
||||||
| 'customerName'
|
| 'customerName'
|
||||||
|
| 'businessTypePure'
|
||||||
| 'type'
|
| 'type'
|
||||||
| 'personName'
|
| 'personName'
|
||||||
| 'telephoneNo'
|
| 'telephoneNo'
|
||||||
|
|
@ -228,7 +230,9 @@ const fieldSelected = ref<
|
||||||
| 'action'
|
| 'action'
|
||||||
)[]
|
)[]
|
||||||
>([
|
>([
|
||||||
|
'orderNumber',
|
||||||
'customerName',
|
'customerName',
|
||||||
|
'businessTypePure',
|
||||||
'personName',
|
'personName',
|
||||||
'telephoneNo',
|
'telephoneNo',
|
||||||
'branchEmail',
|
'branchEmail',
|
||||||
|
|
@ -1793,6 +1797,7 @@ const emptyCreateDialog = ref(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
employeeFormState.isEmployeeEdit = false;
|
employeeFormState.isEmployeeEdit = false;
|
||||||
|
employeeFormState.currentIndex = -1;
|
||||||
|
|
||||||
await fetchListEmployee();
|
await fetchListEmployee();
|
||||||
}
|
}
|
||||||
|
|
@ -1813,7 +1818,7 @@ const emptyCreateDialog = ref(false);
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="q-mx-lg q-mt-lg">
|
<div class="q-px-lg q-pt-lg surface-2">
|
||||||
<ProfileBanner
|
<ProfileBanner
|
||||||
active
|
active
|
||||||
useToggle
|
useToggle
|
||||||
|
|
@ -1859,293 +1864,357 @@ const emptyCreateDialog = ref(false);
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="col surface-1 q-ma-lg rounded bordered scroll row"
|
style="flex: 1; width: 100%; overflow-y: auto"
|
||||||
id="personnel-form"
|
class="surface-2 q-pa-lg"
|
||||||
|
id="drawer-employee-form"
|
||||||
>
|
>
|
||||||
<div class="col">
|
<div class="col surface-1 full-height rounded bordered scroll row">
|
||||||
<div style="position: sticky; top: 0" class="q-pa-sm">
|
<div
|
||||||
<SideMenu
|
class="col"
|
||||||
:menu="
|
style="height: 100%; max-height: 100; overflow-y: auto"
|
||||||
employeeFormState.currentTab === 'personalInfo'
|
v-if="$q.screen.gt.sm"
|
||||||
? [
|
>
|
||||||
{
|
<div class="q-py-md q-pl-md q-pr-sm">
|
||||||
name: $t('formDialogTitleInformation'),
|
<SideMenu
|
||||||
anchor: 'form-information',
|
:menu="
|
||||||
},
|
employeeFormState.currentTab === 'personalInfo'
|
||||||
{
|
|
||||||
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'),
|
name: $t('formDialogTitleInformation'),
|
||||||
anchor: 'form-checkup',
|
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 === 'workHistory'
|
: employeeFormState.currentTab === 'healthCheck'
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
name: $t('workHistory'),
|
name: $t('formDialogInputCheckupRes'),
|
||||||
anchor: 'form-workHistory',
|
anchor: 'form-checkup',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
: employeeFormState.currentTab === 'other'
|
: employeeFormState.currentTab === 'workHistory'
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
name: $t('other'),
|
name: $t('workHistory'),
|
||||||
anchor: 'form-other',
|
anchor: 'form-workHistory',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
: []
|
: employeeFormState.currentTab === 'other'
|
||||||
"
|
? [
|
||||||
background="transparent"
|
{
|
||||||
:active="{
|
name: $t('other'),
|
||||||
background: 'hsla(var(--blue-6-hsl) / .2)',
|
anchor: 'form-other',
|
||||||
foreground: 'var(--blue-6)',
|
},
|
||||||
}"
|
]
|
||||||
scroll-element="#employee-form"
|
: []
|
||||||
/>
|
"
|
||||||
|
background="transparent"
|
||||||
|
:active="{
|
||||||
|
background: 'hsla(var(--blue-6-hsl) / .2)',
|
||||||
|
foreground: 'var(--blue-6)',
|
||||||
|
}"
|
||||||
|
scroll-element="#employee-form-content"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
v-if="employeeFormState.currentTab === 'personalInfo'"
|
class="col-12 col-md-10 q-py-md q-pr-md q-pl-sm"
|
||||||
class="col-10 q-pa-md q-gutter-y-xl"
|
id="employee-form-content"
|
||||||
>
|
style="height: 100%; max-height: 100; overflow-y: auto"
|
||||||
<BasicInformation
|
>
|
||||||
id="form-information"
|
<template v-if="employeeFormState.currentTab === 'personalInfo'">
|
||||||
prefix-id="form-employee"
|
<div
|
||||||
:show-btn-save="employeeFormState.dialogType === 'create'"
|
class="q-pt-sm row"
|
||||||
employee
|
style="position: absolute; z-index: 999; right: 4%"
|
||||||
dense
|
>
|
||||||
outlined
|
<UndoButton
|
||||||
separator
|
v-if="
|
||||||
:title="$t('formDialogTitleInformation')"
|
employeeFormState.isEmployeeEdit &&
|
||||||
:readonly="!employeeFormState.isEmployeeEdit"
|
employeeFormState.dialogType !== 'create'
|
||||||
:employee-owner-option="employeeStore.ownerOption"
|
"
|
||||||
v-model:customer-branch="employeeFormState.formDataEmployeeOwner"
|
id="btn-info-basic-undo"
|
||||||
v-model:employee-id="employeeFormState.currentEmployeeCode"
|
icon-only
|
||||||
v-model:nrc-no="currentFromDataEmployee.nrcNo"
|
@click="
|
||||||
v-model:code="currentFromDataEmployee.code"
|
() => {
|
||||||
@filter-owner-branch="employeeFormStore.employeeFilterOwnerBranch"
|
employeeFormStore.resetFormDataEmployee();
|
||||||
@undo="
|
employeeFormState.isEmployeeEdit = false;
|
||||||
() => {
|
employeeFormState.dialogType = 'info';
|
||||||
employeeFormStore.resetFormDataEmployee();
|
}
|
||||||
employeeFormState.isEmployeeEdit = false;
|
"
|
||||||
employeeFormState.dialogType = 'info';
|
type="button"
|
||||||
}
|
/>
|
||||||
"
|
<SaveButton
|
||||||
@edit="
|
v-if="employeeFormState.isEmployeeEdit"
|
||||||
() => {
|
id="btn-info-basic-save"
|
||||||
employeeFormState.isEmployeeEdit = true;
|
icon-only
|
||||||
employeeFormState.dialogType = 'edit';
|
type="submit"
|
||||||
}
|
/>
|
||||||
"
|
<EditButton
|
||||||
@save="() => {}"
|
v-if="!employeeFormState.isEmployeeEdit"
|
||||||
@delete="() => deleteEmployeeById({ id: currentFromDataEmployee.id })"
|
id="btn-info-basic-edit"
|
||||||
/>
|
icon-only
|
||||||
<FormPerson
|
@click="
|
||||||
id="form-personal"
|
() => {
|
||||||
prefix-id="form-employee"
|
employeeFormState.isEmployeeEdit = true;
|
||||||
dense
|
employeeFormState.dialogType = 'edit';
|
||||||
outlined
|
}
|
||||||
employee
|
"
|
||||||
separator
|
type="button"
|
||||||
:title="$t('personalInfo')"
|
/>
|
||||||
v-model:open="employeeFormState.dialogModal"
|
<DeleteButton
|
||||||
v-model:firstName="currentFromDataEmployee.firstName"
|
v-if="!employeeFormState.isEmployeeEdit"
|
||||||
v-model:lastName="currentFromDataEmployee.lastName"
|
id="btn-info-basic-delete"
|
||||||
v-model:firstNameEN="currentFromDataEmployee.firstNameEN"
|
icon-only
|
||||||
v-model:lastNameEN="currentFromDataEmployee.lastNameEN"
|
@click="
|
||||||
v-model:gender="currentFromDataEmployee.gender"
|
() => deleteEmployeeById({ id: currentFromDataEmployee.id })
|
||||||
v-model:birthDate="currentFromDataEmployee.dateOfBirth"
|
"
|
||||||
v-model:nationality="currentFromDataEmployee.nationality"
|
type="button"
|
||||||
/>
|
/>
|
||||||
<AddressForm
|
</div>
|
||||||
id="form-personal-address"
|
|
||||||
prefix-id="form-employee"
|
|
||||||
v-model:same-with-employer="
|
|
||||||
employeeFormState.formDataEmployeeSameAddr
|
|
||||||
"
|
|
||||||
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"
|
|
||||||
employee
|
|
||||||
dense
|
|
||||||
/>
|
|
||||||
|
|
||||||
<FormEmployeePassport
|
<BasicInformation
|
||||||
prefix-id="drawer-info-employee"
|
no-action
|
||||||
id="form-passport"
|
id="form-information"
|
||||||
dense
|
prefix-id="form-employee"
|
||||||
outlined
|
:show-btn-save="employeeFormState.dialogType === 'create'"
|
||||||
separator
|
employee
|
||||||
:title="$t('formDialogTitlePassport')"
|
dense
|
||||||
v-model:passport-type="currentFromDataEmployee.passportType"
|
outlined
|
||||||
v-model:passport-number="currentFromDataEmployee.passportNumber"
|
separator
|
||||||
v-model:passport-issue-date="
|
:title="$t('formDialogTitleInformation')"
|
||||||
currentFromDataEmployee.passportIssueDate
|
:readonly="!employeeFormState.isEmployeeEdit"
|
||||||
"
|
:employee-owner-option="employeeStore.ownerOption"
|
||||||
v-model:passport-expiry-date="
|
v-model:customer-branch="employeeFormState.formDataEmployeeOwner"
|
||||||
currentFromDataEmployee.passportExpiryDate
|
v-model:employee-id="employeeFormState.currentEmployeeCode"
|
||||||
"
|
v-model:nrc-no="currentFromDataEmployee.nrcNo"
|
||||||
v-model:passport-issuing-place="
|
v-model:code="currentFromDataEmployee.code"
|
||||||
currentFromDataEmployee.passportIssuingPlace
|
@filter-owner-branch="employeeFormStore.employeeFilterOwnerBranch"
|
||||||
"
|
/>
|
||||||
v-model:passport-issuing-country="
|
<FormPerson
|
||||||
currentFromDataEmployee.passportIssuingCountry
|
id="form-personal"
|
||||||
"
|
prefix-id="form-employee"
|
||||||
v-model:previous-passport-reference="
|
dense
|
||||||
currentFromDataEmployee.previousPassportReference
|
outlined
|
||||||
"
|
employee
|
||||||
/>
|
separator
|
||||||
|
:title="$t('personalInfo')"
|
||||||
|
v-model:open="employeeFormState.dialogModal"
|
||||||
|
v-model:firstName="currentFromDataEmployee.firstName"
|
||||||
|
v-model:lastName="currentFromDataEmployee.lastName"
|
||||||
|
v-model:firstNameEN="currentFromDataEmployee.firstNameEN"
|
||||||
|
v-model:lastNameEN="currentFromDataEmployee.lastNameEN"
|
||||||
|
v-model:gender="currentFromDataEmployee.gender"
|
||||||
|
v-model:birthDate="currentFromDataEmployee.dateOfBirth"
|
||||||
|
v-model:nationality="currentFromDataEmployee.nationality"
|
||||||
|
/>
|
||||||
|
<AddressForm
|
||||||
|
id="form-personal-address"
|
||||||
|
prefix-id="form-employee"
|
||||||
|
v-model:same-with-employer="
|
||||||
|
employeeFormState.formDataEmployeeSameAddr
|
||||||
|
"
|
||||||
|
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"
|
||||||
|
employee
|
||||||
|
dense
|
||||||
|
/>
|
||||||
|
|
||||||
<FormEmployeeVisa
|
<FormEmployeePassport
|
||||||
prefix-id="drawer-info-employee"
|
prefix-id="drawer-info-employee"
|
||||||
id="form-visa"
|
id="form-passport"
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
:title="$t(`formDialogTitleVisa`)"
|
separator
|
||||||
v-model:visa-type="currentFromDataEmployee.visaType"
|
:title="$t('formDialogTitlePassport')"
|
||||||
v-model:visa-number="currentFromDataEmployee.visaNumber"
|
v-model:passport-type="currentFromDataEmployee.passportType"
|
||||||
v-model:visa-issue-date="currentFromDataEmployee.visaIssueDate"
|
v-model:passport-number="currentFromDataEmployee.passportNumber"
|
||||||
v-model:visa-expiry-date="currentFromDataEmployee.visaExpiryDate"
|
v-model:passport-issue-date="
|
||||||
v-model:visa-issuing-place="currentFromDataEmployee.visaIssuingPlace"
|
currentFromDataEmployee.passportIssueDate
|
||||||
v-model:visa-stay-until-date="
|
"
|
||||||
currentFromDataEmployee.visaStayUntilDate
|
v-model:passport-expiry-date="
|
||||||
"
|
currentFromDataEmployee.passportExpiryDate
|
||||||
v-model:tm6-number="currentFromDataEmployee.tm6Number"
|
"
|
||||||
v-model:entry-date="currentFromDataEmployee.entryDate"
|
v-model:passport-issuing-place="
|
||||||
/>
|
currentFromDataEmployee.passportIssuingPlace
|
||||||
</div>
|
"
|
||||||
|
v-model:passport-issuing-country="
|
||||||
|
currentFromDataEmployee.passportIssuingCountry
|
||||||
|
"
|
||||||
|
v-model:previous-passport-reference="
|
||||||
|
currentFromDataEmployee.previousPassportReference
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
|
||||||
<div class="col-10 q-pa-md q-gutter-y-xl" v-else>
|
<FormEmployeeVisa
|
||||||
<FormEmployeeHealthCheck
|
prefix-id="drawer-info-employee"
|
||||||
v-if="employeeFormState.currentTab === 'healthCheck'"
|
id="form-visa"
|
||||||
id="form-checkup"
|
dense
|
||||||
prefix-id="form-employee"
|
outlined
|
||||||
dense
|
:title="$t(`formDialogTitleVisa`)"
|
||||||
outlined
|
v-model:visa-type="currentFromDataEmployee.visaType"
|
||||||
v-model:current-index="employeeFormState.currentIndex"
|
v-model:visa-number="currentFromDataEmployee.visaNumber"
|
||||||
v-model:employeeCheckup="currentFromDataEmployee.employeeCheckup"
|
v-model:visa-issue-date="currentFromDataEmployee.visaIssueDate"
|
||||||
v-model:checkupTypeOption="optionStore.globalOption.insurancePlace"
|
v-model:visa-expiry-date="currentFromDataEmployee.visaExpiryDate"
|
||||||
v-model:medicalBenefitOption="optionStore.globalOption.typeInsurance"
|
v-model:visa-issuing-place="
|
||||||
v-model:insuranceCompanyOption="
|
currentFromDataEmployee.visaIssuingPlace
|
||||||
optionStore.globalOption.insurancePlace
|
"
|
||||||
"
|
v-model:visa-stay-until-date="
|
||||||
@delete="
|
currentFromDataEmployee.visaStayUntilDate
|
||||||
(index) => {
|
"
|
||||||
employeeFormState.currentIndex = index;
|
v-model:tm6-number="currentFromDataEmployee.tm6Number"
|
||||||
deleteEmployeeById({ type: 'healthCheck' });
|
v-model:entry-date="currentFromDataEmployee.entryDate"
|
||||||
}
|
/>
|
||||||
"
|
</template>
|
||||||
@save="
|
|
||||||
(index) => {
|
<template v-if="employeeFormState.currentTab === 'healthCheck'">
|
||||||
employeeFormState.currentIndex = index;
|
<FormEmployeeHealthCheck
|
||||||
notify('create', $t('success'));
|
v-if="employeeFormState.currentTab === 'healthCheck'"
|
||||||
}
|
id="form-checkup"
|
||||||
"
|
prefix-id="form-employee"
|
||||||
@undo="
|
dense
|
||||||
(index) => {
|
outlined
|
||||||
if (
|
v-model:current-index="employeeFormState.currentIndex"
|
||||||
currentFromDataEmployee.employeeCheckup?.[index].statusSave ===
|
v-model:employeeCheckup="currentFromDataEmployee.employeeCheckup"
|
||||||
false
|
v-model:checkupTypeOption="
|
||||||
) {
|
optionStore.globalOption.insurancePlace
|
||||||
currentFromDataEmployee.employeeCheckup[index].statusSave =
|
"
|
||||||
true;
|
v-model:medicalBenefitOption="
|
||||||
}
|
optionStore.globalOption.typeInsurance
|
||||||
}
|
"
|
||||||
"
|
v-model:insuranceCompanyOption="
|
||||||
@edit="
|
optionStore.globalOption.insurancePlace
|
||||||
(index) => {
|
"
|
||||||
if (currentFromDataEmployee.employeeCheckup?.[index].statusSave) {
|
@delete="
|
||||||
currentFromDataEmployee.employeeCheckup[index].statusSave =
|
(index) => {
|
||||||
false;
|
employeeFormState.currentIndex = index;
|
||||||
}
|
deleteEmployeeById({ type: 'healthCheck' });
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
/>
|
@save="
|
||||||
<FormEmployeeWorkHistory
|
(index) => {
|
||||||
v-if="employeeFormState.currentTab === 'workHistory'"
|
employeeFormState.currentIndex = index;
|
||||||
id="form-work-history"
|
notify('create', $t('success'));
|
||||||
prefix-id="form-employee"
|
}
|
||||||
dense
|
"
|
||||||
outlined
|
@undo="
|
||||||
v-model:current-index="employeeFormState.currentIndex"
|
(index) => {
|
||||||
v-model:employee-work="currentFromDataEmployee.employeeWork"
|
if (
|
||||||
v-model:position-name-option="optionStore.globalOption.position"
|
currentFromDataEmployee.employeeCheckup?.[index]
|
||||||
v-model:job-type-option="optionStore.globalOption.businessType"
|
.statusSave === false
|
||||||
v-model:workplace-option="optionStore.globalOption.area"
|
) {
|
||||||
@delete="
|
currentFromDataEmployee.employeeCheckup[index].statusSave =
|
||||||
(index) => {
|
true;
|
||||||
employeeFormState.currentIndex = index;
|
}
|
||||||
deleteEmployeeById({ type: 'work' });
|
}
|
||||||
}
|
"
|
||||||
"
|
@edit="
|
||||||
@save="
|
(index) => {
|
||||||
(index) => {
|
if (
|
||||||
employeeFormState.currentIndex = index;
|
currentFromDataEmployee.employeeCheckup?.[index].statusSave
|
||||||
}
|
) {
|
||||||
"
|
currentFromDataEmployee.employeeCheckup[index].statusSave =
|
||||||
@undo="
|
false;
|
||||||
(index) => {
|
}
|
||||||
if (
|
}
|
||||||
currentFromDataEmployee.employeeWork?.[index].statusSave ===
|
"
|
||||||
false
|
/>
|
||||||
) {
|
</template>
|
||||||
currentFromDataEmployee.employeeWork[index].statusSave = true;
|
|
||||||
}
|
<template v-if="employeeFormState.currentTab === 'workHistory'">
|
||||||
}
|
<FormEmployeeWorkHistory
|
||||||
"
|
v-if="employeeFormState.currentTab === 'workHistory'"
|
||||||
@edit="
|
id="form-work-history"
|
||||||
(index) => {
|
prefix-id="form-employee"
|
||||||
if (currentFromDataEmployee.employeeWork?.[index].statusSave) {
|
dense
|
||||||
currentFromDataEmployee.employeeWork[index].statusSave = false;
|
outlined
|
||||||
}
|
v-model:current-index="employeeFormState.currentIndex"
|
||||||
}
|
v-model:employee-work="currentFromDataEmployee.employeeWork"
|
||||||
"
|
v-model:position-name-option="optionStore.globalOption.position"
|
||||||
/>
|
v-model:job-type-option="optionStore.globalOption.businessType"
|
||||||
<FormEmployeeOther
|
v-model:workplace-option="optionStore.globalOption.area"
|
||||||
v-if="employeeFormState.currentTab === 'other'"
|
@delete="
|
||||||
id="form-other"
|
(index) => {
|
||||||
prefix-id="form-employee"
|
employeeFormState.currentIndex = index;
|
||||||
dense
|
deleteEmployeeById({ type: 'work' });
|
||||||
outlined
|
}
|
||||||
v-model:employee-other="currentFromDataEmployee.employeeOtherInfo"
|
"
|
||||||
@undo="
|
@save="
|
||||||
() => {
|
(index) => {
|
||||||
if (
|
employeeFormState.currentIndex = index;
|
||||||
currentFromDataEmployee.employeeOtherInfo?.statusSave === false
|
}
|
||||||
) {
|
"
|
||||||
currentFromDataEmployee.employeeOtherInfo.statusSave = true;
|
@undo="
|
||||||
}
|
(index) => {
|
||||||
}
|
if (
|
||||||
"
|
currentFromDataEmployee.employeeWork?.[index].statusSave ===
|
||||||
@edit="
|
false
|
||||||
() => {
|
) {
|
||||||
if (currentFromDataEmployee.employeeOtherInfo?.statusSave) {
|
currentFromDataEmployee.employeeWork[index].statusSave =
|
||||||
currentFromDataEmployee.employeeOtherInfo.statusSave = false;
|
true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
/>
|
@edit="
|
||||||
|
(index) => {
|
||||||
|
if (
|
||||||
|
currentFromDataEmployee.employeeWork?.[index].statusSave
|
||||||
|
) {
|
||||||
|
currentFromDataEmployee.employeeWork[index].statusSave =
|
||||||
|
false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template v-if="employeeFormState.currentTab === 'other'">
|
||||||
|
<FormEmployeeOther
|
||||||
|
v-if="employeeFormState.currentTab === 'other'"
|
||||||
|
id="form-other"
|
||||||
|
prefix-id="form-employee"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
v-model:employee-other="currentFromDataEmployee.employeeOtherInfo"
|
||||||
|
@undo="
|
||||||
|
() => {
|
||||||
|
if (
|
||||||
|
currentFromDataEmployee.employeeOtherInfo?.statusSave ===
|
||||||
|
false
|
||||||
|
) {
|
||||||
|
currentFromDataEmployee.employeeOtherInfo.statusSave = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"
|
||||||
|
@edit="
|
||||||
|
() => {
|
||||||
|
if (currentFromDataEmployee.employeeOtherInfo?.statusSave) {
|
||||||
|
currentFromDataEmployee.employeeOtherInfo.statusSave = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</DialogForm>
|
</DialogForm>
|
||||||
|
|
@ -2497,8 +2566,6 @@ const emptyCreateDialog = ref(false);
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-if="employeeFormState.currentTab === 'healthCheck'">
|
<template v-if="employeeFormState.currentTab === 'healthCheck'">
|
||||||
>
|
|
||||||
|
|
||||||
<FormEmployeeHealthCheck
|
<FormEmployeeHealthCheck
|
||||||
v-if="employeeFormState.currentTab === 'healthCheck'"
|
v-if="employeeFormState.currentTab === 'healthCheck'"
|
||||||
id="drawer-form-checkup"
|
id="drawer-form-checkup"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue