demensionDetail.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { useRoute } from 'vue-router'
  2. import { $getDemension } from '@/utils/utils'
  3. import { DemensionDetailStoreInter } from '../types/store'
  4. import { defineStore } from 'pinia'
  5. import $axios from '@/api'
  6. export const useDemensionDetailStore = defineStore({
  7. id: 'demensionDetail',
  8. state: () => {
  9. return <DemensionDetailStoreInter>{
  10. selectDemension: {},
  11. info: {}
  12. }
  13. },
  14. actions: {
  15. //初始化列表状态
  16. getDemension(routerName?: string) {
  17. console.log(78, routerName)
  18. const demensionInfo = $getDemension(routerName)
  19. //首页返回所有维度列表,列表页正常返回
  20. if (demensionInfo.selectDemension) {
  21. this.selectDemension = demensionInfo.selectDemension
  22. } else {
  23. return demensionInfo.allDemensionArr
  24. }
  25. this.getDetail()
  26. },
  27. async getDetail() {
  28. const route = useRoute()
  29. // $axios
  30. const params = {
  31. id: route.query.id,
  32. code: this.selectDemension.code
  33. }
  34. const res = await $axios.get('lawyer-workbench/risk/dimension/detail', { params })
  35. // console.log(res)
  36. if (this.selectDemension.detailValue) {
  37. this.info = res[this.selectDemension.detailValue]
  38. } else {
  39. this.info = res
  40. }
  41. }
  42. }
  43. })