diff --git a/src/model/Products.ts b/src/model/Products.ts
index 6ec3d02a..0fe7c9ac 100755
--- a/src/model/Products.ts
+++ b/src/model/Products.ts
@@ -7,10 +7,12 @@ export interface IProduct {
idProducer?: string,
idProvider?: string,
idStorehouses?: string[],
+ idGasordines?: string[],
idScontisticas?: string[],
scontisticas: IScontistica[],
producer?: IProducer,
storehouses: IStorehouse[],
+ gasordines: IGasordine[],
provider?: IProvider,
code?: string,
name?: string,
@@ -26,6 +28,7 @@ export interface IProduct {
QuantitaOrdinateInAttesa?: number,
QuantitaPrenotateInAttesa?: number,
stockQty: number,
+ minBuyQty: number,
bookableQty: number,
canBeShipped?: boolean,
canBeBuyOnline?: boolean,
@@ -141,7 +144,7 @@ export interface IGasordine {
referent?: string,
city?: string,
img?: string,
- dataora_chiusura?: Date,
+ dataora_chiusura_ordini?: Date,
dataora_ritiro?: Date,
}
diff --git a/src/statics/lang/it.js b/src/statics/lang/it.js
index 3e30b08c..ae6bdf8d 100755
--- a/src/statics/lang/it.js
+++ b/src/statics/lang/it.js
@@ -62,6 +62,7 @@ const msg_it = {
quantity: 'Quantità ',
quantityAvailable: 'Disponibili',
stockQty: 'In Magazzino',
+ minBuyQty: 'Qta minima acquistabile',
bookableQty: 'Prenotabili',
bookableAvailableQty: 'Disponib. Prenotabili',
weight: 'Peso',
@@ -79,6 +80,8 @@ const msg_it = {
note: 'Note',
codice_EAN: 'EAN',
barcode: 'BarCode',
+ price_acquistato: 'Prezzo Acquistato',
+ vegan: 'Vegano',
},
storehouses: {
name: 'Magazzino',
@@ -1669,12 +1672,17 @@ const msg_it = {
qta_in_attesa: '(Ordinati In attesa {qty})',
sconto_applicato: 'Risparmi {risparmio} € !',
codice: 'Codice',
- code_o_text_search: 'Inserisci il codice o il testo',
+ code_o_text_search: 'Inserisci il codice o il testo da cercare',
code_add_to_cart: 'Aggiungi un codice al carrello',
qta_prenotate_in_attesa: '(Preordinate In attesa {qty})',
},
},
+ gas: {
+ dataora_chiusura_ordini: 'Data Chiusura Ordini',
+ dataora_ritiro: 'Data Ritiro Prodotti',
+ }
+
};
export default msg_it;
diff --git a/src/store/Modules/fieldsTable.ts b/src/store/Modules/fieldsTable.ts
index b49288c2..6ede4233 100755
--- a/src/store/Modules/fieldsTable.ts
+++ b/src/store/Modules/fieldsTable.ts
@@ -449,7 +449,7 @@ export const colTableGasordine = [
AddCol({ name: 'referente', label_trans: 'store.referent' }),
AddCol({ name: 'city', label_trans: 'store.city' }),
AddCol({ name: 'img', label_trans: 'store.img' }),
- AddCol({ name: 'dataora_chiusura', label_trans: 'gas.dataora_chiusura', fieldtype: costanti.FieldType.date }),
+ AddCol({ name: 'dataora_chiusura_ordini', label_trans: 'gas.dataora_chiusura_ordini', fieldtype: costanti.FieldType.date }),
AddCol({ name: 'dataora_ritiro', label_trans: 'gas.dataora_ritiro', fieldtype: costanti.FieldType.date }),
AddCol(DeleteRec),
AddCol(DuplicateRec),
@@ -1957,7 +1957,7 @@ export const colTableIscrittiArcadei = [
export const colTableProducts = [
AddCol({ name: 'active', label_trans: 'products.active', fieldtype: costanti.FieldType.boolean }),
- AddCol({ name: 'code', label_trans: 'products.code' }),
+ AddCol({ name: 'code', label_trans: 'products.code', required: true }),
AddCol({ name: 'codice_EAN', label_trans: 'products.codice_EAN' }),
AddCol({ name: 'barcode', label_trans: 'products.barcode' }),
AddCol({ name: 'name', label_trans: 'products.name' }),
@@ -1977,6 +1977,12 @@ export const colTableProducts = [
fieldtype: costanti.FieldType.multiselect,
jointable: 'storehouses',
}),
+ AddCol({
+ name: 'idGasordines',
+ label_trans: 'gasordine.name',
+ fieldtype: costanti.FieldType.multiselect,
+ jointable: 'gasordines',
+ }),
AddCol({
name: 'idProvider',
label_trans: 'provider.name',
@@ -2002,11 +2008,12 @@ export const colTableProducts = [
fieldtype: costanti.FieldType.multiselect,
jointable: 'categorys',
}),
- AddCol({ name: 'price', label_trans: 'products.price', fieldtype: costanti.FieldType.number }),
+ AddCol({ name: 'price', label_trans: 'products.price', fieldtype: costanti.FieldType.number, required: true }),
+ AddCol({ name: 'price_acquistato', label_trans: 'products.price_acquistato', fieldtype: costanti.FieldType.number, required: true }),
AddCol({ name: 'after_price', label_trans: 'products.after_price' }),
AddCol({ name: 'color', label_trans: 'products.color' }),
AddCol({ name: 'size', label_trans: 'products.size' }),
- AddCol({
+ /*AddCol({
name: 'quantityAvailable',
label_trans: 'products.quantityAvailable',
fieldtype: costanti.FieldType.number
@@ -2015,6 +2022,11 @@ export const colTableProducts = [
name: 'bookableAvailableQty',
label_trans: 'products.bookableAvailableQty',
fieldtype: costanti.FieldType.number
+ }), */
+ AddCol({
+ name: 'minBuyQty',
+ label_trans: 'products.minBuyQty',
+ fieldtype: costanti.FieldType.number
}),
AddCol({
name: 'stockQty',
diff --git a/src/store/Products.ts b/src/store/Products.ts
index a2f263fe..d4d1d674 100755
--- a/src/store/Products.ts
+++ b/src/store/Products.ts
@@ -20,8 +20,18 @@ export const useProducts = defineStore('Products', {
}),
getters: {
- getProducts: (state: IProductsState) => (): IProduct[] => {
- return state.products
+ getProducts: (state: IProductsState) => (cosa?: number): IProduct[] => {
+ if (!!cosa) {
+ let ris = null
+ if (cosa === shared_consts.PROD.GAS) {
+ ris = state.products.filter((rec) => (rec.idGasordines && rec.idGasordines.length > 0))
+ } else if (cosa === shared_consts.PROD.BOTTEGA) {
+ ris = state.products.filter((rec) => (!rec.idGasordines || (rec.idGasordines && rec.idGasordines.length === 0)))
+ }
+ return ris ? ris : []
+ } else {
+ return state.products
+ }
},
updateDataProduct: (state: IProductsState) => (res: any) => {
@@ -55,14 +65,15 @@ export const useProducts = defineStore('Products', {
getProductById: (state: IProductsState) => (id: string): IProduct => {
const prod = state.products.find((prod: IProduct) => prod._id === id)
- return prod ? prod : { active: false, img: '', code: '', name: '', storehouses: [], scontisticas: [], price: 0, stockQty: 0, bookableQty: 0 }
+ return prod ? prod : { active: false, img: '', code: '', name: '', storehouses: [], scontisticas: [], price: 0, stockQty: 0, bookableQty: 0, gasordines: [], idGasordines: [], minBuyQty: 1 }
},
getProductByCode: (state: IProductsState) => (code: string): IProduct => {
const prod = state.products.find((prod: IProduct) => prod.code === code)
return prod ? prod : {
active: false, img: '', code: '', name: '', storehouses: [], scontisticas: [], price: 0,
- stockQty: 0, bookableQty: 0
+ gasordines: [], idGasordines: [],
+ stockQty: 0, bookableQty: 0, minBuyQty: 1
}
},
@@ -215,8 +226,10 @@ export const useProducts = defineStore('Products', {
active: false,
idProducer: '',
idStorehouses: [],
+ idGasordines: [],
idScontisticas: [],
scontisticas: [],
+ gasordines: [],
idProvider: '',
producer: {},
storehouses: [],
@@ -232,6 +245,7 @@ export const useProducts = defineStore('Products', {
quantityAvailable: 0,
bookableAvailableQty: 0,
stockQty: 0,
+ minBuyQty: 1,
bookableQty: 0,
canBeShipped: false,
QuantitaOrdinateInAttesa: 0,
@@ -645,7 +659,7 @@ export const useProducts = defineStore('Products', {
if (ris && ris.myord == null) {
msg = t('ecomm.prodotto_tolto')
tools.showNotif($q, msg)
- return
+ return
}
if (ris === null || ris.myord == null) {
msg = t('ecomm.error_cart')
diff --git a/src/views/ecommerce/productsList/productsList.ts b/src/views/ecommerce/productsList/productsList.ts
index fea241de..dafcc146 100755
--- a/src/views/ecommerce/productsList/productsList.ts
+++ b/src/views/ecommerce/productsList/productsList.ts
@@ -9,6 +9,7 @@ import { toolsext } from '@store/Modules/toolsext'
import { useQuasar } from 'quasar'
import { costanti } from '@costanti'
+import { shared_consts } from '@/common/shared_vuejs'
import { CProductCard } from '@src/components/CProductCard'
import { IProduct } from '@src/model'
@@ -27,12 +28,14 @@ export default defineComponent({
const search = ref('')
+ const cosa = ref(shared_consts.PROD.GAS)
+
function mounted() {
// Inizializza
productStore.loadProducts()
}
function getProducts() {
- let arrprod = productStore.getProducts()
+ let arrprod = productStore.getProducts(cosa.value)
if (!search.value) {
return arrprod
}
@@ -54,6 +57,8 @@ export default defineComponent({
toolsext,
getProducts,
search,
+ cosa,
+ shared_consts,
}
}
})
diff --git a/src/views/ecommerce/productsList/productsList.vue b/src/views/ecommerce/productsList/productsList.vue
index e6aff2bd..61c4ff87 100755
--- a/src/views/ecommerce/productsList/productsList.vue
+++ b/src/views/ecommerce/productsList/productsList.vue
@@ -1,29 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+ Vai alla Bottega
+
+
+
+
+
+
+
+