NormalDisplay.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <script setup lang="ts">
  2. import { dataCenterMetricsEnum } from '/@/views/reportManage/dataCenter/utils/enum'
  3. import { getCardData, getLineData, getLineMonthData, getLineWeekData } from '/@/views/reportManage/dataCenter/api'
  4. import DataTendencyChart from '/@/views/reportManage/dataCenter/components/DateTendency/index.vue'
  5. import {onBeforeUnmount, provide, reactive, ref} from 'vue'
  6. import DateRangePicker from '/@/components/DateRangePicker/index.vue'
  7. import { storeToRefs } from 'pinia'
  8. import { useShopInfo } from '/@/stores/shopInfo'
  9. import { usePublicData } from '/@/stores/publicData'
  10. import Selector from "/@/views/reportManage/dataCenter/components/Selector/index.vue";
  11. import TableSelect from "/src/views/reportManage/dataCenter/components/TableDataDisplay.vue"
  12. import emitter from "/@/utils/emitter";
  13. // 店铺信息
  14. const shopInfo = useShopInfo()
  15. const { profile } = storeToRefs(shopInfo)
  16. //公共数据
  17. const publicData = usePublicData()
  18. const { dateRange } = storeToRefs(publicData)
  19. const queryParams = ref({
  20. profileId: profile.value.profile_id,
  21. dateRange,
  22. // parentAsin,
  23. // childAsin,
  24. // sku,
  25. })
  26. const dateDimension = ref('day')
  27. provide('dateDimension', dateDimension)
  28. emitter.on('DateTendency-dateChange', (value: string)=>{
  29. dateDimension.value = value
  30. console.log(1, dateDimension.value)
  31. })
  32. onBeforeUnmount(()=>{
  33. emitter.all.clear();
  34. })
  35. </script>
  36. <template>
  37. <div>
  38. <div class="custom-card-style flex gap-1.5 justify-between my-1.5 mx-2">
  39. <Selector></Selector>
  40. <DateRangePicker v-model="dateRange"></DateRangePicker>
  41. </div>
  42. <el-card class="mb-1.5">
  43. <DataTendencyChart
  44. :metricEnum="dataCenterMetricsEnum"
  45. :query="queryParams"
  46. :fetchCard="getCardData"
  47. :fetchLine="getLineData"
  48. :fetch-line-month="getLineMonthData"
  49. :fetch-line-week="getLineWeekData"
  50. >
  51. </DataTendencyChart>
  52. </el-card>
  53. </div>
  54. <el-card><TableSelect></TableSelect></el-card>
  55. </template>
  56. <style scoped>
  57. .custom-card-style {
  58. z-index: 999;
  59. position: sticky;
  60. top: 0;
  61. }
  62. </style>