From eb91b9c1090dcd05d4675315a5ba9ffc10ec1154 Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Tue, 10 Dec 2024 11:02:00 +0100
Subject: [PATCH 1/9] fix: fix front

---
 src/pages/Item/ItemRequest.vue       |  42 +++++------
 src/pages/Item/ItemRequestFilter.vue | 107 ++++-----------------------
 src/pages/Travel/TravelFilter.vue    |   1 +
 src/pages/Worker/Card/WorkerPit.vue  |  16 +++-
 4 files changed, 45 insertions(+), 121 deletions(-)

diff --git a/src/pages/Item/ItemRequest.vue b/src/pages/Item/ItemRequest.vue
index 4f037529a..9bb573787 100644
--- a/src/pages/Item/ItemRequest.vue
+++ b/src/pages/Item/ItemRequest.vue
@@ -1,42 +1,33 @@
 <script setup>
-import { ref, computed, onMounted, watch } from 'vue';
+import { ref, computed, onMounted } from 'vue';
 import { useI18n } from 'vue-i18n';
 import TicketDescriptorProxy from 'src/pages/Ticket/Card/TicketDescriptorProxy.vue';
 import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
 import { useStateStore } from 'stores/useStateStore';
-import { useArrayData } from 'composables/useArrayData';
-import { dashIfEmpty, toCurrency } from 'filters/index';
+import { toCurrency } from 'filters/index';
 import useNotify from 'src/composables/useNotify.js';
 import axios from 'axios';
 import ItemRequestDenyForm from './ItemRequestDenyForm.vue';
 import { toDate } from 'src/filters';
 import VnTable from 'components/VnTable/VnTable.vue';
 import VnInput from 'src/components/common/VnInput.vue';
+import RightMenu from 'src/components/common/RightMenu.vue';
+import ItemRequestFilter from './ItemRequestFilter.vue';
 const { t } = useI18n();
 const { notify } = useNotify();
 const stateStore = useStateStore();
-let filterParams = ref({});
 const denyFormRef = ref(null);
 const denyRequestId = ref(null);
 const denyRequestIndex = ref(null);
 const itemRequestsOptions = ref([]);
-const arrayData = useArrayData('ItemRequests', {
-    url: 'TicketRequests/filter',
-    userParams: filterParams,
-    order: ['shippedDate ASC', 'isOk ASC'],
-});
-const store = arrayData.store;
-
 const userParams = {
     state: 'pending',
-    daysOnward: 7,
+    daysOnward: '7',
 };
-
 const tableRef = ref();
