7383-testToMaster #370
|
@ -78,11 +78,23 @@ watch(
|
|||
);
|
||||
|
||||
const isLoading = ref(false);
|
||||
function eliminarPropiedadesNull(objeto) {
|
||||
for (let clave in objeto) {
|
||||
if (objeto[clave] === null) {
|
||||
delete objeto[clave];
|
||||
}
|
||||
}
|
||||
return objeto;
|
||||
}
|
||||
|
||||
async function search() {
|
||||
isLoading.value = true;
|
||||
const objetoSinNull = eliminarPropiedadesNull(userParams.value);
|
||||
userParams.value = objetoSinNull;
|
||||
const params = { ...userParams.value };
|
||||
if (Object.entries(params).length > 0) store.exprBuilder = props.exprBuilder;
|
||||
|
||||
else delete store.filter.where;
|
||||
store.userParams = userParams.value;
|
||||
store.userParamsChanged = true;
|
||||
store.filter.skip = 0;
|
||||
store.skip = 0;
|
||||
|
@ -146,25 +158,26 @@ const customTags = computed(() =>
|
|||
tagsList.value.filter((tag) => (props.customTags || []).includes(tag.label))
|
||||
);
|
||||
|
||||
watch(tags, (now, before) => {
|
||||
if (now.length < before.length) {
|
||||
const beforeMap = before.map(({ label }) => label);
|
||||
const nowMap = now.map(({ label }) => label);
|
||||
const key = beforeMap.filter((elemento) => !nowMap.includes(elemento))[0];
|
||||
remove(key ?? beforeMap[0]);
|
||||
}
|
||||
console.error('');
|
||||
});
|
||||
// watch(tags, (now, before) => {
|
||||
// if (now.length < before.length) {
|
||||
// const beforeMap = before.map(({ label }) => label);
|
||||
// const nowMap = now.map(({ label }) => label);
|
||||
// const key = beforeMap.filter((elemento) => !nowMap.includes(elemento))[0];
|
||||
// remove(key ?? beforeMap[0]);
|
||||
// }
|
||||
// console.error('');
|
||||
// });
|
||||
|
||||
async function remove(key) {
|
||||
// userParams.value[key] = null;
|
||||
delete userParams.value[key];
|
||||
if (Object.entries(userParams.value).length === 0) {
|
||||
store.exprBuilder = null;
|
||||
delete store.filter.where;
|
||||
} else {
|
||||
store.exprBuilder = props.exprBuilder;
|
||||
}
|
||||
if (userParams.value[key]) delete userParams.value[key];
|
||||
// if (Object.entries(userParams.value).length === 0) {
|
||||
// store.exprBuilder = null;
|
||||
// delete store.filter.where;
|
||||
// }
|
||||
// else {
|
||||
// store.exprBuilder = props.exprBuilder;
|
||||
// }
|
||||
await search();
|
||||
emit('remove', key);
|
||||
}
|
||||
|
|
|
@ -24,17 +24,10 @@ const redirectToItemTypeSummary = (id) => {
|
|||
const redirectToCreateView = () => {
|
||||
router.push({ name: 'ItemTypeCreate' });
|
||||
};
|
||||
const exprBuilder = (param, value) => {
|
||||
switch (param) {
|
||||
case 'name':
|
||||
case 'code':
|
||||
case 'search':
|
||||
return {
|
||||
const exprBuilder = (param, value) => ({
|
||||
name: { like: `%${value}%` },
|
||||
code: { like: `%${value}%` },
|
||||
};
|
||||
}
|
||||
};
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
|
@ -29,22 +29,12 @@ const emit = defineEmits(['search']);
|
|||
<template #body="{ params }">
|
||||
<QItem>
|
||||
<QItemSection>
|
||||
<VnInput
|
||||
@update:model-value="emit('search')"
|
||||
:label="t('Name')"
|
||||
v-model="params.name"
|
||||
is-outlined
|
||||
/>
|
||||
<VnInput :label="t('Name')" v-model="params.name" is-outlined />
|
||||
</QItemSection>
|
||||
</QItem>
|
||||
<QItem>
|
||||
<QItemSection>
|
||||
<VnInput
|
||||
@update:model-value="emit('search')"
|
||||
v-model="params.code"
|
||||
:label="t('Code')"
|
||||
is-outlined
|
||||
/>
|
||||
<VnInput v-model="params.code" :label="t('Code')" is-outlined />
|
||||
</QItemSection>
|
||||
</QItem>
|
||||
</template>
|
||||
|
|
Loading…
Reference in New Issue