payment.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. const state = {
  2. paymentTerms: {
  3. default: [],
  4. values: this.default
  5. },
  6. amountPaid: {
  7. default: 0,
  8. value: 0
  9. },
  10. amountResidual: {
  11. default: 0,
  12. value: 0
  13. }
  14. }
  15. const getters = {
  16. /**
  17. *
  18. * @param {*} state
  19. * @param {*} payload
  20. */
  21. paymentTerms(state) {
  22. return state.paymentTerms.values
  23. },
  24. /**
  25. *
  26. * @param {*} state
  27. */
  28. amountPaid(state) {
  29. return state.amountPaid.value
  30. },
  31. /**
  32. *
  33. * @param {*} state
  34. */
  35. amountResidual(state) {
  36. return state.amountResidual.value
  37. }
  38. }
  39. const mutations = {
  40. /**
  41. *
  42. * @param {*} state
  43. * @param {*} payload
  44. */
  45. setPaymentTerms(state, payload) {
  46. state.paymentTerms.values = [...payload]
  47. },
  48. /**
  49. *
  50. * @param {*} state
  51. * @param {*} payload
  52. */
  53. setAmountPaid(state, payload) {
  54. state.amountPaid.value = payload
  55. },
  56. /**
  57. *
  58. * @param {*} state
  59. * @param {*} payload
  60. */
  61. computeAmountResidual(state, payload) {
  62. state.amountResidual.value = payload.paymentAmount >= payload.totalAmount ? payload.paymentAmount - payload.totalAmount : 0
  63. },
  64. /**
  65. *
  66. * @param {*} state
  67. * @param {*} payload
  68. */
  69. setAmountResidual(state, payload) {
  70. state.amountResidual.value = payload
  71. }
  72. }
  73. const actions = {
  74. /**
  75. *
  76. * @param {*} param0
  77. * @param {*} payload
  78. */
  79. changeAmountPaid({ commit, getters }, payload) {
  80. commit('setAmountPaid', payload)
  81. commit('computeAmountResidual', {
  82. totalAmount: getters.cartTotal,
  83. paymentAmount: payload
  84. })
  85. }
  86. }
  87. export default {
  88. state,
  89. getters,
  90. mutations,
  91. actions
  92. }