ComparisonCard.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <template>
  2. <div class="flex flex-col gap-2 bg-[var(--el-bg-color-overlay)] p-6">
  3. <div class="flex items-center justify-between text-gray-500">
  4. <span>{{ title }}</span>
  5. <!-- <el-tag>{{ tag }}</el-tag> -->
  6. </div>
  7. <div class="flex flex-row items-baseline justify-between">
  8. <CountTo :prefix="prefix" :end-val="value" :decimals="decimals" class="text-3xl" />
  9. <!-- <span :class="toNumber(percent) > 0 ? 'text-red-500' : 'text-green-500'">
  10. {{ Math.abs(toNumber(percent)) }}%
  11. <Icon :icon="toNumber(percent) > 0 ? 'ep:caret-top' : 'ep:caret-bottom'" class="!text-sm" />
  12. </span> -->
  13. </div>
  14. <!-- <el-divider class="mb-1! mt-2!" />
  15. <div class="flex flex-row items-center justify-between text-sm">
  16. <span class="text-gray-500">昨日数据</span>
  17. <span>{{ prefix || '' }}{{ reference }}</span>
  18. </div> -->
  19. </div>
  20. </template>
  21. <script lang="ts" setup>
  22. import { propTypes } from '@/utils/propTypes'
  23. // import { toNumber } from 'lodash-es'
  24. // import { calculateRelativeRate } from '@/utils'
  25. /** 交易对照卡片 */
  26. defineOptions({ name: 'ComparisonCard' })
  27. defineProps({
  28. title: propTypes.string.def('').isRequired,
  29. tag: propTypes.string.def(''),
  30. prefix: propTypes.string.def(''),
  31. value: propTypes.number.def(0).isRequired,
  32. // reference: propTypes.number.def(0).isRequired,
  33. decimals: propTypes.number.def(0)
  34. })
  35. // 计算环比
  36. // const percent = computed(() =>
  37. // calculateRelativeRate(props.value as number, props.reference as number)
  38. // )
  39. </script>