From 68069ba9c64ca7b04e323bc7d4a2237b3ad603e9 Mon Sep 17 00:00:00 2001 From: jorgep <jorgep@verdnatura.es> Date: Mon, 15 Apr 2024 12:48:07 +0200 Subject: [PATCH 1/3] feat: refs #6938 hide personal phone --- src/components/ui/CardDescriptor.vue | 4 +- src/components/ui/CardSummary.vue | 2 +- src/pages/Worker/Card/WorkerBasicData.vue | 3 ++ src/pages/Worker/Card/WorkerDescriptor.vue | 26 +------------ src/pages/Worker/Card/WorkerSummary.vue | 43 ++-------------------- 5 files changed, 12 insertions(+), 66 deletions(-) diff --git a/src/components/ui/CardDescriptor.vue b/src/components/ui/CardDescriptor.vue index 8e9304d3e..f30ea8937 100644 --- a/src/components/ui/CardDescriptor.vue +++ b/src/components/ui/CardDescriptor.vue @@ -47,7 +47,7 @@ const arrayData = useArrayData($props.dataKey || $props.module, { skip: 0, }); const { store } = arrayData; -const entity = computed(() => store.data); +const entity = computed(() =>Array.isArray( store.data) ? store.data[0] : store.data); const isLoading = ref(false); defineExpose({ @@ -67,7 +67,7 @@ async function getData() { try { const { data } = await arrayData.fetch({ append: false, updateRouter: false }); state.set($props.dataKey, data); - emit('onFetch', data); + emit('onFetch', Array.isArray(data) ? data[0] : data); } finally { isLoading.value = false; } diff --git a/src/components/ui/CardSummary.vue b/src/components/ui/CardSummary.vue index 1e1480293..a06837cf4 100644 --- a/src/components/ui/CardSummary.vue +++ b/src/components/ui/CardSummary.vue @@ -32,7 +32,7 @@ const arrayData = useArrayData(props.dataKey || route.meta.moduleName, { skip: 0, }); const { store } = arrayData; -const entity = computed(() => store.data); +const entity = computed(() => Array.isArray(store.data) ? store.data[0] : store.data); const isLoading = ref(false); defineExpose({ diff --git a/src/pages/Worker/Card/WorkerBasicData.vue b/src/pages/Worker/Card/WorkerBasicData.vue index c59f4281d..775472065 100644 --- a/src/pages/Worker/Card/WorkerBasicData.vue +++ b/src/pages/Worker/Card/WorkerBasicData.vue @@ -27,6 +27,7 @@ const workerFilter = { }, { relation: 'sip', scope: { fields: ['extension', 'secret'] } }, { relation: 'department', scope: { include: { relation: 'department' } } }, + { relation: 'client', scope: {fields:['phone']} }, ], }; const workersFilter = { @@ -86,6 +87,7 @@ const maritalStatus = [ :label="t('Mobile extension')" clearable /> + <VnInput v-model="data.client.phone" :label="t('Personal phone')" clearable /> </VnRow> <VnRow class="row q-gutter-md q-mb-md"> @@ -157,6 +159,7 @@ es: Last name: Apellidos Business phone: Teléfono de empresa Mobile extension: Extensión móvil + Personal phone: Teléfono personal Boss: Jefe Marital status: Estado civil Married: Casado/a diff --git a/src/pages/Worker/Card/WorkerDescriptor.vue b/src/pages/Worker/Card/WorkerDescriptor.vue index a20ad5546..bb4acec69 100644 --- a/src/pages/Worker/Card/WorkerDescriptor.vue +++ b/src/pages/Worker/Card/WorkerDescriptor.vue @@ -31,29 +31,7 @@ const entityId = computed(() => { }); const worker = ref(); -const filter = { - include: [ - { - relation: 'user', - scope: { - fields: ['email', 'name', 'nickname'], - }, - }, - { - relation: 'department', - scope: { - include: [ - { - relation: 'department', - }, - ], - }, - }, - { - relation: 'sip', - }, - ], -}; +const filter = { where: { id: route.params.id}}; const sip = ref(null); @@ -82,7 +60,7 @@ const setData = (entity) => { <CardDescriptor module="Worker" data-key="workerData" - :url="`Workers/${entityId}`" + :url="`Workers/summary`" :filter="filter" :title="data.title" :subtitle="data.subtitle" diff --git a/src/pages/Worker/Card/WorkerSummary.vue b/src/pages/Worker/Card/WorkerSummary.vue index dad21cda5..b24476e4f 100644 --- a/src/pages/Worker/Card/WorkerSummary.vue +++ b/src/pages/Worker/Card/WorkerSummary.vue @@ -10,7 +10,7 @@ import CardSummary from 'components/ui/CardSummary.vue'; import VnUserLink from 'src/components/ui/VnUserLink.vue'; import VnTitle from 'src/components/common/VnTitle.vue'; -const route = useRoute(); +const {params} = useRoute(); const { t } = useI18n(); const $props = defineProps({ @@ -20,53 +20,18 @@ const $props = defineProps({ }, }); -const entityId = computed(() => $props.id || route.params.id); +const entityId = computed(() => $props.id || params.id); const workerUrl = ref(); onMounted(async () => { workerUrl.value = (await getUrl('')) + `worker/${entityId.value}/`; }); -const filter = { - include: [ - { - relation: 'user', - scope: { - fields: ['email', 'name', 'nickname', 'roleFk'], - include: { - relation: 'role', - scope: { - fields: ['name'], - }, - }, - }, - }, - { - relation: 'department', - scope: { - include: { - relation: 'department', - scope: { - fields: ['name'], - }, - }, - }, - }, - { - relation: 'boss', - }, - { - relation: 'client', - }, - { - relation: 'sip', - }, - ], -}; +const filter = {where: {id: params.id}}; </script> <template> - <CardSummary ref="summary" :url="`Workers/${entityId}`" :filter="filter"> + <CardSummary ref="summary" :url="`Workers/summary`" :filter="filter" > <template #header="{ entity }"> <div>{{ entity.id }} - {{ entity.firstName }} {{ entity.lastName }}</div> </template> From 1e77e827842862db4657ae021cf70887980faae9 Mon Sep 17 00:00:00 2001 From: jorgep <jorgep@verdnatura.es> Date: Mon, 15 Apr 2024 13:28:10 +0200 Subject: [PATCH 2/3] fix: refs #6938 id filter --- src/pages/Worker/Card/WorkerSummary.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/Worker/Card/WorkerSummary.vue b/src/pages/Worker/Card/WorkerSummary.vue index b24476e4f..16c7f0f08 100644 --- a/src/pages/Worker/Card/WorkerSummary.vue +++ b/src/pages/Worker/Card/WorkerSummary.vue @@ -10,7 +10,7 @@ import CardSummary from 'components/ui/CardSummary.vue'; import VnUserLink from 'src/components/ui/VnUserLink.vue'; import VnTitle from 'src/components/common/VnTitle.vue'; -const {params} = useRoute(); +const { params } = useRoute(); const { t } = useI18n(); const $props = defineProps({ @@ -27,11 +27,11 @@ onMounted(async () => { workerUrl.value = (await getUrl('')) + `worker/${entityId.value}/`; }); -const filter = {where: {id: params.id}}; +const filter = { where: { id: entityId.value } }; </script> <template> - <CardSummary ref="summary" :url="`Workers/summary`" :filter="filter" > + <CardSummary ref="summary" :url="`Workers/summary`" :filter="filter"> <template #header="{ entity }"> <div>{{ entity.id }} - {{ entity.firstName }} {{ entity.lastName }}</div> </template> From b2211369ea3e8268870e958e1ec561df0629c8ba Mon Sep 17 00:00:00 2001 From: jorgep <jorgep@verdnatura.es> Date: Mon, 15 Apr 2024 13:30:42 +0200 Subject: [PATCH 3/3] fix: refs #6938 remove personal phone --- src/pages/Worker/Card/WorkerSummary.vue | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/pages/Worker/Card/WorkerSummary.vue b/src/pages/Worker/Card/WorkerSummary.vue index 16c7f0f08..43c493565 100644 --- a/src/pages/Worker/Card/WorkerSummary.vue +++ b/src/pages/Worker/Card/WorkerSummary.vue @@ -68,12 +68,6 @@ const filter = { where: { id: entityId.value } }; <VnLinkPhone :phone-number="worker.phone" /> </template> </VnLv> - <VnLv :value="worker.client?.phone"> - <template #label> - {{ t('worker.summary.personalPhone') }} - <VnLinkPhone :phone-number="worker.client?.phone" /> - </template> - </VnLv> <VnLv :label="t('worker.summary.locker')" :value="worker.locker" /> </QCard> <QCard class="vn-one">