aggiornamento ordini
This commit is contained in:
@@ -308,6 +308,7 @@ export const shared_consts = {
|
||||
CAT_SKILL_TXT: 4,
|
||||
CAT_NO_SPAZI: 5,
|
||||
CAT_GOODS_TXT: 10,
|
||||
PRODUCTS: 20,
|
||||
},
|
||||
|
||||
BotType: [
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -341,9 +341,8 @@ h3 {
|
||||
|
||||
.myimgtitle {
|
||||
max-width: 100%;
|
||||
height: 300px;
|
||||
width: 100%;
|
||||
@media (max-width: 718px) {
|
||||
height: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -5830,7 +5830,7 @@ export const tools = {
|
||||
groupname: '',
|
||||
circuitnameDest: circuitname,
|
||||
}
|
||||
|
||||
|
||||
userStore.setCircuitCmd($q, t, username, circuitname, shared_consts.CIRCUITCMD.SETFIDO, true, extrarec)
|
||||
.then((res: any) => {
|
||||
if (res && res.result) {
|
||||
@@ -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 !
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -70,13 +70,13 @@
|
||||
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">
|
||||
|
||||
Reference in New Issue
Block a user