|
@@ -1,5 +1,6 @@
|
|
const state = {
|
|
const state = {
|
|
- cart: []
|
|
|
|
|
|
+ cart: [],
|
|
|
|
+ total: 0
|
|
}
|
|
}
|
|
|
|
|
|
const getters = {
|
|
const getters = {
|
|
@@ -15,15 +16,27 @@ const mutations = {
|
|
addToCart(state, payload) {
|
|
addToCart(state, payload) {
|
|
let finded = state.cart.find(item => item.id == payload.data.id)
|
|
let finded = state.cart.find(item => item.id == payload.data.id)
|
|
|
|
|
|
- if (!finded) {
|
|
|
|
|
|
+ if (finded) {
|
|
|
|
+ payload.data.qty = payload.data.qty + 1
|
|
|
|
+ } else {
|
|
state.cart = [payload.data, ...state.cart]
|
|
state.cart = [payload.data, ...state.cart]
|
|
}
|
|
}
|
|
|
|
+ },
|
|
|
|
+ calculateTotal(state) {
|
|
|
|
+ let sum = 0
|
|
|
|
+
|
|
|
|
+ state.cart.forEach(item => {
|
|
|
|
+ sum = sum + (item.list_price * item.qty)
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ state.total = sum
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
const actions = {
|
|
const actions = {
|
|
addToCart({ commit }, payload) {
|
|
addToCart({ commit }, payload) {
|
|
commit('addToCart', payload)
|
|
commit('addToCart', payload)
|
|
|
|
+ commit('calculateTotal')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -32,4 +45,4 @@ export default {
|
|
getters,
|
|
getters,
|
|
mutations,
|
|
mutations,
|
|
actions
|
|
actions
|
|
-}
|
|
|
|
|
|
+}
|