Merge branch 'master' into improve_ticker_order_list
gitea/salix-front/pipeline/pr-master There was a failure building this commit Details

This commit is contained in:
Javier Segarra 2025-03-04 19:05:36 +01:00
commit 591081a5c7
14 changed files with 21 additions and 23 deletions

View File

@ -124,7 +124,7 @@ const selectTravel = ({ id }) => {
<FetchData <FetchData
url="AgencyModes" url="AgencyModes"
@on-fetch="(data) => (agenciesOptions = data)" @on-fetch="(data) => (agenciesOptions = data)"
:filter="{ fields: ['id', 'name'], order: 'name ASC' }" :filter="{ fields: ['id', 'name'], order: ['name ASC'] }"
auto-load auto-load
/> />
<FetchData <FetchData

View File

@ -145,6 +145,7 @@ const entryFilterPanel = ref();
v-model="params.agencyModeId" v-model="params.agencyModeId"
@update:model-value="searchFn()" @update:model-value="searchFn()"
url="AgencyModes" url="AgencyModes"
sort-by="name ASC"
:fields="['id', 'name']" :fields="['id', 'name']"
hide-selected hide-selected
dense dense

View File

@ -22,7 +22,7 @@ salesTicketsTable:
notVisible: Not visible notVisible: Not visible
purchaseRequest: Purchase request purchaseRequest: Purchase request
clientFrozen: Client frozen clientFrozen: Client frozen
risk: Risk risk: Excess risk
componentLack: Component lack componentLack: Component lack
tooLittle: Ticket too little tooLittle: Ticket too little
identifier: Identifier identifier: Identifier

View File

@ -22,7 +22,7 @@ salesTicketsTable:
notVisible: No visible notVisible: No visible
purchaseRequest: Petición de compra purchaseRequest: Petición de compra
clientFrozen: Cliente congelado clientFrozen: Cliente congelado
risk: Riesgo risk: Exceso de riesgo
componentLack: Faltan componentes componentLack: Faltan componentes
tooLittle: Ticket demasiado pequeño tooLittle: Ticket demasiado pequeño
identifier: Identificador identifier: Identificador

View File

@ -44,8 +44,7 @@ const exprBuilder = (param, value) => {
<template> <template>
<FetchData <FetchData
url="AgencyModes" url="AgencyModes"
:filter="{ fields: ['id', 'name'] }" :filter="{ fields: ['id', 'name'], order: ['name ASC'] }"
sort-by="name ASC"
@on-fetch="(data) => (agencyList = data)" @on-fetch="(data) => (agencyList = data)"
auto-load auto-load
/> />

View File

@ -93,9 +93,9 @@ function ticketFilter(ticket) {
<VnLv :label="t('globals.warehouse')" :value="entity.warehouse?.name" /> <VnLv :label="t('globals.warehouse')" :value="entity.warehouse?.name" />
<VnLv :label="t('globals.alias')" :value="entity.nickname" /> <VnLv :label="t('globals.alias')" :value="entity.nickname" />
</template> </template>
<template #icons> <template #icons="{ entity }">
<QCardActions class="q-gutter-x-xs"> <QCardActions class="q-gutter-x-xs">
<TicketProblems :row="problems" /> <TicketProblems :row="{ ...entity?.client, ...problems }" />
</QCardActions> </QCardActions>
</template> </template>
<template #actions="{ entity }"> <template #actions="{ entity }">

View File

@ -48,7 +48,7 @@ const getGroupedStates = (data) => {
/> />
<FetchData <FetchData
url="AgencyModes" url="AgencyModes"
:sort-by="['name ASC']" :filter="{ fields: ['id', 'name'], order: ['name ASC'] }"
@on-fetch="(data) => (agencies = data)" @on-fetch="(data) => (agencies = data)"
auto-load auto-load
/> />
@ -256,8 +256,6 @@ const getGroupedStates = (data) => {
v-model="params.agencyModeFk" v-model="params.agencyModeFk"
@update:model-value="searchFn()" @update:model-value="searchFn()"
:options="agencies" :options="agencies"
option-value="id"
option-label="name"
emit-value emit-value
map-options map-options
use-input use-input

View File

@ -73,6 +73,7 @@ warehouses();
/> />
<FetchData <FetchData
url="AgencyModes" url="AgencyModes"
:filter="{ fields: ['id', 'name'], order: ['name ASC'] }"
@on-fetch="(data) => (agenciesOptions = data)" @on-fetch="(data) => (agenciesOptions = data)"
auto-load auto-load
/> />

View File

@ -39,6 +39,7 @@ const redirectToTravelBasicData = (_, { id }) => {
<template> <template>
<FetchData <FetchData
url="AgencyModes" url="AgencyModes"
:filter="{ fields: ['id', 'name'], order: ['name ASC'] }"
@on-fetch="(data) => (agenciesOptions = data)" @on-fetch="(data) => (agenciesOptions = data)"
auto-load auto-load
/> />

View File

@ -52,9 +52,8 @@ defineExpose({ states });
v-model="params.agencyModeFk" v-model="params.agencyModeFk"
@update:model-value="searchFn()" @update:model-value="searchFn()"
url="agencyModes" url="agencyModes"
sort-by="name ASC"
:use-like="false" :use-like="false"
option-value="id"
option-label="name"
option-filter="name" option-filter="name"
dense dense
outlined outlined

View File

@ -9,22 +9,22 @@ import VnInputTime from 'src/components/common/VnInputTime.vue';
import VnSelect from 'src/components/common/VnSelect.vue'; import VnSelect from 'src/components/common/VnSelect.vue';
const { t } = useI18n(); const { t } = useI18n();
const validAddresses = ref([]);
const addresses = ref([]); const addresses = ref([]);
const setFilteredAddresses = (data) => { const setFilteredAddresses = (data) => {
const validIds = new Set(validAddresses.value.map((item) => item.addressFk)); addresses.value = data.map(({ address }) => address);
addresses.value = data.filter((address) => validIds.has(address.id));
}; };
</script> </script>
<template> <template>
<FetchData <FetchData
url="RoadmapAddresses" url="RoadmapAddresses"
:filter="{
include: { relation: 'address' },
}"
auto-load auto-load
@on-fetch="(data) => (validAddresses = data)" @on-fetch="setFilteredAddresses"
/> />
<FetchData url="Addresses" auto-load @on-fetch="setFilteredAddresses" />
<FormModel auto-load model="Zone"> <FormModel auto-load model="Zone">
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow> <VnRow>
@ -125,7 +125,6 @@ const setFilteredAddresses = (data) => {
map-options map-options
:rules="validate('data.addressFk')" :rules="validate('data.addressFk')"
:filter-options="['id']" :filter-options="['id']"
:where="filterWhere"
/> />
</VnRow> </VnRow>
<VnRow> <VnRow>

View File

@ -5,6 +5,7 @@ import VnInput from 'components/common/VnInput.vue';
import FetchData from 'components/FetchData.vue'; import FetchData from 'components/FetchData.vue';
import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue'; import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
import VnSelect from 'components/common/VnSelect.vue'; import VnSelect from 'components/common/VnSelect.vue';
import order from 'src/router/modules/order';
const { t } = useI18n(); const { t } = useI18n();
const props = defineProps({ const props = defineProps({
@ -24,7 +25,7 @@ const agencies = ref([]);
<template> <template>
<FetchData <FetchData
url="AgencyModes" url="AgencyModes"
:filter="{ fields: ['id', 'name'] }" :filter="{ fields: ['id', 'name'], order: ['name ASC'] }"
@on-fetch="(data) => (agencies = data)" @on-fetch="(data) => (agencies = data)"
auto-load auto-load
/> />

View File

@ -199,9 +199,8 @@ function formatRow(row) {
<template #more-create-dialog="{ data }"> <template #more-create-dialog="{ data }">
<VnSelect <VnSelect
url="AgencyModes" url="AgencyModes"
sort-by="name ASC"
v-model="data.agencyModeFk" v-model="data.agencyModeFk"
option-value="id"
option-label="name"
:label="t('list.agency')" :label="t('list.agency')"
/> />
<VnInput <VnInput

View File

@ -3,7 +3,7 @@ describe('ZoneWarehouse', () => {
Warehouse: { val: 'Warehouse One', type: 'select' }, Warehouse: { val: 'Warehouse One', type: 'select' },
}; };
const dataError = 'ER_DUP_ENTRY: Duplicate entry'; const dataError = 'The introduced warehouse already exists';
const saveBtn = '.q-btn--standard > .q-btn__content > .block'; const saveBtn = '.q-btn--standard > .q-btn__content > .block';
beforeEach(() => { beforeEach(() => {
@ -18,7 +18,7 @@ describe('ZoneWarehouse', () => {
cy.get(saveBtn).click(); cy.get(saveBtn).click();
cy.checkNotification(dataError); cy.checkNotification(dataError);
}); });
it('should create & remove a warehouse', () => { it('should create & remove a warehouse', () => {
cy.addBtnClick(); cy.addBtnClick();
cy.fillInForm(data); cy.fillInForm(data);