6336-refactor-claimSummary #227
|
@ -1046,7 +1046,7 @@ es:
|
||||||
tooltips:
|
tooltips:
|
||||||
search: Buscar por identificador o concepto
|
search: Buscar por identificador o concepto
|
||||||
changes: Buscar por cambios. Los atributos deben buscarse por su nombre interno, para obtenerlo situar el cursor sobre el atributo.
|
changes: Buscar por cambios. Los atributos deben buscarse por su nombre interno, para obtenerlo situar el cursor sobre el atributo.
|
||||||
Audit logs: Registros de auditoría
|
Audit logs: Historial
|
||||||
Property: Propiedad
|
Property: Propiedad
|
||||||
Before: Antes
|
Before: Antes
|
||||||
After: Después
|
After: Después
|
||||||
|
|
|
@ -46,7 +46,7 @@ watch(props, async () => {
|
||||||
<QCard class="cardSummary">
|
<QCard class="cardSummary">
|
||||||
<SkeletonSummary v-if="!entity" />
|
<SkeletonSummary v-if="!entity" />
|
||||||
<template v-if="entity">
|
<template v-if="entity">
|
||||||
<div class="summaryHeader bg-primary q-pa-md text-weight-bolder">
|
<div class="summaryHeader bg-primary q-pa-sm text-weight-bolder">
|
||||||
<slot name="header-left">
|
<slot name="header-left">
|
||||||
<span></span>
|
<span></span>
|
||||||
</slot>
|
</slot>
|
||||||
|
@ -85,8 +85,8 @@ watch(props, async () => {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: space-evenly;
|
justify-content: space-evenly;
|
||||||
gap: 15px;
|
gap: 10px;
|
||||||
padding: 15px;
|
padding: 10px;
|
||||||
background-color: var(--vn-gray);
|
background-color: var(--vn-gray);
|
||||||
|
|
||||||
> .q-card.vn-one {
|
> .q-card.vn-one {
|
||||||
|
@ -105,14 +105,14 @@ watch(props, async () => {
|
||||||
> .q-card {
|
> .q-card {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background-color: var(--vn-gray);
|
background-color: var(--vn-gray);
|
||||||
padding: 15px;
|
padding: 7px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
min-width: 275px;
|
min-width: 275px;
|
||||||
|
|
||||||
.vn-label-value {
|
.vn-label-value {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
margin-top: 5px;
|
margin-top: 2px;
|
||||||
.label {
|
.label {
|
||||||
color: var(--vn-label);
|
color: var(--vn-label);
|
||||||
width: 8em;
|
width: 8em;
|
||||||
|
@ -131,7 +131,7 @@ watch(props, async () => {
|
||||||
.header {
|
.header {
|
||||||
color: $primary;
|
color: $primary;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-bottom: 25px;
|
margin-bottom: 10px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ import VnPaginate from './VnPaginate.vue';
|
||||||
import VnUserLink from '../ui/VnUserLink.vue';
|
import VnUserLink from '../ui/VnUserLink.vue';
|
||||||
|
|
||||||
const $props = defineProps({
|
const $props = defineProps({
|
||||||
id: { type: String, required: true },
|
|
||||||
url: { type: String, default: null },
|
url: { type: String, default: null },
|
||||||
filter: { type: Object, default: () => {} },
|
filter: { type: Object, default: () => {} },
|
||||||
body: { type: Object, default: () => {} },
|
body: { type: Object, default: () => {} },
|
||||||
|
@ -28,7 +27,7 @@ async function insert() {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="column items-center full-height">
|
<div class="column items-center full-height full-width">
|
||||||
<VnPaginate
|
<VnPaginate
|
||||||
:data-key="$props.url"
|
:data-key="$props.url"
|
||||||
:url="$props.url"
|
:url="$props.url"
|
||||||
|
@ -39,12 +38,21 @@ async function insert() {
|
||||||
ref="vnPaginateRef"
|
ref="vnPaginateRef"
|
||||||
>
|
>
|
||||||
<template #body="{ rows }">
|
<template #body="{ rows }">
|
||||||
<QCard class="q-pa-xs q-mb-md" v-for="(note, index) in rows" :key="index">
|
<div class="column items-center full-width">
|
||||||
|
<QCard
|
||||||
|
class="q-pa-xs q-mb-sm full-width"
|
||||||
|
v-for="(note, index) in rows"
|
||||||
|
:key="index"
|
||||||
alexm marked this conversation as resolved
|
|||||||
|
>
|
||||||
<QCardSection horizontal>
|
<QCardSection horizontal>
|
||||||
<slot name="picture">
|
<slot name="picture">
|
||||||
<VnAvatar :descriptor="false" :worker-id="note.workerFk" />
|
<VnAvatar
|
||||||
|
:descriptor="false"
|
||||||
|
:worker-id="note.workerFk"
|
||||||
|
size="md"
|
||||||
|
/>
|
||||||
</slot>
|
</slot>
|
||||||
<QItem class="full-width justify-between items-start">
|
<div class="full-width row justify-between q-pa-xs">
|
||||||
<VnUserLink
|
<VnUserLink
|
||||||
:name="`${note.worker.user.nickname}`"
|
:name="`${note.worker.user.nickname}`"
|
||||||
:worker-id="note.worker.id"
|
:worker-id="note.worker.id"
|
||||||
|
@ -53,14 +61,15 @@ async function insert() {
|
||||||
<slot name="actions">
|
<slot name="actions">
|
||||||
{{ toDateHour(note.created) }}
|
{{ toDateHour(note.created) }}
|
||||||
</slot>
|
</slot>
|
||||||
</QItem>
|
</div>
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
<QCardSection class="q-pa-sm">
|
<QCardSection class="q-pa-xs q-my-none q-py-none">
|
||||||
<slot name="text">
|
<slot name="text">
|
||||||
{{ note.text }}
|
{{ note.text }}
|
||||||
</slot>
|
</slot>
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
</QCard>
|
</QCard>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</VnPaginate>
|
</VnPaginate>
|
||||||
<QPageSticky position="bottom-right" :offset="[25, 25]" v-if="addNote">
|
<QPageSticky position="bottom-right" :offset="[25, 25]" v-if="addNote">
|
||||||
|
@ -108,8 +117,10 @@ async function insert() {
|
||||||
</template>
|
</template>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.q-card {
|
.q-card {
|
||||||
max-width: 80em;
|
width: 90%;
|
||||||
|
@media (max-width: $breakpoint-sm) {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
&__section {
|
&__section {
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
|
@ -138,7 +138,7 @@ async function onLoad(...params) {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="full-width">
|
||||||
<div
|
<div
|
||||||
v-if="!props.autoLoad && !store.data && !isLoading"
|
v-if="!props.autoLoad && !store.data && !isLoading"
|
||||||
class="info-row q-pa-md text-center"
|
class="info-row q-pa-md text-center"
|
||||||
|
@ -175,6 +175,7 @@ async function onLoad(...params) {
|
||||||
@load="onLoad"
|
@load="onLoad"
|
||||||
:offset="offset"
|
:offset="offset"
|
||||||
class="full-width full-height"
|
class="full-width full-height"
|
||||||
|
v-bind="$attrs"
|
||||||
>
|
>
|
||||||
<slot name="body" :rows="store.data"></slot>
|
<slot name="body" :rows="store.data"></slot>
|
||||||
<div v-if="isLoading" class="info-row q-pa-md text-center">
|
<div v-if="isLoading" class="info-row q-pa-md text-center">
|
||||||
|
|
|
@ -82,6 +82,7 @@ export default {
|
||||||
file: 'File',
|
file: 'File',
|
||||||
selectFile: 'Select a file',
|
selectFile: 'Select a file',
|
||||||
copyClipboard: 'Copy on clipboard',
|
copyClipboard: 'Copy on clipboard',
|
||||||
|
salesPerson: 'SalesPerson',
|
||||||
},
|
},
|
||||||
errors: {
|
errors: {
|
||||||
statusUnauthorized: 'Access denied',
|
statusUnauthorized: 'Access denied',
|
||||||
|
@ -527,6 +528,8 @@ export default {
|
||||||
ticketId: 'Ticket ID',
|
ticketId: 'Ticket ID',
|
||||||
customerSummary: 'Customer summary',
|
customerSummary: 'Customer summary',
|
||||||
claimedTicket: 'Claimed ticket',
|
claimedTicket: 'Claimed ticket',
|
||||||
|
saleTracking: 'Sale tracking',
|
||||||
|
ticketTracking: 'Ticket tracking',
|
||||||
commercial: 'Commercial',
|
commercial: 'Commercial',
|
||||||
province: 'Province',
|
province: 'Province',
|
||||||
zone: 'Zone',
|
zone: 'Zone',
|
||||||
|
|
|
@ -82,6 +82,7 @@ export default {
|
||||||
file: 'Fichero',
|
file: 'Fichero',
|
||||||
selectFile: 'Seleccione un fichero',
|
selectFile: 'Seleccione un fichero',
|
||||||
copyClipboard: 'Copiar en portapapeles',
|
copyClipboard: 'Copiar en portapapeles',
|
||||||
|
salesPerson: 'Comercial',
|
||||||
},
|
},
|
||||||
errors: {
|
errors: {
|
||||||
statusUnauthorized: 'Acceso denegado',
|
statusUnauthorized: 'Acceso denegado',
|
||||||
|
@ -500,7 +501,7 @@ export default {
|
||||||
rma: 'RMA',
|
rma: 'RMA',
|
||||||
development: 'Trazabilidad',
|
development: 'Trazabilidad',
|
||||||
photos: 'Fotos',
|
photos: 'Fotos',
|
||||||
log: 'Registros de auditoría',
|
log: 'Historial',
|
||||||
notes: 'Notas',
|
notes: 'Notas',
|
||||||
action: 'Acción',
|
action: 'Acción',
|
||||||
},
|
},
|
||||||
|
@ -526,6 +527,8 @@ export default {
|
||||||
ticketId: 'ID ticket',
|
ticketId: 'ID ticket',
|
||||||
customerSummary: 'Resumen del cliente',
|
customerSummary: 'Resumen del cliente',
|
||||||
claimedTicket: 'Ticket reclamado',
|
claimedTicket: 'Ticket reclamado',
|
||||||
|
saleTracking: 'Líneas preparadas',
|
||||||
|
ticketTracking: 'Estados del ticket',
|
||||||
commercial: 'Comercial',
|
commercial: 'Comercial',
|
||||||
province: 'Provincia',
|
province: 'Provincia',
|
||||||
zone: 'Zona',
|
zone: 'Zona',
|
||||||
|
@ -723,7 +726,7 @@ export default {
|
||||||
create: 'Crear',
|
create: 'Crear',
|
||||||
summary: 'Resumen',
|
summary: 'Resumen',
|
||||||
basicData: 'Datos básicos',
|
basicData: 'Datos básicos',
|
||||||
log: 'Registros de auditoría',
|
log: 'Historial',
|
||||||
},
|
},
|
||||||
list: {
|
list: {
|
||||||
parking: 'Parking',
|
parking: 'Parking',
|
||||||
|
@ -755,7 +758,7 @@ export default {
|
||||||
dueDay: 'Vencimiento',
|
dueDay: 'Vencimiento',
|
||||||
intrastat: 'Intrastat',
|
intrastat: 'Intrastat',
|
||||||
corrective: 'Rectificativa',
|
corrective: 'Rectificativa',
|
||||||
log: 'Registros de auditoría',
|
log: 'Historial',
|
||||||
},
|
},
|
||||||
list: {
|
list: {
|
||||||
ref: 'Referencia',
|
ref: 'Referencia',
|
||||||
|
|
|
@ -28,7 +28,9 @@ const { t } = useI18n();
|
||||||
<QPageContainer>
|
<QPageContainer>
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
jsegarra marked this conversation as resolved
Outdated
jsegarra
commented
Demasiados remplazos, lo vemos con un composable. Demasiados remplazos, lo vemos con un composable.
Que ya tengo hecho
alexm
commented
Subelo Subelo
|
|||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -176,6 +176,7 @@ onMounted(async () => {
|
||||||
color="primary"
|
color="primary"
|
||||||
:href="salixUrl + 'ticket/' + entity.ticketFk + '/sale-tracking'"
|
:href="salixUrl + 'ticket/' + entity.ticketFk + '/sale-tracking'"
|
||||||
>
|
>
|
||||||
|
<QTooltip>{{ t('claim.card.saleTracking') }}</QTooltip>
|
||||||
</QBtn>
|
</QBtn>
|
||||||
<QBtn
|
<QBtn
|
||||||
size="md"
|
size="md"
|
||||||
|
@ -183,6 +184,7 @@ onMounted(async () => {
|
||||||
color="primary"
|
color="primary"
|
||||||
:href="salixUrl + 'ticket/' + entity.ticketFk + '/tracking/index'"
|
:href="salixUrl + 'ticket/' + entity.ticketFk + '/tracking/index'"
|
||||||
>
|
>
|
||||||
|
<QTooltip>{{ t('claim.card.ticketTracking') }}</QTooltip>
|
||||||
</QBtn>
|
</QBtn>
|
||||||
</QCardActions>
|
</QCardActions>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import { computed } from 'vue';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { useState } from 'src/composables/useState';
|
import { useState } from 'src/composables/useState';
|
||||||
import VnNotes from 'src/components/ui/VnNotes.vue';
|
import VnNotes from 'src/components/ui/VnNotes.vue';
|
||||||
|
@ -6,14 +7,15 @@ import VnNotes from 'src/components/ui/VnNotes.vue';
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const state = useState();
|
const state = useState();
|
||||||
const user = state.getUser();
|
const user = state.getUser();
|
||||||
const id = route.params.id;
|
|
||||||
|
|
||||||
const $props = defineProps({
|
const $props = defineProps({
|
||||||
|
id: { type: Number, default: null },
|
||||||
addNote: { type: Boolean, default: true },
|
addNote: { type: Boolean, default: true },
|
||||||
});
|
});
|
||||||
|
const claimId = computed(() => $props.id || route.params.id);
|
||||||
|
|
||||||
const claimFilter = {
|
const claimFilter = {
|
||||||
where: { claimFk: id },
|
where: { claimFk: claimId },
|
||||||
fields: ['created', 'workerFk', 'text'],
|
fields: ['created', 'workerFk', 'text'],
|
||||||
include: {
|
include: {
|
||||||
relation: 'worker',
|
relation: 'worker',
|
||||||
|
@ -30,19 +32,16 @@ const claimFilter = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const body = {
|
const body = {
|
||||||
claimFk: id,
|
claimFk: claimId,
|
||||||
workerFk: user.value.id,
|
workerFk: user.value.id,
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="column items-center">
|
|
||||||
<VnNotes
|
<VnNotes
|
||||||
style="overflow-y: scroll"
|
style="overflow-y: auto"
|
||||||
:add-note="$props.addNote"
|
:add-note="$props.addNote"
|
||||||
:id="id"
|
|
||||||
url="claimObservations"
|
url="claimObservations"
|
||||||
:filter="claimFilter"
|
:filter="claimFilter"
|
||||||
:body="body"
|
:body="body"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { onMounted, ref, computed, watch } from 'vue';
|
import { onMounted, ref, computed } from 'vue';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { toDate, toCurrency } from 'src/filters';
|
import { toDate, toCurrency } from 'src/filters';
|
||||||
|
@ -70,7 +70,7 @@ const detailsColumns = ref([
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'description',
|
name: 'description',
|
||||||
label: 'claim.summary.description',
|
label: 'globals.description',
|
||||||
field: (row) => row.sale.concept,
|
field: (row) => row.sale.concept,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -194,19 +194,19 @@ function openDialog(dmsId) {
|
||||||
</QChip>
|
</QChip>
|
||||||
</template>
|
</template>
|
||||||
</VnLv>
|
</VnLv>
|
||||||
<VnLv :label="t('claim.summary.assignedTo')">
|
<VnLv :label="t('globals.salesPerson')">
|
||||||
<template #value>
|
<template #value>
|
||||||
<VnUserLink
|
<VnUserLink
|
||||||
:name="claim.worker?.user?.nickname"
|
:name="claim.client?.salesPersonUser?.name"
|
||||||
:worker-id="claim.workerFk"
|
:worker-id="claim.client?.salesPersonFk"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</VnLv>
|
</VnLv>
|
||||||
<VnLv :label="t('claim.summary.attendedBy')">
|
<VnLv :label="t('claim.summary.attendedBy')">
|
||||||
<template #value>
|
<template #value>
|
||||||
<VnUserLink
|
<VnUserLink
|
||||||
:name="claim.client?.salesPersonUser?.name"
|
:name="claim.worker?.user?.nickname"
|
||||||
:worker-id="claim.client?.salesPersonFk"
|
:worker-id="claim.workerFk"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</VnLv>
|
</VnLv>
|
||||||
|
@ -218,26 +218,38 @@ function openDialog(dmsId) {
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</VnLv>
|
</VnLv>
|
||||||
<VnLv :label="t('claim.summary.returnOfMaterial')" :value="claim.rma" />
|
|
||||||
<QCheckbox
|
<QCheckbox
|
||||||
:align-items="right"
|
:align-items="right"
|
||||||
:label="t('claim.basicData.picked')"
|
:label="t('claim.basicData.picked')"
|
||||||
v-model="claim.hasToPickUp"
|
v-model="claim.hasToPickUp"
|
||||||
|
:disable="true"
|
||||||
/>
|
/>
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-three claimVnNotes full-height">
|
<QCard class="vn-three">
|
||||||
<a class="header" :href="`#/claim/${entityId}/notes`">
|
<a class="header" :href="`#/claim/${entityId}/notes`">
|
||||||
{{ t('claim.summary.notes') }}
|
{{ t('claim.summary.notes') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
<ClaimNotes :add-note="false" style="height: 350px" order="created ASC" />
|
<ClaimNotes
|
||||||
|
:id="entityId"
|
||||||
|
:add-note="false"
|
||||||
|
style="max-height: 300px"
|
||||||
|
order="created ASC"
|
||||||
|
/>
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-two" v-if="salesClaimed.length > 0">
|
<QCard class="vn-two" v-if="salesClaimed.length > 0">
|
||||||
<a class="header" :href="`#/claim/${entityId}/lines`">
|
<a class="header" :href="`#/claim/${entityId}/lines`">
|
||||||
{{ t('claim.summary.details') }}
|
{{ t('claim.summary.details') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
<QTable :columns="detailsColumns" :rows="salesClaimed" flat>
|
<QTable
|
||||||
|
:columns="detailsColumns"
|
||||||
|
:rows="salesClaimed"
|
||||||
|
flat
|
||||||
|
dense
|
||||||
|
:rows-per-page-options="[0]"
|
||||||
|
hide-bottom
|
||||||
|
>
|
||||||
<template #header="props">
|
<template #header="props">
|
||||||
<QTr :props="props">
|
<QTr :props="props">
|
||||||
<QTh v-for="col in props.cols" :key="col.name" :props="props">
|
<QTh v-for="col in props.cols" :key="col.name" :props="props">
|
||||||
|
@ -272,7 +284,15 @@ function openDialog(dmsId) {
|
||||||
{{ t('claim.summary.development') }}
|
{{ t('claim.summary.development') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
<QTable :columns="developmentColumns" :rows="developments" flat>
|
|
||||||
|
<QTable
|
||||||
|
:columns="developmentColumns"
|
||||||
|
:rows="developments"
|
||||||
|
flat
|
||||||
|
dense
|
||||||
|
:rows-per-page-options="[0]"
|
||||||
|
hide-bottom
|
||||||
|
>
|
||||||
<template #header="props">
|
<template #header="props">
|
||||||
<QTr :props="props">
|
<QTr :props="props">
|
||||||
<QTh v-for="col in props.cols" :key="col.name" :props="props">
|
<QTh v-for="col in props.cols" :key="col.name" :props="props">
|
||||||
|
@ -390,13 +410,7 @@ function openDialog(dmsId) {
|
||||||
</template>
|
</template>
|
||||||
</CardSummary>
|
</CardSummary>
|
||||||
</template>
|
</template>
|
||||||
<style lang="scss">
|
|
||||||
.claimVnNotes {
|
|
||||||
.q-card {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.q-dialog__inner--minimized > div {
|
.q-dialog__inner--minimized > div {
|
||||||
max-width: 80%;
|
max-width: 80%;
|
||||||
|
@ -406,7 +420,6 @@ function openDialog(dmsId) {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 15px;
|
gap: 15px;
|
||||||
flex-basis: 30%;
|
|
||||||
}
|
}
|
||||||
.multimedia-container {
|
.multimedia-container {
|
||||||
flex: 1 0 21%;
|
flex: 1 0 21%;
|
||||||
|
|
|
@ -115,12 +115,6 @@ function navigate(event, id) {
|
||||||
</VnLv>
|
</VnLv>
|
||||||
</template>
|
</template>
|
||||||
<template #actions>
|
<template #actions>
|
||||||
<QBtn
|
|
||||||
:label="t('components.smartCard.openCard')"
|
|
||||||
@click.stop="navigate(row.id)"
|
|
||||||
class="bg-vn-dark"
|
|
||||||
outline
|
|
||||||
/>
|
|
||||||
<QBtn
|
<QBtn
|
||||||
:label="t('globals.description')"
|
:label="t('globals.description')"
|
||||||
@click.stop
|
@click.stop
|
||||||
|
|
|
@ -30,7 +30,9 @@ const { t } = useI18n();
|
||||||
<QPageContainer>
|
<QPageContainer>
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -33,7 +33,9 @@ const stateStore = useStateStore();
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
|
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -74,7 +74,9 @@ watch(
|
||||||
<QPageContainer>
|
<QPageContainer>
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -28,7 +28,9 @@ const { t } = useI18n();
|
||||||
<QPageContainer>
|
<QPageContainer>
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -19,7 +19,9 @@ const stateStore = useStateStore();
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
|
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -30,7 +30,9 @@ const { t } = useI18n();
|
||||||
<QPageContainer>
|
<QPageContainer>
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -29,7 +29,9 @@ const { t } = useI18n();
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
|
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -17,7 +17,9 @@ const stateStore = useStateStore();
|
||||||
<QPageContainer>
|
<QPageContainer>
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -17,7 +17,9 @@ const { t } = useI18n();
|
||||||
</QDrawer>
|
</QDrawer>
|
||||||
<QPageContainer>
|
<QPageContainer>
|
||||||
<QPage>
|
<QPage>
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -29,7 +29,9 @@ const { t } = useI18n();
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
|
|
||||||
<div class="q-pa-md"><RouterView></RouterView></div>
|
<div :class="$q.screen.gt.xs ? 'q-pa-md' : 'q-pa-xs'">
|
||||||
|
<RouterView></RouterView>
|
||||||
|
</div>
|
||||||
</QPage>
|
</QPage>
|
||||||
</QPageContainer>
|
</QPageContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -16,10 +16,10 @@ export default {
|
||||||
'ClaimLines',
|
'ClaimLines',
|
||||||
'ClaimRma',
|
'ClaimRma',
|
||||||
'ClaimPhotos',
|
'ClaimPhotos',
|
||||||
'ClaimLog',
|
|
||||||
'ClaimNotes',
|
'ClaimNotes',
|
||||||
'ClaimDevelopment',
|
'ClaimDevelopment',
|
||||||
'ClaimAction',
|
'ClaimAction',
|
||||||
|
'ClaimLog',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
|
@ -103,6 +103,15 @@ export default {
|
||||||
},
|
},
|
||||||
component: () => import('src/pages/Claim/Card/ClaimPhoto.vue'),
|
component: () => import('src/pages/Claim/Card/ClaimPhoto.vue'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'ClaimNotes',
|
||||||
|
path: 'notes',
|
||||||
|
meta: {
|
||||||
|
title: 'notes',
|
||||||
|
icon: 'draft',
|
||||||
|
},
|
||||||
|
component: () => import('src/pages/Claim/Card/ClaimNotes.vue'),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'ClaimDevelopment',
|
name: 'ClaimDevelopment',
|
||||||
path: 'development',
|
path: 'development',
|
||||||
|
@ -113,24 +122,6 @@ export default {
|
||||||
},
|
},
|
||||||
component: () => import('src/pages/Claim/Card/ClaimDevelopment.vue'),
|
component: () => import('src/pages/Claim/Card/ClaimDevelopment.vue'),
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: 'ClaimLog',
|
|
||||||
path: 'log',
|
|
||||||
meta: {
|
|
||||||
title: 'log',
|
|
||||||
icon: 'history',
|
|
||||||
},
|
|
||||||
component: () => import('src/pages/Claim/Card/ClaimLog.vue'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'ClaimNotes',
|
|
||||||
path: 'notes',
|
|
||||||
meta: {
|
|
||||||
title: 'notes',
|
|
||||||
icon: 'draft',
|
|
||||||
},
|
|
||||||
component: () => import('src/pages/Claim/Card/ClaimNotes.vue'),
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: 'ClaimAction',
|
name: 'ClaimAction',
|
||||||
path: 'action',
|
path: 'action',
|
||||||
|
@ -140,6 +131,15 @@ export default {
|
||||||
},
|
},
|
||||||
component: () => import('src/pages/Claim/Card/ClaimAction.vue'),
|
component: () => import('src/pages/Claim/Card/ClaimAction.vue'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'ClaimLog',
|
||||||
|
path: 'log',
|
||||||
|
meta: {
|
||||||
|
title: 'log',
|
||||||
|
icon: 'history',
|
||||||
|
},
|
||||||
|
component: () => import('src/pages/Claim/Card/ClaimLog.vue'),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in New Issue
Sugenrencia, veo que el texzto está pegado al borde o que el contenido de la card no respira.
Podemos añadirle a este div padding:7px como lo está haciendo Basic Data
Tiene exactamente el mismo padding total que Salix (8px)