diff --git a/src/components/CreateManualInvoiceForm.vue b/src/components/CreateManualInvoiceForm.vue index da006e0244..4865b186ef 100644 --- a/src/components/CreateManualInvoiceForm.vue +++ b/src/components/CreateManualInvoiceForm.vue @@ -3,8 +3,8 @@ import { reactive, ref, computed } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRouter } from 'vue-router'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInput from 'src/components/common/VnInput.vue'; import FormModelPopup from './FormModelPopup.vue'; diff --git a/src/components/CreateNewCityForm.vue b/src/components/CreateNewCityForm.vue index 9a7d8666cf..a8498e6231 100644 --- a/src/components/CreateNewCityForm.vue +++ b/src/components/CreateNewCityForm.vue @@ -2,10 +2,10 @@ import { reactive, ref } from 'vue'; import { useI18n } from 'vue-i18n'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import VnSelectProvince from 'components/VnSelectProvince.vue'; -import VnInput from 'components/common/VnInput.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import VnSelectProvince from 'src/components/VnSelectProvince.vue'; +import VnInput from 'src/components/common/VnInput.vue'; import FormModelPopup from './FormModelPopup.vue'; const emit = defineEmits(['onDataSaved']); diff --git a/src/components/CreateNewExpenseForm.vue b/src/components/CreateNewExpenseForm.vue index 7088cec033..2c543f13fd 100644 --- a/src/components/CreateNewExpenseForm.vue +++ b/src/components/CreateNewExpenseForm.vue @@ -1,6 +1,6 @@ -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import VnSelect from 'src/components/common/VnSelect.vue'; -import VnSelectProvince from 'src/components/VnSelectProvince.vue'; -import VnInput from 'src/components/common/VnInput.vue'; -import CreateNewCityForm from './CreateNewCityForm.vue'; -import VnSelectDialog from 'components/common/VnSelectDialog.vue'; -import FormModelPopup from './FormModelPopup.vue'; - -const emit = defineEmits(['onDataSaved']); - -const { t } = useI18n(); - -const postcodeFormData = reactive({ - code: null, - countryFk: null, - provinceFk: null, - townFk: null, -}); - -const provincesFetchDataRef = ref(null); -const countriesOptions = ref([]); -const provincesOptions = ref([]); -const town = ref({}); - -function onDataSaved(formData) { - const newPostcode = { - ...formData, - }; - newPostcode.town = town.value.name; - newPostcode.townFk = town.value.id; - const provinceObject = provincesOptions.value.find( - ({ id }) => id === formData.provinceFk - ); - newPostcode.province = provinceObject?.name; - const countryObject = countriesOptions.value.find( - ({ id }) => id === formData.countryFk - ); - newPostcode.country = countryObject?.name; - emit('onDataSaved', newPostcode); -} - -async function onCityCreated(newTown, formData) { - await provincesFetchDataRef.value.fetch(); - newTown.province = provincesOptions.value.find( - (province) => province.id === newTown.provinceFk - ); - formData.townFk = newTown; - setTown(newTown, formData); -} - -function setTown(newTown, data) { - if (!newTown) return; - town.value = newTown; - data.provinceFk = newTown.provinceFk; - data.countryFk = newTown.province.countryFk; -} - -async function setProvince(id, data) { - await provincesFetchDataRef.value.fetch(); - const newProvince = provincesOptions.value.find((province) => province.id == id); - if (!newProvince) return; - - data.countryFk = newProvince.countryFk; -} - - - + -es: - New postcode: Nuevo código postal - Please, ensure you put the correct data!: ¡Por favor, asegúrese de poner los datos correctos! - City: Población - Province: Provincia - Country: País - Postcode: Código postal diff --git a/src/components/CreateNewProvinceForm.vue b/src/components/CreateNewProvinceForm.vue index e32684a98c..9e89148e03 100644 --- a/src/components/CreateNewProvinceForm.vue +++ b/src/components/CreateNewProvinceForm.vue @@ -2,8 +2,8 @@ import { reactive, ref } from 'vue'; import { useI18n } from 'vue-i18n'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInput from 'src/components/common/VnInput.vue'; import FormModelPopup from './FormModelPopup.vue'; diff --git a/src/components/CreateThermographForm.vue b/src/components/CreateThermographForm.vue index 65a1c2679b..ba85377e59 100644 --- a/src/components/CreateThermographForm.vue +++ b/src/components/CreateThermographForm.vue @@ -2,8 +2,8 @@ import { reactive, ref } from 'vue'; import { useI18n } from 'vue-i18n'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInput from 'src/components/common/VnInput.vue'; import FormModelPopup from './FormModelPopup.vue'; diff --git a/src/components/CrudModel.vue b/src/components/CrudModel.vue index 0386e037b3..e55e836aa7 100644 --- a/src/components/CrudModel.vue +++ b/src/components/CrudModel.vue @@ -6,9 +6,9 @@ import { useI18n } from 'vue-i18n'; import { useQuasar } from 'quasar'; import { useValidator } from 'src/composables/useValidator'; import { useStateStore } from 'stores/useStateStore'; -import VnPaginate from 'components/ui/VnPaginate.vue'; -import VnConfirm from 'components/ui/VnConfirm.vue'; -import SkeletonTable from 'components/ui/SkeletonTable.vue'; +import VnPaginate from 'src/components/ui/VnPaginate.vue'; +import VnConfirm from 'src/components/ui/VnConfirm.vue'; +import SkeletonTable from 'src/components/ui/SkeletonTable.vue'; import { tMobile } from 'src/composables/tMobile'; const { push } = useRouter(); diff --git a/src/components/EditPictureForm.vue b/src/components/EditPictureForm.vue index cd6107acaf..960896dc10 100644 --- a/src/components/EditPictureForm.vue +++ b/src/components/EditPictureForm.vue @@ -3,8 +3,8 @@ import { reactive, computed, ref } from 'vue'; import { useI18n } from 'vue-i18n'; import VnSelect from 'src/components/common/VnSelect.vue'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import VnInput from 'src/components/common/VnInput.vue'; import Croppie from 'croppie/croppie'; diff --git a/src/components/EditTableCellValueForm.vue b/src/components/EditTableCellValueForm.vue index 14709e8843..28edaeb8b7 100644 --- a/src/components/EditTableCellValueForm.vue +++ b/src/components/EditTableCellValueForm.vue @@ -5,7 +5,7 @@ import { useI18n } from 'vue-i18n'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInput from 'src/components/common/VnInput.vue'; import VnInputDate from 'src/components/common/VnInputDate.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import { QCheckbox } from 'quasar'; import axios from 'axios'; diff --git a/src/components/FilterItemForm.vue b/src/components/FilterItemForm.vue index 1cf36deeba..0c8e03cb10 100644 --- a/src/components/FilterItemForm.vue +++ b/src/components/FilterItemForm.vue @@ -2,10 +2,10 @@ import { ref, reactive, computed } from 'vue'; import { useI18n } from 'vue-i18n'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; import VnInput from 'src/components/common/VnInput.vue'; -import VnSelect from 'components/common/VnSelect.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue'; import axios from 'axios'; diff --git a/src/components/FilterTravelForm.vue b/src/components/FilterTravelForm.vue index c84772d9bd..6274213276 100644 --- a/src/components/FilterTravelForm.vue +++ b/src/components/FilterTravelForm.vue @@ -2,10 +2,10 @@ import { ref, reactive, computed } from 'vue'; import { useI18n } from 'vue-i18n'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; import VnInputDate from 'src/components/common/VnInputDate.vue'; -import VnSelect from 'components/common/VnSelect.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import TravelDescriptorProxy from 'src/pages/Travel/Card/TravelDescriptorProxy.vue'; import axios from 'axios'; diff --git a/src/components/ItemsFilterPanel.vue b/src/components/ItemsFilterPanel.vue index e89d32da49..d916349c32 100644 --- a/src/components/ItemsFilterPanel.vue +++ b/src/components/ItemsFilterPanel.vue @@ -2,11 +2,11 @@ import { computed, ref } from 'vue'; import { useI18n } from 'vue-i18n'; -import VnInput from 'components/common/VnInput.vue'; -import FetchData from 'components/FetchData.vue'; +import VnInput from 'src/components/common/VnInput.vue'; +import FetchData from 'src/components/FetchData.vue'; import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue'; -import VnSelect from 'components/common/VnSelect.vue'; -import VnFilterPanelChip from 'components/ui/VnFilterPanelChip.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; +import VnFilterPanelChip from 'src/components/ui/VnFilterPanelChip.vue'; import axios from 'axios'; diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index 00faaebc2f..b31d38782c 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -5,7 +5,7 @@ import { useState } from 'src/composables/useState'; import { useStateStore } from 'stores/useStateStore'; import { useQuasar } from 'quasar'; import PinnedModules from './PinnedModules.vue'; -import UserPanel from 'components/UserPanel.vue'; +import UserPanel from 'src/components/UserPanel.vue'; import VnBreadcrumbs from './common/VnBreadcrumbs.vue'; import VnAvatar from './ui/VnAvatar.vue'; diff --git a/src/components/RefundInvoiceForm.vue b/src/components/RefundInvoiceForm.vue index c21c892dd4..7ef9140240 100644 --- a/src/components/RefundInvoiceForm.vue +++ b/src/components/RefundInvoiceForm.vue @@ -3,9 +3,9 @@ import { ref, reactive } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRouter } from 'vue-router'; import { useDialogPluginComponent } from 'quasar'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; -import VnSelect from 'components/common/VnSelect.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import FormPopup from './FormPopup.vue'; import axios from 'axios'; import useNotify from 'src/composables/useNotify.js'; diff --git a/src/components/RegularizeStockForm.vue b/src/components/RegularizeStockForm.vue index f34386fc40..1c9db0b1c5 100644 --- a/src/components/RegularizeStockForm.vue +++ b/src/components/RegularizeStockForm.vue @@ -3,8 +3,8 @@ import { reactive, ref } from 'vue'; import { useI18n } from 'vue-i18n'; import VnSelect from 'src/components/common/VnSelect.vue'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import FormModelPopup from './FormModelPopup.vue'; const emit = defineEmits(['onDataSaved']); diff --git a/src/components/TransferInvoiceForm.vue b/src/components/TransferInvoiceForm.vue index f7050cdba6..89399d816e 100644 --- a/src/components/TransferInvoiceForm.vue +++ b/src/components/TransferInvoiceForm.vue @@ -3,10 +3,10 @@ import { ref, reactive } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRouter } from 'vue-router'; import { useQuasar, useDialogPluginComponent } from 'quasar'; -import VnConfirm from 'components/ui/VnConfirm.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; -import VnSelect from 'components/common/VnSelect.vue'; +import VnConfirm from 'src/components/ui/VnConfirm.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import FormPopup from './FormPopup.vue'; import axios from 'axios'; import useNotify from 'src/composables/useNotify.js'; diff --git a/src/components/UserPanel.vue b/src/components/UserPanel.vue index 98334460a7..b5bf2e9d6a 100644 --- a/src/components/UserPanel.vue +++ b/src/components/UserPanel.vue @@ -8,17 +8,19 @@ import { useState } from 'src/composables/useState'; import { useSession } from 'src/composables/useSession'; import { localeEquivalence } from 'src/i18n/index'; import VnSelect from 'src/components/common/VnSelect.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; import { useClipboard } from 'src/composables/useClipboard'; import { useRole } from 'src/composables/useRole'; import VnAvatar from './ui/VnAvatar.vue'; +import useNotify from 'src/composables/useNotify'; const state = useState(); const session = useSession(); const router = useRouter(); const { t, locale } = useI18n(); const { copyText } = useClipboard(); +const { notify } = useNotify(); const userLocale = computed({ get() { @@ -53,6 +55,7 @@ const user = state.getUser(); const warehousesData = ref(); const companiesData = ref(); const accountBankData = ref(); +const isEmployee = computed(() => useRole().isEmployee()); onMounted(async () => { updatePreferences(); @@ -70,18 +73,28 @@ function updatePreferences() { async function saveDarkMode(value) { const query = `/UserConfigs/${user.value.id}`; - await axios.patch(query, { - darkMode: value, - }); - user.value.darkMode = value; + try { + await axios.patch(query, { + darkMode: value, + }); + user.value.darkMode = value; + notify('globals.dataSaved', 'positive'); + } catch (error) { + console.error(error); + } } async function saveLanguage(value) { const query = `/VnUsers/${user.value.id}`; - await axios.patch(query, { - lang: value, - }); - user.value.lang = value; + try { + await axios.patch(query, { + lang: value, + }); + user.value.lang = value; + notify('globals.dataSaved', 'positive'); + } catch (error) { + console.error(error); + } } function logout() { @@ -98,10 +111,18 @@ function localUserData() { } function saveUserData(param, value) { - axios.post('UserConfigs/setUserConfig', { [param]: value }); - localUserData(); + try { + axios.post('UserConfigs/setUserConfig', { [param]: value }); + localUserData(); + notify('globals.dataSaved', 'positive'); + } catch (error) { + console.error(error); + } } -const isEmployee = computed(() => useRole().isEmployee()); + +const onDataSaved = () => { + notify('globals.dataSaved', 'positive'); +};