invoices.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const state = {
  2. invoices: [],
  3. filteredInvoices: [],
  4. selectedInvoices: null
  5. }
  6. const getters = {
  7. invoices (state) {
  8. return state.filteredInvoices.length === 0 ? state.invoices : state.filteredInvoices
  9. },
  10. selectedInvoices(state) {
  11. return state.selectedInvoices
  12. },
  13. haSelectedInvoices(state) {
  14. return !!state.selectedInvoices
  15. }
  16. }
  17. const mutations = {
  18. pushInvoices(state, payload) {
  19. let invoice = payload.invoices
  20. invoice.sort((a, b) => {
  21. return a.date_invoice > b.date_invoice
  22. })
  23. state.invoices = invoice
  24. },
  25. selectInvoice (state, payload){
  26. state.selectedInvoices = payload.invoice
  27. },
  28. applyInvoicesFilter( state, payload){
  29. state.filteredInvoices = payload
  30. }
  31. }
  32. const actions = {
  33. pushInvoices ({commit, dispatch }, payload){
  34. commit('pushInvoices', {
  35. invoices: payload.invoices
  36. })
  37. },
  38. selectInvoice ({ commit, dispatch}, payload) {
  39. commit('selectInvoice',{
  40. invoice: payload
  41. })
  42. dispatch('pushMovelines', payload)
  43. },
  44. filterInvoices ({ commit }, payload){
  45. commit('applyInvoicesFilter', payload)
  46. }
  47. }
  48. export default {
  49. state,
  50. getters,
  51. mutations,
  52. actions
  53. }