aggiornamento ordini

This commit is contained in:
Surya Paolo
2023-12-14 15:20:27 +01:00
parent ba7fffdc23
commit 4ec5b12d64
11 changed files with 97 additions and 42 deletions

View File

@@ -308,6 +308,7 @@ export const shared_consts = {
CAT_SKILL_TXT: 4,
CAT_NO_SPAZI: 5,
CAT_GOODS_TXT: 10,
PRODUCTS: 20,
},
BotType: [

View File

@@ -154,8 +154,8 @@ export default defineComponent({
if (myorder.value.quantity > 0) {
myproduct.value.quantityAvailable -= myorder.value.quantity
}
if (myproduct.value.tempTotalQty > 0) {
myproduct.value.quantityAvailable -= myproduct.value.tempTotalQty
if (myproduct.value.QuantitaOrdinateInAttesa > 0) {
myproduct.value.quantityAvailable -= myproduct.value.QuantitaOrdinateInAttesa
}
}

View File

@@ -1,8 +1,7 @@
<template>
<div class="q-pa-md row items-start q-gutter-md">
<q-card :class="getmycardcl()" v-if="!!myproduct" bordered>
<!--<q-img :src="`` + myproduct.img" :alt="myproduct.name" :class="getclimg()"></q-img>-->
<img src="https://cdn.quasar.dev/img/parallax2.jpg" />
<q-img :src="`` + myproduct.img" :alt="myproduct.name" :class="getclimg()"></q-img>
<q-list>
<q-item>
@@ -46,7 +45,6 @@
myproduct.after_price
}}</span>
tempTotalQty : {{ myproduct.tempTotalQty }}
</q-item-label>
</q-item-section>
</q-item>
@@ -104,6 +102,9 @@
</span>
<span class="prod_qtywarn">
{{ getQtyWarn() }}
<div v-if="tools.isManager() && myproduct.QuantitaOrdinateInAttesa > 0">Quantita Ordinate In Attesa : {{ myproduct.QuantitaOrdinateInAttesa }}</div>
</span>
</q-item-label>
<q-item-label> </q-item-label>

View File

@@ -1,10 +1,12 @@
<template>
<div class="q-pa-xs q-gutter-xs">
order.product.img: {{ order.product.img }}
<div v-if="order.product" class="row items-center justify-evenly no-wrap">
<div class="col-2 text-h6 ellipsis">
<img
v-if="order.product && order.product.img" :src="`` + order.product.img" :alt="order.product.name" :class="myimgclass">
<q-img v-if="order.product && order.product.img" :src="`` + order.product.img" :alt="order.product.name"
:class="myimgclass">
</q-img>
</div>
<div class="col-4 q-ml-xs">
{{ order.product.name }}
@@ -14,8 +16,7 @@
</div>
<div class="col-3">
<div class="row q-mb-xs no-wrap items-center centeritems">
<q-btn
v-if="showall && !nomodif" round size="xs" text-color="grey" icon="fas fa-minus"
<q-btn v-if="showall && !nomodif" round size="xs" text-color="grey" icon="fas fa-minus"
@click="addsubqty(false, true)"></q-btn>
<!--<q-field outlined dense style="width: 25px; height: 20px; " class="q-mx-xs text-subtitle4">
<template v-slot:control>
@@ -23,8 +24,7 @@
</template>
</q-field>-->
<div :class="`q-mx-sm text-blue-14`">{{ order.quantity }}</div>
<q-btn
v-if="showall && !nomodif" round size="xs" text-color="grey" icon="fas fa-plus"
<q-btn v-if="showall && !nomodif" round size="xs" text-color="grey" icon="fas fa-plus"
@click="addsubqty(true, false)"></q-btn>
</div>
</div>

View File

@@ -341,9 +341,8 @@ h3 {
.myimgtitle {
max-width: 100%;
height: 300px;
width: 100%;
@media (max-width: 718px) {
height: 200px;
}
}

View File

@@ -15,7 +15,7 @@ export interface IProduct {
color?: string,
size?: string,
quantityAvailable: number,
tempTotalQty: number,
QuantitaOrdinateInAttesa: number,
stockQty: number,
canBeShipped?: boolean,
canBeBuyOnline?: boolean,
@@ -127,7 +127,6 @@ export interface IOrderCart {
status: number
note?: string
modify_at?: Date
completed_at?: Date
evaso: boolean
date_evaso?: Date
consegnato: boolean
@@ -138,6 +137,8 @@ export interface IOrderCart {
date_spedito?: Date
ricevuto: boolean
date_ricevuto?: Date
completato: boolean
date_completato?: Date
}
export interface IShareWithUs {

View File

@@ -25,10 +25,12 @@ export default defineComponent({
const arrSkill = ref(<any[]>[])
const arrGood = ref(<any[]>[])
const importasulserver = ref(false)
const skipfirstrow = ref(true)
const incaricamento = ref(false)
const cosafare = ref(shared_consts.Cmd.PROVINCE)
const cosafare = ref(shared_consts.Cmd.PRODUCTS)
const inputfile = ref('')
const risultato = ref('')
@@ -38,6 +40,10 @@ export default defineComponent({
const ListaCmd = ref(
[
{
label: 'Importa Prodotti',
value: shared_consts.Cmd.PRODUCTS
},
{
label: 'Importa Province',
value: shared_consts.Cmd.PROVINCE
@@ -144,7 +150,7 @@ export default defineComponent({
}
const myid = arr.length + 1
arr.push({_id: myid, descr: cat})
arr.push({ _id: myid, descr: cat })
return myid
}
@@ -185,7 +191,7 @@ export default defineComponent({
arr = arrSkill.value
}
const myid = arr.length + 1
arr.push({_id: myid, descr: cat})
arr.push({ _id: myid, descr: cat })
return myid
}
@@ -247,7 +253,7 @@ export default defineComponent({
strskills += ' _id:' + idSkill + ','
if (cmd === shared_consts.Cmd.CAT_GOODS_TXT) {
strskills += ' idSectorGood: [' + idSector + '],'
}else if (cmd === shared_consts.Cmd.CAT_SKILL_TXT) {
} else if (cmd === shared_consts.Cmd.CAT_SKILL_TXT) {
strskills += ' idSector: [' + idSector + '],'
}
@@ -303,7 +309,7 @@ export default defineComponent({
// debugger;
for (let i = 0; i < myarr.length; i = i + righe) {
sotto_cat = myarr[i].replace('\'', '\\\'')
sector = myarr[i+2]
sector = myarr[i + 2]
txt += sotto_cat + ',' + sector + '<br>'
}
@@ -334,9 +340,18 @@ export default defineComponent({
let strris = ''
let ind = 1
let primo = true
for (const rec of myarr) {
if (skipfirstrow.value) {
if (ind === 1) {
ind++;
continue;
}
}
let lab = tools.addslashes(rec[0])
let val = tools.addslashes(rec[1])
if (cmd === shared_consts.Cmd.PROVINCE) {
@@ -356,6 +371,22 @@ export default defineComponent({
strris += ' comune:\'' + tools.addslashes(rec[1]) + '\','
strris += ' prov:\'' + tools.addslashes(rec[2]) + '\''
} else if (cmd === shared_consts.Cmd.PRODUCTS) {
if (!primo){
strris += ', '
}
strris += '{ '
strris += ' "code":"' + tools.removeescape(tools.addslashes(rec[0])) + '",'
strris += ' "name":"' + tools.removeescape(tools.addslashes(rec[1])) + '",'
strris += ' "price":"' + tools.removeescape(tools.addslashes(tools.convertPriceEurToValue(rec[2]))) + '",'
strris += ' "stockQty":"' + tools.removeescape(tools.addslashes(rec[3])) + '",'
strris += ' "link":"' + tools.removeescape(tools.addslashes(rec[4])) + '",'
strris += ' "perc_iva":"' + tools.removeescape(tools.addslashes(rec[5])) + '",'
strris += ' "price_acquistato":"' + tools.removeescape(tools.addslashes(tools.convertPriceEurToValue(rec[6]))) + '",'
strris += ' "producer_name":"' + tools.removeescape(tools.addslashes(rec[7])) + '"'
strris += '} '
} else if (cmd === shared_consts.Cmd.CITIES_SERVER) {
strris += '{ \n'
strris += ' _id :' + ind + ',\n'
@@ -370,14 +401,19 @@ export default defineComponent({
strris += '}, \n'
}
ind += 1
primo = false
}
if (cmd === shared_consts.Cmd.CITIES_SERVER) {
userStore.importToServerCmd($q, t, cmd, null)
} else if (cmd === shared_consts.Cmd.PRODUCTS) {
if (importasulserver.value)
userStore.importToServerCmd($q, t, cmd, strris)
}
risultato = strris
return risultato
}
@@ -400,6 +436,9 @@ export default defineComponent({
risultato.value = ''
userStore.importToServerCmd($q, t, cosafare.value, null)
}
function eseguiCmdProduct() {
userStore.importToServerCmd($q, t, cosafare.value, risultato.value)
}
function createProvLink() {
let str = ''
@@ -441,6 +480,9 @@ export default defineComponent({
caricadati,
createProvLink,
risraw,
importasulserver,
skipfirstrow,
eseguiCmdProduct,
}
}
})

View File

@@ -2,29 +2,25 @@
<CMyPage img="" title="Import Data" keywords="" description="">
<div class="q-ma-sm">
<q-toggle v-model="caricaDatiToggle" @click="caricadati()"
label="Carica Dati"></q-toggle>
<q-toggle v-model="caricaDatiToggle" @click="caricadati()" label="Carica Dati"></q-toggle>
<br>
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'" rounded outlined v-model="cosafare"
:options="ListaCmd"
label="Operazione" emit-value map-options>
<q-toggle v-model="importasulserver" label="Importa sul Server"></q-toggle>
<q-toggle v-model="skipfirstrow" label="Salta la prima riga"></q-toggle>
<q-select :behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'" rounded outlined v-model="cosafare"
:options="ListaCmd" label="Operazione" emit-value map-options>
</q-select>
<label class="text-reader">
<input type="file"
@change="loadTextFromFile" />
<input type="file" @change="loadTextFromFile" />
</label>
<br>
<br>
<q-btn
label="Esegui"
@click="eseguiCmd"></q-btn>
<q-btn v-if="cosafare !== shared_consts.Cmd.PRODUCTS" label="Esegui" @click="eseguiCmd"></q-btn>
<q-btn v-else label="Importa Prodotti" @click="eseguiCmdProduct"></q-btn>
<br>
<q-btn
label="Genera HTML Province Territoriali"
@click="createProvLink"></q-btn>
<q-btn label="Genera HTML Province Territoriali" @click="createProvLink"></q-btn>
<br><br>

View File

@@ -8259,6 +8259,16 @@ export const tools = {
return 0
},
convertPriceEurToValue(inputString: string): string {
// Rimuovi il simbolo della valuta (€) e sostituisci la virgola con un punto
return inputString.replace(/[^\d.,]/g, '').replace(',', '.');
},
removeescape(inputString: string): string {
return inputString.replace('\\', '').replace(/"/g, '')
},
// FINE !

View File

@@ -92,7 +92,7 @@ export const useProducts = defineStore('Products', {
quantityAvailable: 0,
stockQty: 0,
canBeShipped: false,
tempTotalQty: 0,
QuantitaOrdinateInAttesa: 0,
canBeBuyOnline: false,
weight: 0,
unit: 0,
@@ -424,9 +424,10 @@ export const useProducts = defineStore('Products', {
if (res.data.status === shared_consts.OrderStatus.CHECKOUT_SENT) {
this.cart = {}
if (res.data.orders)
this.orders = res.data.orders
}
if (res.data.orders)
this.orders = res.data.orders
return res.data.status
})
.catch((error) => {
@@ -450,7 +451,11 @@ export const useProducts = defineStore('Products', {
ris = await Api.SendReq('/cart/' + userStore.my._id + '/ordercartstatus', 'POST', { order_id, status })
.then((res) => {
if (res.data.orders)
this.orders = res.data.orders
return res.data.status
})
.catch((error) => {
console.log('error UpdateOrderCartStatus', error)

View File

@@ -70,13 +70,13 @@
&nbsp; n. {{ props.row.numorder }}
</q-td>
<q-td key="nameSurname" :props="props">
{{ props.row.nameSurname }}
{{ props.row.userId.name }} {{ props.row.userId.surname }}
</q-td>
<q-td key="created_at" :props="props">
{{ tools.getstrDateTime(props.row.created_at) }}
<span v-if="taborders === shared_consts.OrderStat.COMPLETATI">
<br />Completato il:<br />{{
tools.getstrDateTime(props.row.completed_at)
tools.getstrDateTime(props.row.date_completato)
}}
</span>
</q-td>
@@ -113,8 +113,8 @@
{{ tools.getstrDateTime(props.row.date_spedito) }}:
<span class="ordstat">{{ $t('ecomm.spedito') }}</span>
</div>
<div v-if="props.row.completed">
{{ tools.getstrDateTime(props.row.date_completed) }}:
<div v-if="props.row.completato">
{{ tools.getstrDateTime(props.row.date_completato) }}:
<span class="ordstat">{{ $t('ecomm.completed') }}</span>
</div>
<div v-if="props.row.ricevuto">