#6321 - Negative ticket #158
|
@ -9,10 +9,10 @@ const props = defineProps({
|
|||
});
|
||||
|
||||
const valueClass = computed(() =>
|
||||
props.value === 0 ? 'neutral' : props.value > 0 ? 'positive' : 'negative'
|
||||
props.value === 0 ? 'neutral' : props.value > 0 ? 'positive' : 'negative',
|
||||
);
|
||||
const iconName = computed(() =>
|
||||
props.value === 0 ? 'equal' : props.value > 0 ? 'arrow_upward' : 'arrow_downward'
|
||||
props.value === 0 ? 'equal' : props.value > 0 ? 'arrow_upward' : 'arrow_downward',
|
||||
);
|
||||
const formattedValue = computed(() => props.value);
|
||||
</script>
|
||||
|
|
|
@ -190,7 +190,7 @@ const isSelectionAvailable = (itemProposal) => {
|
|||
return byQuantity;
|
||||
};
|
||||
|
||||
jsegarra marked this conversation as resolved
|
||||
const isDisabled = (row) => !isSelectionAvailable(row.value);
|
||||
const isDisabled = (row) => !isSelectionAvailable(row);
|
||||
</script>
|
||||
<template>
|
||||
<VnTable
|
||||
|
@ -230,13 +230,16 @@ const isDisabled = (row) => !isSelectionAvailable(row.value);
|
|||
color="primary"
|
||||
flat
|
||||
dense
|
||||
:disable="isDisabled(row)"
|
||||
@click="change(row)"
|
||||
:class="{
|
||||
'fill-icon': isSelected(row),
|
||||
}"
|
||||
@click="change(row)"
|
||||
:disable="!isSelectionAvailable(row)"
|
||||
>
|
||||
<QTooltip> {{ isDisabled ? t('Disabled') : t('Enabled') }} </QTooltip>
|
||||
<QTooltip v-if="!isSelected(row)">
|
||||
{{ t('Select to replace') }}</QTooltip
|
||||
>
|
||||
<QTooltip v-else> {{ t('Selected to replace') }}</QTooltip>
|
||||
</QBtn>
|
||||
<div
|
||||
class="middle compatibility"
|
||||
|
@ -283,6 +286,7 @@ const isDisabled = (row) => !isSelectionAvailable(row.value);
|
|||
</template>
|
||||
<template #column-price2="{ row }">
|
||||
<div class="flex column items-center content-center">
|
||||
* {{ sales[0] }} **{{ row.price2 }}*
|
||||
<VnStockValueDisplay :value="sales[0].price - row.price2" />
|
||||
<span :class="[conditionalValuePrice(row.price2)]">{{
|
||||
toCurrency(row.price2)
|
||||
|
|
|
@ -7,6 +7,7 @@ import TicketTransferForm from './TicketTransferForm.vue';
|
|||
|
||||
import { toDateFormat } from 'src/filters/date.js';
|
||||
import VnInputDate from 'src/components/common/VnInputDate.vue';
|
||||
import transferSales from './components/transferSales';
|
||||
|
||||
const $props = defineProps({
|
||||
mana: {
|
||||
|
@ -22,7 +23,7 @@ const $props = defineProps({
|
|||
default: () => {},
|
||||
},
|
||||
ticket: {
|
||||
type: Object,
|
||||
type: [Array, Object],
|
||||
default: () => {},
|
||||
},
|
||||
split: {
|
||||
|
@ -92,16 +93,25 @@ const handleRowClick = (row) => {
|
|||
transferFormRef.value.transferSales(ticketId);
|
||||
}
|
||||
};
|
||||
const split = () => {
|
||||
const tickets = Array.isArray($props.ticket) ? $props.ticket : [$props.ticket];
|
||||
tickets.forEach(transferSales);
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<QPopupProxy ref="popupProxyRef" data-cy="ticketTransferPopup">
|
||||
<div class="flex row items-center q-ma-lg" v-if="$props.split">
|
||||
<QBtn class="q-mr-sm" color="primary" label="Split"></QBtn>
|
||||
<QBtn class="q-mr-sm" color="primary" label="Split" @click="split"></QBtn>
|
||||
<VnInputDate :label="$t('New date')" v-model="splitDate"></VnInputDate>
|
||||
</div>
|
||||
<QSeparator class="q-my-lg" color="primary" />
|
||||
<QCard class="full-width q-px-md" style="display: flex; width: 80vw">
|
||||
<QCard
|
||||
v-if="!$props.split"
|
||||
class="full-width q-px-md"
|
||||
style="display: flex; width: 80vw"
|
||||
>
|
||||
{{ ticket }}- {{ transfer }}
|
||||
<QTable
|
||||
:rows="transfer.sales"
|
||||
:columns="transferLinesColumns"
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
export default async function ({ ticketId, sales }) {
|
||||
const params = {
|
||||
ticketId,
|
||||
sales,
|
||||
};
|
||||
|
||||
const { data } = await axios.post(`tickets/${ticketId}/transferSales`, params);
|
||||
|
||||
return data;
|
||||
}
|
|
@ -138,16 +138,17 @@ const filterTable = { stateFk: 0, warehouseFk: useState().getUser().value.wareho
|
|||
data-cy="transferLines"
|
||||
color="primary"
|
||||
icon="vn:splitline"
|
||||
:disable="selectedRows.length < 1"
|
||||
:disable="!(selectedRows.length === 1)"
|
||||
>
|
||||
<QTooltip>{{ t('ticketSale.transferLines') }} </QTooltip>
|
||||
<TicketTransfer
|
||||
ref="transferFormRef"
|
||||
split="true"
|
||||
class="full-width"
|
||||
:ticket="selectedRows"
|
||||
:transfer="{
|
||||
sales: selectedRows,
|
||||
lastActiveTickets: selectedRows.map((row) => row.ticketFk),
|
||||
lastActiveTickets: selectedRows.map((row) => row.id),
|
||||
}"
|
||||
></TicketTransfer>
|
||||
</QBtn>
|
||||
|
|
|
@ -258,61 +258,57 @@ function onBuysFetched(data) {
|
|||
|
||||
<template #column-status="{ row }">
|
||||
<QTd style="width: 150px">
|
||||
<QIcon
|
||||
v-if="row.isBasket"
|
||||
name="vn:basket"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.isBasket') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.hasToIgnore"
|
||||
name="star"
|
||||
color="primary"
|
||||
class="cursor-pointer fill-icon"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.hasToIgnore') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.hasSubstitution"
|
||||
name="change_circle"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{
|
||||
t('negative.detail.hasSubstitution')
|
||||
}}</QTooltip> </QIcon
|
||||
><QIcon
|
||||
v-if="row.isRookie"
|
||||
name="vn:Person"
|
||||
size="xs"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.isRookie') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.peticionCompra"
|
||||
name="vn:buyrequest"
|
||||
size="xs"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.peticionCompra') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.turno"
|
||||
name="vn:calendar"
|
||||
size="xs"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.turno') }}</QTooltip>
|
||||
</QIcon></QTd
|
||||
<div class="icon-container">
|
||||
<QIcon
|
||||
name="vn:basket"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.isBasket') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
name="star"
|
||||
color="primary"
|
||||
class="cursor-pointer fill-icon"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.hasToIgnore') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
name="change_circle"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{
|
||||
t('negative.detail.hasSubstitution')
|
||||
}}</QTooltip> </QIcon
|
||||
><QIcon
|
||||
name="vn:Person"
|
||||
size="xs"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.isRookie') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
name="vn:buyrequest"
|
||||
size="xs"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.peticionCompra') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
name="vn:calendar"
|
||||
size="xs"
|
||||
color="primary"
|
||||
class="cursor-pointer"
|
||||
>
|
||||
<QTooltip>{{ t('negative.detail.turno') }}</QTooltip>
|
||||
</QIcon>
|
||||
</div></QTd
|
||||
>
|
||||
</template>
|
||||
|
||||
|
@ -351,6 +347,15 @@ function onBuysFetched(data) {
|
|||
</VnTable>
|
||||
</template>
|
||||
<style lang="scss" scoped>
|
||||
.icon-container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 0.2fr);
|
||||
row-gap: 5px; /* Ajusta el espacio entre los iconos según sea necesario */
|
||||
}
|
||||
.icon-container > * {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
.list-enter-active,
|
||||
.list-leave-active {
|
||||
transition: all 1s ease;
|
||||
|
|
Loading…
Reference in New Issue
30 ?
Lo habia reemplazado arroba y faltaba esta