-watch(
-    () => store.data,
-    (value) => (itemRequestsOptions.value = value)
-);
+onMounted(async () => {
+    stateStore.rightDrawer = true;
+});
 
 const columns = computed(() => [
     {
@@ -220,14 +211,14 @@ const onDenyAccept = (_, responseData) => {
     denyRequestIndex.value = null;
     tableRef.value.reload();
 };
-
-onMounted(async () => {
-    await arrayData.fetch({ append: false });
-    stateStore.rightDrawer = true;
-});
 </script>
 
 <template>
+    <RightMenu>
+        <template #right-panel>
+            <ItemRequestFilter data-key="itemRequest" ref="tableRef" />
+        </template>
+    </RightMenu>
     <VnTable
         ref="tableRef"
         data-key="itemRequest"
@@ -236,6 +227,7 @@ onMounted(async () => {
         :columns="columns"
         :user-params="userParams"
         :is-editable="true"
+        :right-search="false"
         auto-load
         :disable-option="{ card: true }"
         chip-locale="item.params"
@@ -295,16 +287,20 @@ onMounted(async () => {
             </span>
         </template>
         <template #moreFilterPanel="{ params }">
+            {{ params }}
             <VnInputNumber
                 :label="t('params.scopeDays')"
-                v-model.number="params.scopeDays"
+                v-model.number="params.daysOnward"
                 @keyup.enter="(evt) => handleScopeDays(evt.target.value)"
                 @remove="handleScopeDays()"
                 class="q-px-xs q-pr-lg"
                 filled
                 dense
+                lazy-rules
+                is-outlined
             />
         </template>
+
         <template #column-denyOptions="{ row, rowIndex }">
             <QTd class="sticky no-padding">
                 <QIcon
diff --git a/src/pages/Item/ItemRequestFilter.vue b/src/pages/Item/ItemRequestFilter.vue
index 64bc0e575..8b7304279 100644
--- a/src/pages/Item/ItemRequestFilter.vue
+++ b/src/pages/Item/ItemRequestFilter.vue
@@ -6,7 +6,6 @@ import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
 import VnSelect from 'src/components/common/VnSelect.vue';
 import VnInput from 'src/components/common/VnInput.vue';
 import FetchData from 'components/FetchData.vue';
-import VnInputDate from 'src/components/common/VnInputDate.vue';
 
 const { t } = useI18n();
 const props = defineProps({
@@ -42,20 +41,6 @@ const exprBuilder = (param, value) => {
             };
     }
 };
-
-const add = (paramsObj, key) => {
-    if (paramsObj[key] === undefined) {
-        paramsObj[key] = 1;
-    } else {
-        paramsObj[key]++;
-    }
-};
-
-const decrement = (paramsObj, key) => {
-    if (paramsObj[key] === 0) return;
-
-    paramsObj[key]--;
-};
 </script>
 
 <template>
@@ -79,8 +64,7 @@ const decrement = (paramsObj, key) => {
         <template #tags="{ tag, formatFn }">
             <div class="q-gutter-x-xs">
                 <strong>{{ t(`params.${tag.label}`) }}: </strong>
-                <span v-if="tag.label !== 'state'">{{ formatFn(tag.value) }}</span>
-                <span v-else>{{ t(`${tag.value}`) }}</span>
+                <span>{{ formatFn(tag.value) }}</span>
             </div>
         </template>
         <template #body="{ params, searchFn }">
@@ -174,83 +158,6 @@ const decrement = (paramsObj, key) => {
                     </VnSelect>
                 </QItemSection>
             </QItem>
-            <QItem>
-                <QItemSection>
-                    <QCheckbox
-                        v-model="params.myTeam"
-                        :label="t('params.myTeam')"
-                        @update:model-value="searchFn()"
-                        toggle-indeterminate
-                    />
-                </QItemSection>
-            </QItem>
-            <QCard bordered>
-                <QItem>
-                    <QItemSection>
-                        <VnInputDate
-                            :label="t('params.from')"
-                            v-model="params.from"
-                            @update:model-value="searchFn()"
-                            is-outlined
-                        />
-                    </QItemSection>
-                </QItem>
-                <QItem>
-                    <QItemSection>
-                        <VnInputDate
-                            :label="t('params.to')"
-                            v-model="params.to"
-                            @update:model-value="searchFn()"
-                            is-outlined
-                        />
-                    </QItemSection>
-                </QItem>
-                <QItem>
-                    <QItemSection>
-                        <VnInput
-                            v-model="params.scopeDays"
-                            :label="t('globals.daysOnward')"
-                            type="number"
-                            dense
-                            outlined
-                            rounded
-                            :min="0"
-                        >
-                            <template #append>
-                                <QBtn
-                                    icon="add"
-                                    flat
-                                    dense
-                                    size="12px"
-                                    shortcut="+"
-                                    @click="add(params, 'scopeDays')"
-                                />
-                                <QBtn
-                                    icon="remove"
-                                    flat
-                                    dense
-                                    size="12px"
-                                    @click="decrement(params, 'scopeDays')"
-                                />
-                            </template>
-                        </VnInput>
-                    </QItemSection>
-                </QItem>
-                <QIcon name="info" style="position: absolute; top: 4px; right: 4px">
-                    <QTooltip max-width="300px">
-                        {{ t('dateFiltersTooltip') }}
-                    </QTooltip>
-                </QIcon>
-            </QCard>
-            <QItem>
-                <QItemSection>
-                    <QCheckbox
-                        :label="t('params.mine')"
-                        v-model="params.mine"
-                        toggle-indeterminate
-                    />
-                </QItemSection>
-            </QItem>
             <QItem>
                 <QItemSection>
                     <VnSelect
@@ -267,6 +174,18 @@ const decrement = (paramsObj, key) => {
                     />
                 </QItemSection>
             </QItem>
+
+            {{ params }}
+            <QItem>
+                <QItemSection>
+                    <VnInput
+                        :label="t('params.daysOnward')"
+                        v-model="params.daysOnward"
+                        lazy-rules
+                        is-outlined
+                    />
+                </QItemSection>
+            </QItem>
         </template>
     </VnFilterPanel>
 </template>
diff --git a/src/pages/Travel/TravelFilter.vue b/src/pages/Travel/TravelFilter.vue
index 1ac83b9e0..c8d57fbc3 100644
--- a/src/pages/Travel/TravelFilter.vue
+++ b/src/pages/Travel/TravelFilter.vue
@@ -124,6 +124,7 @@ defineExpose({ states });
                     lazy-rules
                     is-outlined
                 />
+                {{ params }}
                 <VnInput
                     :label="t('travel.travelList.tableVisibleColumns.daysOnward')"
                     v-model="params.daysOnward"
diff --git a/src/pages/Worker/Card/WorkerPit.vue b/src/pages/Worker/Card/WorkerPit.vue
index c58196c7b..79cf1a04f 100644
--- a/src/pages/Worker/Card/WorkerPit.vue
+++ b/src/pages/Worker/Card/WorkerPit.vue
@@ -23,6 +23,7 @@ const insertTag = () => {
     workerPitCrudRef.value.insert();
 };
 const quasar = useQuasar();
+
 const deleteRelative = async (id) => {
     await new Promise((resolve) => {
         quasar
@@ -62,7 +63,6 @@ const deleteRelative = async (id) => {
     >
         <template #form="{ data }">
             <QCard class="q-px-lg q-py-lg">
-                <VnTitle :text="t('IRPF')" />
                 <VnRow>
                     <VnInput
                         :label="t('familySituation')"
@@ -100,8 +100,12 @@ const deleteRelative = async (id) => {
                         :label="t(`spousePension`)"
                     />
                 </VnRow>
-                <VnRow>
-                    <QCheckbox v-model="data.isDependend" :label="t(`isDependend`)" />
+                <VnRow wrap>
+                    <QCheckbox
+                        clearable
+                        v-model="data.isDependend"
+                        :label="t(`isDependend`)"
+                    />
                     <QCheckbox
                         v-model="data.hasHousingPaymentBefore"
                         :label="t(`hasHousingPaymentBefore`)"
@@ -127,7 +131,11 @@ const deleteRelative = async (id) => {
                 :filter="{
                     where: { workerFk: route.params.id },
                 }"
-                :data-required="{ workerFk: route.params.id }"
+                :data-required="{
+                    workerFk: route.params.id,
+                    isJointCustody: false,
+                    isDependend: false,
+                }"
                 :has-sub-toolbar="false"
             >
                 <template #body="{ rows }">

From 96df567b1d218792c3fc9f5eac434368e1c692da Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Thu, 12 Dec 2024 08:53:31 +0100
Subject: [PATCH 2/9] fix: clean

---
 src/pages/Travel/TravelFilter.vue | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/pages/Travel/TravelFilter.vue b/src/pages/Travel/TravelFilter.vue
index c8d57fbc3..1ac83b9e0 100644
--- a/src/pages/Travel/TravelFilter.vue
+++ b/src/pages/Travel/TravelFilter.vue
@@ -124,7 +124,6 @@ defineExpose({ states });
                     lazy-rules
                     is-outlined
                 />
-                {{ params }}
                 <VnInput
                     :label="t('travel.travelList.tableVisibleColumns.daysOnward')"
                     v-model="params.daysOnward"

From 2283e654020925b740981d505d6db883cda2f5df Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Thu, 12 Dec 2024 08:56:25 +0100
Subject: [PATCH 3/9] fix: clean

---
 src/pages/Item/ItemRequestFilter.vue | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/pages/Item/ItemRequestFilter.vue b/src/pages/Item/ItemRequestFilter.vue
index 8b7304279..8d8a1aa40 100644
--- a/src/pages/Item/ItemRequestFilter.vue
+++ b/src/pages/Item/ItemRequestFilter.vue
@@ -174,8 +174,6 @@ const exprBuilder = (param, value) => {
                     />
                 </QItemSection>
             </QItem>
-
-            {{ params }}
             <QItem>
                 <QItemSection>
                     <VnInput

From 842a3775f1de83062560a38454c7102be4669e86 Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Thu, 12 Dec 2024 08:56:43 +0100
Subject: [PATCH 4/9] fix: clean

---
 src/pages/Item/ItemRequest.vue | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/pages/Item/ItemRequest.vue b/src/pages/Item/ItemRequest.vue
index 9bb573787..38ea6b6c2 100644
--- a/src/pages/Item/ItemRequest.vue
+++ b/src/pages/Item/ItemRequest.vue
@@ -287,7 +287,6 @@ const onDenyAccept = (_, responseData) => {
             </span>
         </template>
         <template #moreFilterPanel="{ params }">
-            {{ params }}
             <VnInputNumber
                 :label="t('params.scopeDays')"
                 v-model.number="params.daysOnward"

From 5b0e36fa4ed6ecb8f5bd2f31211e7a509d9e6daf Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Thu, 12 Dec 2024 09:18:32 +0100
Subject: [PATCH 5/9] fix: change number

---
 src/pages/Item/ItemRequest.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/pages/Item/ItemRequest.vue b/src/pages/Item/ItemRequest.vue
index 38ea6b6c2..ad6e5663e 100644
--- a/src/pages/Item/ItemRequest.vue
+++ b/src/pages/Item/ItemRequest.vue
@@ -22,7 +22,7 @@ const denyRequestIndex = ref(null);
 const itemRequestsOptions = ref([]);
 const userParams = {
     state: 'pending',
-    daysOnward: '7',
+    daysOnward: 7,
 };
 const tableRef = ref();
 onMounted(async () => {

From a3ea359b019ee999f725f8b70092e54f93fcee73 Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Tue, 17 Dec 2024 07:02:44 +0100
Subject: [PATCH 6/9] fix: remove useless try catch

---
 .../Zone/Card/ZoneDescriptorMenuItems.vue     | 22 +++++--------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue b/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue
index 22d5bcd5e..3c45700cb 100644
--- a/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue
+++ b/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue
@@ -16,24 +16,14 @@ const actions = {
     clone: async () => {
         const opts = { message: t('Zone cloned'), type: 'positive' };
 
-        try {
-            const { data } = await axios.post(`Zones/${zoneId}/clone`, {});
-            notify(opts);
-            push(`/zone/${data.id}/basic-data`);
-        } catch (e) {
-            opts.message = t('It was not able to clone the zone');
-            opts.type = 'negative';
-        }
+        const { data } = await axios.post(`Zones/${zoneId}/clone`, {});
+        notify(opts);
+        push(`/zone/${data.id}/basic-data`);
     },
     remove: async () => {
-        try {
-            await axios.post(`Zones/${zoneId}/deleteZone`);
-
-            notify({ message: t('Zone deleted'), type: 'positive' });
-            push({ name: 'ZoneList' });
-        } catch (e) {
-            notify({ message: e.message, type: 'negative' });
-        }
+        await axios.post(`Zones/${zoneId}/deleteZone`);
+        notify({ message: t('Zone deleted'), type: 'positive' });
+        push({ name: 'ZoneList' });
     },
 };
 function openConfirmDialog(callback) {

From 4ab3934da37ce04218cff749a51ace8251ad02f0 Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Tue, 17 Dec 2024 12:19:35 +0100
Subject: [PATCH 7/9] fix: hotfix mix

---
 src/pages/Item/ItemFixedPrice.vue         | 358 +++++++++++-----------
 src/pages/Supplier/SupplierListFilter.vue |   4 +-
 src/pages/Travel/Card/TravelSummary.vue   |  27 +-
 src/pages/Travel/TravelFilter.vue         |   4 +-
 src/pages/Travel/TravelList.vue           |  14 +-
 5 files changed, 203 insertions(+), 204 deletions(-)

diff --git a/src/pages/Item/ItemFixedPrice.vue b/src/pages/Item/ItemFixedPrice.vue
index 09fccfd6d..f44237020 100644
--- a/src/pages/Item/ItemFixedPrice.vue
+++ b/src/pages/Item/ItemFixedPrice.vue
@@ -361,7 +361,7 @@ function handleOnDataSave({ CrudModelRef }) {
         @on-fetch="(data) => (warehousesOptions = data)"
         auto-load
         url="Warehouses"
-        :filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
+        :filter="{ fields: ['id', 'name'], order: 'name ASC' }"
     />
     <RightMenu>
         <template #right-panel>
@@ -394,191 +394,185 @@ function handleOnDataSave({ CrudModelRef }) {
             />
         </template>
     </VnSubToolbar>
-    <QPage>
-        <VnTable
-            @on-fetch="
-                (data) =>
-                    data.forEach((item) => {
-                        item.hasMinPrice = `${item.hasMinPrice !== 0}`;
-                    })
-            "
-            :default-remove="false"
-            :default-reset="false"
-            :default-save="false"
-            data-key="ItemFixedPrices"
-            url="FixedPrices/filter"
-            :order="['itemFk DESC', 'name DESC']"
-            save-url="FixedPrices/crud"
-            ref="tableRef"
-            dense
-            :filter="{
-                where: {
-                    warehouseFk: user.warehouseFk,
-                },
-            }"
-            :columns="columns"
-            default-mode="table"
-            auto-load
-            :is-editable="true"
-            :right-search="false"
-            :table="{
-                'row-key': 'id',
-                selection: 'multiple',
-            }"
-            :crud-model="{
-                disableInfiniteScroll: true,
-            }"
-            v-model:selected="rowsSelected"
-            :create-as-dialog="false"
-            :create="{
-                onDataSaved: handleOnDataSave,
-            }"
-            :use-model="true"
-            :disable-option="{ card: true }"
-        >
-            <template #header-selection="scope">
-                <QCheckbox v-model="scope.selected" />
-            </template>
-            <template #body-selection="scope">
-                {{ scope }}
-                <QCheckbox flat v-model="scope.selected" />
-            </template>
+    <VnTable
+        @on-fetch="
+            (data) =>
+                data.forEach((item) => {
+                    item.hasMinPrice = `${item.hasMinPrice !== 0}`;
+                })
+        "
+        :default-remove="false"
+        :default-reset="false"
+        :default-save="false"
+        data-key="ItemFixedPrices"
+        url="FixedPrices/filter"
+        :order="['itemFk DESC', 'name DESC']"
+        save-url="FixedPrices/crud"
+        ref="tableRef"
+        dense
+        :filter="{
+            where: {
+                warehouseFk: user.warehouseFk,
+            },
+        }"
+        :columns="columns"
+        default-mode="table"
+        auto-load
+        :is-editable="true"
+        :right-search="false"
+        :table="{
+            'row-key': 'id',
+            selection: 'multiple',
+        }"
+        v-model:selected="rowsSelected"
+        :create-as-dialog="false"
+        :create="{
+            onDataSaved: handleOnDataSave,
+        }"
+        :disable-option="{ card: true }"
+    >
+        <template #header-selection="scope">
+            <QCheckbox v-model="scope.selected" />
+        </template>
+        <template #body-selection="scope">
+            {{ scope }}
+            <QCheckbox flat v-model="scope.selected" />
+        </template>
 
-            <template #column-itemFk="props">
-                <VnSelect
-                    style="max-width: 100px"
-                    url="Items/withName"
-                    hide-selected
-                    option-label="id"
-                    option-value="id"
-                    v-model="props.row.itemFk"
-                    v-on="getRowUpdateInputEvents(props, true, 'select')"
+        <template #column-itemFk="props">
+            <VnSelect
+                style="max-width: 100px"
+                url="Items/withName"
+                hide-selected
+                option-label="id"
+                option-value="id"
+                v-model="props.row.itemFk"
+                v-on="getRowUpdateInputEvents(props, true, 'select')"
+            >
+                <template #option="scope">
+                    <QItem v-bind="scope.itemProps">
+                        <QItemSection>
+                            <QItemLabel> #{{ scope.opt?.id }} </QItemLabel>
+                            <QItemLabel caption>{{ scope.opt?.name }}</QItemLabel>
+                        </QItemSection>
+                    </QItem>
+                </template>
+            </VnSelect>
+        </template>
+        <template #column-name="{ row }">
+            <span class="link">
+                {{ row.name }}
+            </span>
+            <span class="subName">{{ row.subName }}</span>
+            <ItemDescriptorProxy :id="row.itemFk" />
+            <FetchedTags :item="row" />
+        </template>
+        <template #column-rate2="props">
+            <QTd class="col">
+                <VnInput
+                    type="currency"
+                    style="width: 75px"
+                    v-model.number="props.row.rate2"
+                    v-on="getRowUpdateInputEvents(props)"
                 >
-                    <template #option="scope">
-                        <QItem v-bind="scope.itemProps">
-                            <QItemSection>
-                                <QItemLabel> #{{ scope.opt?.id }} </QItemLabel>
-                                <QItemLabel caption>{{ scope.opt?.name }}</QItemLabel>
-                            </QItemSection>
-                        </QItem>
-                    </template>
-                </VnSelect>
-            </template>
-            <template #column-name="{ row }">
-                <span class="link">
-                    {{ row.name }}
-                </span>
-                <span class="subName">{{ row.subName }}</span>
-                <ItemDescriptorProxy :id="row.itemFk" />
-                <FetchedTags :item="row" />
-            </template>
-            <template #column-rate2="props">
-                <QTd class="col">
-                    <VnInput
-                        type="currency"
-                        style="width: 75px"
-                        v-model.number="props.row.rate2"
-                        v-on="getRowUpdateInputEvents(props)"
-                    >
-                        <template #append>€</template>
-                    </VnInput>
-                </QTd>
-            </template>
-            <template #column-rate3="props">
-                <QTd class="col">
-                    <VnInput
-                        style="width: 75px"
-                        type="currency"
-                        v-model.number="props.row.rate3"
-                        v-on="getRowUpdateInputEvents(props)"
-                    >
-                        <template #append>€</template>
-                    </VnInput>
-                </QTd>
-            </template>
-            <template #column-minPrice="props">
-                <QTd class="col">
-                    <div class="row" style="align-items: center">
-                        <QCheckbox
-                            :model-value="props.row.hasMinPrice"
-                            @update:model-value="updateMinPrice($event, props)"
-                            :false-value="'false'"
-                            :true-value="'true'"
-                        />
-                        <VnInput
-                            class="col"
-                            type="currency"
-                            mask="###.##"
-                            :disable="props.row.hasMinPrice === 1"
-                            v-model.number="props.row.minPrice"
-                            v-on="getRowUpdateInputEvents(props)"
-                        >
-                            <template #append>€</template>
-                        </VnInput>
-                    </div>
-                </QTd>
-            </template>
-            <template #column-started="props">
-                <VnInputDate
-                    class="vnInputDate"
-                    :show-event="true"
-                    v-model="props.row.started"
-                    v-on="getRowUpdateInputEvents(props, false, 'date')"
-                    v-bind="dateStyle(isBigger(props.row.started))"
-                />
-            </template>
-            <template #column-ended="props">
-                <VnInputDate
-                    class="vnInputDate"
-                    :show-event="true"
-                    v-model="props.row.ended"
-                    v-on="getRowUpdateInputEvents(props, false, 'date')"
-                    v-bind="dateStyle(isLower(props.row.ended))"
-                />
-            </template>
-            <template #column-warehouseFk="props">
-                <QTd class="col">
-                    <VnSelect
-                        style="max-width: 150px"
-                        :options="warehousesOptions"
-                        hide-selected
-                        option-label="name"
-                        option-value="id"
-                        v-model="props.row.warehouseFk"
-                        v-on="getRowUpdateInputEvents(props, false, 'select')"
+                    <template #append>€</template>
+                </VnInput>
+            </QTd>
+        </template>
+        <template #column-rate3="props">
+            <QTd class="col">
+                <VnInput
+                    style="width: 75px"
+                    type="currency"
+                    v-model.number="props.row.rate3"
+                    v-on="getRowUpdateInputEvents(props)"
+                >
+                    <template #append>€</template>
+                </VnInput>
+            </QTd>
+        </template>
+        <template #column-minPrice="props">
+            <QTd class="col">
+                <div class="row" style="align-items: center">
+                    <QCheckbox
+                        :model-value="props.row.hasMinPrice"
+                        @update:model-value="updateMinPrice($event, props)"
+                        :false-value="'false'"
+                        :true-value="'true'"
                     />
-                </QTd>
-            </template>
-            <template #column-deleteAction="{ row, rowIndex }">
-                <QIcon
-                    name="delete"
-                    size="sm"
-                    class="cursor-pointer fill-icon-on-hover"
-                    color="primary"
-                    @click.stop="
-                        openConfirmationModal(
-                            t('globals.rowWillBeRemoved'),
-                            t('Do you want to clone this item?'),
-                            () => removePrice(row.id, rowIndex)
-                        )
-                    "
-                >
-                    <QTooltip class="text-no-wrap">
-                        {{ t('globals.delete') }}
-                    </QTooltip>
-                </QIcon>
-            </template>
-        </VnTable>
-
-        <QDialog ref="editTableCellDialogRef">
-            <EditTableCellValueForm
-                edit-url="FixedPrices/editFixedPrice"
-                :rows="rowsSelected"
-                :fields-options="editTableFieldsOptions"
-                @on-data-saved="onEditCellDataSaved()"
+                    <VnInput
+                        class="col"
+                        type="currency"
+                        mask="###.##"
+                        :disable="props.row.hasMinPrice === 1"
+                        v-model.number="props.row.minPrice"
+                        v-on="getRowUpdateInputEvents(props)"
+                    >
+                        <template #append>€</template>
+                    </VnInput>
+                </div>
+            </QTd>
+        </template>
+        <template #column-started="props">
+            <VnInputDate
+                class="vnInputDate"
+                :show-event="true"
+                v-model="props.row.started"
+                v-on="getRowUpdateInputEvents(props, false, 'date')"
+                v-bind="dateStyle(isBigger(props.row.started))"
             />
-        </QDialog>
-    </QPage>
+        </template>
+        <template #column-ended="props">
+            <VnInputDate
+                class="vnInputDate"
+                :show-event="true"
+                v-model="props.row.ended"
+                v-on="getRowUpdateInputEvents(props, false, 'date')"
+                v-bind="dateStyle(isLower(props.row.ended))"
+            />
+        </template>
+        <template #column-warehouseFk="props">
+            <QTd class="col">
+                <VnSelect
+                    style="max-width: 150px"
+                    :options="warehousesOptions"
+                    hide-selected
+                    option-label="name"
+                    option-value="id"
+                    v-model="props.row.warehouseFk"
+                    v-on="getRowUpdateInputEvents(props, false, 'select')"
+                />
+            </QTd>
+        </template>
+        <template #column-deleteAction="{ row, rowIndex }">
+            <QIcon
+                name="delete"
+                size="sm"
+                class="cursor-pointer fill-icon-on-hover"
+                color="primary"
+                @click.stop="
+                    openConfirmationModal(
+                        t('globals.rowWillBeRemoved'),
+                        t('Do you want to clone this item?'),
+                        () => removePrice(row.id, rowIndex)
+                    )
+                "
+            >
+                <QTooltip class="text-no-wrap">
+                    {{ t('globals.delete') }}
+                </QTooltip>
+            </QIcon>
+        </template>
+    </VnTable>
+
+    <QDialog ref="editTableCellDialogRef">
+        <EditTableCellValueForm
+            edit-url="FixedPrices/editFixedPrice"
+            :rows="rowsSelected"
+            :fields-options="editTableFieldsOptions"
+            @on-data-saved="onEditCellDataSaved()"
+        />
+    </QDialog>
 </template>
 <style lang="scss">
 .q-table th,
diff --git a/src/pages/Supplier/SupplierListFilter.vue b/src/pages/Supplier/SupplierListFilter.vue
index 7f838d3f5..b170a35cc 100644
--- a/src/pages/Supplier/SupplierListFilter.vue
+++ b/src/pages/Supplier/SupplierListFilter.vue
@@ -23,13 +23,13 @@ const countriesOptions = ref([]);
 <template>
     <FetchData
         url="Provinces"
-        :filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
+        :filter="{ fields: ['id', 'name'], order: 'name ASC'}"
         @on-fetch="(data) => (provincesOptions = data)"
         auto-load
     />
     <FetchData
         url="countries"
-        :filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
+        :filter="{ fields: ['id', 'name'], order: 'name ASC'}"
         @on-fetch="(data) => (countriesOptions = data)"
         auto-load
     />
diff --git a/src/pages/Travel/Card/TravelSummary.vue b/src/pages/Travel/Card/TravelSummary.vue
index be1a12406..cfc082ad9 100644
--- a/src/pages/Travel/Card/TravelSummary.vue
+++ b/src/pages/Travel/Card/TravelSummary.vue
@@ -8,7 +8,7 @@ import VnLv from 'src/components/ui/VnLv.vue';
 import VnTitle from 'src/components/common/VnTitle.vue';
 import EntryDescriptorProxy from 'src/pages/Entry/Card/EntryDescriptorProxy.vue';
 import FetchData from 'src/components/FetchData.vue';
-
+import VnRow from 'components/ui/VnRow.vue';
 import { toDate, toCurrency } from 'src/filters';
 import axios from 'axios';
 
@@ -256,16 +256,20 @@ const getLink = (param) => `#/travel/${entityId.value}/${param}`;
                     :label="t('globals.warehouseOut')"
                     :value="travel.warehouseOut?.name"
                 />
-                <QCheckbox
-                    :label="t('travel.basicData.isRaid')"
-                    v-model="travel.isRaid"
-                    :disable="true"
-                />
-                <QCheckbox
-                    :label="t('travel.summary.delivered')"
-                    v-model="travel.isDelivered"
-                    :disable="true"
-                />
+                <VnRow>
+                    <QCheckbox
+                        :label="t('travel.basicData.isRaid')"
+                        v-model="travel.isRaid"
+                        :disable="true"
+                    />
+                </VnRow>
+                <VnRow>
+                    <QCheckbox
+                        :label="t('travel.summary.delivered')"
+                        v-model="travel.isDelivered"
+                        :disable="true"
+                    />
+                </VnRow>
             </QCard>
             <QCard class="vn-one">
                 <QCardSection class="q-pa-none">
@@ -320,7 +324,6 @@ const getLink = (param) => `#/travel/${entityId.value}/${param}`;
                         <QTd>
                             <QCheckbox
                                 v-if="col.name === 'isConfirmed'"
-                                :label="t('travel.summary.received')"
                                 :true-value="1"
                                 :false-value="0"
                                 v-model="row[col.name]"
diff --git a/src/pages/Travel/TravelFilter.vue b/src/pages/Travel/TravelFilter.vue
index 1ac83b9e0..31e1e9373 100644
--- a/src/pages/Travel/TravelFilter.vue
+++ b/src/pages/Travel/TravelFilter.vue
@@ -33,6 +33,7 @@ defineExpose({ states });
         </template>
         <template #body="{ params, searchFn }">
             <div class="q-pa-sm q-gutter-y-sm">
+                {{ params }}
                 <VnInput
                     :label="t('travel.Id')"
                     v-model="params.id"
@@ -77,7 +78,6 @@ defineExpose({ states });
                     :label="t('travel.shipped')"
                     v-model="params.shipped"
                     @update:model-value="searchFn()"
-                    dense
                     outlined
                     rounded
                 />
@@ -153,7 +153,7 @@ es:
         Id: Id
         ref: Referencia
         agency: Agencia
-        warehouseInFk: Alm.Salida
+        warehouseInFk: Alm.Entrada
         shipped: F.Envío
         shipmentHour: Hora de envío
         warehouseOut: Alm.Entrada
diff --git a/src/pages/Travel/TravelList.vue b/src/pages/Travel/TravelList.vue
index 0e69250a8..70e81aae2 100644
--- a/src/pages/Travel/TravelList.vue
+++ b/src/pages/Travel/TravelList.vue
@@ -54,7 +54,9 @@ const columns = computed(() => [
         name: 'id',
         label: t('globals.id'),
         isId: true,
-        cardVisible: true,
+        chip: {
+            condition: () => true,
+        },
     },
     {
         align: 'left',
@@ -64,7 +66,7 @@ const columns = computed(() => [
         columnField: {
             component: null,
         },
-        cardVisible: true,
+        isTitle: true,
         create: true,
     },
     {
@@ -103,14 +105,14 @@ const columns = computed(() => [
     },
     {
         align: 'left',
-        name: 'shipped',
         label: t('globals.shipped'),
+        name: 'shipped',
+        create: true,
+        cardVisible: true,
         component: 'date',
         columnField: {
             component: null,
         },
-        cardVisible: true,
-        create: true,
         format: (row, dashIfEmpty) => dashIfEmpty(toDate(row.shipped)),
     },
     {
@@ -201,7 +203,7 @@ const columns = computed(() => [
     />
     <RightMenu>
         <template #right-panel>
-            <TravelFilter data-key="TravelList" ref="travelFilterRef" />
+            <TravelFilter data-key="TravelList" />
         </template>
     </RightMenu>
     <VnTable

From 5eb842f1b4bf8743fadce9873847aaa9e15ac847 Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Tue, 17 Dec 2024 12:25:57 +0100
Subject: [PATCH 8/9] fix: remove params

---
 src/pages/Travel/TravelFilter.vue | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/pages/Travel/TravelFilter.vue b/src/pages/Travel/TravelFilter.vue
index 31e1e9373..287ac5ad2 100644
--- a/src/pages/Travel/TravelFilter.vue
+++ b/src/pages/Travel/TravelFilter.vue
@@ -33,7 +33,6 @@ defineExpose({ states });
         </template>
         <template #body="{ params, searchFn }">
             <div class="q-pa-sm q-gutter-y-sm">
-                {{ params }}
                 <VnInput
                     :label="t('travel.Id')"
                     v-model="params.id"

From 646efe52ff465201fdd942fd859c67ef0576e509 Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Tue, 17 Dec 2024 13:04:00 +0100
Subject: [PATCH 9/9] fix: fix use-model

---
 src/pages/Item/ItemFixedPrice.vue | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/pages/Item/ItemFixedPrice.vue b/src/pages/Item/ItemFixedPrice.vue
index f44237020..5ebf8a477 100644
--- a/src/pages/Item/ItemFixedPrice.vue
+++ b/src/pages/Item/ItemFixedPrice.vue
@@ -424,6 +424,7 @@ function handleOnDataSave({ CrudModelRef }) {
             'row-key': 'id',
             selection: 'multiple',
         }"
+        :use-model="true"
         v-model:selected="rowsSelected"
         :create-as-dialog="false"
         :create="{