Jelajahi Sumber

[ADD] currencies and customers store modules

Gogs 7 tahun lalu
induk
melakukan
76e3e6ffa2

+ 11 - 0
src/components/CustomerCard.vue

@@ -0,0 +1,11 @@
+<template lang="pug">
+    .customer-card
+</template>
+
+<script>
+    export default {
+    }
+</script>
+
+<style lang="sass">
+</style>

+ 8 - 4
src/store/index.js

@@ -1,16 +1,20 @@
 import Vue from 'vue'
 import Vuex from 'vuex'
 
-import products from './modules/products'
-import cart from './modules/cart'
+import currencies from '@/store/modules/currencies'
+import products from '@/store/modules/products'
+import cart from '@/store/modules/cart'
+import customers from '@/store/modules/customers'
 
 Vue.use(Vuex)
 
 const Store = new Vuex.Store({
     modules: {
+        currencies,
         products,
-        cart
+        cart,
+        customers
     }
 })
 
-export default Store
+export default Store

+ 35 - 0
src/store/modules/currencies.js

@@ -0,0 +1,35 @@
+const state = {
+    currencies: []
+}
+
+const getters = {
+    getCurrencies(state) {
+        return state.currencies
+    }
+}
+
+const mutations = {
+    pushCurrencies(state, payload) {
+        state.currencies = payload.currencies
+    }
+}
+
+const actions = {
+    fetchCurrencies({ commit }) {
+        let currency = new openerp.web.Model('res.currency')
+        currency.query('name', 'display_name').filter([['active', '=', true]]).all().then(response => {
+            commit('pushCurrencies', {
+                currencies: response
+            })
+        }).fail(error => {
+            console.log(error);
+        })
+    }
+}
+
+export default {
+    state,
+    getters,
+    mutations,
+    actions
+}

+ 45 - 0
src/store/modules/customers.js

@@ -0,0 +1,45 @@
+const state = {
+    customers: [],
+    selectedCustomer: null
+}
+
+const getters = {
+    getCustomers(state) {
+        return state.customers
+    },
+    hasSelectedCustomer(state) {
+        return !!state.selectedCustomer
+    }
+}
+
+const mutations = {
+    pushCustomers(state, payload) {
+        state.customers = [...payload.customers]
+    },
+    selectCustomer(state, payload) {
+        state.selectedCustomer = payload.customer
+    }
+}
+
+const actions = {
+    fetchCustomers({ commit }){
+        let customer = new openerp.web.Model('res.partner')
+        customer.query(['name', 'display_name']).filter([['customer', '=', true], ['active', '=', true]]).all().then(response => {
+            commit('pushCustomers', {
+                customers: response
+            })
+        }).fail(error => {
+            console.log(error)
+        })
+    },
+    selectCustomer({ commit }, payload) {
+        commit('selectCustomer', payload)
+    }
+}
+
+export default {
+    state,
+    getters,
+    mutations,
+    actions
+}

+ 2 - 2
src/store/modules/products.js

@@ -21,7 +21,7 @@ const mutations = {
 const actions = {
     fetchProducts ({ commit }) {
         let product = new openerp.web.Model('product.product')
-        product.query(['name', 'display_name', 'list_price', 'qty_available', 'image_medium']).all().then(response => {
+        product.query(['name', 'display_name', 'list_price', 'image_medium']).filter([['active', '=', true]]).all().then(response => {
             commit('pushProducts', {
                 products: response
             })
@@ -39,4 +39,4 @@ export default {
     getters,
     mutations,
     actions
-}
+}