From 85a05c3a240655e7280cdbdd2de214fef3f953b1 Mon Sep 17 00:00:00 2001 From: net Date: Thu, 11 Sep 2025 13:36:09 +0700 Subject: [PATCH] fix: select customer --- .../shared/select/SelectCustomer.vue | 23 ++++++++++++++----- src/pages/03_customer-management/form.ts | 6 +++++ src/pages/05_quotation/MainPage.vue | 13 +++++++---- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/components/shared/select/SelectCustomer.vue b/src/components/shared/select/SelectCustomer.vue index 73fafd79..2e62eba8 100644 --- a/src/components/shared/select/SelectCustomer.vue +++ b/src/components/shared/select/SelectCustomer.vue @@ -30,6 +30,7 @@ defineEmits<{ type ExclusiveProps = { simple?: boolean; simpleBranchNo?: boolean; + selectFirstValue?: boolean; }; const props = defineProps & ExclusiveProps>(); @@ -64,10 +65,14 @@ onMounted(async () => { setFirstValue(); } - await getSelectedOption(); - - valueOption.value = selectOptions.value.find((v) => v.id === value.value); + if (props.selectFirstValue) { + setDefaultValue(); + } else await getSelectedOption(); }); + +function setDefaultValue() { + setFirstValue(); +} + + diff --git a/src/pages/03_customer-management/form.ts b/src/pages/03_customer-management/form.ts index 3abefdaa..fe875a3c 100644 --- a/src/pages/03_customer-management/form.ts +++ b/src/pages/03_customer-management/form.ts @@ -30,6 +30,8 @@ export const useCustomerForm = defineStore('form-customer', () => { const registerAbleBranchOption = ref<{ id: string; name: string }[]>(); + const currentBranchRootId = ref(''); + const tabFieldRequired = ref<{ [key: string]: (keyof CustomerBranchCreate)[]; }>({ @@ -160,6 +162,7 @@ export const useCustomerForm = defineStore('form-customer', () => { state.value.editCustomerCode = data.code; state.value.customerImageUrl = `${baseUrl}/customer/${id}/image/${data.selectedImage}`; state.value.defaultCustomerImageUrl = `${baseUrl}/customer/${id}/image/${data.selectedImage}`; + currentBranchRootId.value = data.branch[0].id || ''; resetFormData.registeredBranchId = data.registeredBranchId; resetFormData.status = data.status; @@ -500,6 +503,8 @@ export const useCustomerForm = defineStore('form-customer', () => { state, resetFormData, currentFormData, + currentBranchRootId, + isFormDataDifferent, resetForm, assignFormData, @@ -1663,6 +1668,7 @@ export const useEmployeeForm = defineStore('form-employee', () => { state, currentFromDataEmployee, resetEmployeeData, + addPassport, addVisa, addCheckup, diff --git a/src/pages/05_quotation/MainPage.vue b/src/pages/05_quotation/MainPage.vue index b9b57354..3551a047 100644 --- a/src/pages/05_quotation/MainPage.vue +++ b/src/pages/05_quotation/MainPage.vue @@ -60,7 +60,6 @@ const flowStore = useFlowStore(); const userBranch = useMyBranch(); const navigatorStore = useNavigator(); const customerStore = useCustomerStore(); - const { fetchListOfOptionBranch, customerFormUndo, @@ -76,6 +75,7 @@ const { const { state: customerFormState, currentFormData: customerFormData, + currentBranchRootId, registerAbleBranchOption, tabFieldRequired, } = storeToRefs(customerFormStore); @@ -89,6 +89,8 @@ const fieldSelectedOption = computed(() => { value: v.name, })); }); + +const keyAddDialog = ref(0); const special = ref(false); const branchId = ref(''); const agentPrice = ref(false); @@ -865,6 +867,7 @@ async function filterBySellerId() { @@ -999,6 +1002,7 @@ async function filterBySellerId() { () => { customerFormState.dialogModal = false; onCreateImageList = { selectedImage: '', list: [] }; + keyAddDialog++; } " > @@ -1190,7 +1194,7 @@ async function filterBySellerId() { customerFormData.customerBranch[0].legalPersonNo " v-model:business-type=" - customerFormData.customerBranch[0].businessType + customerFormData.customerBranch[0].businessTypeId " v-model:job-position=" customerFormData.customerBranch[0].jobPosition @@ -1271,7 +1275,6 @@ async function filterBySellerId() { res = await customerStore.createBranch({ ...customerFormData.customerBranch[idx], customerId: customerFormState.editCustomerId || '', - id: undefined, }); } if (res) {