supplier.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. const state = {
  2. suppliers: {
  3. default: [],
  4. values: []
  5. },
  6. filteredSuppliers: {
  7. default: [],
  8. values: []
  9. },
  10. supplierSelected: {
  11. default: null,
  12. value: null
  13. },
  14. addSupplier: {
  15. default: false,
  16. value: false
  17. },
  18. showSupplierForm: {
  19. default: false,
  20. value: false
  21. }
  22. }
  23. const getters = {
  24. /**
  25. *
  26. * @param {*} state
  27. */
  28. suppliers(state) {
  29. return state.suppliers.values
  30. },
  31. /**
  32. *
  33. * @param {*} state
  34. */
  35. visibleSuppliers(state) {
  36. return state.filteredSuppliers.values.length === 0 ? state.suppliers.values : state.filteredSuppliers.values
  37. },
  38. /**
  39. *
  40. * @param {*} state
  41. */
  42. supplierSelected(state) {
  43. return state.supplierSelected.value
  44. },
  45. /**
  46. *
  47. * @param {*} state
  48. */
  49. showSupplierForm(state) {
  50. return state.showSupplierForm.value
  51. }
  52. }
  53. const mutations = {
  54. /**
  55. *
  56. * @param {*} state
  57. * @param {*} payload
  58. */
  59. setSuppliers(state, payload) {
  60. state.suppliers.values = [...payload]
  61. },
  62. /**
  63. *
  64. * @param {*} state
  65. * @param {*} payload
  66. */
  67. setSupplierSelected(state, payload) {
  68. state.supplierSelected.value = payload
  69. },
  70. /**
  71. *
  72. * @param {*} state
  73. * @param {*} payload
  74. */
  75. setFilteredSuppliers(state, payload) {
  76. state.filteredSuppliers.values = [...payload]
  77. },
  78. /**
  79. *
  80. * @param {*} state
  81. * @param {*} payload
  82. */
  83. setShowSupplierForm(state, payload) {
  84. state.showSupplierForm.value = !!payload
  85. }
  86. }
  87. const actions = {
  88. /**
  89. *
  90. * @param {*} param0
  91. * @param {*} payload
  92. */
  93. selectSupplier({ commit }, payload) {
  94. commit('setSupplierSelected', payload)
  95. },
  96. /**
  97. *
  98. * @param {*} param0
  99. * @param {*} payload
  100. */
  101. filterSuppliers({ commit }, payload) {
  102. commit('setFilteredSuppliers', payload)
  103. },
  104. /**
  105. *
  106. * @param {*} param0
  107. */
  108. showSupplierForm({ commit }) {
  109. commit('setShowSupplierForm', true)
  110. },
  111. /**
  112. *
  113. * @param {*} param0
  114. */
  115. hideSupplierForm({ commit }) {
  116. commit('setShowSupplierForm', false)
  117. },
  118. /**
  119. *
  120. * @param {*} param0
  121. */
  122. submitSupplier({ commit, dispatch }, payload) {
  123. if (payload) {
  124. if (!payload.name || !payload.ruc || !payload.phone) {
  125. dispatch('notify', 'Complete los campos para guardar')
  126. return
  127. }
  128. // TODO: Send data to server
  129. }
  130. dispatch('hideSupplierForm')
  131. }
  132. }
  133. export default {
  134. state,
  135. getters,
  136. mutations,
  137. actions
  138. }