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
53178d2429
|
@ -83,7 +83,7 @@ const isLoading = ref(false);
|
|||
const hasChanges = ref(false);
|
||||
const originalData = ref();
|
||||
const vnPaginateRef = ref();
|
||||
const formData = ref([]);
|
||||
const formData = ref();
|
||||
const saveButtonRef = ref(null);
|
||||
const watchChanges = ref();
|
||||
const formUrl = computed(() => $props.url);
|
||||
|
@ -298,6 +298,10 @@ watch(formUrl, async () => {
|
|||
});
|
||||
</script>
|
||||
<template>
|
||||
<SkeletonTable
|
||||
v-if="!formData && ($attrs['auto-load'] === '' || $attrs['auto-load'])"
|
||||
:columns="$attrs.columns?.length"
|
||||
/>
|
||||
<VnPaginate
|
||||
:url="url"
|
||||
:limit="limit"
|
||||
|
@ -316,10 +320,6 @@ watch(formUrl, async () => {
|
|||
></slot>
|
||||
</template>
|
||||
</VnPaginate>
|
||||
<SkeletonTable
|
||||
v-if="!formData && $attrs.autoLoad"
|
||||
:columns="$attrs.columns?.length"
|
||||
/>
|
||||
<Teleport to="#st-actions" v-if="stateStore?.isSubToolbarShown() && hasSubToolbar">
|
||||
<QBtnGroup push style="column-gap: 10px">
|
||||
<slot name="moreBeforeActions" />
|
||||
|
|
|
@ -183,7 +183,7 @@ const arrayData = useArrayData(arrayDataKey, {
|
|||
searchUrl: false,
|
||||
mapKey: $attrs['map-key'],
|
||||
});
|
||||
|
||||
const someIsLoading = computed(() => isLoading.value || arrayData.isLoading);
|
||||
function findKeyInOptions() {
|
||||
if (!$props.options) return;
|
||||
return filter($props.modelValue, $props.options)?.length;
|
||||
|
@ -366,7 +366,8 @@ function getCaption(opt) {
|
|||
virtual-scroll-slice-size="options.length"
|
||||
hide-bottom-space
|
||||
:input-debounce="useURL ? '300' : '0'"
|
||||
:loading="isLoading"
|
||||
:loading="someIsLoading"
|
||||
:disable="someIsLoading"
|
||||
@virtual-scroll="onScroll"
|
||||
@keydown="handleKeyDown"
|
||||
:data-cy="$attrs.dataCy ?? $attrs.label + '_select'"
|
||||
|
|
|
@ -44,8 +44,7 @@ onBeforeMount(async () => {
|
|||
});
|
||||
|
||||
// It enables to load data only once if the module is the same as the dataKey
|
||||
if (!isSameDataKey.value || !route.params.id || $props.id !== route.params.id)
|
||||
await getData();
|
||||
if (!isSameDataKey.value || !route.params.id) await getData();
|
||||
watch(
|
||||
() => [$props.url, $props.filter],
|
||||
async () => {
|
||||
|
|
|
@ -89,7 +89,6 @@ const insertTag = (rows) => {
|
|||
:default-remove="false"
|
||||
:user-filter="{
|
||||
fields: ['id', 'itemFk', 'tagFk', 'value', 'priority'],
|
||||
where: { itemFk: route.params.id },
|
||||
include: {
|
||||
relation: 'tag',
|
||||
scope: {
|
||||
|
@ -97,6 +96,7 @@ const insertTag = (rows) => {
|
|||
},
|
||||
},
|
||||
}"
|
||||
:filter="{ where: { itemFk: route.params.id } }"
|
||||
order="priority"
|
||||
auto-load
|
||||
@on-fetch="onItemTagsFetched"
|
||||
|
|
|
@ -11,26 +11,19 @@ export function cloneItem() {
|
|||
const router = useRouter();
|
||||
const cloneItem = async (entityId) => {
|
||||
const { id } = entityId;
|
||||
try {
|
||||
const { data } = await axios.post(`Items/${id ?? entityId}/clone`);
|
||||
router.push({ name: 'ItemTags', params: { id: data.id } });
|
||||
} catch (err) {
|
||||
console.error('Error cloning item');
|
||||
}
|
||||
const { data } = await axios.post(`Items/${id ?? entityId}/clone`);
|
||||
router.push({ name: 'ItemTags', params: { id: data.id } });
|
||||
};
|
||||
|
||||
const openCloneDialog = async (entityId) => {
|
||||
quasar
|
||||
.dialog({
|
||||
component: VnConfirm,
|
||||
componentProps: {
|
||||
title: t('item.descriptor.clone.title'),
|
||||
message: t('item.descriptor.clone.subTitle'),
|
||||
},
|
||||
})
|
||||
.onOk(async () => {
|
||||
await cloneItem(entityId);
|
||||
});
|
||||
quasar.dialog({
|
||||
component: VnConfirm,
|
||||
componentProps: {
|
||||
title: t('item.descriptor.clone.title'),
|
||||
message: t('item.descriptor.clone.subTitle'),
|
||||
promise: () => cloneItem(entityId),
|
||||
},
|
||||
});
|
||||
};
|
||||
return { openCloneDialog };
|
||||
}
|
||||
|
|
|
@ -11,10 +11,10 @@ import VnSelect from 'src/components/common/VnSelect.vue';
|
|||
import VnLocation from 'src/components/common/VnLocation.vue';
|
||||
import VnAccountNumber from 'src/components/common/VnAccountNumber.vue';
|
||||
import VnCheckbox from 'src/components/common/VnCheckbox.vue';
|
||||
|
||||
import { useArrayData } from 'src/composables/useArrayData';
|
||||
const route = useRoute();
|
||||
const { t } = useI18n();
|
||||
|
||||
const arrayData = useArrayData('Supplier');
|
||||
const sageTaxTypesOptions = ref([]);
|
||||
const sageWithholdingsOptions = ref([]);
|
||||
const sageTransactionTypesOptions = ref([]);
|
||||
|
@ -89,6 +89,7 @@ function handleLocation(data, location) {
|
|||
}"
|
||||
auto-load
|
||||
:clear-store-on-unmount="false"
|
||||
@on-data-saved="arrayData.fetch({})"
|
||||
>
|
||||
<template #form="{ data, validate }">
|
||||
<VnRow>
|
||||
|
|
|
@ -42,11 +42,7 @@ const groupedStates = ref([]);
|
|||
auto-load
|
||||
/>
|
||||
<FetchData url="Warehouses" @on-fetch="(data) => (warehouses = data)" auto-load />
|
||||
<VnFilterPanel
|
||||
:data-key="props.dataKey"
|
||||
:search-button="true"
|
||||
:unremovableParams="['from', 'to']"
|
||||
>
|
||||
<VnFilterPanel :data-key="props.dataKey" :search-button="true">
|
||||
<template #tags="{ tag, formatFn }">
|
||||
<div class="q-gutter-x-xs">
|
||||
<strong>{{ t(`params.${tag.label}`) }}: </strong>
|
||||
|
@ -188,16 +184,6 @@ const groupedStates = ref([]);
|
|||
/>
|
||||
</QItemSection>
|
||||
</QItem>
|
||||
<QItem>
|
||||
<QItemSection>
|
||||
<QCheckbox
|
||||
v-model="params.problems"
|
||||
@update:model-value="searchFn()"
|
||||
:label="t('With problems')"
|
||||
toggle-indeterminate
|
||||
/>
|
||||
</QItemSection>
|
||||
</QItem>
|
||||
<QItem>
|
||||
<QItemSection v-if="!provinces">
|
||||
<QSkeleton type="QInput" class="full-width" />
|
||||
|
|
|
@ -128,6 +128,7 @@ const columns = computed(() => [
|
|||
columnFilter: false,
|
||||
label: t('ticketList.hour'),
|
||||
format: (row) => toTimeFormat(row.shipped),
|
||||
orderBy: false,
|
||||
},
|
||||
{
|
||||
align: 'left',
|
||||
|
@ -136,6 +137,7 @@ const columns = computed(() => [
|
|||
columnFilter: false,
|
||||
label: t('ticketList.closure'),
|
||||
format: (row, dashIfEmpty) => dashIfEmpty(toTimeFormat(row.zoneLanding)),
|
||||
orderBy: false,
|
||||
},
|
||||
{
|
||||
align: 'left',
|
||||
|
@ -477,7 +479,7 @@ function setReference(data) {
|
|||
prefix="card"
|
||||
:array-data-props="{
|
||||
url: 'Tickets/filter',
|
||||
order: ['shipped DESC', 'shippedHour ASC', 'zoneLanding ASC', 'id'],
|
||||
order: ['shipped DESC', 'id DESC'],
|
||||
exprBuilder,
|
||||
}"
|
||||
>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import '../commands.js';
|
||||
describe('EntryDescriptor', () => {
|
||||
describe.skip('EntryDescriptor', () => {
|
||||
beforeEach(() => {
|
||||
cy.login('buyer');
|
||||
cy.visit(`/#/entry/list`);
|
||||
|
|
Loading…
Reference in New Issue