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="{