refactor: add new data employee

This commit is contained in:
Thanaphon Frappet 2024-10-07 12:55:39 +07:00
parent 204f3ccacd
commit 70cbc4b1d2
2 changed files with 83 additions and 49 deletions

View file

@ -89,7 +89,8 @@ const date = ref();
const preSelectedWorker = ref<Employee[]>([]);
const selectedWorker = ref<Employee[]>([]);
const workerList = ref<EmployeeWorker[]>([]);
const workerList = ref<Employee[]>([]);
const newWorkerList = ref<EmployeeWorker[]>([]);
const agentPrice = ref(false);
const summaryPrice = ref<{
@ -326,22 +327,7 @@ onMounted(async () => {
const retEmp = await customerStore.fetchBranchEmployee(
quotationFormData.value.customerBranchId,
);
if (retEmp)
workerList.value = retEmp.data.result.map((value) => ({
alienReferencNumber: '',
documentExpireDate: new Date(),
lastNameEN: value.lastNameEN,
lastName: value.lastName,
middleNameEN: value.middleNameEN,
middleName: value.middleName,
firstNameEN: value.firstNameEN,
firstName: value.firstName,
namePrefix: value.namePrefix,
nationality: value.nationality,
gender: value.gender,
dateOfBirth: value.dateOfBirth,
code: value.code,
}));
if (retEmp) workerList.value = workerList.value = retEmp.data.result;
}
pageState.isLoaded = true;
@ -357,21 +343,7 @@ watch(
if (!v) return;
const retEmp = await customerStore.fetchBranchEmployee(v);
if (retEmp) {
workerList.value = retEmp.data.result.map((value) => ({
alienReferencNumber: '',
documentExpireDate: new Date(),
lastNameEN: value.lastNameEN,
lastName: value.lastName,
middleNameEN: value.middleNameEN,
middleName: value.middleName,
firstNameEN: value.firstNameEN,
firstName: value.firstName,
namePrefix: value.namePrefix,
nationality: value.nationality,
gender: value.gender,
dateOfBirth: value.dateOfBirth,
code: value.code,
}));
workerList.value = workerList.value = retEmp.data.result;
}
},
);
@ -523,10 +495,7 @@ watch(
</nav>
</section>
</template>
<div
class="surface-1 q-pa-md full-width"
style="overflow-x: scroll"
>
<div class="surface-1 q-pa-md full-width">
<ProductItem
:agent-price="agentPrice"
@delete="toggleDeleteProduct"
@ -642,6 +611,7 @@ watch(
ref="refSelectZoneEmployee"
v-model:selected-item="preSelectedWorker"
:items="workerList"
:new-items="newWorkerList"
>
<template #top>
<AddButton
@ -681,6 +651,35 @@ watch(
}"
></PersonCard>
</template>
<template #newData="{ item }">
<PersonCard
noAction
prefixId="asda"
class="full-width"
:data="{
name:
$i18n.locale === 'eng'
? `${item.firstNameEN} ${item.lastNameEN}`
: `${item.firstName} ${item.lastName}`,
code: item.code,
female: item.gender === 'female',
male: item.gender === 'male',
img: `${baseUrl}/customer/${item.id}/image/${item.selectedImage}`,
fallbackImg: '/images/employee-avatar.png',
detail: [
{
icon: 'mdi-passport',
value: optionStore.mapOption(item.nationality),
},
{
icon: 'mdi-clock-outline',
value: calculateAge(item.dateOfBirth),
},
],
}"
></PersonCard>
</template>
</SelectZone>
</section>
</DialogForm>
@ -710,7 +709,7 @@ watch(
:title="$t('form.title.create', { name: $t('customer.employee') })"
:submit="
() => {
workerList.push(formDataEmployee);
newWorkerList.push(formDataEmployee);
quotationForm.injectNewEmployee(formDataEmployee, () =>
setDefaultFormEmployee(),
);