#6321 - Negative ticket #158

Open
jsegarra wants to merge 220 commits from 6321_negative_tickets into dev
6 changed files with 96 additions and 66 deletions
Showing only changes of commit 08f73acc3e - Show all commits

View File

@ -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>

View File

@ -190,7 +190,7 @@ const isSelectionAvailable = (itemProposal) => {
return byQuantity;
};
jsegarra marked this conversation as resolved
Review

30 ?

30 ?
Review

Lo habia reemplazado arroba y faltaba esta

Lo habia reemplazado arroba y faltaba esta
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)

View File

@ -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"

View File

@ -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;
}

View File

@ -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>

View File

@ -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;