From 6e0510f0bd10602ccf51e2df6cd8111225df84c0 Mon Sep 17 00:00:00 2001
From: alexm <alexm@verdnatura.es>
Date: Mon, 15 Apr 2024 08:58:39 +0200
Subject: [PATCH] feat(supplierSummary): refs #6898  use VnTitle

---
 src/pages/Supplier/Card/SupplierSummary.vue | 65 +++++++--------------
 1 file changed, 21 insertions(+), 44 deletions(-)

diff --git a/src/pages/Supplier/Card/SupplierSummary.vue b/src/pages/Supplier/Card/SupplierSummary.vue
index 9d00ba8f7..4cd1f46f5 100644
--- a/src/pages/Supplier/Card/SupplierSummary.vue
+++ b/src/pages/Supplier/Card/SupplierSummary.vue
@@ -1,10 +1,9 @@
 <script setup>
-import { onMounted, ref, computed, onUpdated } from 'vue';
+import { ref, computed, onUpdated } from 'vue';
 import { useRoute } from 'vue-router';
 import { useI18n } from 'vue-i18n';
 import CardSummary from 'components/ui/CardSummary.vue';
 import VnLv from 'src/components/ui/VnLv.vue';
-import { getUrl } from 'src/composables/getUrl';
 import { useRole } from 'src/composables/useRole';
 import { dashIfEmpty } from 'src/filters';
 import VnUserLink from 'src/components/ui/VnUserLink.vue';
@@ -28,12 +27,6 @@ const entityId = computed(() => $props.id || route.params.id);
 
 const summaryRef = ref();
 const supplier = ref();
-const supplierUrl = ref();
-
-onMounted(async () => {
-    await roleState.fetch();
-    supplierUrl.value = (await getUrl('supplier/')) + entityId.value;
-});
 
 async function setData(data) {
     if (data) {
@@ -44,6 +37,10 @@ async function setData(data) {
 const isAdministrative = computed(() => {
     return roleState.hasAny(['administrative']);
 });
+
+function getUrl(section) {
+    return isAdministrative.value && `#/supplier/${entityId.value}/${section}`;
+}
 </script>
 
 <template>
@@ -58,15 +55,10 @@ const isAdministrative = computed(() => {
 
         <template #body>
             <QCard class="vn-one">
-                <router-link
-                    v-if="isAdministrative"
-                    class="header link"
-                    :to="{ name: 'SupplierBasicData', params: { id: entityId } }"
-                >
-                    {{ t('globals.summary.basicData') }}
-                    <QIcon name="open_in_new" />
-                </router-link>
-                <span v-else> {{ t('globals.summary.basicData') }}</span>
+                <VnTitle
+                    :url="getUrl('basic-data')"
+                    :text="t('globals.summary.basicData')"
+                />
                 <VnLv label="Id" :value="supplier.id" />
                 <VnLv label="Alias" :value="supplier.nickname" />
                 <VnLv :label="t('supplier.summary.responsible')">
@@ -94,15 +86,10 @@ const isAdministrative = computed(() => {
                 />
             </QCard>
             <QCard class="vn-one">
-                <router-link
-                    v-if="isAdministrative"
-                    class="header link"
-                    :to="{ name: 'SupplierBillingData', params: { id: entityId } }"
-                >
-                    {{ t('supplier.summary.billingData') }}
-                    <QIcon name="open_in_new" />
-                </router-link>
-                <span v-else> {{ t('supplier.summary.billingData') }}</span>
+                <VnTitle
+                    :url="getUrl('billing-data')"
+                    :text="t('supplier.summary.billingData')"
+                />
                 <VnLv
                     :label="t('supplier.summary.payMethod')"
                     :value="supplier.payMethod?.name"
@@ -117,15 +104,10 @@ const isAdministrative = computed(() => {
                 <VnLv :label="t('supplier.summary.account')" :value="supplier.account" />
             </QCard>
             <QCard class="vn-one">
-                <router-link
-                    v-if="isAdministrative"
-                    class="header link"
-                    :to="{ name: 'SupplierFiscalData', params: { id: entityId } }"
-                >
-                    {{ t('supplier.summary.fiscalData') }}
-                    <QIcon name="open_in_new" />
-                </router-link>
-                <span v-else> {{ t('supplier.summary.fiscalData') }}</span>
+                <VnTitle
+                    :url="getUrl('fiscal-data')"
+                    :text="t('supplier.summary.fiscalData')"
+                />
                 <VnLv
                     :label="t('supplier.summary.sageTaxType')"
                     :value="supplier.sageTaxType?.vat"
@@ -152,15 +134,10 @@ const isAdministrative = computed(() => {
                 />
             </QCard>
             <QCard class="vn-one">
-                <router-link
-                    v-if="isAdministrative"
-                    class="header link"
-                    :to="{ name: 'SupplierFiscalData', params: { id: entityId } }"
-                >
-                    {{ t('supplier.summary.fiscalAddress') }}
-                    <QIcon name="open_in_new" />
-                </router-link>
-                <span v-else> {{ t('supplier.summary.fiscalAddress') }}</span>
+                <VnTitle
+                    :url="getUrl('fiscal-data')"
+                    :text="t('supplier.summary.fiscalAddress')"
+                />
                 <VnLv :label="t('supplier.summary.socialName')" :value="supplier.name" />
                 <VnLv :label="t('supplier.summary.taxNumber')" :value="supplier.nif" />
                 <VnLv :label="t('supplier.summary.street')" :value="supplier.street" />
-- 
2.40.1