shangyue.tsx 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import useEcharts from "@/Hook/useEcharts"
  2. import React from "react"
  3. function Shangyue(data: number[]) {
  4. data = Object.values(data).map((v: number) => v)
  5. const {Echarts} = useEcharts()
  6. return <>
  7. <Echarts style={{ width: '100%', height: 300 }}>
  8. {
  9. {
  10. tooltip: {
  11. formatter: function (data: any) {
  12. return `${data.name}<br>上月消耗\n:\n¥${data.value[1]}<br>上月新用户充值\n:\n¥${data.value[3]}<br>上月30日回本率\n:\n${data.value[0]}%<br>上月至今回本率\n:\n${data.value[2]}%`
  13. }
  14. },
  15. radar: {
  16. // shape: 'circle',
  17. name: {
  18. textStyle: {
  19. color: '#fff',
  20. backgroundColor: '#999',
  21. borderRadius: 3,
  22. padding: [3, 5]
  23. }
  24. },
  25. indicator: [
  26. { name: '30日回本率', max: data[0] < 100 ? 100 : data[0] },
  27. { name: '消耗', max: Math.max(...data) },
  28. { name: '至今回本率', max: data[2] < 100 ? 100 : data[2] },
  29. { name: '充值', max: Math.max(...data) },
  30. ]
  31. },
  32. series: [{
  33. type: 'radar',
  34. areaStyle: {},
  35. color: '#4caf50',
  36. data: [
  37. {
  38. value: data,
  39. name: '上月消耗/上月充值/上月30日回本率/上月至今回本率'
  40. },
  41. ]
  42. }]
  43. }
  44. }
  45. </Echarts>
  46. </>
  47. }
  48. export default React.memo(Shangyue)