123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- import {
- ADD_CUSTOMER,
- SET_CUSTOMERS,
- SET_LOADING_CUSTOMERS,
- SET_SELECTED_CUSTOMER,
- SET_SHOW_CUSTOMER_FORM
- } from '@/constants/mutationTypes'
- import {
- INIT_CUSTOMERS,
- SHOW_CUSTOMER_FORM,
- HIDE_CUSTOMER_FORM,
- SUBMIT_CUSTOMER,
- CREATE_CUSTOMER,
- RECEIVE_CUSTOMER,
- SELECT_CUSTOMER,
- RESET_CUSTOMER
- } from '@/constants/actionTypes'
- const initialState = {
- customers: [],
- loadingCustomers: false,
- showingCustomerForm: false,
- selectedCustomer: null
- }
- const state = {
- customers: initialState.customers,
- loadingCustomers: !initialState.loadingCustomers,
- showingCustomerForm: initialState.showingCustomerForm,
- selectedCustomer: initialState.selectedCustomer
- }
- const getters = {
- /**
- *
- * @param {*} state
- */
- customers(state) {
- return state.customers
- },
- /**
- *
- * @param {*} state
- */
- loadingCustomers(state) {
- return state.loadingCustomers
- },
- /**
- *
- * @param {*} state
- */
- showingCustomerForm(state) {
- return state.showingCustomerForm
- },
- /**
- *
- * @param {*} state
- */
- selectedCustomer(state) {
- return state.selectedCustomer
- },
- /**
- *
- * @param {*} state
- */
- customerCredit(state) {
- return state.selectedCustomer && state.selectedCustomer.creditLimit >= state.selectedCustomer.credit ? state.selectedCustomer.creditLimit - state.credit : 0
- }
- }
- const mutations = {
- /**
- *
- * @param {*} state
- * @param {*} payload
- */
- [SET_CUSTOMERS] (state, payload) {
- state.customers = payload
- },
- /**
- *
- * @param {*} state
- * @param {*} payload
- */
- [SET_LOADING_CUSTOMERS] (state, payload) {
- state.loadingCustomers = !!payload
- },
- /**
- *
- * @param {*} state
- * @param {*} payload
- */
- [SET_SHOW_CUSTOMER_FORM] (state, payload) {
- state.showingCustomerForm = !!payload
- },
- /**
- *
- * @param {*} state
- * @param {*} payload
- */
- [ADD_CUSTOMER] (state, payload) {
- state.customers = [payload, ...state.customers]
- },
- /**
- *
- * @param {*} state
- * @param {*} payload
- */
- [SET_SELECTED_CUSTOMER] (state, payload) {
- state.selectedCustomer = payload
- }
- }
- const actions = {
- /**
- *
- * @param {*} param0
- * @param {*} payload
- */
- [INIT_CUSTOMERS] ({ commit }, payload) {
- commit(SET_CUSTOMERS, payload)
- commit(SET_LOADING_CUSTOMERS)
- },
- /**
- *
- * @param {*} param0
- * @param {*} payload
- */
- [SHOW_CUSTOMER_FORM] ({ commit }) {
- commit(SET_SHOW_CUSTOMER_FORM, true)
- },
- /**
- *
- * @param {*} param0
- */
- [HIDE_CUSTOMER_FORM] ({ commit }) {
- commit(SET_SHOW_CUSTOMER_FORM, false)
- },
- /**
- *
- * @param {*} param0
- */
- [SUBMIT_CUSTOMER] ({ commit, dispatch }, payload) {
- commit(SET_LOADING_CUSTOMERS, true)
- dispatch(CREATE_CUSTOMER, payload)
- dispatch(HIDE_CUSTOMER_FORM)
- },
- /**
- *
- * @param {*} param0
- * @param {*} payload
- */
- [RECEIVE_CUSTOMER] ({ commit }, payload) {
- commit(ADD_CUSTOMER, payload)
- commit(SET_LOADING_CUSTOMERS, false)
- },
- /**
- *
- * @param {*} param0
- */
- [SELECT_CUSTOMER] ({ commit }, payload) {
- commit(SET_SELECTED_CUSTOMER, payload)
- },
- /**
- *
- * @param {*} param0
- */
- [RESET_CUSTOMER] ({ commit }) {
- commit(SET_LOADING_CUSTOMERS, true)
- commit(SET_CUSTOMERS, [])
- commit(SET_SELECTED_CUSTOMER, null)
- }
- }
- export default {
- state,
- getters,
- mutations,
- actions
- }
|