From a6ac9c9d3f21f39e81dcf6d04289ac4eccd78ef6 Mon Sep 17 00:00:00 2001 From: Jon <jon@verdnatura.es> Date: Fri, 3 Jan 2025 08:12:50 +0100 Subject: [PATCH] refactor: item fixedPrice --- src/pages/Item/Card/ItemDiary.vue | 2 +- src/pages/Item/ItemFixedPrice.vue | 26 ++++++++------------------ 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/pages/Item/Card/ItemDiary.vue b/src/pages/Item/Card/ItemDiary.vue index b94ff9255..96a003a09 100644 --- a/src/pages/Item/Card/ItemDiary.vue +++ b/src/pages/Item/Card/ItemDiary.vue @@ -233,7 +233,7 @@ async function updateWarehouse(warehouseFk) { </div> </template> </VnSubToolbar> - <QPage class="column items-center q-pa-md"> + <QPage class="column items-center"> <QTable :rows="itemBalances" :columns="columns" diff --git a/src/pages/Item/ItemFixedPrice.vue b/src/pages/Item/ItemFixedPrice.vue index 74403d471..422adf55b 100644 --- a/src/pages/Item/ItemFixedPrice.vue +++ b/src/pages/Item/ItemFixedPrice.vue @@ -53,7 +53,6 @@ const columns = computed(() => [ name: 'itemFk', ...defaultColumnAttrs, isId: true, - cardVisible: true, columnField: { component: 'input', type: 'number', @@ -65,14 +64,12 @@ const columns = computed(() => [ name: 'name', ...defaultColumnAttrs, create: true, - cardVisible: true, }, { label: t('item.fixedPrice.groupingPrice'), field: 'rate2', name: 'rate2', ...defaultColumnAttrs, - cardVisible: true, component: 'input', type: 'number', }, @@ -81,7 +78,6 @@ const columns = computed(() => [ field: 'rate3', name: 'rate3', ...defaultColumnAttrs, - cardVisible: true, component: 'input', type: 'number', }, @@ -91,7 +87,6 @@ const columns = computed(() => [ field: 'minPrice', name: 'minPrice', ...defaultColumnAttrs, - cardVisible: true, component: 'input', type: 'number', }, @@ -100,7 +95,6 @@ const columns = computed(() => [ field: 'started', name: 'started', format: ({ started }) => toDate(started), - cardVisible: true, ...defaultColumnAttrs, columnField: { component: 'date', @@ -116,7 +110,6 @@ const columns = computed(() => [ field: 'ended', name: 'ended', ...defaultColumnAttrs, - cardVisible: true, columnField: { component: 'date', class: 'shrink', @@ -251,11 +244,14 @@ const upsertPrice = async (props, resetMinPrice = false) => { } if (!changes.updates && !changes.creates) return; const data = await upsertFixedPrice(row); - tableRef.value.CrudModelRef.formData[props.rowIndex] = data; + Object.assign(tableRef.value.CrudModelRef.formData[props.rowIndex], data); + notify(t('globals.dataSaved'), 'positive'); + tableRef.value.reload(); }; async function upsertFixedPrice(row) { const { data } = await axios.patch('FixedPrices/upsertFixedPrice', row); + data.hasMinPrice = data.hasMinPrice ? 1 : 0; return data; } @@ -395,18 +391,11 @@ function handleOnDataSave({ CrudModelRef }) { </template> </VnSubToolbar> <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 @@ -498,14 +487,15 @@ function handleOnDataSave({ CrudModelRef }) { <QCheckbox :model-value="props.row.hasMinPrice" @update:model-value="updateMinPrice($event, props)" - :false-value="'false'" - :true-value="'true'" + :false-value="0" + :true-value="1" + :toggle-indeterminate="false" /> <VnInput class="col" type="currency" mask="###.##" - :disable="props.row.hasMinPrice === 1" + :disable="props.row.hasMinPrice === 0" v-model.number="props.row.minPrice" v-on="getRowUpdateInputEvents(props)" >