refactor: add employee

This commit is contained in:
Thanaphon Frappet 2024-10-04 17:57:33 +07:00
parent aa3ca879d0
commit b737d16aaa
2 changed files with 44 additions and 5 deletions

View file

@ -88,7 +88,7 @@ const date = ref();
const preSelectedWorker = ref<Employee[]>([]);
const selectedWorker = ref<Employee[]>([]);
const workerList = ref<Employee[]>([]);
const workerList = ref<EmployeeWorker[]>([]);
const agentPrice = ref(false);
const summaryPrice = ref<{
@ -132,6 +132,7 @@ const service = ref<Record<Id, Service>>({});
const selectedGroupSub = ref<'product' | 'service' | null>(null);
const selectedGroup = ref<ProductGroup | null>(null);
const selectedProductServiceId = ref('');
const formDataEmployee = ref<EmployeeWorker>({
@ -167,6 +168,25 @@ async function getAllProduct(
if (ret) productList.value[groupId] = ret.result;
}
function setDefaultFormEmployee() {
formDataEmployee.value = {
alienReferencNumber: '',
documentExpireDate: new Date(),
lastNameEN: '',
lastName: '',
middleNameEN: '',
middleName: '',
firstNameEN: '',
firstName: '',
namePrefix: '',
nationality: '',
gender: '',
dateOfBirth: new Date(),
};
employeeFormState.value.dialogModal = false;
}
async function getAllService(
groupId: string,
opts?: { force?: false; page?: number; pageSize?: number },
@ -302,7 +322,22 @@ onMounted(async () => {
const retEmp = await customerStore.fetchBranchEmployee(
quotationFormData.value.customerBranchId,
);
if (retEmp) workerList.value = retEmp.data.result;
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,
}));
});
</script>
@ -624,7 +659,10 @@ onMounted(async () => {
:title="$t('form.title.create', { name: $t('customer.employee') })"
:submit="
() => {
quotationForm;
workerList.push(formDataEmployee);
quotationForm.injectNewEmployee(formDataEmployee, () =>
setDefaultFormEmployee(),
);
}
"
:close="

View file

@ -14,7 +14,6 @@ const DEFAULT_DATA: QuotationPayload = {
urgent: false,
customerBranchId: '',
worker: [],
workerCount: 0,
payBillDate: new Date(),
paySplit: [],
paySplitCount: 0,
@ -98,7 +97,7 @@ export const useQuotationForm = defineStore('form-quotation', () => {
currentFormState.value.mode = 'info';
}
function injectNewEmployee(data: EmployeeWorker) {
function injectNewEmployee(data: EmployeeWorker, callback?: () => void) {
currentFormData.value.worker.push({
alienReferencNumber: data.alienReferencNumber,
documentExpireDate: data.documentExpireDate,
@ -113,6 +112,8 @@ export const useQuotationForm = defineStore('form-quotation', () => {
gender: data.gender,
dateOfBirth: data.dateOfBirth,
});
callback?.();
}
function dialogDelete(callback: () => void) {