245 lines
7.7 KiB
Vue
Executable File
245 lines
7.7 KiB
Vue
Executable File
<template>
|
|
<div
|
|
v-if="order && order.product && order.product.productInfo"
|
|
class="q-pa-xs q-gutter-xs"
|
|
>
|
|
<div v-if="order.product">
|
|
<q-item>
|
|
<q-item-section top thumbnail class="q-ml-none">
|
|
<img
|
|
v-if="
|
|
order.product &&
|
|
order.product.productInfo &&
|
|
order.product.productInfo.img
|
|
"
|
|
:src="`` + order.product.productInfo.img"
|
|
:alt="order.product.productInfo.name"
|
|
:class="myimgclass()"
|
|
/>
|
|
</q-item-section>
|
|
|
|
<q-item-section>
|
|
<q-item-label>
|
|
<div v-if="order.idGasordine" class="gasordine">
|
|
{{ products.getSingleGasordine(order, true) }}<br />
|
|
</div>
|
|
{{ order.product.productInfo.name }}
|
|
</q-item-label>
|
|
|
|
<q-item-label caption>
|
|
<div
|
|
class="text-black text-h8"
|
|
v-if="order.product.productInfo.unit"
|
|
>
|
|
{{ tools.getWeightTotalByOrder(order) }}
|
|
{{
|
|
tools.getUnitsMeasure(
|
|
order.product.productInfo.unit,
|
|
true,
|
|
order.product.productInfo.weight
|
|
)
|
|
}}
|
|
</div>
|
|
<div class="row q-mb-xs no-wrap items-center centeritems">
|
|
<q-input
|
|
v-if="editmode"
|
|
v-model="weight"
|
|
autofocus
|
|
debounce="500"
|
|
borderless
|
|
rounded
|
|
dense
|
|
:label="t('products.weight')"
|
|
></q-input>
|
|
<q-input
|
|
v-if="editmode"
|
|
v-model="price"
|
|
autofocus
|
|
debounce="500"
|
|
borderless
|
|
rounded
|
|
dense
|
|
:label="t('products.price')"
|
|
></q-input>
|
|
</div>
|
|
<div class="row q-mb-xs no-wrap items-center centeritems">
|
|
<q-btn
|
|
v-if="showall && !nomodif && products.CanDeleteIfSub(order)"
|
|
icon="fas fa-trash"
|
|
color="negative"
|
|
round
|
|
size="xs"
|
|
@click="removeFromCard"
|
|
>
|
|
</q-btn>
|
|
<q-btn
|
|
v-else-if="showall && !nomodif"
|
|
:disable="!products.enableSubQty(order)"
|
|
size="sm"
|
|
icon="fas fa-cart-arrow-down"
|
|
:color="products.enableSubQty(order) ? 'negative' : 'grey'"
|
|
@click="addsubqty(false, true)"
|
|
rounded
|
|
:label="
|
|
t('products.subcart', {
|
|
qta: products.qtaNextSub(order, order.product),
|
|
})
|
|
"
|
|
></q-btn>
|
|
<div v-if="editmode">
|
|
<q-input
|
|
v-if="enableQty"
|
|
v-model="orderQuantity"
|
|
autofocus
|
|
debounce="500"
|
|
borderless
|
|
rounded
|
|
dense
|
|
:label="t('products.quantity')"
|
|
></q-input>
|
|
<q-input
|
|
v-if="enableQtyPreordered"
|
|
v-model="orderQuantityPreordered"
|
|
autofocus
|
|
debounce="500"
|
|
borderless
|
|
rounded
|
|
densep
|
|
:label="t('ecomm.preord')"
|
|
></q-input>
|
|
</div>
|
|
<div v-if="editmode">
|
|
<q-input
|
|
v-model="orderTotalPriceProduct"
|
|
autofocus
|
|
debounce="500"
|
|
borderless
|
|
rounded
|
|
dense
|
|
@change="changeTotalPrice"
|
|
:label="t('orderscart.TotalPriceProduct')"
|
|
></q-input>
|
|
|
|
<q-btn
|
|
outline
|
|
rounded
|
|
dense
|
|
color="green"
|
|
icon="fas fa-redo"
|
|
:label="t('orderscart.update_order')"
|
|
@click="
|
|
updateOrder({
|
|
quantitypreordered: order.quantitypreordered,
|
|
quantity: order.quantity,
|
|
price: order.price,
|
|
})
|
|
"
|
|
>
|
|
</q-btn>
|
|
</div>
|
|
<div v-else-if="showall" :class="`q-mx-sm text-blue-14 qta`">
|
|
{{ order.quantity + order.quantitypreordered }}
|
|
</div>
|
|
|
|
<q-btn
|
|
v-if="showall && !nomodif"
|
|
icon-right="fas fa-cart-plus"
|
|
color="positive"
|
|
:disable="!products.enableAddQty(order, order.product)"
|
|
rounded
|
|
size="sm"
|
|
:label="
|
|
t('products.addcart', {
|
|
qta: products.qtaNextAdd(order, order.product),
|
|
})
|
|
"
|
|
@click="addsubqty(true, false)"
|
|
>
|
|
</q-btn>
|
|
</div>
|
|
</q-item-label>
|
|
<q-item-label>
|
|
<div class="col-2 no-wrap text-subtitle3_short q-mr-sm">
|
|
<span class="prezzo_singolo">
|
|
{{ order.quantity + order.quantitypreordered }} x €
|
|
{{ order.price ? order.price : 0 }}
|
|
</span>
|
|
<span :class="isApplicatoSconto() ? 'ordine_scontato_nuovo' : ''">
|
|
= €
|
|
{{
|
|
order.TotalPriceProduct
|
|
? order.TotalPriceProduct.toFixed(2)
|
|
: 0
|
|
}}
|
|
</span>
|
|
<span
|
|
v-if="
|
|
tools.isManager() &&
|
|
order.TotalPriceProduct.toFixed(2) !==
|
|
order.TotalPriceProductCalc.toFixed(2)
|
|
"
|
|
:class="isApplicatoSconto() ? 'ordine_scontato_nuovo' : ''"
|
|
>
|
|
(Calc: €
|
|
{{
|
|
order.TotalPriceProductCalc
|
|
? order.TotalPriceProductCalc.toFixed(2)
|
|
: 0
|
|
}})
|
|
</span>
|
|
|
|
<span v-if="isApplicatoSconto()">
|
|
<span class="ordine_scontato"
|
|
>(<span class="barrato"
|
|
>€
|
|
{{
|
|
(
|
|
order.price * order.quantity +
|
|
order.price * order.quantitypreordered
|
|
).toFixed(2)
|
|
}}</span
|
|
>)</span
|
|
>
|
|
</span>
|
|
<span
|
|
v-if="isApplicatoSconto() && !editmode"
|
|
class="ordine_scritta_sconto"
|
|
>{{
|
|
$t('ecomm.sconto_applicato', { risparmio: getRisparmio() })
|
|
}}</span
|
|
>
|
|
</div>
|
|
</q-item-label>
|
|
</q-item-section>
|
|
<q-item-section side>
|
|
<q-item-label>
|
|
<div class="col-2">
|
|
<q-btn
|
|
v-if="!nomodif"
|
|
icon="fas fa-trash"
|
|
color="negative"
|
|
round
|
|
size="xs"
|
|
@click="removeFromCard"
|
|
>
|
|
</q-btn>
|
|
</div>
|
|
</q-item-label>
|
|
</q-item-section>
|
|
|
|
<!--<q-item-section side top>
|
|
<q-item-label caption>meta</q-item-label>
|
|
</q-item-section>
|
|
-->
|
|
</q-item>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts" src="./CSingleCart.ts">
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
@import './CSingleCart.scss';
|
|
</style>
|