123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- const state = {
- products: [],
- selectedProduct: null
- }
- const getters = {
- getProducts (state) {
- return state.products
- },
- getSelectedProduct(state) {
- return state.selectedProduct
- },
- getVariants(state) {
- return !!state.selectedProduct ? state.selectedProduct.variants : []
- }
- }
- const mutations = {
- pushProducts(state, payload) {
- state.products = [...payload.products]
- },
- setSelectedProduct(state, payload) {
- state.selectedProduct = payload.product
- },
- applyFilter(state, payload) {
- if (!payload.constraint) {
- return
- }
- }
- }
- const actions = {
- fetchProducts ({ commit, dispatch }) {
- return new Promise((resolve, reject) => {
- let pos = new openerp.web.Model('eiru.pos')
- pos.call('get_products').then(response => {
- commit('pushProducts', {
- products: response
- })
- dispatch('loaded', {
- module: 'products'
- })
-
- resolve()
- }).fail(error => {
- console.log(error)
- reject(error)
- })
- })
- },
- selectProduct({ commit, dispatch }, payload) {
- if (payload.item.variant_count > 1) {
- commit('setSelectedProduct', {
- product: payload.item
- })
- } else {
- dispatch('addToCart', {
- product: payload.item.variants[0]
- })
- }
- },
- selectVariant({ commit, dispatch }, payload) {
- console.log(payload)
- commit('setSelectedProduct', {
- product: null
- })
- dispatch('addToCart', {
- product: payload.data
- })
- }
- }
- export default {
- state,
- getters,
- mutations,
- actions
- }
|