feat: refs #7248 modify VnNotes #1336

Open
robert wants to merge 10 commits from 7248-tablesObservation into dev
5 changed files with 32 additions and 37 deletions

View File

@ -219,15 +219,15 @@ const handleObservationTypes = (data) => {
<QCardSection horizontal> <QCardSection horizontal>
<VnAvatar <VnAvatar
:descriptor="false" :descriptor="false"
:worker-id="note.workerFk" :worker-id="note.user?.id"
size="md" size="md"
:title="note.worker?.user.nickname" :title="note.user?.nickname"
/> />
<div class="full-width row justify-between q-pa-xs"> <div class="full-width row justify-between q-pa-xs">
<div> <div>
<VnUserLink <VnUserLink
:name="`${note.worker.user.name}`" :name="`${note.user?.name}`"
:worker-id="note.worker.id" :worker-id="note.user?.id"
/> />
<QBadge <QBadge
class="q-ml-xs" class="q-ml-xs"

View File

@ -1,12 +1,9 @@
<script setup> <script setup>
import { computed } from 'vue'; import { computed } from 'vue';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useState } from 'src/composables/useState';
import VnNotes from 'src/components/ui/VnNotes.vue'; import VnNotes from 'src/components/ui/VnNotes.vue';
const route = useRoute(); const route = useRoute();
const state = useState();
const user = state.getUser();
const $props = defineProps({ const $props = defineProps({
id: { type: [Number, String], default: null }, id: { type: [Number, String], default: null },
@ -15,25 +12,14 @@ const $props = defineProps({
const claimId = computed(() => $props.id || route.params.id); const claimId = computed(() => $props.id || route.params.id);
const claimFilter = { const claimFilter = {
fields: ['id', 'created', 'workerFk', 'text'], fields: ['id', 'created', 'userFk', 'text'],
include: { include: {
relation: 'worker', relation: 'user',
scope: { scope: {
fields: ['id', 'firstName', 'lastName'], fields: ['id', 'nickname', 'name'],
include: {
relation: 'user',
scope: {
fields: ['id', 'nickname', 'name'],
},
},
}, },
}, },
}; };
const body = {
claimFk: claimId.value,
workerFk: user.value.id,
};
</script> </script>
<template> <template>
<VnNotes <VnNotes
@ -41,7 +27,9 @@ const body = {
:add-note="$props.addNote" :add-note="$props.addNote"
:user-filter="claimFilter" :user-filter="claimFilter"
:filter="{ where: { claimFk: claimId } }" :filter="{ where: { claimFk: claimId } }"
:body="body" :body="{
claimFk: claimId,
}"
v-bind="$attrs" v-bind="$attrs"
style="overflow-y: auto" style="overflow-y: auto"
/> />

View File

@ -1,12 +1,15 @@
<script setup> <script setup>
import VnNotes from 'src/components/ui/VnNotes.vue'; import VnNotes from 'src/components/ui/VnNotes.vue';
import { useState } from 'src/composables/useState';
const state = useState();
const user = state.getUser();
</script> </script>
<template> <template>
<VnNotes <VnNotes
url="clientObservations" url="clientObservations"
:add-note="true" :add-note="true"
:filter="{ where: { clientFk: $route.params.id } }" :filter="{ where: { clientFk: $route.params.id } }"
:body="{ clientFk: $route.params.id }" :body="{ clientFk: $route.params.id, userFk: user.id }"
style="overflow-y: auto" style="overflow-y: auto"
:select-type="true" :select-type="true"
required required

View File

@ -156,7 +156,7 @@ function exprBuilder(param, value) {
case 'payMethod': case 'payMethod':
return { [`c.payMethodFk`]: value }; return { [`c.payMethodFk`]: value };
case 'workerFk': case 'workerFk':
return { [`co.${param}`]: value }; return { [`uw.id`]: value };
case 'departmentFk': case 'departmentFk':
return { [`c.${param}`]: value }; return { [`c.${param}`]: value };
case 'amount': case 'amount':
@ -185,7 +185,14 @@ function exprBuilder(param, value) {
<template> <template>
<VnSubToolbar> <VnSubToolbar>
<template #st-data> <template #st-data>
<CustomerBalanceDueTotal :amount="arrayData.store.data?.amount" /> <CustomerBalanceDueTotal
:amount="
arrayData.store.data?.reduce(
(sum, defaulter) => sum + defaulter.amount,
0,
)
"
/>
</template> </template>
<template #st-actions> <template #st-actions>
<QBtn <QBtn
@ -212,7 +219,6 @@ function exprBuilder(param, value) {
:disable-option="{ card: true }" :disable-option="{ card: true }"
auto-load auto-load
:order="['amount DESC']" :order="['amount DESC']"
key-data="defaulters"
> >
<template #column-clientFk="{ row }"> <template #column-clientFk="{ row }">
<span class="link" @click.stop> <span class="link" @click.stop>

View File

@ -1,28 +1,26 @@
<script setup> <script setup>
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useState } from 'src/composables/useState';
import VnNotes from 'src/components/ui/VnNotes.vue'; import VnNotes from 'src/components/ui/VnNotes.vue';
const route = useRoute(); const route = useRoute();
const state = useState();
const user = state.getUser();
const userFilter = { const userFilter = {
order: 'created DESC', order: 'created DESC',
include: { include: {
relation: 'worker', relation: 'user',
scope: { scope: {
fields: ['id', 'firstName', 'lastName'], fields: ['id', 'nickname', 'name'],
include: {
relation: 'user',
scope: {
fields: ['id', 'nickname', 'name'],
},
},
}, },
}, },
}; };
const body = { workerFk: route.params.id }; const body = {
workerFk: route.params.id,
userFk: user.value.id,
};
</script> </script>
<template> <template>