dimension.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. import {
  2. getDimensionList,
  3. getDimensionTree,
  4. saveDimension,
  5. deleteDimension,
  6. getKnowledgeList,
  7. getKnowledge,
  8. saveKnowledge,
  9. deleteKnowledge,
  10. getTagList,
  11. saveTag,
  12. deleteTag
  13. } from '@/api/dimension'
  14. export default {
  15. namespaced: true,
  16. state: {
  17. // 维度
  18. dimensions: [],
  19. dimensionTree: [],
  20. dimensionLoading: false,
  21. // 知识库
  22. knowledgeList: [],
  23. knowledgeTotal: 0,
  24. knowledgeLoading: false,
  25. // 标签
  26. tags: [],
  27. tagLoading: false
  28. },
  29. mutations: {
  30. SET_DIMENSIONS(state, list) {
  31. state.dimensions = list
  32. },
  33. SET_DIMENSION_TREE(state, tree) {
  34. state.dimensionTree = tree
  35. },
  36. SET_DIMENSION_LOADING(state, val) {
  37. state.dimensionLoading = val
  38. },
  39. SET_KNOWLEDGE_LIST(state, data) {
  40. state.knowledgeList = data.records || []
  41. state.knowledgeTotal = data.total || 0
  42. },
  43. SET_KNOWLEDGE_LOADING(state, val) {
  44. state.knowledgeLoading = val
  45. },
  46. SET_TAGS(state, list) {
  47. state.tags = list
  48. },
  49. SET_TAG_LOADING(state, val) {
  50. state.tagLoading = val
  51. }
  52. },
  53. actions: {
  54. // 维度
  55. async fetchDimensions({ commit }, params = {}) {
  56. commit('SET_DIMENSION_LOADING', true)
  57. try {
  58. const res = await getDimensionList(params)
  59. if (res.code === 200) {
  60. commit('SET_DIMENSIONS', res.data.records || [])
  61. }
  62. } finally {
  63. commit('SET_DIMENSION_LOADING', false)
  64. }
  65. },
  66. async fetchDimensionTree({ commit }) {
  67. const res = await getDimensionTree()
  68. if (res.code === 200) {
  69. commit('SET_DIMENSION_TREE', res.data || [])
  70. }
  71. },
  72. async saveDimension({ dispatch }, data) {
  73. const res = await saveDimension(data)
  74. if (res.code === 200) {
  75. await dispatch('fetchDimensionTree')
  76. }
  77. return res
  78. },
  79. async deleteDimension({ dispatch }, id) {
  80. const res = await deleteDimension(id)
  81. if (res.code === 200) {
  82. await dispatch('fetchDimensionTree')
  83. }
  84. return res
  85. },
  86. // 知识库
  87. async fetchKnowledgeList({ commit }, params = {}) {
  88. commit('SET_KNOWLEDGE_LOADING', true)
  89. try {
  90. const res = await getKnowledgeList(params)
  91. if (res.code === 200) {
  92. commit('SET_KNOWLEDGE_LIST', res.data || { records: [], total: 0 })
  93. }
  94. } finally {
  95. commit('SET_KNOWLEDGE_LOADING', false)
  96. }
  97. },
  98. async saveKnowledge({ dispatch }, data) {
  99. const res = await saveKnowledge(data)
  100. if (res.code === 200) {
  101. await dispatch('fetchKnowledgeList', { page: 1, size: 20 })
  102. }
  103. return res
  104. },
  105. async deleteKnowledge({ dispatch }, id) {
  106. const res = await deleteKnowledge(id)
  107. if (res.code === 200) {
  108. await dispatch('fetchKnowledgeList', { page: 1, size: 20 })
  109. }
  110. return res
  111. },
  112. // 标签
  113. async fetchTags({ commit }) {
  114. commit('SET_TAG_LOADING', true)
  115. try {
  116. const res = await getTagList()
  117. if (res.code === 200) {
  118. commit('SET_TAGS', res.data || [])
  119. }
  120. } finally {
  121. commit('SET_TAG_LOADING', false)
  122. }
  123. },
  124. async saveTag({ dispatch }, data) {
  125. const res = await saveTag(data)
  126. if (res.code === 200) {
  127. await dispatch('fetchTags')
  128. }
  129. return res
  130. },
  131. async deleteTag({ dispatch }, id) {
  132. const res = await deleteTag(id)
  133. if (res.code === 200) {
  134. await dispatch('fetchTags')
  135. }
  136. return res
  137. }
  138. }
  139. }