refactor: delete worker & branch, cus-branch state

This commit is contained in:
puriphatt 2024-10-07 10:20:29 +07:00
parent 20349f0cf7
commit a9650ad1b6
3 changed files with 85 additions and 31 deletions

View file

@ -2,7 +2,7 @@
import { useI18n } from 'vue-i18n';
import { storeToRefs } from 'pinia';
import { useQuasar } from 'quasar';
import { nextTick, onMounted, reactive, ref } from 'vue';
import { nextTick, onBeforeMount, onMounted, reactive, ref, watch } from 'vue';
// NOTE: Import stores
import { setLocale, dateFormat, calculateAge } from 'src/utils/datetime';
@ -14,6 +14,7 @@ import useEmployeeStore from 'stores/employee';
import useOptionStore from 'stores/options';
import { useQuotationForm } from './form';
import useOcrStore from 'stores/ocr';
import { deleteItem } from 'stores/utils';
// NOTE Import Types
import { QuotationPayload } from 'src/stores/quotations/types';
@ -112,6 +113,7 @@ const pageState = reactive({
statusFilter: 'all',
fieldSelected: [],
gridView: false,
isLoaded: false,
currentTab: 'all',
addModal: false,
@ -223,6 +225,7 @@ function triggerProductServiceDialog() {
}
function toggleDeleteProduct(index: number) {
deleteItem(productServiceList.value, index);
console.log(index);
}
@ -319,26 +322,70 @@ onMounted(async () => {
});
if (ret) productGroup.value = ret.result;
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 (quotationFormData.value.customerBranchId) {
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,
}));
}
pageState.isLoaded = true;
});
watch(
() => quotationFormData.value.customerBranchId,
async (v) => {
const url = new URL(window.location.href);
url.searchParams.set('customerBranchId', v);
history.pushState({}, '', url.toString());
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,
}));
}
},
);
watch(
() => branchId.value,
async (v) => {
if (!pageState.isLoaded) return;
const url = new URL(window.location.href);
url.searchParams.set('branchId', v);
history.pushState({}, '', url.toString());
quotationFormData.value.customerBranchId = '';
},
);
</script>
<template>
@ -444,6 +491,7 @@ onMounted(async () => {
status: e.status,
}))
"
@delete="(i) => deleteItem(selectedWorker, i)"
/>
</div>
</q-expansion-item>