From 63a789b7252c1830c23eb81cb2e9ff3525499559 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 30 Jan 2025 13:39:34 +0100 Subject: [PATCH 01/30] fix: refs #7408 fix zone and quasarConfig --- quasar.config.js | 11 ++++++++++- src/boot/global-components.js | 13 +++++++++++++ src/pages/Zone/Card/ZoneBasicData.vue | 4 ---- src/pages/Zone/Card/ZoneCreateWarehouse.vue | 2 -- src/pages/Zone/Card/ZoneDescriptor.vue | 1 - src/pages/Zone/Card/ZoneDescriptorMenuItems.vue | 3 --- src/pages/Zone/Card/ZoneEventExclusionForm.vue | 3 --- src/pages/Zone/Card/ZoneEventInclusionForm.vue | 11 +++-------- src/pages/Zone/Card/ZoneLocationsTree.vue | 6 ++---- src/pages/Zone/Card/ZoneSummary.vue | 3 --- src/pages/Zone/Card/ZoneWarehouses.vue | 1 - src/pages/Zone/Delivery/ZoneDeliveryList.vue | 1 - src/pages/Zone/Upcoming/ZoneUpcomingList.vue | 1 - src/pages/Zone/ZoneCreate.vue | 5 ----- src/pages/Zone/ZoneDeliveryPanel.vue | 1 - src/pages/Zone/ZoneFilterPanel.vue | 3 --- src/pages/Zone/ZoneList.vue | 8 ++------ src/pages/Zone/ZoneUpcoming.vue | 2 -- 18 files changed, 30 insertions(+), 49 deletions(-) create mode 100644 src/boot/global-components.js diff --git a/quasar.config.js b/quasar.config.js index 6d545c026..b83c70bad 100644 --- a/quasar.config.js +++ b/quasar.config.js @@ -29,7 +29,16 @@ export default configure(function (/* ctx */) { // app boot file (/src/boot) // --> boot files are part of "main.js" // https://v2.quasar.dev/quasar-cli/boot-files - boot: ['i18n', 'axios', 'vnDate', 'validations', 'quasar', 'quasar.defaults'], + boot: [ + 'i18n', + 'axios', + 'vnDate', + 'validations', + 'quasar', + 'quasar.defaults', + 'global-components', + ], + importStrategy: 'auto', // https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#css css: ['app.scss'], diff --git a/src/boot/global-components.js b/src/boot/global-components.js new file mode 100644 index 000000000..f83a0975b --- /dev/null +++ b/src/boot/global-components.js @@ -0,0 +1,13 @@ +// src/boot/vn-components.js +import { defineAsyncComponent } from 'vue'; + +const components = import.meta.glob('src/components/**/*.vue'); +export default ({ app }) => { + for (const path in components) { + const componentName = path + .split('/') + .pop() + .replace(/\.\w+$/, ''); + app.component(componentName, defineAsyncComponent(components[path])); + } +}; diff --git a/src/pages/Zone/Card/ZoneBasicData.vue b/src/pages/Zone/Card/ZoneBasicData.vue index c38da614c..16895ae7f 100644 --- a/src/pages/Zone/Card/ZoneBasicData.vue +++ b/src/pages/Zone/Card/ZoneBasicData.vue @@ -4,11 +4,7 @@ import { useI18n } from 'vue-i18n'; import { ref } from 'vue'; import FetchData from 'components/FetchData.vue'; import FormModel from 'src/components/FormModel.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import VnInput from 'src/components/common/VnInput.vue'; import { QCheckbox } from 'quasar'; -import VnInputTime from 'src/components/common/VnInputTime.vue'; -import VnSelect from 'src/components/common/VnSelect.vue'; const route = useRoute(); const { t } = useI18n(); diff --git a/src/pages/Zone/Card/ZoneCreateWarehouse.vue b/src/pages/Zone/Card/ZoneCreateWarehouse.vue index 88f6a7701..e3881965f 100644 --- a/src/pages/Zone/Card/ZoneCreateWarehouse.vue +++ b/src/pages/Zone/Card/ZoneCreateWarehouse.vue @@ -2,9 +2,7 @@ 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 FormPopup from 'components/FormPopup.vue'; const emit = defineEmits(['onSubmitCreateWarehouse']); diff --git a/src/pages/Zone/Card/ZoneDescriptor.vue b/src/pages/Zone/Card/ZoneDescriptor.vue index 8355c219e..73cb4ee9e 100644 --- a/src/pages/Zone/Card/ZoneDescriptor.vue +++ b/src/pages/Zone/Card/ZoneDescriptor.vue @@ -4,7 +4,6 @@ import { useRoute } from 'vue-router'; import { useI18n } from 'vue-i18n'; import CardDescriptor from 'components/ui/CardDescriptor.vue'; -import VnLv from 'src/components/ui/VnLv.vue'; import { toTimeFormat } from 'src/filters/date'; import { toCurrency } from 'filters/index'; diff --git a/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue b/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue index 3c45700cb..1fcf80477 100644 --- a/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue +++ b/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue @@ -3,9 +3,6 @@ import { useQuasar } from 'quasar'; import { useRouter } from 'vue-router'; import { useI18n } from 'vue-i18n'; const { dialog, notify } = useQuasar(); - -import VnConfirm from 'components/ui/VnConfirm.vue'; - import axios from 'axios'; const { t } = useI18n(); diff --git a/src/pages/Zone/Card/ZoneEventExclusionForm.vue b/src/pages/Zone/Card/ZoneEventExclusionForm.vue index 4b6aa52bd..12c683774 100644 --- a/src/pages/Zone/Card/ZoneEventExclusionForm.vue +++ b/src/pages/Zone/Card/ZoneEventExclusionForm.vue @@ -2,11 +2,8 @@ import { ref, computed, onMounted, reactive } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; - -import VnRow from 'components/ui/VnRow.vue'; import FormPopup from 'components/FormPopup.vue'; import ZoneLocationsTree from './ZoneLocationsTree.vue'; -import VnInputDate from 'src/components/common/VnInputDate.vue'; import { useArrayData } from 'src/composables/useArrayData'; import { useVnConfirm } from 'composables/useVnConfirm'; diff --git a/src/pages/Zone/Card/ZoneEventInclusionForm.vue b/src/pages/Zone/Card/ZoneEventInclusionForm.vue index 805d03b27..d5af6496e 100644 --- a/src/pages/Zone/Card/ZoneEventInclusionForm.vue +++ b/src/pages/Zone/Card/ZoneEventInclusionForm.vue @@ -3,12 +3,7 @@ import { ref, computed, onMounted } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; -import VnRow from 'components/ui/VnRow.vue'; import FormPopup from 'components/FormPopup.vue'; -import VnInputDate from 'src/components/common/VnInputDate.vue'; -import VnWeekdayPicker from 'src/components/common/VnWeekdayPicker.vue'; -import VnInputTime from 'components/common/VnInputTime.vue'; -import VnInput from 'src/components/common/VnInput.vue'; import { useArrayData } from 'src/composables/useArrayData'; import { useWeekdayStore } from 'src/stores/useWeekdayStore'; @@ -58,7 +53,7 @@ const arrayData = useArrayData('ZoneEvents'); const createEvent = async () => { eventInclusionFormData.value.weekDays = weekdayStore.toSet( - eventInclusionFormData.value.wdays + eventInclusionFormData.value.wdays, ); if (inclusionType.value == 'day') eventInclusionFormData.value.weekDays = ''; @@ -74,7 +69,7 @@ const createEvent = async () => { else await axios.put( `Zones/${route.params.id}/events/${props.event?.id}`, - eventInclusionFormData.value + eventInclusionFormData.value, ); await refetchEvents(); @@ -221,7 +216,7 @@ onMounted(() => { openConfirmationModal( t('zone.deleteTitle'), t('zone.deleteSubtitle'), - () => deleteEvent() + () => deleteEvent(), ) " /> diff --git a/src/pages/Zone/Card/ZoneLocationsTree.vue b/src/pages/Zone/Card/ZoneLocationsTree.vue index 5c87faf99..a5de18b32 100644 --- a/src/pages/Zone/Card/ZoneLocationsTree.vue +++ b/src/pages/Zone/Card/ZoneLocationsTree.vue @@ -1,11 +1,9 @@ @@ -160,7 +156,7 @@ function onBeforeSave(formData, originalData) { {{ t( - 'In case of a company succession, specify the grantor company' + 'In case of a company succession, specify the grantor company', ) }} diff --git a/src/pages/Customer/Card/CustomerBillingData.vue b/src/pages/Customer/Card/CustomerBillingData.vue index 29394ceec..79f6fdf05 100644 --- a/src/pages/Customer/Card/CustomerBillingData.vue +++ b/src/pages/Customer/Card/CustomerBillingData.vue @@ -4,10 +4,6 @@ import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; import FormModel from 'components/FormModel.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import VnInput from 'src/components/common/VnInput.vue'; -import VnSelect from 'src/components/common/VnSelect.vue'; -import VnSelectDialog from 'src/components/common/VnSelectDialog.vue'; import CreateBankEntityForm from 'src/components/CreateBankEntityForm.vue'; const { t } = useI18n(); diff --git a/src/pages/Customer/Card/CustomerConsumption.vue b/src/pages/Customer/Card/CustomerConsumption.vue index f0d8dea47..8688fac8a 100644 --- a/src/pages/Customer/Card/CustomerConsumption.vue +++ b/src/pages/Customer/Card/CustomerConsumption.vue @@ -4,8 +4,6 @@ import axios from 'axios'; import { useI18n } from 'vue-i18n'; import { dateRange, toDate } from 'src/filters/index'; import { useRoute } from 'vue-router'; - -import VnTable from 'components/VnTable/VnTable.vue'; import FetchedTags from 'components/ui/FetchedTags.vue'; import { useArrayData } from 'src/composables/useArrayData'; import { usePrintService } from 'src/composables/usePrintService'; @@ -15,8 +13,6 @@ const { openConfirmationModal } = useVnConfirm(); const { openReport, sendEmail } = usePrintService(); import TicketDescriptorProxy from 'src/pages/Ticket/Card/TicketDescriptorProxy.vue'; import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue'; -import VnSelect from 'components/common/VnSelect.vue'; -import VnInputDate from 'components/common/VnInputDate.vue'; const arrayData = useArrayData('Client'); const { t } = useI18n(); @@ -119,7 +115,7 @@ const openSendEmailDialog = async () => { openConfirmationModal( t('The consumption report will be sent'), t('Please, confirm'), - () => sendCampaignMetricsEmail({ address: arrayData.store.data.email }) + () => sendCampaignMetricsEmail({ address: arrayData.store.data.email }), ); }; const sendCampaignMetricsEmail = ({ address }) => { @@ -152,7 +148,7 @@ const updateDateParams = (value, params) => { v-if="campaignList" data-key="CustomerConsumption" url="Clients/consumption" - :order="['itemTypeFk', 'itemName', 'itemSize', 'description']" + :order="['itemTypeFk', 'itemName', 'itemSize', 'description']" :filter="{ where: { clientFk: route.params.id } }" :columns="columns" search-url="consumption" diff --git a/src/pages/Customer/Card/CustomerContacts.vue b/src/pages/Customer/Card/CustomerContacts.vue index c420f650e..0a92704b8 100644 --- a/src/pages/Customer/Card/CustomerContacts.vue +++ b/src/pages/Customer/Card/CustomerContacts.vue @@ -2,11 +2,7 @@ import { ref } from 'vue'; import { useRoute } from 'vue-router'; import { useI18n } from 'vue-i18n'; - import CrudModel from 'components/CrudModel.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import VnInput from 'src/components/common/VnInput.vue'; - const route = useRoute(); const { t } = useI18n(); diff --git a/src/pages/Customer/Card/CustomerCreditContracts.vue b/src/pages/Customer/Card/CustomerCreditContracts.vue index 0ff074793..9efae199e 100644 --- a/src/pages/Customer/Card/CustomerCreditContracts.vue +++ b/src/pages/Customer/Card/CustomerCreditContracts.vue @@ -2,10 +2,7 @@ import { ref } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute, useRouter } from 'vue-router'; - import { useQuasar } from 'quasar'; - -import VnPaginate from 'src/components/ui/VnPaginate.vue'; import ModalCloseContract from 'src/pages/Customer/components/ModalCloseContract.vue'; import { toDate } from 'src/filters'; diff --git a/src/pages/Customer/Card/CustomerCreditOpinion.vue b/src/pages/Customer/Card/CustomerCreditOpinion.vue index 51d069744..688d98294 100644 --- a/src/pages/Customer/Card/CustomerCreditOpinion.vue +++ b/src/pages/Customer/Card/CustomerCreditOpinion.vue @@ -2,9 +2,7 @@ import { computed, ref } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; - import { toCurrency, toDateHourMin } from 'src/filters'; -import VnTable from 'src/components/VnTable/VnTable.vue'; import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; diff --git a/src/pages/Customer/Card/CustomerCredits.vue b/src/pages/Customer/Card/CustomerCredits.vue index d6e4be89e..d96710143 100644 --- a/src/pages/Customer/Card/CustomerCredits.vue +++ b/src/pages/Customer/Card/CustomerCredits.vue @@ -3,7 +3,6 @@ import { computed, ref } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; import { toCurrency, toDateHourMin } from 'src/filters'; -import VnTable from 'components/VnTable/VnTable.vue'; import VnUserLink from 'src/components/ui/VnUserLink.vue'; const { t } = useI18n(); diff --git a/src/pages/Customer/Card/CustomerDescriptor.vue b/src/pages/Customer/Card/CustomerDescriptor.vue index ce402541d..1bf0924f1 100644 --- a/src/pages/Customer/Card/CustomerDescriptor.vue +++ b/src/pages/Customer/Card/CustomerDescriptor.vue @@ -2,13 +2,9 @@ import { ref, computed } from 'vue'; import { useRoute } from 'vue-router'; import { useI18n } from 'vue-i18n'; - import { dashIfEmpty, toCurrency, toDate } from 'src/filters'; - import useCardDescription from 'src/composables/useCardDescription'; - import CardDescriptor from 'components/ui/CardDescriptor.vue'; -import VnLv from 'src/components/ui/VnLv.vue'; import VnUserLink from 'src/components/ui/VnUserLink.vue'; import CustomerDescriptorMenu from './CustomerDescriptorMenu.vue'; diff --git a/src/pages/Customer/Card/CustomerFiscalData.vue b/src/pages/Customer/Card/CustomerFiscalData.vue index 8f2c4efb0..33937c399 100644 --- a/src/pages/Customer/Card/CustomerFiscalData.vue +++ b/src/pages/Customer/Card/CustomerFiscalData.vue @@ -5,10 +5,6 @@ import { useRoute } from 'vue-router'; import FetchData from 'components/FetchData.vue'; import FormModel from 'components/FormModel.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import VnInput from 'src/components/common/VnInput.vue'; -import VnSelect from 'src/components/common/VnSelect.vue'; -import VnLocation from 'src/components/common/VnLocation.vue'; const { t } = useI18n(); const route = useRoute(); diff --git a/src/pages/Customer/Card/CustomerMandates.vue b/src/pages/Customer/Card/CustomerMandates.vue index 66cb44bc2..f6645a173 100644 --- a/src/pages/Customer/Card/CustomerMandates.vue +++ b/src/pages/Customer/Card/CustomerMandates.vue @@ -2,10 +2,7 @@ import { computed } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; - import { toDateTimeFormat } from 'src/filters/date'; - -import VnTable from 'src/components/VnTable/VnTable.vue'; import { dashIfEmpty } from 'src/filters'; const { t } = useI18n(); diff --git a/src/pages/Customer/Card/CustomerRecoveries.vue b/src/pages/Customer/Card/CustomerRecoveries.vue index 3a8cffff8..7d5d9216f 100644 --- a/src/pages/Customer/Card/CustomerRecoveries.vue +++ b/src/pages/Customer/Card/CustomerRecoveries.vue @@ -5,8 +5,6 @@ import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; import { toCurrency, toDate } from 'src/filters'; -import VnTable from 'components/VnTable/VnTable.vue'; - const { t } = useI18n(); const route = useRoute(); const tableRef = ref(); diff --git a/src/pages/Customer/Card/CustomerSamples.vue b/src/pages/Customer/Card/CustomerSamples.vue index f12691112..3f84421fe 100644 --- a/src/pages/Customer/Card/CustomerSamples.vue +++ b/src/pages/Customer/Card/CustomerSamples.vue @@ -7,7 +7,6 @@ import { QBtn, useQuasar } from 'quasar'; import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; import { toDateTimeFormat } from 'src/filters/date'; -import VnTable from 'src/components/VnTable/VnTable.vue'; import { dashIfEmpty } from 'src/filters'; import CustomerSamplesCreate from '../components/CustomerSamplesCreate.vue'; diff --git a/src/pages/Customer/Card/CustomerSummary.vue b/src/pages/Customer/Card/CustomerSummary.vue index d2eb125d7..84f1112f5 100644 --- a/src/pages/Customer/Card/CustomerSummary.vue +++ b/src/pages/Customer/Card/CustomerSummary.vue @@ -2,16 +2,11 @@ import { computed, ref } from 'vue'; import { useRoute } from 'vue-router'; import { useI18n } from 'vue-i18n'; -import VnUserLink from 'src/components/ui/VnUserLink.vue'; - import { toCurrency, toPercentage, toDate, dashOrCurrency } from 'src/filters'; import CardSummary from 'components/ui/CardSummary.vue'; -import VnLv from 'src/components/ui/VnLv.vue'; import VnLinkPhone from 'src/components/ui/VnLinkPhone.vue'; import VnLinkMail from 'src/components/ui/VnLinkMail.vue'; import CustomerSummaryTable from 'src/pages/Customer/components/CustomerSummaryTable.vue'; -import VnTitle from 'src/components/common/VnTitle.vue'; -import VnRow from 'src/components/ui/VnRow.vue'; import CustomerDescriptorMenu from './CustomerDescriptorMenu.vue'; const route = useRoute(); const { t } = useI18n(); diff --git a/src/pages/Customer/Card/CustomerUnpaid.vue b/src/pages/Customer/Card/CustomerUnpaid.vue index f76e35821..a16ff59a9 100644 --- a/src/pages/Customer/Card/CustomerUnpaid.vue +++ b/src/pages/Customer/Card/CustomerUnpaid.vue @@ -2,11 +2,8 @@ import { ref } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; -import VnInputDate from 'components/common/VnInputDate.vue'; import FormModel from 'components/FormModel.vue'; import FetchData from 'components/FetchData.vue'; -import VnInputNumber from 'src/components/common/VnInputNumber.vue'; -import VnRow from 'components/ui/VnRow.vue'; const formModelRef = ref(false); const { t } = useI18n(); @@ -50,8 +47,11 @@ const filterClientFindOne = { >