aggiornamento product

This commit is contained in:
Surya Paolo
2023-12-10 15:15:27 +01:00
parent 59c03f28f2
commit 1ce6d765ee
10 changed files with 169 additions and 108 deletions

View File

@@ -39,8 +39,8 @@ export default defineComponent({
})
const numOrders = computed(() => {
if (!!products.cart) {
return products.cart.items!.length
if (!!products.cart && products.cart.items) {
return products.cart.items.length
} else {
return 0
}

View File

@@ -30,7 +30,7 @@
</div>
<div v-else style="text-align: center">
<q-btn
rounded icon="fas fa-shopping-cart" color="green" label="Vai alla Cassa" class="q-mb-sm" to="/checkout"
rounded icon="fas fa-shopping-cart" color="green" :label="$t('ecomm.btn_cassa')" class="q-mb-sm" to="/checkout"
@click="closecart"></q-btn>
</div>
</div>

View File

@@ -1,4 +1,4 @@
import { defineComponent, ref, toRef, computed, PropType, watch } from 'vue'
import { defineComponent, ref, toRef, computed, PropType, watch, onMounted } from 'vue'
import { useI18n } from '@src/boot/i18n'
import { useUserStore } from '@store/UserStore'
import { useGlobalStore } from '@store/globalStore'
@@ -42,7 +42,7 @@ export default defineComponent({
const myorder = ref(<IOrder>{
idapp: process.env.APP_ID,
quantity: 1,
quantity: 0,
idStorehouse: ''
})
@@ -50,6 +50,12 @@ export default defineComponent({
const storeSelected = ref('')
const valoriopt = computed(() => (item: any, addall: boolean, addnone: boolean) => {
// console.log('valoriopt', item.table)
return globalStore.getTableJoinByName(item.table, addall, addnone, item.filter)
})
function iconWhishlist(order: IProduct) {
if (true) {
return 'far fa-heart'
@@ -101,22 +107,22 @@ export default defineComponent({
})
}
function getnumstore() {
function getnumstore() {
if (myproduct.value.storehouses)
return myproduct.value.storehouses.length
else
return 0
}
}
function getSingleStorehouse() {
function getSingleStorehouse() {
const mystore = myproduct.value.storehouses[0]
if (mystore)
return mystore.name + ' (' + mystore.city + ')'
else
return ''
}
}
function getStorehouses() {
function getStorehouses() {
const myarr: any = []
let ind = 1
@@ -133,22 +139,22 @@ function getStorehouses() {
// console.log('arraystore', myarr)
return myarr
}
}
function checkifCartDisable() {
function checkifCartDisable() {
return !myorder.value.idStorehouse
}
}
watch(() => props.code, (newval, oldval) => {
watch(() => props.code, (newval, oldval) => {
console.log('change code')
load()
})
})
watch(() => storeSelected.value, (newval, oldval) => {
watch(() => storeSelected.value, (newval, oldval) => {
myorder.value.idStorehouse = newval
})
})
async function load() {
async function load() {
// console.log('created Cproductcard', code)
if (props.code) {
myproduct.value = await products.loadProduct({ code: props.code })
@@ -164,23 +170,29 @@ async function load() {
myorder.value.idStorehouse = myproduct.value.storehouses[0]._id
}
}
}
function getmycardcl() {
const ord = products.getOrderProductInCart(myproduct.value._id)
if (ord) {
myorder.value.quantity = ord.quantity
}
}
function getmycardcl() {
return (props.complete) ? 'my-card-big' : 'my-card'
}
}
function getclimg() {
function getclimg() {
return (props.complete) ? 'myimgtitle centermydiv' : 'centermydiv'
}
}
function enableSubQty() {
function enableSubQty() {
return myorder.value ? myorder.value.quantity > 0 : true
}
}
load()
onMounted(load)
return {
return {
decqty,
addqty,
addtoCart,
@@ -197,6 +209,6 @@ return {
t,
storeSelected,
enableSubQty,
}
}
}
})

View File

@@ -1,7 +1,5 @@
<template>
<q-card :class="getmycardcl()" v-if="!!myproduct">
<div v-if="myorder">myorder: {{ myorder }}</div>
<q-img
:src="`` + myproduct.img"
:alt="myproduct.name"
@@ -87,7 +85,7 @@
<q-btn
icon="fas fa-cart-arrow-down"
:color="enableSubQty() ? 'negative': 'grey'"
:color="enableSubQty() ? 'negative' : 'grey'"
:disable="checkifCartDisable() || !enableSubQty()"
rounded
size="md"
@@ -153,6 +151,15 @@
<q-separator />
<q-card-actions vertical align="center">
<q-btn
v-if="myorder.quantity > 0"
rounded
icon="fas fa-shopping-cart"
color="green"
:label="$t('ecomm.btn_cassa')"
class="q-mb-sm"
to="/checkout"
></q-btn>
<!--
<q-btn :icon="iconWhishlist(myproduct)" flat color="primary" rounded label="Lista Desideri">
</q-btn>

View File

@@ -7,7 +7,7 @@
</CVerifyTelegram>
-->
<div v-if="tools.isLogged() && site.confpages.enableRegMultiChoice">
<div v-if="tools.isLogged() && (site.confpages.enableRegMultiChoice || (!site.confpages.enabledRegNeedTelegram))">
<CVerifyEmail v-if="!tools.isEmailVerified() && !tools.TelegVerificato()">
</CVerifyEmail>
</div>

View File

@@ -1619,6 +1619,7 @@ const msg_it = {
conferma_acq: 'Confermare l\'ordine di acquisto di {qty} prodotti ?',
order: 'Ordine',
ord_confirmed: 'Ordine Confermato',
btn_cassa: 'Vai alla Cassa',
},
install: {

View File

@@ -3935,7 +3935,7 @@ export const tools = {
try {
if (riscode === this.OK) {
this.showNotif(mythisq, t('login.completato'), { color: 'positive', icon: 'check' })
console.log('mythis.$router.name', route.name)
// console.log('mythis.$router.name', route.name)
if (ispageLogin) {
if (route.name !== '/')
$router.push('/')

View File

@@ -34,7 +34,7 @@
<br />
</div>
<q-stepper-navigation>
<div class="text-center">
<q-btn
v-if="statusnow < shared_consts.OrderStatus.CHECKOUT_SENT"
rounded
@@ -45,7 +45,7 @@
:disabled="myTotalQty() < 1"
@click="completeOrder"
></q-btn>
</q-stepper-navigation>
</div>
</div>
</q-page>
</template>

View File

@@ -38,6 +38,47 @@ export default defineComponent({
const statusnow = ref(0)
const arrnumstatus = ref(<any[]>[])
const columns = ref(<any>[
{
name: 'numorder',
required: true,
align: 'left',
label: 'Numero Ordine',
field: 'numorder',
sortable: true
},
{
name: 'created_at',
required: true,
align: 'center',
label: 'Effettuato il',
field: 'created_at',
sortable: true
},
{
name: 'items',
required: true,
label: 'Articoli',
field: 'items',
sortable: true
},
{
name: 'totalPrice',
required: true,
label: 'Totale',
field: 'totalPrice',
sortable: true
},
{
name: 'status',
align: 'center',
required: true,
label: 'Stato',
field: 'status',
sortable: true
}
])
const columns_Admin = ref(<any>[
{
name: 'numorder',
required: true,
@@ -83,6 +124,14 @@ export default defineComponent({
label: 'Stato',
field: 'status',
sortable: true
},
{
name: 'comandi',
align: 'center',
required: false,
label: 'Comandi',
field: 'comandi',
sortable: false
}
])
@@ -124,16 +173,9 @@ export default defineComponent({
console.log('arrnumstatus;')
console.log(arrnumstatus.value)
columns.value = [...columns.value,
{
name: 'comandi',
align: 'center',
required: false,
label: 'Comandi',
field: 'comandi',
sortable: false
}]
if (tools.isManager()) {
columns.value = [...columns_Admin.value]
}
}
function CanBeShipped() {

View File

@@ -125,7 +125,6 @@
}}</span>
</q-td>
<q-td key="comandi" :props="props">
Bottone:
<div v-if="tools.isManager()" class="q-pa-sm">
<q-btn-dropdown rounded dense label="Azioni">
<q-list class="text-primary">