- Aggiunto bottone Aggiungi al Carrello sulla lista dei libri dei cataloghi
This commit is contained in:
@@ -1,30 +1,38 @@
|
||||
import type { PropType} from 'vue';
|
||||
import { defineComponent, ref, toRef, computed, watch, onMounted, reactive, onBeforeUnmount } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { useQuasar } from 'quasar'
|
||||
import type { PropType } from 'vue';
|
||||
import {
|
||||
defineComponent,
|
||||
ref,
|
||||
toRef,
|
||||
computed,
|
||||
watch,
|
||||
onMounted,
|
||||
reactive,
|
||||
onBeforeUnmount,
|
||||
} from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { useUserStore } from '@store/UserStore';
|
||||
import { useGlobalStore } from '@store/globalStore';
|
||||
import { useQuasar } from 'quasar';
|
||||
|
||||
import { CTitleBanner } from '../CTitleBanner'
|
||||
import { CCardState } from '../CCardState'
|
||||
import { CCopyBtn } from '../CCopyBtn'
|
||||
import { CMyFieldRec } from '../CMyFieldRec'
|
||||
import { CBarCode } from '../CBarCode'
|
||||
import { CText } from '../CText'
|
||||
import { CMyValueDb } from '../CMyValueDb'
|
||||
import { CTitleBanner } from '../CTitleBanner';
|
||||
import { CCardState } from '../CCardState';
|
||||
import { CCopyBtn } from '../CCopyBtn';
|
||||
import { CMyFieldRec } from '../CMyFieldRec';
|
||||
import { CBarCode } from '../CBarCode';
|
||||
import { CText } from '../CText';
|
||||
import { CMyValueDb } from '../CMyValueDb';
|
||||
|
||||
import { func_tools, toolsext } from '@store/Modules/toolsext'
|
||||
import { func_tools, toolsext } from '@store/Modules/toolsext';
|
||||
|
||||
import type { IGasordine, IOrder, IOrderCart, IProduct } from '@src/model';
|
||||
import { IBaseOrder } from '@src/model'
|
||||
import { tools } from '@tools'
|
||||
import { useProducts } from '@store/Products'
|
||||
import { IBaseOrder } from '@src/model';
|
||||
import { tools } from '@tools';
|
||||
import { useProducts } from '@store/Products';
|
||||
|
||||
import { shared_consts } from '@src/common/shared_vuejs'
|
||||
import { useRouter } from 'vue-router'
|
||||
|
||||
import { costanti } from '@costanti'
|
||||
import { shared_consts } from '@src/common/shared_vuejs';
|
||||
import { useRouter } from 'vue-router';
|
||||
|
||||
import { costanti } from '@costanti';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CProductCard',
|
||||
@@ -51,27 +59,32 @@ export default defineComponent({
|
||||
},
|
||||
},
|
||||
components: {
|
||||
CTitleBanner, CCardState, CCopyBtn,
|
||||
CMyFieldRec, CMyValueDb, CBarCode, CText,
|
||||
CTitleBanner,
|
||||
CCardState,
|
||||
CCopyBtn,
|
||||
CMyFieldRec,
|
||||
CMyValueDb,
|
||||
CBarCode,
|
||||
CText,
|
||||
},
|
||||
setup(props, { emit }) {
|
||||
const $q = useQuasar()
|
||||
const { t } = useI18n()
|
||||
const userStore = useUserStore()
|
||||
const globalStore = useGlobalStore()
|
||||
const products = useProducts()
|
||||
const $q = useQuasar();
|
||||
const { t } = useI18n();
|
||||
const userStore = useUserStore();
|
||||
const globalStore = useGlobalStore();
|
||||
const Products = useProducts();
|
||||
|
||||
const listord = ref(<IOrderCart[]>[])
|
||||
const sumval = ref(0)
|
||||
const editOn = ref(false)
|
||||
const listord = ref(<IOrderCart[]>[]);
|
||||
const sumval = ref(0);
|
||||
const editOn = ref(false);
|
||||
|
||||
const site = ref(globalStore.site)
|
||||
const site = ref(globalStore.site);
|
||||
|
||||
const $router = useRouter()
|
||||
const $router = useRouter();
|
||||
|
||||
const fullscreenImage = ref(<any>null)
|
||||
const fullscreenImage = ref(<any>null);
|
||||
|
||||
const apriSchedaPDF = ref(false)
|
||||
const apriSchedaPDF = ref(false);
|
||||
|
||||
let myorder = reactive(<IOrder>{
|
||||
idapp: tools.getEnv('VITE_APP_ID'),
|
||||
@@ -81,219 +94,209 @@ export default defineComponent({
|
||||
idGasordine: '',
|
||||
storehouse: {},
|
||||
gasordine: { active: false },
|
||||
})
|
||||
});
|
||||
|
||||
const storeSelected = ref('')
|
||||
const arrordersCart = ref(<IOrderCart[]>[])
|
||||
const storeSelected = ref('');
|
||||
const arrordersCart = ref(<IOrderCart[]>[]);
|
||||
|
||||
const timerInterval = ref(<any>null)
|
||||
const timerLabelScadenza = ref('')
|
||||
const labelDataRitiro = ref('')
|
||||
const labelDataArrivoMerce = ref('')
|
||||
const timerInterval = ref(<any>null);
|
||||
const timerLabelScadenza = ref('');
|
||||
const labelDataRitiro = ref('');
|
||||
const labelDataArrivoMerce = ref('');
|
||||
|
||||
const openlistorders = ref(false)
|
||||
const endload = ref(false)
|
||||
const myproduct = ref(<IProduct>{})
|
||||
const openlistorders = ref(false);
|
||||
const endload = ref(false);
|
||||
const myproduct = ref(<IProduct>{});
|
||||
|
||||
const isFullScreen = ref(false)
|
||||
const imageSrc = ref('URL_DEL_TUO_FILE_IMMAGINE')
|
||||
const startX = ref(0)
|
||||
const startY = ref(0)
|
||||
const scale = ref(1)
|
||||
|
||||
|
||||
watch(() => editOn.value, (to: any, from: any) => {
|
||||
if (!editOn.value)
|
||||
ricarica()
|
||||
})
|
||||
const isFullScreen = ref(false);
|
||||
const imageSrc = ref('URL_DEL_TUO_FILE_IMMAGINE');
|
||||
const startX = ref(0);
|
||||
const startY = ref(0);
|
||||
const scale = ref(1);
|
||||
|
||||
watch(
|
||||
() => editOn.value,
|
||||
(to: any, from: any) => {
|
||||
if (!editOn.value) ricarica();
|
||||
}
|
||||
);
|
||||
|
||||
/*const myproduct = computed((): IProduct => {
|
||||
console.log('getproduct computed')
|
||||
const ris = products.getProduct(props.code)
|
||||
const ris = Products.getProduct(props.code)
|
||||
console.log(' received', ris)
|
||||
return ris
|
||||
})*/
|
||||
|
||||
|
||||
function iconWhishlist(order: IProduct) {
|
||||
if (true) {
|
||||
return 'far fa-heart'
|
||||
return 'far fa-heart';
|
||||
} else {
|
||||
return 'fas fa-heart'
|
||||
return 'fas fa-heart';
|
||||
}
|
||||
}
|
||||
async function addtoCart(add: boolean) {
|
||||
|
||||
if (!userStore.isLogged) {
|
||||
tools.showNeutralNotif($q, t('ecomm.area_personale'))
|
||||
globalStore.rightDrawerOpen = true
|
||||
return false
|
||||
tools.showNeutralNotif($q, t('ecomm.area_personale'));
|
||||
globalStore.rightDrawerOpen = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
const ris = await products.addtoCartBase({ $q, t, id: myproduct.value._id, order: myorder, addqty: add })
|
||||
updateproduct()
|
||||
const ris = await Products.addtoCartBase({
|
||||
$q,
|
||||
t,
|
||||
id: myproduct.value._id,
|
||||
order: myorder,
|
||||
addqty: add,
|
||||
});
|
||||
updateproduct();
|
||||
if (ris && ris.myord) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function getnumstore() {
|
||||
if (myproduct.value) {
|
||||
if (myproduct.value.storehouses)
|
||||
return myproduct.value.storehouses.length
|
||||
else
|
||||
return 0
|
||||
if (myproduct.value.storehouses) return myproduct.value.storehouses.length;
|
||||
else return 0;
|
||||
}
|
||||
return 0
|
||||
return 0;
|
||||
}
|
||||
|
||||
function getSingleStorehouse() {
|
||||
try {
|
||||
const mystore = myproduct.value.storehouses[0]
|
||||
if (mystore)
|
||||
return mystore.name + ' (' + mystore.city + ')'
|
||||
else
|
||||
return ''
|
||||
const mystore = myproduct.value.storehouses[0];
|
||||
if (mystore) return mystore.name + ' (' + mystore.city + ')';
|
||||
else return '';
|
||||
} catch (e) {
|
||||
return ''
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getSingleGasordine(gasordine: IGasordine) {
|
||||
try {
|
||||
const mygas = gasordine
|
||||
const mygas = gasordine;
|
||||
if (mygas)
|
||||
/*return mygas.name + ' (' + mygas.city + ') ' + t('gas.dataora_chiusura_ordini') + ': ' + tools.getstrDateShort(mygas.dataora_chiusura_ordini)
|
||||
+ ' ' + t('gas.data_arrivo_merce') + ': ' + tools.getstrDateShort(mygas.data_arrivo_merce)
|
||||
+ ' ' + t('gas.dataora_ritiro') + ': ' + tools.getstrDateShort(mygas.dataora_ritiro)*/
|
||||
|
||||
return mygas.name
|
||||
else
|
||||
return ''
|
||||
return mygas.name;
|
||||
else return '';
|
||||
} catch (e) {
|
||||
return ''
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
function initproduct() {
|
||||
|
||||
myorder.quantity = 0
|
||||
myorder.quantitypreordered = 0
|
||||
myorder.idStorehouse = ''
|
||||
myorder.idGasordine = ''
|
||||
|
||||
}
|
||||
|
||||
async function updateproduct() {
|
||||
|
||||
// console.log('props.id', props.id)
|
||||
myproduct.value = await products.getProductById(props.id)
|
||||
myproduct.value = await Products.getProductById(props.id);
|
||||
|
||||
// products.updateQuantityAvailable(myproduct.value._id)
|
||||
// Products.updateQuantityAvailable(myproduct.value._id)
|
||||
}
|
||||
|
||||
async function ricarica() {
|
||||
endload.value = false
|
||||
const prod = await products.loadProductById(myproduct.value._id)
|
||||
endload.value = false;
|
||||
const prod = await Products.loadProductById(myproduct.value._id);
|
||||
if (prod) {
|
||||
myproduct.value = prod
|
||||
myproduct.value = prod;
|
||||
}
|
||||
await load()
|
||||
endload.value = true
|
||||
|
||||
await load();
|
||||
endload.value = true;
|
||||
}
|
||||
|
||||
async function updateproductmodif(element: any) {
|
||||
// console.log('updateproductmodif')
|
||||
try {
|
||||
if (element?._id) {
|
||||
myproduct.value = await products.getProductById(element?._id)
|
||||
myproduct.value = await Products.getProductById(element?._id);
|
||||
} else {
|
||||
myproduct.value = await products.getProductById(props.id)
|
||||
myproduct.value = await Products.getProductById(props.id);
|
||||
}
|
||||
|
||||
updateLabel()
|
||||
updateLabel();
|
||||
} catch (e) {
|
||||
console.error('err', e)
|
||||
console.error('err', e);
|
||||
}
|
||||
}
|
||||
|
||||
function getStorehouses() {
|
||||
if (!myproduct.value)
|
||||
return []
|
||||
if (!myproduct.value) return [];
|
||||
|
||||
const myarr: any = []
|
||||
let ind = 1
|
||||
const myarr: any = [];
|
||||
let ind = 1;
|
||||
myproduct.value.storehouses.forEach((store) => {
|
||||
myarr.push(
|
||||
{
|
||||
id: ind,
|
||||
label: store.name + ' (' + store.city + ')',
|
||||
value: store._id
|
||||
})
|
||||
myarr.push({
|
||||
id: ind,
|
||||
label: store.name + ' (' + store.city + ')',
|
||||
value: store._id,
|
||||
});
|
||||
|
||||
ind++
|
||||
})
|
||||
ind++;
|
||||
});
|
||||
|
||||
// console.log('arraystore', myarr)
|
||||
return myarr
|
||||
return myarr;
|
||||
}
|
||||
|
||||
function checkifCartDisable() {
|
||||
// return !myorder.idStorehouse
|
||||
return isOrdineChiuso()
|
||||
return isOrdineChiuso();
|
||||
}
|
||||
|
||||
function getQtyWarn() {
|
||||
if (myorder.quantity > 0) {
|
||||
return t('ecomm.di_cui_x_in_carrello', { qty: myorder.quantity })
|
||||
return t('ecomm.di_cui_x_in_carrello', { qty: myorder.quantity });
|
||||
}
|
||||
return ''
|
||||
return '';
|
||||
}
|
||||
|
||||
function getQtyWarnPreOrdered() {
|
||||
if (myorder.quantitypreordered > 0) {
|
||||
return t('ecomm.di_cui_x_in_carrello', { qty: myorder.quantitypreordered })
|
||||
return t('ecomm.di_cui_x_in_carrello', { qty: myorder.quantitypreordered });
|
||||
}
|
||||
return ''
|
||||
return '';
|
||||
}
|
||||
|
||||
watch(() => props.id, async (newval, oldval) => {
|
||||
// console.log('change code')
|
||||
await load()
|
||||
})
|
||||
watch(
|
||||
() => props.id,
|
||||
async (newval, oldval) => {
|
||||
// console.log('change code')
|
||||
await load();
|
||||
}
|
||||
);
|
||||
|
||||
watch(() => storeSelected.value, (newval, oldval) => {
|
||||
myorder.idStorehouse = newval
|
||||
})
|
||||
watch(
|
||||
() => storeSelected.value,
|
||||
(newval, oldval) => {
|
||||
myorder.idStorehouse = newval;
|
||||
}
|
||||
);
|
||||
|
||||
function updateLabel() {
|
||||
let dataArrivoMerce = ''
|
||||
let dataRitiro = ''
|
||||
let dataArrivoMerce = '';
|
||||
let dataRitiro = '';
|
||||
try {
|
||||
if (myproduct.value && myproduct.value.gasordine) {
|
||||
if (myproduct.value.gasordine.data_arrivo_merce)
|
||||
dataArrivoMerce = tools.getstrDateShort(myproduct.value.gasordine.data_arrivo_merce)
|
||||
dataArrivoMerce = tools.getstrDateShort(
|
||||
myproduct.value.gasordine.data_arrivo_merce
|
||||
);
|
||||
if (myproduct.value.gasordine.dataora_ritiro)
|
||||
dataRitiro = tools.getstrDateTime(myproduct.value.gasordine.dataora_ritiro)
|
||||
dataRitiro = tools.getstrDateTime(myproduct.value.gasordine.dataora_ritiro);
|
||||
} else {
|
||||
dataArrivoMerce = ''
|
||||
dataRitiro = ''
|
||||
dataArrivoMerce = '';
|
||||
dataRitiro = '';
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
} catch (e) {}
|
||||
if (labelDataArrivoMerce.value !== dataArrivoMerce)
|
||||
labelDataArrivoMerce.value = dataArrivoMerce
|
||||
if (labelDataRitiro.value !== dataRitiro)
|
||||
labelDataRitiro.value = dataRitiro
|
||||
labelDataArrivoMerce.value = dataArrivoMerce;
|
||||
if (labelDataRitiro.value !== dataRitiro) labelDataRitiro.value = dataRitiro;
|
||||
|
||||
updateTimerLabel()
|
||||
updateTimerLabel();
|
||||
}
|
||||
|
||||
async function mounted() {
|
||||
await load()
|
||||
await load();
|
||||
|
||||
// Start the timer when the component is mounted
|
||||
startTimer();
|
||||
@@ -305,15 +308,24 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function updateTimerLabel() {
|
||||
if (myproduct.value && myproduct.value.gasordine && myproduct.value.gasordine._id && myproduct.value.gasordine.dataora_chiusura_ordini)
|
||||
timerLabelScadenza.value = tools.getCountDown(myproduct.value.gasordine.dataora_chiusura_ordini)
|
||||
else
|
||||
timerLabelScadenza.value = ''
|
||||
if (
|
||||
myproduct.value &&
|
||||
myproduct.value.gasordine &&
|
||||
myproduct.value.gasordine._id &&
|
||||
myproduct.value.gasordine.dataora_chiusura_ordini
|
||||
)
|
||||
timerLabelScadenza.value = tools.getCountDown(
|
||||
myproduct.value.gasordine.dataora_chiusura_ordini
|
||||
);
|
||||
else timerLabelScadenza.value = '';
|
||||
}
|
||||
|
||||
function isOrdineChiuso() {
|
||||
return myproduct.value.gasordine && myproduct.value.gasordine.dataora_chiusura_ordini &&
|
||||
return (
|
||||
myproduct.value.gasordine &&
|
||||
myproduct.value.gasordine.dataora_chiusura_ordini &&
|
||||
tools.getCountDown(myproduct.value.gasordine.dataora_chiusura_ordini) === ''
|
||||
);
|
||||
}
|
||||
|
||||
function startTimer() {
|
||||
@@ -322,76 +334,74 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
async function load() {
|
||||
initproduct()
|
||||
await updateproduct()
|
||||
labelDataArrivoMerce.value = ''
|
||||
labelDataRitiro.value = ''
|
||||
Products.initproduct(myorder);
|
||||
await updateproduct();
|
||||
|
||||
// console.log('Load', myproduct.value.name)
|
||||
// console.log('created Cproductcard', code)
|
||||
labelDataArrivoMerce.value = '';
|
||||
labelDataRitiro.value = '';
|
||||
|
||||
arrordersCart.value = products.getOrdersCartInAttesaByIdProduct(myproduct.value._id)
|
||||
arrordersCart.value = Products.getOrdersCartInAttesaByIdProduct(
|
||||
myproduct.value._id
|
||||
);
|
||||
|
||||
if (!!myproduct.value) {
|
||||
if (myproduct.value.storehouses && myproduct.value.storehouses.length === 1) {
|
||||
// Se solo 1 presente, metto fisso l'unico negozio !
|
||||
myorder.idStorehouse = myproduct.value.storehouses[0]._id
|
||||
}
|
||||
|
||||
if (myproduct.value.gasordine) {
|
||||
myorder.idGasordine = myproduct.value.gasordine._id
|
||||
}
|
||||
|
||||
const ord = products.getOrderProductInCart(myproduct.value._id)
|
||||
if (ord) {
|
||||
myorder.quantity = ord.quantity
|
||||
myorder.quantitypreordered = ord.quantitypreordered
|
||||
|
||||
// Seleziona il Negozio che avevo già scelto nell'ordine !
|
||||
if (ord.idStorehouse)
|
||||
storeSelected.value = ord.idStorehouse
|
||||
|
||||
}
|
||||
Products.setMyOrder(myorder, myproduct.value, storeSelected.value, {
|
||||
setstore: true,
|
||||
});
|
||||
}
|
||||
|
||||
updateLabel()
|
||||
updateLabel();
|
||||
|
||||
// console.log('°°° ENDLOAD °°°')
|
||||
endload.value = true
|
||||
endload.value = true;
|
||||
}
|
||||
|
||||
function getclimgproduct() {
|
||||
return 'myimgproduct centermydiv'
|
||||
return 'myimgproduct centermydiv';
|
||||
}
|
||||
|
||||
|
||||
function visuListDisponibili() {
|
||||
openlistorders.value = true
|
||||
sumval.value = products.getSumQtyOrderProductInOrdersCart(myproduct.value._id)
|
||||
openlistorders.value = true;
|
||||
sumval.value = Products.getSumQtyOrderProductInOrdersCart(myproduct.value._id);
|
||||
|
||||
listord.value = arrordersCart.value.filter((orderscart: IOrderCart) => orderscart.items!.reduce((accumulator, item) => {
|
||||
return accumulator + item.order.quantity
|
||||
}, 0))
|
||||
listord.value = arrordersCart.value.filter((orderscart: IOrderCart) =>
|
||||
orderscart.items!.reduce((accumulator, item) => {
|
||||
return accumulator + item.order.quantity;
|
||||
}, 0)
|
||||
);
|
||||
}
|
||||
|
||||
function visuListBookable() {
|
||||
openlistorders.value = true
|
||||
sumval.value = products.getSumQtyPreOrderInOrdersCart(myproduct.value._id)
|
||||
openlistorders.value = true;
|
||||
sumval.value = Products.getSumQtyPreOrderInOrdersCart(myproduct.value._id);
|
||||
|
||||
listord.value = arrordersCart.value.filter((orderscart: IOrderCart) => orderscart.items!.reduce((accumulator, item) => {
|
||||
return accumulator + item.order.quantitypreordered
|
||||
}, 0))
|
||||
listord.value = arrordersCart.value.filter((orderscart: IOrderCart) =>
|
||||
orderscart.items!.reduce((accumulator, item) => {
|
||||
return accumulator + item.order.quantitypreordered;
|
||||
}, 0)
|
||||
);
|
||||
}
|
||||
|
||||
function isOrdGas(): boolean {
|
||||
return (myproduct.value && !!myproduct.value.idGasordine && myproduct.value.gasordine! && myproduct.value.gasordine.active)
|
||||
return (
|
||||
myproduct.value &&
|
||||
!!myproduct.value.idGasordine &&
|
||||
myproduct.value.gasordine! &&
|
||||
myproduct.value.gasordine.active
|
||||
);
|
||||
}
|
||||
|
||||
function getpercqtaraggiunta(): number {
|
||||
if (myproduct.value)
|
||||
return tools.calcperc((myproduct.value.bookableGASBloccatiQty + myproduct.value.QuantitaPrenotateInAttesa!) * myproduct.value.productInfo.weight!, myproduct.value.qtyToReachForGas * myproduct.value.productInfo.weight!) / 100
|
||||
else
|
||||
return 0
|
||||
return (
|
||||
tools.calcperc(
|
||||
(myproduct.value.bookableGASBloccatiQty +
|
||||
myproduct.value.QuantitaPrenotateInAttesa!) *
|
||||
myproduct.value.productInfo.weight!,
|
||||
myproduct.value.qtyToReachForGas * myproduct.value.productInfo.weight!
|
||||
) / 100
|
||||
);
|
||||
else return 0;
|
||||
}
|
||||
|
||||
function toggleFullScreen() {
|
||||
@@ -430,7 +440,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function naviga(path: string) {
|
||||
$router.push(path)
|
||||
$router.push(path);
|
||||
}
|
||||
|
||||
function hasImage(): boolean {
|
||||
@@ -439,11 +449,11 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
const { imagefile, image_link } = myproduct.value.productInfo;
|
||||
return ((!!imagefile && imagefile !== '') || (!!image_link && image_link !== ''))
|
||||
return (!!imagefile && imagefile !== '') || (!!image_link && image_link !== '');
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
onBeforeUnmount(beforeDestroy)
|
||||
onMounted(mounted);
|
||||
onBeforeUnmount(beforeDestroy);
|
||||
|
||||
return {
|
||||
visuListDisponibili,
|
||||
@@ -465,7 +475,7 @@ export default defineComponent({
|
||||
openlistorders,
|
||||
func_tools,
|
||||
toolsext,
|
||||
products,
|
||||
Products,
|
||||
arrordersCart,
|
||||
endload,
|
||||
shared_consts,
|
||||
@@ -493,6 +503,6 @@ export default defineComponent({
|
||||
ricarica,
|
||||
apriSchedaPDF,
|
||||
hasImage,
|
||||
}
|
||||
}
|
||||
})
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
v-if="
|
||||
(cosa === shared_consts.PROD.TUTTI && !isOrdGas()) ||
|
||||
cosa === shared_consts.PROD.BOTTEGA ||
|
||||
(cosa === shared_consts.PROD.GAS && products.getQtyAvailable(myproduct) > 0)
|
||||
(cosa === shared_consts.PROD.GAS && Products.getQtyAvailable(myproduct) > 0)
|
||||
"
|
||||
:clickable="tools.isManager()"
|
||||
style="padding: 16px !important;"
|
||||
@@ -166,7 +166,7 @@
|
||||
v-if="!editOn"
|
||||
class="prod_disp"
|
||||
>
|
||||
{{ products.getQtyAvailable(myproduct) }}
|
||||
{{ Products.getQtyAvailable(myproduct) }}
|
||||
</span>
|
||||
<CMyValueDb
|
||||
v-if="editOn"
|
||||
@@ -193,7 +193,7 @@
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section
|
||||
v-if="tools.isManager() && products.getQtyBloccataAvailable(myproduct) > 0"
|
||||
v-if="tools.isManager() && Products.getQtyBloccataAvailable(myproduct) > 0"
|
||||
>
|
||||
<q-item-section avatar>
|
||||
<q-icon
|
||||
@@ -203,7 +203,7 @@
|
||||
</q-item-section>
|
||||
<q-item-section
|
||||
v-if="
|
||||
tools.isManager() && products.getQtyBloccataAvailable(myproduct) > 0
|
||||
tools.isManager() && Products.getQtyBloccataAvailable(myproduct) > 0
|
||||
"
|
||||
>
|
||||
<q-item-label> {{ t('ecomm.bloccati') }}: </q-item-label>
|
||||
@@ -240,7 +240,7 @@
|
||||
{{ myproduct.productInfo.name }}
|
||||
</div>
|
||||
<div v-if="myproduct?.productInfo?.authors" class="text-h8 text-italic titolo_prod q-mb-sm">
|
||||
{{ products.getAutoriByArrayAuthors(myproduct.productInfo.authors) }}
|
||||
{{ Products.getAutoriByArrayAuthors(myproduct.productInfo.authors) }}
|
||||
</div>
|
||||
<div class="product_code">
|
||||
{{ t('ecomm.codice') }}: {{ myproduct.productInfo.code }}
|
||||
@@ -552,7 +552,7 @@
|
||||
</q-item-section>
|
||||
<q-item-section
|
||||
v-if="
|
||||
tools.isManager() && products.getQtyBloccataBookableAvailable(myproduct) > 0
|
||||
tools.isManager() && Products.getQtyBloccataBookableAvailable(myproduct) > 0
|
||||
"
|
||||
>
|
||||
<q-item-section avatar>
|
||||
@@ -715,7 +715,7 @@
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section
|
||||
v-if="tools.isManager() && products.getQtyBloccataAvailable(myproduct) > 0"
|
||||
v-if="tools.isManager() && Products.getQtyBloccataAvailable(myproduct) > 0"
|
||||
>
|
||||
<q-item-section avatar>
|
||||
<q-icon
|
||||
@@ -724,12 +724,12 @@
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section
|
||||
v-if="tools.isManager() && products.getQtyBloccataAvailable(myproduct) > 0"
|
||||
v-if="tools.isManager() && Products.getQtyBloccataAvailable(myproduct) > 0"
|
||||
>
|
||||
<q-item-label> {{ t('ecomm.bloccati') }}: </q-item-label>
|
||||
<q-item-label>
|
||||
<span class="text-black q-ml-xs text-h8">
|
||||
{{ products.getQtyBloccataAvailable(myproduct) }}</span
|
||||
{{ Products.getQtyBloccataAvailable(myproduct) }}</span
|
||||
>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
@@ -843,16 +843,16 @@
|
||||
<q-btn
|
||||
icon="fas fa-cart-arrow-down"
|
||||
:color="
|
||||
checkifCartDisable() || !products.enableSubQty(myorder)
|
||||
checkifCartDisable() || !Products.enableSubQty(myorder)
|
||||
? 'grey'
|
||||
: 'negative'
|
||||
"
|
||||
:disable="checkifCartDisable() || !products.enableSubQty(myorder)"
|
||||
:disable="checkifCartDisable() || !Products.enableSubQty(myorder)"
|
||||
rounded
|
||||
size="md"
|
||||
:label="
|
||||
t('products.subcart', {
|
||||
qta: products.qtaNextSub(myorder, myproduct),
|
||||
qta: Products.qtaNextSub(myorder, myproduct),
|
||||
})
|
||||
"
|
||||
@click="addtoCart(false)"
|
||||
@@ -877,16 +877,16 @@
|
||||
<q-btn
|
||||
icon-right="fas fa-cart-plus"
|
||||
:color="
|
||||
checkifCartDisable() || !products.enableAddQty(myorder, myproduct)
|
||||
checkifCartDisable() || !Products.enableAddQty(myorder, myproduct)
|
||||
? 'grey'
|
||||
: 'positive'
|
||||
"
|
||||
:disable="checkifCartDisable() || !products.enableAddQty(myorder, myproduct)"
|
||||
:disable="checkifCartDisable() || !Products.enableAddQty(myorder, myproduct)"
|
||||
rounded
|
||||
size="md"
|
||||
:label="
|
||||
t('products.addcart', {
|
||||
qta: products.qtaNextAdd(myorder, myproduct),
|
||||
qta: Products.qtaNextAdd(myorder, myproduct),
|
||||
})
|
||||
"
|
||||
@click="addtoCart(true)"
|
||||
|
||||
Reference in New Issue
Block a user