import { tools } from '../../store/Modules/tools' import { CCardState } from '../CCardState' import { CCopyBtn } from '../CCopyBtn' import { IOperators, IOrder, IProduct } from '@src/model' import { defineComponent, PropType, toRef } from 'vue' import { CTitleBanner } from '@src/components/CTitleBanner' import { useProducts } from '@store/Products' export default defineComponent({ name: 'CSingleCart', props: { order: { type: Object as PropType, required: true, }, showall: { type: Boolean, required: false, default: false, }, nomodif: { type: Boolean, required: false, default: false, }, }, components: { CTitleBanner, CCardState, CCopyBtn }, setup(props) { const products = useProducts() const order = toRef(props, 'order') function myimgclass() { if (props.showall) { return 'imgNormal' } else { return 'imgSmall' } } function addsubqty(addqty: boolean, subqty: boolean) { if (products.isQtyAvailableByOrder(props.order)) { if (addqty) { if (props.order.quantity >= 20) return false } if (subqty) { if (props.order.quantity === 0) return false } } else { if (products.isInPreorderByOrder(props.order)) { if (addqty) { if (props.order.quantitypreordered >= 20) return false } if (subqty) { if (props.order.quantitypreordered === 0) return false } } } products.addSubQtyToItem({ addqty, subqty, order: props.order, }).then((res: any) => { if (res.risult) { order.value.quantity = res.myord.quantity order.value.quantitypreordered = res.myord.quantitypreordered } }) } function isApplicatoSconto() { const totalipotetico = order.value.price * (order.value.quantity + order.value.quantitypreordered) if (totalipotetico > order.value.TotalPriceProduct) { return true } return false } function removeFromCard() { products.removeFromCart({ order: order.value }) } return { myimgclass, addsubqty, removeFromCard, isApplicatoSconto, } }, })