feature/EntriesCorrections #177

Merged
alexm merged 24 commits from :feature/EntriesCorrections into dev 2024-02-07 06:44:33 +00:00
1 changed files with 37 additions and 52 deletions
Showing only changes of commit 2de02723ba - Show all commits

View File

@ -27,28 +27,24 @@ const rowsSelected = ref([]);
const entryBuysPaginateRef = ref(null);
const packagingsOptions = ref(null);
const originalRowDataCopy = ref(null);
const tableColumnComponents = computed(() => ({
const tableColumnComponents = {
item: {
component: () => 'span',
component: 'span',
jsegarra marked this conversation as resolved Outdated

Intuyo que esta es la configuración de la columna Articulo de la tabla para entry/:id/buys
Falta itemDescriptor

Intuyo que esta es la configuración de la columna Articulo de la tabla para entry/:id/buys Falta itemDescriptor

Aplicado.

Commit: 0525f5fdd8

Aplicado. Commit: https://gitea.verdnatura.es/verdnatura/salix-front/commit/0525f5fdd80c41bb44b63969b229e4137d324ce6
props: () => {},
event: () => ({}),
},
quantity: {
component: () => VnInput,
component: VnInput,
props: (col) => ({
type: 'number',
min: 0,
label: col.label,
class: 'input-number',
}),
event: (colField, props) => ({
'keyup.enter': () => saveChange(colField, props),
blur: () => saveChange(colField, props),
}),
event: (colField, props) => getInputEvents(colField, props),
},
jsegarra marked this conversation as resolved Outdated

8 veces el mismo código para keyenter y blur.
Propuesta, sustituir las ocurrencias por uno genérico

8 veces el mismo código para keyenter y blur. Propuesta, sustituir las ocurrencias por uno genérico

Commit cambios: 2de02723ba

Commit cambios: https://gitea.verdnatura.es/verdnatura/salix-front/commit/2de02723baa04064fbf8817dc55b7af7cbf18d26

Nueva mejora aplicada.

Commit: 5da5bb2047

Nueva mejora aplicada. Commit: https://gitea.verdnatura.es/verdnatura/salix-front/commit/5da5bb204707ac7e0909be1cdc87a689366e17a7
packagingFk: {
component: () => VnSelectFilter,
component: VnSelectFilter,
props: () => ({
'option-value': 'id',
'option-label': 'id',
@ -58,101 +54,78 @@ const tableColumnComponents = computed(() => ({
'hide-selected': true,
options: packagingsOptions.value,
}),
event: (colField, props) => ({
'update:modelValue': () => saveChange(colField, props),
}),
event: (colField, props) => getInputEvents(colField, props),
},
stickers: {
component: () => VnInput,
component: VnInput,
props: (col) => ({
type: 'number',
min: 0,
label: col.label,
class: 'input-number',
}),
event: (colField, props) => ({
'keyup.enter': () => saveChange(colField, props),
blur: () => saveChange(colField, props),
}),
event: (colField, props) => getInputEvents(colField, props),
},
weight: {
component: () => VnInput,
component: VnInput,
props: (col) => ({
type: 'number',
min: 0,
label: col.label,
}),
event: (colField, props) => ({
'keyup.enter': () => saveChange(colField, props),
blur: () => saveChange(colField, props),
}),
event: (colField, props) => getInputEvents(colField, props),
},
packing: {
component: () => VnInput,
component: VnInput,
props: (col) => ({
type: 'number',
min: 0,
label: col.label,
}),
event: (colField, props) => ({
'keyup.enter': () => saveChange(colField, props),
blur: () => saveChange(colField, props),
}),
event: (colField, props) => getInputEvents(colField, props),
},
grouping: {
component: () => VnInput,
component: VnInput,
props: (col) => ({
type: 'number',
min: 0,
label: col.label,
}),
event: (colField, props) => ({
'keyup.enter': () => saveChange(colField, props),
blur: () => saveChange(colField, props),
}),
event: (colField, props) => getInputEvents(colField, props),
},
buyingValue: {
component: () => VnInput,
component: VnInput,
props: (col) => ({
type: 'number',
min: 0,
label: col.label,
}),
event: (colField, props) => ({
'keyup.enter': () => saveChange(colField, props),
blur: () => saveChange(colField, props),
}),
event: (colField, props) => getInputEvents(colField, props),
},
price2: {
component: () => VnInput,
component: VnInput,
props: (col) => ({
type: 'number',
min: 0,
label: col.label,
}),
event: (colField, props) => ({
'keyup.enter': () => saveChange(colField, props),
blur: () => saveChange(colField, props),
}),
event: (colField, props) => getInputEvents(colField, props),
},
price3: {
component: () => VnInput,
component: VnInput,
props: (col) => ({
type: 'number',
min: 0,
label: col.label,
}),
event: (colField, props) => ({
'keyup.enter': () => saveChange(colField, props),
blur: () => saveChange(colField, props),
}),
event: (colField, props) => getInputEvents(colField, props),
},
import: {
component: () => 'span',
component: 'span',
props: () => {},
event: () => ({}),
},
}));
};
const entriesTableColumns = computed(() => {
return [
@ -231,6 +204,15 @@ const copyOriginalRowsData = (rows) => {
originalRowDataCopy.value = JSON.parse(JSON.stringify(rows));
};
const getInputEvents = (colField, props) => {
return colField === 'packagingFk'
? { 'update:modelValue': () => saveChange(colField, props) }
: {
'keyup.enter': () => saveChange(colField, props),
blur: () => saveChange(colField, props),
};
};
const saveChange = async (field, { rowIndex, row }) => {
try {
if (originalRowDataCopy.value[rowIndex][field] == row[field]) return;
@ -352,7 +334,7 @@ const showLockIcon = (groupingMode, mode) => {
</QTd>
jsegarra marked this conversation as resolved Outdated

Podemos hacer desaprecer los labels de los inputs, como está hecho para embalaje.
Queda redundante tener el nombre de la columna en el input.

¿Que opinas @alexm ?

Podemos hacer desaprecer los labels de los inputs, como está hecho para embalaje. Queda redundante tener el nombre de la columna en el input. ¿Que opinas @alexm ?
Outdated
Review

Sii es un mejor enfoque

Sii es un mejor enfoque

Aplicado.

Commit: 86bbc7cfd6

Aplicado. Commit: https://gitea.verdnatura.es/verdnatura/salix-front/commit/86bbc7cfd679b948046d913aa368f2bda8b276fb
<QTd v-for="col in props.cols" :key="col.name">
<component
:is="tableColumnComponents[col.name].component()"
:is="tableColumnComponents[col.name].component"
v-bind="tableColumnComponents[col.name].props(col)"
v-model="props.row[col.field]"
v-on="
@ -426,13 +408,16 @@ const showLockIcon = (groupingMode, mode) => {
<QList dense>
<QItem v-for="col in props.cols" :key="col.name">
<component
:is="tableColumnComponents[col.name].component()"
:is="tableColumnComponents[col.name].component"
v-bind="
tableColumnComponents[col.name].props(col)
"
v-model="props.row[col.field]"
v-on="
tableColumnComponents[col.name].event(props)
tableColumnComponents[col.name].event(
col.field,
props
)
"
class="full-width"
>