fix: refs #7248 update user filter property name in VehicleNotes component
gitea/salix-front/pipeline/pr-dev This commit is unstable Details

This commit is contained in:
Alex Moreno 2025-05-07 15:04:02 +02:00
parent 7dd6cc71e2
commit 5bb452186e
2 changed files with 50 additions and 23 deletions

View File

@ -35,6 +35,7 @@ const $props = defineProps({
selectType: { type: Boolean, default: false },
justInput: { type: Boolean, default: false },
goTo: { type: String, default: '' },
useUserRelation: { type: Boolean, default: true },
});
const { t } = useI18n();
@ -54,6 +55,26 @@ const defaultObservationType = computed(
let savedNote = false;
let originalText;
onBeforeRouteLeave((to, from, next) => {
if (
(newNote.text && !$props.justInput) ||
(newNote.text !== originalText && $props.justInput)
)
quasar.dialog({
component: VnConfirm,
componentProps: {
title: t('globals.unsavedPopup.title'),
message: t('globals.unsavedPopup.subtitle'),
promise: () => next(),
},
});
else next();
});
onMounted(() => {
nextTick(() => (componentIsRendered.value = true));
});
function handleClick(e) {
if (e.shiftKey && e.key === 'Enter') return;
if ($props.justInput) confirmAndUpdate();
@ -108,22 +129,6 @@ async function update() {
);
}
onBeforeRouteLeave((to, from, next) => {
if (
(newNote.text && !$props.justInput) ||
(newNote.text !== originalText && $props.justInput)
)
quasar.dialog({
component: VnConfirm,
componentProps: {
title: t('globals.unsavedPopup.title'),
message: t('globals.unsavedPopup.subtitle'),
promise: () => next(),
},
});
else next();
});
function fetchData([data]) {
newNote.text = data?.notes;
originalText = data?.notes;
@ -137,16 +142,38 @@ const handleObservationTypes = (data) => {
}
};
onMounted(() => {
nextTick(() => (componentIsRendered.value = true));
});
async function saveAndGo() {
savedNote = false;
await insert();
await savedNote;
router.push({ path: $props.goTo });
}
function getUserFilter() {
const newUserFilter = $props.userFilter ?? {};
const userInclude = {
relation: 'user',
scope: {
fields: ['id', 'nickname', 'name'],
},
};
if (newUserFilter.include) {
if (Array.isArray(newUserFilter.include)) {
newUserFilter.include.push(userInclude);
} else {
newUserFilter.include = [userInclude, newUserFilter.include];
}
} else {
newUserFilter.include = userInclude;
}
if ($props.useUserRelation) {
return {
...newUserFilter,
...$props.userFilter,
};
}
return $props.filter;
}
</script>
<template>
<Teleport
@ -242,7 +269,7 @@ async function saveAndGo() {
:url="$props.url"
order="created DESC"
:limit="0"
:user-filter="userFilter"
:user-filter="getUserFilter()"
:filter="filter"
auto-load
ref="vnPaginateRef"

View File

@ -18,7 +18,7 @@ const noteFilter = computed(() => {
const body = {
vehicleFk: vehicleId.value,
workerFk: user.value.id,
userFk: user.value.id,
};
</script>