diff --git a/src/components/common/VnSelect.vue b/src/components/common/VnSelect.vue index 339f90e0e..6eda03891 100644 --- a/src/components/common/VnSelect.vue +++ b/src/components/common/VnSelect.vue @@ -1,5 +1,5 @@ <script setup> -import { ref, toRefs, computed, watch, onMounted, useAttrs } from 'vue'; +import { ref, toRefs, computed, watch, onMounted, useAttrs, nextTick } from 'vue'; import { useI18n } from 'vue-i18n'; import { useArrayData } from 'src/composables/useArrayData'; import { useRequired } from 'src/composables/useRequired'; @@ -247,6 +247,7 @@ async function fetchFilter(val) { } async function filterHandler(val, update) { + if (isLoading.value) return update(); if (!val && lastVal.value === val) { lastVal.value = val; return update(); @@ -294,6 +295,7 @@ async function onScroll({ to, direction, from, index }) { await arrayData.loadMore(); setOptions(arrayData.store.data); vnSelectRef.value.scrollTo(lastIndex); + await nextTick(); isLoading.value = false; } } diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index c1286267c..6be11b5ed 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -892,6 +892,8 @@ components: VnLv: copyText: '{copyValue} has been copied to the clipboard' iban_tooltip: 'IBAN: ES21 1234 5678 90 0123456789' + VnNotes: + clientWithoutPhone: 'The following clients do not have a phone number and the message will not be sent to them: {clientWithoutPhone}' weekdays: sun: Sunday mon: Monday diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index 681781d11..55e5abd95 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -976,6 +976,8 @@ components: VnLv: copyText: '{copyValue} se ha copiado al portapepeles' iban_tooltip: 'IBAN: ES21 1234 5678 90 0123456789' + VnNotes: + clientWithoutPhone: 'Estos clientes no tienen asociado número de télefono y el sms no les será enviado: {clientWithoutPhone}' weekdays: sun: Domingo mon: Lunes diff --git a/src/pages/Route/RouteTickets.vue b/src/pages/Route/RouteTickets.vue index b17fb543f..66faf315b 100644 --- a/src/pages/Route/RouteTickets.vue +++ b/src/pages/Route/RouteTickets.vue @@ -199,12 +199,22 @@ const confirmRemove = (ticket) => { const openSmsDialog = async () => { const clientsId = []; const clientsPhone = []; - + const clientWithoutPhone = []; for (let ticket of selectedRows.value) { clientsId.push(ticket?.clientFk); const { data: client } = await axios.get(`Clients/${ticket?.clientFk}`); + if (!client.phone) { + clientWithoutPhone.push(ticket?.clientFk); + continue; + } clientsPhone.push(client.phone); } + if (clientWithoutPhone.length) { + quasar.notify({ + type: 'warning', + message: t('components.VnNotes.clientWithoutPhone', { clientWithoutPhone }), + }); + } quasar.dialog({ component: SendSmsDialog, diff --git a/src/pages/Worker/Department/Card/DepartmentDescriptorProxy.vue b/src/pages/Worker/Department/Card/DepartmentDescriptorProxy.vue index 5b556f655..c793e9319 100644 --- a/src/pages/Worker/Department/Card/DepartmentDescriptorProxy.vue +++ b/src/pages/Worker/Department/Card/DepartmentDescriptorProxy.vue @@ -16,6 +16,7 @@ const $props = defineProps({ v-if="$props.id" :id="$props.id" :summary="DepartmentSummary" + data-key="DepartmentDescriptorProxy" /> </QPopupProxy> </template> diff --git a/src/router/modules/worker.js b/src/router/modules/worker.js index 3eb95a96e..ff3d483cf 100644 --- a/src/router/modules/worker.js +++ b/src/router/modules/worker.js @@ -271,12 +271,14 @@ export default { path: 'department', name: 'Department', redirect: { name: 'WorkerDepartment' }, - component: () => import('src/pages/Worker/WorkerDepartment.vue'), + meta: { title: 'department', icon: 'vn:greuge' }, children: [ { + component: () => + import('src/pages/Worker/WorkerDepartment.vue'), + meta: { title: 'department', icon: 'vn:greuge' }, name: 'WorkerDepartment', path: 'list', - meta: { title: 'department', icon: 'vn:greuge' }, }, departmentCard, ],