0
0
Fork 0

Merge branch 'dev' into 7283-itemMigration

This commit is contained in:
Carlos Satorres 2024-10-25 07:08:16 +00:00
commit 0cb5f34b15
4 changed files with 94 additions and 7 deletions

View File

@ -151,8 +151,8 @@ const tableModes = [
}, },
]; ];
onBeforeMount(() => { onBeforeMount(() => {
setUserParams(route.query[$props.searchUrl]); const urlParams = route.query[$props.searchUrl];
hasParams.value = params.value && Object.keys(params.value).length !== 0; hasParams.value = urlParams && Object.keys(urlParams).length !== 0;
}); });
onMounted(() => { onMounted(() => {
@ -185,7 +185,8 @@ watch(
watch( watch(
() => route.query[$props.searchUrl], () => route.query[$props.searchUrl],
(val) => setUserParams(val) (val) => setUserParams(val),
{ immediate: true, deep: true }
); );
const isTableMode = computed(() => mode.value == TABLE_MODE); const isTableMode = computed(() => mode.value == TABLE_MODE);

View File

@ -9,6 +9,8 @@ import { useQuasar } from 'quasar';
import VnTable from 'components/VnTable/VnTable.vue'; import VnTable from 'components/VnTable/VnTable.vue';
import VnSearchbar from 'components/ui/VnSearchbar.vue'; import VnSearchbar from 'components/ui/VnSearchbar.vue';
import VnConfirm from 'components/ui/VnConfirm.vue'; import VnConfirm from 'components/ui/VnConfirm.vue';
import FetchData from 'src/components/FetchData.vue';
import { useValidator } from 'src/composables/useValidator';
defineProps({ defineProps({
id: { id: {
@ -23,11 +25,18 @@ const stateStore = useStateStore();
const quasar = useQuasar(); const quasar = useQuasar();
const tableRef = ref(); const tableRef = ref();
const roles = ref();
const validationsStore = useValidator();
const { models } = validationsStore;
const exprBuilder = (param, value) => { const exprBuilder = (param, value) => {
switch (param) { switch (param) {
case 'search': case 'search':
return { model: { like: `%${value}%` } }; return {
or: [
{ model: { like: `%${value}%` } },
{ property: { like: `%${value}%` } },
],
};
default: default:
return { [param]: value }; return { [param]: value };
} }
@ -47,6 +56,13 @@ const columns = computed(() => [
label: t('model'), label: t('model'),
cardVisible: true, cardVisible: true,
create: true, create: true,
columnCreate: {
label: t('model'),
component: 'select',
attrs: {
options: Object.keys(models),
},
},
}, },
{ {
align: 'left', align: 'left',
@ -55,9 +71,10 @@ const columns = computed(() => [
cardVisible: true, cardVisible: true,
component: 'select', component: 'select',
attrs: { attrs: {
url: 'VnRoles', options: roles,
optionLabel: 'name', optionLabel: 'name',
optionValue: 'name', optionValue: 'name',
inputDebounce: 0,
}, },
create: true, create: true,
}, },
@ -130,6 +147,11 @@ const deleteAcl = async ({ id }) => {
/> />
<QDrawer v-model="stateStore.rightDrawer" side="right" :width="256" show-if-above> <QDrawer v-model="stateStore.rightDrawer" side="right" :width="256" show-if-above>
</QDrawer> </QDrawer>
<FetchData
url="VnRoles?fields=['name']"
auto-load
@on-fetch="(data) => (roles = data)"
/>
<VnTable <VnTable
ref="tableRef" ref="tableRef"
data-key="AccountAcls" data-key="AccountAcls"

View File

@ -33,6 +33,7 @@ const rolesOptions = ref([]);
:search-button="true" :search-button="true"
:hidden-tags="['search']" :hidden-tags="['search']"
:redirect="false" :redirect="false"
search-url="table"
> >
<template #tags="{ tag, formatFn }"> <template #tags="{ tag, formatFn }">
<div class="q-gutter-x-xs"> <div class="q-gutter-x-xs">

View File

@ -23,7 +23,6 @@ const columns = [
return { return {
id: row.id, id: row.id,
size: '50x50', size: '50x50',
width: '50px',
}; };
}, },
}, },
@ -34,21 +33,37 @@ const columns = [
label: t('entry.latestBuys.tableVisibleColumns.itemFk'), label: t('entry.latestBuys.tableVisibleColumns.itemFk'),
name: 'itemFk', name: 'itemFk',
isTitle: true, isTitle: true,
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.packing'), label: t('entry.latestBuys.tableVisibleColumns.packing'),
name: 'packing', name: 'packing',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.grouping'), label: t('entry.latestBuys.tableVisibleColumns.grouping'),
name: 'grouping', name: 'grouping',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.quantity'), label: t('entry.latestBuys.tableVisibleColumns.quantity'),
name: 'quantity', name: 'quantity',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
@ -59,6 +74,10 @@ const columns = [
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.size'), label: t('entry.latestBuys.tableVisibleColumns.size'),
name: 'size', name: 'size',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
@ -84,6 +103,10 @@ const columns = [
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.weightByPiece'), label: t('entry.latestBuys.tableVisibleColumns.weightByPiece'),
name: 'weightByPiece', name: 'weightByPiece',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
@ -99,26 +122,46 @@ const columns = [
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.entryFk'), label: t('entry.latestBuys.tableVisibleColumns.entryFk'),
name: 'entryFk', name: 'entryFk',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.buyingValue'), label: t('entry.latestBuys.tableVisibleColumns.buyingValue'),
name: 'buyingValue', name: 'buyingValue',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.freightValue'), label: t('entry.latestBuys.tableVisibleColumns.freightValue'),
name: 'freightValue', name: 'freightValue',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.comissionValue'), label: t('entry.latestBuys.tableVisibleColumns.comissionValue'),
name: 'comissionValue', name: 'comissionValue',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.packageValue'), label: t('entry.latestBuys.tableVisibleColumns.packageValue'),
name: 'packageValue', name: 'packageValue',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
@ -129,16 +172,28 @@ const columns = [
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.price2'), label: t('entry.latestBuys.tableVisibleColumns.price2'),
name: 'price2', name: 'price2',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.price3'), label: t('entry.latestBuys.tableVisibleColumns.price3'),
name: 'price3', name: 'price3',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.minPrice'), label: t('entry.latestBuys.tableVisibleColumns.minPrice'),
name: 'minPrice', name: 'minPrice',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
@ -149,11 +204,19 @@ const columns = [
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.weight'), label: t('entry.latestBuys.tableVisibleColumns.weight'),
name: 'weight', name: 'weight',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.packagingFk'), label: t('entry.latestBuys.tableVisibleColumns.packagingFk'),
name: 'packagingFk', name: 'packagingFk',
columnFilter: {
component: 'number',
inWhere: true,
},
}, },
{ {
align: 'left', align: 'left',