Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good
Details
gitea/salix-front/pipeline/head This commit looks good
Details
This commit is contained in:
commit
6c84c4ae77
|
@ -1,5 +1,5 @@
|
||||||
<script setup>
|
<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 { useI18n } from 'vue-i18n';
|
||||||
import { useArrayData } from 'src/composables/useArrayData';
|
import { useArrayData } from 'src/composables/useArrayData';
|
||||||
import { useRequired } from 'src/composables/useRequired';
|
import { useRequired } from 'src/composables/useRequired';
|
||||||
|
@ -247,6 +247,7 @@ async function fetchFilter(val) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function filterHandler(val, update) {
|
async function filterHandler(val, update) {
|
||||||
|
if (isLoading.value) return update();
|
||||||
if (!val && lastVal.value === val) {
|
if (!val && lastVal.value === val) {
|
||||||
lastVal.value = val;
|
lastVal.value = val;
|
||||||
return update();
|
return update();
|
||||||
|
@ -294,6 +295,7 @@ async function onScroll({ to, direction, from, index }) {
|
||||||
await arrayData.loadMore();
|
await arrayData.loadMore();
|
||||||
setOptions(arrayData.store.data);
|
setOptions(arrayData.store.data);
|
||||||
vnSelectRef.value.scrollTo(lastIndex);
|
vnSelectRef.value.scrollTo(lastIndex);
|
||||||
|
await nextTick();
|
||||||
isLoading.value = false;
|
isLoading.value = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -892,6 +892,8 @@ components:
|
||||||
VnLv:
|
VnLv:
|
||||||
copyText: '{copyValue} has been copied to the clipboard'
|
copyText: '{copyValue} has been copied to the clipboard'
|
||||||
iban_tooltip: 'IBAN: ES21 1234 5678 90 0123456789'
|
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:
|
weekdays:
|
||||||
sun: Sunday
|
sun: Sunday
|
||||||
mon: Monday
|
mon: Monday
|
||||||
|
|
|
@ -976,6 +976,8 @@ components:
|
||||||
VnLv:
|
VnLv:
|
||||||
copyText: '{copyValue} se ha copiado al portapepeles'
|
copyText: '{copyValue} se ha copiado al portapepeles'
|
||||||
iban_tooltip: 'IBAN: ES21 1234 5678 90 0123456789'
|
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:
|
weekdays:
|
||||||
sun: Domingo
|
sun: Domingo
|
||||||
mon: Lunes
|
mon: Lunes
|
||||||
|
|
|
@ -199,12 +199,22 @@ const confirmRemove = (ticket) => {
|
||||||
const openSmsDialog = async () => {
|
const openSmsDialog = async () => {
|
||||||
const clientsId = [];
|
const clientsId = [];
|
||||||
const clientsPhone = [];
|
const clientsPhone = [];
|
||||||
|
const clientWithoutPhone = [];
|
||||||
for (let ticket of selectedRows.value) {
|
for (let ticket of selectedRows.value) {
|
||||||
clientsId.push(ticket?.clientFk);
|
clientsId.push(ticket?.clientFk);
|
||||||
const { data: client } = await axios.get(`Clients/${ticket?.clientFk}`);
|
const { data: client } = await axios.get(`Clients/${ticket?.clientFk}`);
|
||||||
|
if (!client.phone) {
|
||||||
|
clientWithoutPhone.push(ticket?.clientFk);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
clientsPhone.push(client.phone);
|
clientsPhone.push(client.phone);
|
||||||
}
|
}
|
||||||
|
if (clientWithoutPhone.length) {
|
||||||
|
quasar.notify({
|
||||||
|
type: 'warning',
|
||||||
|
message: t('components.VnNotes.clientWithoutPhone', { clientWithoutPhone }),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
quasar.dialog({
|
quasar.dialog({
|
||||||
component: SendSmsDialog,
|
component: SendSmsDialog,
|
||||||
|
|
|
@ -16,6 +16,7 @@ const $props = defineProps({
|
||||||
v-if="$props.id"
|
v-if="$props.id"
|
||||||
:id="$props.id"
|
:id="$props.id"
|
||||||
:summary="DepartmentSummary"
|
:summary="DepartmentSummary"
|
||||||
|
data-key="DepartmentDescriptorProxy"
|
||||||
/>
|
/>
|
||||||
</QPopupProxy>
|
</QPopupProxy>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -271,12 +271,14 @@ export default {
|
||||||
path: 'department',
|
path: 'department',
|
||||||
name: 'Department',
|
name: 'Department',
|
||||||
redirect: { name: 'WorkerDepartment' },
|
redirect: { name: 'WorkerDepartment' },
|
||||||
component: () => import('src/pages/Worker/WorkerDepartment.vue'),
|
meta: { title: 'department', icon: 'vn:greuge' },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
|
component: () =>
|
||||||
|
import('src/pages/Worker/WorkerDepartment.vue'),
|
||||||
|
meta: { title: 'department', icon: 'vn:greuge' },
|
||||||
name: 'WorkerDepartment',
|
name: 'WorkerDepartment',
|
||||||
path: 'list',
|
path: 'list',
|
||||||
meta: { title: 'department', icon: 'vn:greuge' },
|
|
||||||
},
|
},
|
||||||
departmentCard,
|
departmentCard,
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in New Issue