Merge branch '8193-AddFilterInClientNotes' of https: refs #8193//gitea.verdnatura.es/verdnatura/salix-front into 8193-AddFilterInClientNotes
gitea/salix-front/pipeline/pr-dev This commit is unstable Details

This commit is contained in:
Jon Elias 2025-05-12 11:08:22 +02:00
commit d4f4f03485
2 changed files with 14 additions and 16 deletions

View File

@ -159,7 +159,7 @@ const handleObservationTypes = async (data) => {
function exprBuilder(param, value) {
switch (param) {
case 'observationTypeFk':
case 'workerFk':
case 'userFk':
return { [param]: value };
}
}

View File

@ -3,6 +3,7 @@ import { ref, computed, onMounted, onUnmounted } from 'vue';
import { useI18n } from 'vue-i18n';
import { useStateStore } from 'stores/useStateStore';
import { useState } from 'src/composables/useState';
import RightMenu from 'src/components/common/RightMenu.vue';
import VnSelect from 'src/components/common/VnSelect.vue';
@ -22,17 +23,17 @@ const columns = computed(() => [
name: 'observationTypeFk',
},
{
name: 'workerFk',
name: 'userFk',
},
]);
const setWorkerObservations = (data) => {
const seen = new Set();
filteredWorkers.value = data;
filteredWorkers.value = data.filter((worker) => {
if (!seen.has(worker.workerFk)) {
seen.add(worker.workerFk);
return true;
filteredWorkers.value = data.filter((observation) => {
if (!seen.has(observation.userFk)) {
seen.add(observation.userFk);
return observation.user;
}
return false;
});
@ -40,7 +41,7 @@ const setWorkerObservations = (data) => {
function exprBuilder(param, value) {
switch (param) {
case 'observationTypeFk':
case 'workerFk':
case 'userFk':
return { [param]: value };
}
}
@ -57,7 +58,6 @@ onUnmounted(() => {
<template #right-panel>
<VnTableFilter
data-key="clientObservations"
:data-key
:columns="columns"
:redirect="false"
:exprBuilder
@ -78,16 +78,15 @@ onUnmounted(() => {
data-cy="VnNotes-observation-type-filter"
/>
</template>
<template #filter-workerFk="{ params, columnName, searchFn }">
<template #filter-userFk="{ params, columnName, searchFn }">
<VnSelect
:label="t('globals.user')"
v-model="params[columnName]"
option-label="workerFk"
option-value="workerFk"
option-label="name"
option-value="userFk"
:options="filteredWorkers"
@keyup.enter="searchFn"
@update:modelValue="() => searchFn()"
hide-selected
dense
filled
data-cy="VnNotes-user-filter"
@ -95,12 +94,12 @@ onUnmounted(() => {
<template #option="{ opt, itemProps }">
<QItem v-bind="itemProps" class="q-pa-xs row items-center">
<QItemSection class="col-3 items-center">
<VnAvatar :worker-id="opt.worker.id" />
<VnAvatar :worker-id="opt?.user?.id" size="md" />
</QItemSection>
<QItemSection class="col-9 justify-center">
<span>{{ opt.worker?.user?.name }}</span>
<span>{{ opt?.user?.name }}</span>
<span class="text-grey">
{{ `#${opt.worker?.user?.id}` }}
{{ `#${opt?.user?.id}` }}
</span>
</QItemSection>
</QItem>
@ -118,7 +117,6 @@ onUnmounted(() => {
:body="{ clientFk: $route.params.id, userFk: user.id }"
style="overflow-y: auto"
:select-type="true"
:filter-columns="['workerFk', 'observationTypeFk']"
required
order="created DESC"
@on-fetch="(data) => setWorkerObservations(data)"