#6321 - Negative ticket #158
|
@ -72,4 +72,15 @@ function copyValueText() {
|
||||||
.info {
|
.info {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.image {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-content: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
& > .q-btn .value {
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -29,6 +29,7 @@ globals:
|
||||||
saveAndContinue: Guardar y continuar
|
saveAndContinue: Guardar y continuar
|
||||||
remove: Eliminar
|
remove: Eliminar
|
||||||
reset: Restaurar
|
reset: Restaurar
|
||||||
|
refresh: Actualizar
|
||||||
close: Cerrar
|
close: Cerrar
|
||||||
cancel: Cancelar
|
cancel: Cancelar
|
||||||
clone: Clonar
|
clone: Clonar
|
||||||
|
|
|
@ -5,15 +5,19 @@ import VnPaginate from 'components/ui/VnPaginate.vue';
|
||||||
import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue';
|
import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue';
|
||||||
import FetchedTags from 'components/ui/FetchedTags.vue';
|
import FetchedTags from 'components/ui/FetchedTags.vue';
|
||||||
import { useSession } from 'src/composables/useSession';
|
import { useSession } from 'src/composables/useSession';
|
||||||
|
import VnLv from 'src/components/ui/VnLv.vue';
|
||||||
|
const MATCH_VALUES = [5, 6, 7, 8];
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const session = useSession();
|
const session = useSession();
|
||||||
jgallego marked this conversation as resolved
Outdated
|
|||||||
|
|
||||||
const primaryColor = 'red';
|
const primaryColor = 'red';
|
||||||
const colorSpacer = '#ecf0f1';
|
const colorSpacer = '#ecf0f1';
|
||||||
const gradientStyle = computed(() => {
|
const compatibilityItem = (value) => `${100 * (value / MATCH_VALUES.length)}%`;
|
||||||
return `linear-gradient(to right, ${primaryColor} ${compatibility.value}, ${colorSpacer} 10%)`;
|
const gradientStyle = (value) =>
|
||||||
});
|
`linear-gradient(to right, ${primaryColor} ${compatibilityItem(
|
||||||
|
value
|
||||||
|
)}, ${colorSpacer} 10%)`;
|
||||||
|
|
||||||
const $props = defineProps({
|
const $props = defineProps({
|
||||||
item: {
|
item: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
@ -29,26 +33,24 @@ const $props = defineProps({
|
||||||
const proposalSelected = ref([]);
|
const proposalSelected = ref([]);
|
||||||
const quantity = ref(-1);
|
const quantity = ref(-1);
|
||||||
const token = session.getTokenMultimedia();
|
const token = session.getTokenMultimedia();
|
||||||
const index = ref(0);
|
// const index = ref(0);
|
||||||
const currentTicket = computed(() => $props.tickets[index.value]);
|
// const currentTicket = computed(() => $props.tickets[index.value]);
|
||||||
const showProposalDialog = ref(false);
|
const showProposalDialog = ref(false);
|
||||||
const defaultColumnAttrs = {
|
const defaultColumnAttrs = {
|
||||||
align: 'left',
|
align: 'left',
|
||||||
sortable: true,
|
sortable: true,
|
||||||
};
|
};
|
||||||
const compatibility = ref(null);
|
// const compatibility = ref(null);
|
||||||
// const compatibility = computed(() => `linear-gradient(to right,red 10%, white 10%);`);
|
// const compatibility = computed(() => `linear-gradient(to right,red 10%, white 10%);`);
|
||||||
const statusConditionalValue = (row) => {
|
const statusConditionalValue = (row) => {
|
||||||
const values = [5, 6, 7, 8];
|
const total = MATCH_VALUES.reduce((acc, i) => acc + row[`match${i}`], 0);
|
||||||
const total = values.reduce((acc, i) => acc + row[`match${i}`], 0);
|
// const STATUS_VALUES = { 1: 'white', 2: '$secondary', 3: 'positive', 4: 'warning' };
|
||||||
const STATUS_VALUES = { 1: 'white', 2: '$secondary', 3: 'positive', 4: 'warning' };
|
// const status = STATUS_VALUES[total];
|
||||||
const status = STATUS_VALUES[total];
|
// const compatibility = `${100 * (total / values.length)}%`;
|
||||||
jsegarra marked this conversation as resolved
Outdated
jgallego
commented
a tablas a tablas
|
|||||||
compatibility.value = `${100 * (total / values.length)}%`;
|
return total;
|
||||||
return { status, total, compatibility };
|
|
||||||
};
|
};
|
||||||
// const conditionalValue = (tag) => (tag === 1 ? 'match' : 'not-match');
|
// const conditionalValue = (tag) => (tag === 1 ? 'match' : 'not-match');
|
||||||
const conditionalValuePrice = (price) =>
|
const conditionalValuePrice = (price) => (price > 1.3 ? 'match' : 'not-match');
|
||||||
price > currentTicket.value.price * 1.3 ? 'match' : 'not-match';
|
|
||||||
// const changeTicket = (type, _index = 0) => {
|
// const changeTicket = (type, _index = 0) => {
|
||||||
// const value = type ? 1 : -1;
|
// const value = type ? 1 : -1;
|
||||||
// const nextIndex = index.value + value + _index;
|
// const nextIndex = index.value + value + _index;
|
||||||
|
@ -75,6 +77,7 @@ const columns = computed(() => [
|
||||||
label: t('Compatibildiad'),
|
label: t('Compatibildiad'),
|
||||||
name: 'status',
|
name: 'status',
|
||||||
field: statusConditionalValue,
|
field: statusConditionalValue,
|
||||||
|
sortable: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
...defaultColumnAttrs,
|
...defaultColumnAttrs,
|
||||||
|
@ -84,7 +87,7 @@ const columns = computed(() => [
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'left',
|
||||||
sortable: true,
|
sortable: true,
|
||||||
label: t('proposal.longName'),
|
label: t('proposal.longName'),
|
||||||
name: 'longName',
|
name: 'longName',
|
||||||
|
@ -124,11 +127,11 @@ const columns = computed(() => [
|
||||||
field: 'value8',
|
field: 'value8',
|
||||||
classes: ({ match8 }) => conditionalValue(match8),
|
classes: ({ match8 }) => conditionalValue(match8),
|
||||||
},*/
|
},*/
|
||||||
{
|
// {
|
||||||
...defaultColumnAttrs,
|
// ...defaultColumnAttrs,
|
||||||
label: t('proposal.tags'),
|
// label: t('proposal.tags'),
|
||||||
name: 'tags',
|
// name: 'tags',
|
||||||
},
|
// },
|
||||||
|
|
||||||
{
|
{
|
||||||
...defaultColumnAttrs,
|
...defaultColumnAttrs,
|
||||||
|
@ -171,32 +174,38 @@ async function confirm() {
|
||||||
<QDialog ref="dialogRef" @hide="onDialogHide" v-model="showProposalDialog" full-width>
|
<QDialog ref="dialogRef" @hide="onDialogHide" v-model="showProposalDialog" full-width>
|
||||||
<QCard class="q-pa-lg">
|
<QCard class="q-pa-lg">
|
||||||
<QCardSection class="row items-center q-pb-none">
|
<QCardSection class="row items-center q-pb-none">
|
||||||
<QImg
|
<VnLv class="image">
|
||||||
:src="`/api/Images/catalog/50x50/${item.id}/download?access_token=${token}`"
|
<template #label>
|
||||||
spinner-color="primary"
|
<QImg
|
||||||
:ratio="1"
|
:src="`/api/Images/catalog/50x50/${item.id}/download?access_token=${token}`"
|
||||||
height="50px"
|
spinner-color="primary"
|
||||||
width="50px"
|
:ratio="1"
|
||||||
class="image remove-bg"
|
height="50px"
|
||||||
:alt="'asdads'"
|
width="50px"
|
||||||
/>
|
class="image remove-bg"
|
||||||
|
:alt="'asdads'"
|
||||||
<span class="text-h6">{{ item.longName }}</span>
|
/>
|
||||||
<span class="text"
|
</template>
|
||||||
><sub>{{ item.longName }}</sub></span
|
<template #value>
|
||||||
>
|
<QBtn flat class="link text-blue">
|
||||||
|
{{ item.longName }}
|
||||||
|
<ItemDescriptorProxy :id="item.id" />
|
||||||
jsegarra marked this conversation as resolved
jgallego
commented
30 ? 30 ?
jsegarra
commented
Lo habia reemplazado arroba y faltaba esta Lo habia reemplazado arroba y faltaba esta
|
|||||||
|
</QBtn>
|
||||||
|
<FetchedTags class="q-ml-md" :item="item" :max-length="5" />
|
||||||
|
</template>
|
||||||
|
</VnLv>
|
||||||
<QSpace />
|
<QSpace />
|
||||||
<QBtn icon="close" flat round dense v-close-popup />
|
<QBtn icon="close" flat round dense v-close-popup />
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
<QCardSection class="row items-center justify-center column items-stretch">
|
<QCardSection class="row items-center justify-center column items-stretch">
|
||||||
<span class="text-h6 text-grey">
|
<span class="text-h6 text-grey">
|
||||||
<!-- {{ currentTicket }} -->
|
<!-- {{ currentTicket }} -->
|
||||||
{{
|
<!-- {{
|
||||||
jgallego marked this conversation as resolved
Outdated
jgallego
commented
numeros en el codigo no en tablas, que es este 30? numeros en el codigo no en tablas, que es este 30?
jsegarra
commented
Gestionado en una columna de TicketConfig Gestionado en una columna de TicketConfig
|
|||||||
t('proposal.title', {
|
t('proposal.title', {
|
||||||
ticketFk: currentTicket.ticketFk,
|
ticketFk: currentTicket.ticketFk,
|
||||||
saleFk: currentTicket.saleFk,
|
saleFk: currentTicket.saleFk,
|
||||||
})
|
})
|
||||||
}}
|
}} -->
|
||||||
</span>
|
</span>
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
<QCardSection class="row items-center justify-center column items-stretch">
|
<QCardSection class="row items-center justify-center column items-stretch">
|
||||||
|
@ -251,7 +260,7 @@ async function confirm() {
|
||||||
</QTr> -->
|
</QTr> -->
|
||||||
</template>
|
</template>
|
||||||
<template #body-cell-longName="{ row, value }">
|
<template #body-cell-longName="{ row, value }">
|
||||||
<QTd align="right" class="text-primary">
|
<QTd align="left" class="text-primary">
|
||||||
<QTooltip>
|
<QTooltip>
|
||||||
{{ row.id }}
|
{{ row.id }}
|
||||||
</QTooltip>
|
</QTooltip>
|
||||||
|
@ -262,30 +271,28 @@ async function confirm() {
|
||||||
height="50px"
|
height="50px"
|
||||||
width="50px"
|
width="50px"
|
||||||
class="image remove-bg"
|
class="image remove-bg"
|
||||||
:alt="'asdads'"
|
:alt="'asdads'" />
|
||||||
/>
|
|
||||||
<QBtn flat color="blue" dense>{{ value }}</QBtn>
|
<QBtn flat color="blue" dense>{{ value }}</QBtn>
|
||||||
|
|
||||||
<ItemDescriptorProxy :id="row.id" />
|
<ItemDescriptorProxy :id="row.id" />
|
||||||
</QTd>
|
<FetchedTags :item="row" :max-length="5"
|
||||||
|
/></QTd>
|
||||||
</template>
|
</template>
|
||||||
<template #body-cell-status="{ value }">
|
<template #body-cell-status="{ value }">
|
||||||
<QTd class="col" align="center">
|
<QTd class="col" align="center">
|
||||||
<div
|
<div
|
||||||
:style="{ background: gradientStyle }"
|
:style="{ background: gradientStyle(value) }"
|
||||||
class="compatibility"
|
class="compatibility"
|
||||||
>
|
>
|
||||||
<QTooltip>
|
<QTooltip>
|
||||||
{{ value }}
|
{{ compatibilityItem(value) }}
|
||||||
</QTooltip>
|
</QTooltip>
|
||||||
</div>
|
</div>
|
||||||
</QTd>
|
</QTd>
|
||||||
</template>
|
</template>
|
||||||
<template #body-cell-tags="{ row }">
|
<!-- <template #body-cell-tags="{ row }">
|
||||||
<QTd class="col" align="center"
|
<QTd class="col" align="center"> </QTd>
|
||||||
><FetchedTags :item="row" :max-length="5"
|
</template> -->
|
||||||
/></QTd>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<template #body-cell-price2="{ row, value }">
|
<template #body-cell-price2="{ row, value }">
|
||||||
<QTd
|
<QTd
|
||||||
|
|
|
@ -88,6 +88,7 @@ itemType:
|
||||||
worker: Trabajador
|
worker: Trabajador
|
||||||
category: Reino
|
category: Reino
|
||||||
temperature: Temperatura
|
temperature: Temperatura
|
||||||
|
itemProposal: Artículos similares
|
||||||
proposal:
|
proposal:
|
||||||
title: Items de sustitución para los tickets seleccionados
|
title: Items de sustitución para los tickets seleccionados
|
||||||
itemFk: Item
|
itemFk: Item
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
<script setup>
|
||||||
|
import { ref, toRefs } from 'vue';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
import axios from 'axios';
|
||||||
|
import useNotify from 'src/composables/useNotify';
|
||||||
|
import { useValidator } from 'src/composables/useValidator';
|
||||||
|
import VnRow from 'components/ui/VnRow.vue';
|
||||||
|
import VnSelect from 'components/common/VnSelect.vue';
|
||||||
|
import VnInputDate from 'components/common/VnInputDate.vue';
|
||||||
|
import FetchData from 'src/components/FetchData.vue';
|
||||||
|
import { watch } from 'vue';
|
||||||
|
import { onMounted } from 'vue';
|
||||||
|
const { t } = useI18n();
|
||||||
|
const columns = [
|
||||||
|
{
|
||||||
|
name: 'name',
|
||||||
|
required: true,
|
||||||
|
label: 'Dessert (100g serving)',
|
||||||
|
align: 'left',
|
||||||
|
field: (row) => row.name,
|
||||||
|
format: (val) => `${val}`,
|
||||||
|
sortable: true,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const rows = [
|
||||||
|
{
|
||||||
|
name: 'Frozen Yogurt',
|
||||||
|
calories: 159,
|
||||||
|
fat: 6.0,
|
||||||
|
carbs: 24,
|
||||||
|
protein: 4.0,
|
||||||
|
sodium: 87,
|
||||||
|
calcium: '14%',
|
||||||
|
iron: '1%',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<QBtn color="primary" icon="show_chart">
|
||||||
|
<QPopupProxy ref="popupProxyRef" style="max-width: none">
|
||||||
|
<QCard class="column q-pa-md">
|
||||||
|
<span class="text-body1 q-mb-sm">{{ t('Campaign consumption') }}</span>
|
||||||
|
<VnRow class="q-gutter-md q-mb-md" style="min-width: 70vw">
|
||||||
|
<QCard class="column q-pa-md vn-one">
|
||||||
|
<VnRow class="row q-gutter-md q-mb-md">
|
||||||
|
<span class="text-body1 q-mb-sm"
|
||||||
|
>Lineas a transferir</span
|
||||||
|
></VnRow
|
||||||
|
>
|
||||||
|
<QTable
|
||||||
|
flat
|
||||||
|
bordered
|
||||||
|
title="Treats"
|
||||||
|
:rows="rows"
|
||||||
|
:columns="columns"
|
||||||
|
row-key="name"
|
||||||
|
/>
|
||||||
|
</QCard>
|
||||||
|
<QCard class="column q-pa-md vn-one">
|
||||||
|
<VnRow class="row q-gutter-md q-mb-md">
|
||||||
|
<span class="text-body1 q-mb-sm"
|
||||||
|
>Ticket destinatario</span
|
||||||
|
></VnRow
|
||||||
|
>
|
||||||
|
<QTable
|
||||||
|
flat
|
||||||
|
bordered
|
||||||
|
title="Treats"
|
||||||
|
:rows="rows"
|
||||||
|
:columns="columns"
|
||||||
|
row-key="name"
|
||||||
|
/>
|
||||||
|
</QCard>
|
||||||
|
</VnRow>
|
||||||
|
<!-- <div class="q-mt-lg row justify-end">
|
||||||
|
<QBtn
|
||||||
|
:label="t('globals.cancel')"
|
||||||
|
color="primary"
|
||||||
|
flat
|
||||||
|
class="q-mr-md"
|
||||||
|
v-close-popup
|
||||||
|
/>
|
||||||
|
<QBtn
|
||||||
|
:label="t('globals.save')"
|
||||||
|
type="submit"
|
||||||
|
color="primary"
|
||||||
|
@click="onSubmit()"
|
||||||
|
/>
|
||||||
|
</div> -->
|
||||||
|
</QCard>
|
||||||
|
</QPopupProxy>
|
||||||
|
<QTooltip>{{ t('Campaign consumption') }}</QTooltip>
|
||||||
|
</QBtn>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<i18n>
|
||||||
|
en:
|
||||||
|
params:
|
||||||
|
valentinesDay: Valentine's Day
|
||||||
|
mothersDay: Mother's Day
|
||||||
|
allSaints: All Saints' Day
|
||||||
|
es:
|
||||||
|
params:
|
||||||
|
valentinesDay: Día de San Valentín
|
||||||
|
mothersDay: Día de la Madre
|
||||||
|
allSaints: Día de Todos los Santos
|
||||||
|
Campaign consumption: Consumo campaña
|
||||||
|
Campaign: Campaña
|
||||||
|
From: Desde
|
||||||
|
To: Hasta
|
||||||
|
</i18n>
|
|
@ -8,7 +8,10 @@ import ChangeQuantityDialog from 'pages/Ticket/Negative/components/ChangeQuantit
|
||||||
import ChangeStateDialog from 'pages/Ticket/Negative/components/ChangeStateDialog.vue';
|
import ChangeStateDialog from 'pages/Ticket/Negative/components/ChangeStateDialog.vue';
|
||||||
import ItemProposal from 'pages/Item/components/ItemProposal.vue';
|
import ItemProposal from 'pages/Item/components/ItemProposal.vue';
|
||||||
import { useVnConfirm } from 'composables/useVnConfirm';
|
import { useVnConfirm } from 'composables/useVnConfirm';
|
||||||
|
import VnLv from 'src/components/ui/VnLv.vue';
|
||||||
|
import FetchedTags from 'components/ui/FetchedTags.vue';
|
||||||
|
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
|
||||||
|
import TickerSplit from '../Card/TicketSplit.vue';
|
||||||
import VnPaginate from 'src/components/ui/VnPaginate.vue';
|
import VnPaginate from 'src/components/ui/VnPaginate.vue';
|
||||||
import FetchData from 'src/components/FetchData.vue';
|
import FetchData from 'src/components/FetchData.vue';
|
||||||
import VnSelect from 'components/common/VnSelect.vue';
|
import VnSelect from 'components/common/VnSelect.vue';
|
||||||
|
@ -20,7 +23,6 @@ import { useStateStore } from 'stores/useStateStore';
|
||||||
import { useDialogPluginComponent } from 'quasar';
|
import { useDialogPluginComponent } from 'quasar';
|
||||||
import { useSession } from 'src/composables/useSession';
|
import { useSession } from 'src/composables/useSession';
|
||||||
import ZoneDescriptorProxy from 'pages/Zone/Card/ZoneDescriptorProxy.vue';
|
import ZoneDescriptorProxy from 'pages/Zone/Card/ZoneDescriptorProxy.vue';
|
||||||
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
stateStore.rightDrawer = false;
|
stateStore.rightDrawer = false;
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
|
@ -353,74 +355,71 @@ const split = async () => {
|
||||||
</QBtn></QBtnGroup
|
</QBtn></QBtnGroup
|
||||||
>
|
>
|
||||||
</Teleport> -->
|
</Teleport> -->
|
||||||
<Teleport to="#st-data" v-if="stateStore?.isSubToolbarShown()">
|
<VnSubToolbar>
|
||||||
<QSpace />
|
<template #st-data>
|
||||||
<QBtnGroup push style="column-gap: 1px">
|
<QBtnGroup push style="column-gap: 1px">
|
||||||
<QBtn
|
<QBtn
|
||||||
icon="refresh"
|
icon="refresh"
|
||||||
color="primary"
|
color="primary"
|
||||||
:label="t('negative.buttonsUpdate.state')"
|
:label="t('negative.buttonsUpdate.state')"
|
||||||
:disable="selectedRows.length < 2"
|
:disable="selectedRows.length < 2"
|
||||||
@click="showChangeStateDialog = true"
|
@click="showChangeStateDialog = true"
|
||||||
>
|
>
|
||||||
<QTooltip bottom anchor="bottom right">
|
<QTooltip bottom anchor="bottom right">
|
||||||
{{ t('negative.detail.modal.changeState.title') }}
|
{{ t('negative.detail.modal.changeState.title') }}
|
||||||
</QTooltip>
|
</QTooltip>
|
||||||
</QBtn>
|
</QBtn>
|
||||||
<QBtn
|
<QBtn
|
||||||
icon="refresh"
|
icon="refresh"
|
||||||
color="primary"
|
color="primary"
|
||||||
:label="t('negative.buttonsUpdate.quantity')"
|
:label="t('negative.buttonsUpdate.quantity')"
|
||||||
@click="showChangeQuantityDialog = true"
|
@click="showChangeQuantityDialog = true"
|
||||||
:disable="selectedRows.length < 2"
|
:disable="selectedRows.length < 2"
|
||||||
>
|
>
|
||||||
<QTooltip bottom anchor="bottom right">
|
<QTooltip bottom anchor="bottom right">
|
||||||
{{ t('negative.detail.modal.changeQuantity.title') }}
|
{{ t('negative.detail.modal.changeQuantity.title') }}
|
||||||
</QTooltip>
|
</QTooltip>
|
||||||
</QBtn>
|
</QBtn>
|
||||||
<QBtn
|
<QBtn
|
||||||
icon="refresh"
|
icon="refresh"
|
||||||
color="primary"
|
color="primary"
|
||||||
:label="t('negative.buttonsUpdate.itemProposal')"
|
:label="t('negative.buttonsUpdate.itemProposal')"
|
||||||
@click="showChangeQuantityDialog = true"
|
@click="showChangeQuantityDialog = true"
|
||||||
:disable="selectedRows.length < 2"
|
:disable="selectedRows.length < 2"
|
||||||
>
|
>
|
||||||
<QTooltip bottom anchor="bottom right">
|
<QTooltip bottom anchor="bottom right">
|
||||||
{{ t('negative.itemProposal') }}
|
{{ t('globals.refresh') }}
|
||||||
</QTooltip>
|
{{ t('negative.buttonsUpdate.itemProposal') }}
|
||||||
</QBtn>
|
</QTooltip>
|
||||||
<QBtn
|
</QBtn>
|
||||||
color="primary"
|
<TickerSplit></TickerSplit>
|
||||||
@click="
|
<QBtn
|
||||||
openConfirmationModal(
|
color="primary"
|
||||||
t('negative.detail.modal.split.title'),
|
@click="
|
||||||
t('negative.detail.modal.split.subTitle'),
|
openConfirmationModal(
|
||||||
split,
|
t('negative.detail.modal.split.title'),
|
||||||
() => (showSplitDialog = true)
|
t('negative.detail.modal.split.subTitle'),
|
||||||
)
|
split,
|
||||||
"
|
() => (showSplitDialog = true)
|
||||||
:disable="selectedRows.length < 1"
|
)
|
||||||
icon="call_split"
|
"
|
||||||
>
|
:disable="selectedRows.length < 1"
|
||||||
<QTooltip bottom anchor="bottom right">
|
icon="call_split"
|
||||||
{{ t('globals.split') }}
|
>
|
||||||
</QTooltip>
|
<QTooltip bottom anchor="bottom right">
|
||||||
</QBtn>
|
{{ t('globals.split') }}
|
||||||
<QBtn
|
</QTooltip>
|
||||||
icon="vn:item"
|
</QBtn>
|
||||||
color="primary"
|
<QBtn icon="vn:item" color="primary" @click="showProposalDialog = true">
|
||||||
:disable="selectedRows.length < 1"
|
<QTooltip bottom anchor="bottom right">
|
||||||
@click="showProposalDialog = true"
|
{{ t('itemProposal') }}
|
||||||
>
|
</QTooltip>
|
||||||
<QTooltip bottom anchor="bottom right">
|
</QBtn>
|
||||||
{{ t('Item proposal') }}
|
</QBtnGroup>
|
||||||
</QTooltip>
|
<QCheckbox v-model="showFree" :label="t('negative.detail.showFree')" />
|
||||||
</QBtn>
|
</template>
|
||||||
</QBtnGroup>
|
</VnSubToolbar>
|
||||||
<QCheckbox v-model="showFree" :label="t('negative.detail.showFree')" />
|
|
||||||
</Teleport>
|
|
||||||
<QPage>
|
<QPage>
|
||||||
<VnSubToolbar />
|
|
||||||
<div class="full-width q-pa-md">
|
<div class="full-width q-pa-md">
|
||||||
<VnPaginate
|
<VnPaginate
|
||||||
:data-key="URL_KEY"
|
:data-key="URL_KEY"
|
||||||
|
@ -431,8 +430,10 @@ const split = async () => {
|
||||||
>
|
>
|
||||||
<!-- :rows="rows" -->
|
<!-- :rows="rows" -->
|
||||||
<template #body="{ rows }">
|
<template #body="{ rows }">
|
||||||
<!-- <VnRow style="align-items: center">
|
{{ item }}
|
||||||
<div>
|
|
||||||
|
<VnLv class="image">
|
||||||
|
<template #label>
|
||||||
<QImg
|
<QImg
|
||||||
:src="`/api/Images/catalog/50x50/${entityId}/download?access_token=${token}`"
|
:src="`/api/Images/catalog/50x50/${entityId}/download?access_token=${token}`"
|
||||||
spinner-color="primary"
|
spinner-color="primary"
|
||||||
|
@ -442,8 +443,22 @@ const split = async () => {
|
||||||
class="image remove-bg"
|
class="image remove-bg"
|
||||||
:alt="'asdads'"
|
:alt="'asdads'"
|
||||||
/>
|
/>
|
||||||
|
</template>
|
||||||
<span class="text-h6">{{ item.longName }}</span>
|
<template #value>
|
||||||
|
<QBtn flat class="link text-blue">
|
||||||
|
{{ item.longName }}
|
||||||
|
<ItemDescriptorProxy :id="entityId" />
|
||||||
|
</QBtn>
|
||||||
|
<FetchedTags class="q-ml-md" :item="item" :max-length="5" />
|
||||||
|
</template>
|
||||||
|
</VnLv>
|
||||||
|
<!-- <ItemDescriptorProxy :id="entityId" />
|
||||||
|
<span class="text-h6">{{ item.longName }}</span>
|
||||||
|
<span class="text-h6"
|
||||||
|
><sub>{{ item.longName }}</sub></span
|
||||||
|
> -->
|
||||||
|
<!-- <VnRow style="align-items: center">
|
||||||
|
<div>
|
||||||
</div>
|
</div>
|
||||||
<QIcon name="arrow_right" size="lg" />
|
<QIcon name="arrow_right" size="lg" />
|
||||||
<VnSelectDialog action-icon="call_split"></VnSelectDialog
|
<VnSelectDialog action-icon="call_split"></VnSelectDialog
|
||||||
|
@ -552,13 +567,13 @@ const split = async () => {
|
||||||
></QPage>
|
></QPage>
|
||||||
<ChangeStateDialog
|
<ChangeStateDialog
|
||||||
ref="changeStateDialogRef"
|
ref="changeStateDialogRef"
|
||||||
@hide="onDetailDialogHide"
|
@hide="onDialogHide"
|
||||||
v-model="showChangeStateDialog"
|
v-model="showChangeStateDialog"
|
||||||
:selected-rows="selectedRows"
|
:selected-rows="selectedRows"
|
||||||
></ChangeStateDialog>
|
></ChangeStateDialog>
|
||||||
<ChangeQuantityDialog
|
<ChangeQuantityDialog
|
||||||
ref="changeQuantityDialogRef"
|
ref="changeQuantityDialogRef"
|
||||||
@hide="onDetailDialogHide"
|
@hide="onDialogHide"
|
||||||
v-model="showChangeQuantityDialog"
|
v-model="showChangeQuantityDialog"
|
||||||
:selected-rows="selectedRows"
|
:selected-rows="selectedRows"
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in New Issue
configuracion a tablas
ya no hace falta