From d734674eb6c47c6e9af6a2954c69880a2a7293df Mon Sep 17 00:00:00 2001
From: Javier Segarra <jsegarra@verdnatura.es>
Date: Tue, 10 Sep 2024 00:18:09 +0200
Subject: [PATCH] fix: minor changes

---
 src/pages/Item/ItemFixedPrice.vue | 149 ++++++++++++++----------------
 1 file changed, 67 insertions(+), 82 deletions(-)

diff --git a/src/pages/Item/ItemFixedPrice.vue b/src/pages/Item/ItemFixedPrice.vue
index 1d7a30dee..d91b5189e 100644
--- a/src/pages/Item/ItemFixedPrice.vue
+++ b/src/pages/Item/ItemFixedPrice.vue
@@ -212,15 +212,6 @@ const editTableFieldsOptions = [
             type: 'number',
         },
     },
-    {
-        field: 'hasMinPrice',
-        label: t('item.fixedPrice.hasMinPrice'),
-        component: 'checkbox',
-        attrs: {
-            'false-value': 0,
-            'true-value': 1,
-        },
-    },
     {
         field: 'started',
         label: t('item.fixedPrice.started'),
@@ -286,8 +277,7 @@ async function upsertFixedPrice(row) {
 async function saveOnRowChange(row) {
     if (rowsSelected.value.length > 1) return;
     if (rowsSelected.value[0]?.id === row.id) return;
-    else if (rowsSelected.value.length === 1)
-        await upsertFixedPrice(rowsSelected.value[0]);
+    else if (rowsSelected.value.length === 1) await upsertPrice(rowsSelected.value[0]);
     rowsSelected.value = [row];
 }
 
@@ -457,6 +447,12 @@ function handleOnDataSave({ CrudModelRef }) {
     </VnSubToolbar>
     <QPage>
         <VnTable
+            @on-fetch="
+                (data) =>
+                    data.forEach((item) => {
+                        item.hasMinPrice = `${item.hasMinPrice !== 0}`;
+                    })
+            "
             :default-remove="false"
             :default-reset="false"
             :default-save="false"
@@ -497,26 +493,24 @@ function handleOnDataSave({ CrudModelRef }) {
             </template>
 
             <template #column-itemId="props">
-                <QTd>
-                    <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>
-                </QTd>
+                <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-description="{ row }">
                 <span class="link">
@@ -527,26 +521,22 @@ function handleOnDataSave({ CrudModelRef }) {
                 <FetchedTags style="width: max-content; max-width: 220px" :item="row" />
             </template>
             <template #column-rate2="props">
-                <QTd class="col">
-                    <VnInput
-                        mask="###.##"
-                        v-model.number="props.row.rate2"
-                        v-on="getRowUpdateInputEvents(props)"
-                    >
-                        <template #append>€</template>
-                    </VnInput>
-                </QTd>
+                <VnInput
+                    mask="###.##"
+                    v-model.number="props.row.rate2"
+                    v-on="getRowUpdateInputEvents(props)"
+                >
+                    <template #append>€</template>
+                </VnInput>
             </template>
             <template #column-rate3="props">
-                <QTd class="col">
-                    <VnInput
-                        mask="###.##"
-                        v-model.number="props.row.rate3"
-                        v-on="getRowUpdateInputEvents(props)"
-                    >
-                        <template #append>€</template>
-                    </VnInput>
-                </QTd>
+                <VnInput
+                    mask="###.##"
+                    v-model.number="props.row.rate3"
+                    v-on="getRowUpdateInputEvents(props)"
+                >
+                    <template #append>€</template>
+                </VnInput>
             </template>
             <template #column-minPrice="props">
                 <QTd class="col">
@@ -554,12 +544,11 @@ function handleOnDataSave({ CrudModelRef }) {
                         <QCheckbox
                             :model-value="props.row.hasMinPrice"
                             @update:model-value="updateMinPrice($event, props)"
-                            :false-value="0"
-                            :true-value="1"
+                            :false-value="'false'"
+                            :true-value="'true'"
                         />
                         <VnInput
                             class="col"
-                            mask="###.##"
                             :disable="props.row.hasMinPrice === 1"
                             v-model.number="props.row.minPrice"
                             v-on="getRowUpdateInputEvents(props)"
@@ -588,38 +577,34 @@ function handleOnDataSave({ CrudModelRef }) {
                 />
             </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>
+                <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>
             <template #column-deleteAction="{ row, rowIndex }">
-                <QTd class="col">
-                    <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>
-                </QTd>
+                <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>