diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue index c4d9a4149..4a50bab76 100644 --- a/src/components/FormModel.vue +++ b/src/components/FormModel.vue @@ -279,7 +279,7 @@ function updateAndEmit(evt, { val, res, old } = { val: null, res: null, old: nul state.set(modelValue, val); if (!$props.url) arrayData.store.data = val; - emit(evt, state.get(modelValue), res, old); + emit(evt, state.get(modelValue), res, old, formData); } function trimData(data) { diff --git a/src/pages/Worker/Card/WorkerBasicData.vue b/src/pages/Worker/Card/WorkerBasicData.vue index b6daaa64d..cb5ead5e3 100644 --- a/src/pages/Worker/Card/WorkerBasicData.vue +++ b/src/pages/Worker/Card/WorkerBasicData.vue @@ -8,10 +8,9 @@ import VnRow from 'components/ui/VnRow.vue'; import VnInput from 'src/components/common/VnInput.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import { useAdvancedSummary } from 'src/composables/useAdvancedSummary'; -import { useState } from 'src/composables/useState'; +import { useRoute } from 'vue-router'; const { t } = useI18n(); -const state = useState(); const form = ref(); const educationLevels = ref([]); const countries = ref([]); @@ -20,11 +19,10 @@ const maritalStatus = [ { code: 'M', name: t('Married') }, { code: 'S', name: t('Single') }, ]; - -async function addAdvancedData(id) { - const data = state.get(model); - const advanced = await useAdvancedSummary('Workers', id); - state.set(model, Object.assign(data, advanced)); +const route = useRoute(); +async function addAdvancedData(data) { + const advanced = await useAdvancedSummary('Workers', route.params.id); + data.value = { ...data.value, ...advanced }; nextTick(() => (form.value.hasChanges = false)); } @@ -46,7 +44,7 @@ async function addAdvancedData(id) { :url-update="`Workers/${$route.params.id}`" auto-load :model - @on-fetch="() => addAdvancedData($route.params.id)" + @on-fetch="(data, res, old, formData) => addAdvancedData(formData)" >