refactor: refs #4074 use VnTitle
gitea/salix-front/pipeline/pr-dev This commit looks good Details

This commit is contained in:
Jorge Penadés 2024-09-06 17:01:23 +02:00
parent d0131dd552
commit b87e7ce750
2 changed files with 44 additions and 85 deletions

View File

@ -37,6 +37,10 @@ a {
.link { .link {
color: $color-link; color: $color-link;
cursor: pointer; cursor: pointer;
&--white {
color: white;
}
} }
.tx-color-link { .tx-color-link {

View File

@ -7,9 +7,7 @@ import CardSummary from 'components/ui/CardSummary.vue';
import VnLv from 'src/components/ui/VnLv.vue'; import VnLv from 'src/components/ui/VnLv.vue';
import ItemDescriptorImage from 'src/pages/Item/Card/ItemDescriptorImage.vue'; import ItemDescriptorImage from 'src/pages/Item/Card/ItemDescriptorImage.vue';
import VnUserLink from 'src/components/ui/VnUserLink.vue'; import VnUserLink from 'src/components/ui/VnUserLink.vue';
import VnTitle from 'src/components/common/VnTitle.vue';
import { useRole } from 'src/composables/useRole';
import { useAcl } from 'src/composables/useAcl';
const $props = defineProps({ const $props = defineProps({
id: { id: {
@ -22,13 +20,7 @@ const route = useRoute();
const { t } = useI18n(); const { t } = useI18n();
const entityId = computed(() => $props.id || route.params.id); const entityId = computed(() => $props.id || route.params.id);
const canEdit = computed(() => useAcl().hasAny('Item', '*', 'WRITE'));
const isReplenisher = computed(() => useRole().hasAny(['replenisher']));
</script> </script>
<template> <template>
<CardSummary <CardSummary
ref="summary" ref="summary"
@ -37,13 +29,15 @@ const isReplenisher = computed(() => useRole().hasAny(['replenisher']));
data-key="ItemSummary" data-key="ItemSummary"
> >
<template #header-left> <template #header-left>
<router-link <QBtn
v-if="route.name !== 'ItemSummary'" v-if="$route.name !== 'ItemSummary'"
:to="{ name: 'ItemSummary', params: { id: entityId } }" :to="{ name: 'ItemSummary', params: { id: entityId } }"
class="header link" class="header link--white"
> icon="open_in_new"
<QIcon name="open_in_new" color="white" size="sm" /> flat
</router-link> dense
round
/>
</template> </template>
<template #header="{ entity: { item } }"> <template #header="{ entity: { item } }">
{{ item.id }} - {{ item.name }} {{ item.id }} - {{ item.name }}
@ -58,15 +52,10 @@ const isReplenisher = computed(() => useRole().hasAny(['replenisher']));
/> />
</QCard> </QCard>
<QCard class="vn-one"> <QCard class="vn-one">
<component <VnTitle
:is="canEdit ? 'router-link' : 'span'" :url="`#/item/${entityId}/basic-data`"
:to="{ name: 'ItemBasicData', params: { id: entityId } }" :text="t('item.summary.basicData')"
class="header" />
:class="{ 'header-link': canEdit }"
>
{{ t('item.summary.basicData') }}
<QIcon v-if="canEdit" name="open_in_new" />
</component>
<VnLv :label="t('item.summary.name')" :value="item.name" /> <VnLv :label="t('item.summary.name')" :value="item.name" />
<VnLv :label="t('item.summary.completeName')" :value="item.longName" /> <VnLv :label="t('item.summary.completeName')" :value="item.longName" />
<VnLv :label="t('item.summary.family')" :value="item.itemType.name" /> <VnLv :label="t('item.summary.family')" :value="item.itemType.name" />
@ -97,15 +86,10 @@ const isReplenisher = computed(() => useRole().hasAny(['replenisher']));
</VnLv> </VnLv>
</QCard> </QCard>
<QCard class="vn-one"> <QCard class="vn-one">
<component <VnTitle
:is="canEdit ? 'router-link' : 'span'" :url="`#/item/${entityId}/basic-data`"
:to="{ name: 'ItemBasicData', params: { id: entityId } }" :text="t('item.summary.otherData')"
class="header" />
:class="{ 'header-link': canEdit }"
>
{{ t('item.summary.otherData') }}
<QIcon v-if="canEdit" name="open_in_new" />
</component>
<VnLv <VnLv
:label="t('item.summary.intrastatCode')" :label="t('item.summary.intrastatCode')"
:value="item.intrastat.id" :value="item.intrastat.id"
@ -130,15 +114,10 @@ const isReplenisher = computed(() => useRole().hasAny(['replenisher']));
/> />
</QCard> </QCard>
<QCard class="vn-one"> <QCard class="vn-one">
<component <VnTitle
:is="canEdit || isReplenisher ? 'router-link' : 'span'" :url="`#/item/${entityId}/tags`"
:to="{ name: 'ItemTags', params: { id: entityId } }" :text="t('item.summary.tags')"
class="header" />
:class="{ 'header-link': canEdit || isReplenisher }"
>
{{ t('item.summary.tags') }}
<QIcon v-if="canEdit || isReplenisher" name="open_in_new" />
</component>
<VnLv <VnLv
v-for="(tag, index) in tags" v-for="(tag, index) in tags"
:key="index" :key="index"
@ -147,29 +126,14 @@ const isReplenisher = computed(() => useRole().hasAny(['replenisher']));
/> />
</QCard> </QCard>
<QCard class="vn-one" v-if="item.description"> <QCard class="vn-one" v-if="item.description">
<component <VnTitle
:is="canEdit ? 'router-link' : 'span'" :url="`#/item/${entityId}/basic-data`"
:to="{ name: 'ItemBasicData', params: { id: entityId } }" :text="t('item.summary.description')"
class="header" />
:class="{ 'header-link': canEdit }" <p v-text="item.description" />
>
{{ t('item.summary.description') }}
<QIcon v-if="canEdit" name="open_in_new" />
</component>
<p>
{{ item.description }}
</p>
</QCard> </QCard>
<QCard class="vn-one"> <QCard class="vn-one">
<component <VnTitle :url="`#/item/${entityId}/tax`" :text="t('item.summary.tax')" />
:is="canEdit ? 'router-link' : 'span'"
:to="{ name: 'ItemTax', params: { id: entityId } }"
class="header"
:class="{ 'header-link': canEdit }"
>
{{ t('item.summary.tax') }}
<QIcon v-if="canEdit" name="open_in_new" />
</component>
<VnLv <VnLv
v-for="(tax, index) in item.taxes" v-for="(tax, index) in item.taxes"
:key="index" :key="index"
@ -178,15 +142,10 @@ const isReplenisher = computed(() => useRole().hasAny(['replenisher']));
/> />
</QCard> </QCard>
<QCard class="vn-one"> <QCard class="vn-one">
<component <VnTitle
:is="canEdit ? 'router-link' : 'span'" :url="`#/item/${entityId}/botanical`"
:to="{ name: 'ItemBotanical', params: { id: entityId } }" :text="t('item.summary.botanical')"
class="header" />
:class="{ 'header-link': canEdit }"
>
{{ t('item.summary.botanical') }}
<QIcon v-if="canEdit" name="open_in_new" />
</component>
<VnLv :label="t('item.summary.genus')" :value="botanical?.genus?.name" /> <VnLv :label="t('item.summary.genus')" :value="botanical?.genus?.name" />
<VnLv <VnLv
:label="t('item.summary.specie')" :label="t('item.summary.specie')"
@ -194,23 +153,19 @@ const isReplenisher = computed(() => useRole().hasAny(['replenisher']));
/> />
</QCard> </QCard>
<QCard class="vn-one"> <QCard class="vn-one">
<component <VnTitle
:is="canEdit || isReplenisher ? 'router-link' : 'span'" :url="`#/item/${entityId}/barcode`"
:to="{ name: 'ItemBarcode', params: { id: entityId } }" :text="t('item.summary.barcode')"
class="header" />
:class="{ 'header-link': canEdit || isReplenisher }" <p
> v-for="(barcode, index) in item.itemBarcode"
{{ t('item.summary.barcode') }} :key="index"
<QIcon v-if="canEdit || isReplenisher" name="open_in_new" /> v-text="barcode.code"
</component> />
<p v-for="(barcode, index) in item.itemBarcode" :key="index">
{{ barcode.code }}
</p>
</QCard> </QCard>
</template> </template>
</CardSummary> </CardSummary>
</template> </template>
<i18n> <i18n>
en: en:
Este artículo necesita una foto: Este artículo necesita una foto Este artículo necesita una foto: Este artículo necesita una foto