知与行后台管理端

NewUsers.jsx 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import React, { Component, useState, useEffect } from 'react';
  2. import echarts from 'echarts/lib/echarts';
  3. import EChart from '../../../components/EchartsTest/EChart';
  4. import request from '../../../utils/request';
  5. import apis from '../../../services/apis';
  6. import moment from 'moment';
  7. import router from 'umi/router';
  8. import { Table, Select, Row, Col, Menu, Dropdown, Button, Icon, message } from 'antd';
  9. import styles from '../styles.less'
  10. const formatDate = (start, end) => {
  11. const startDate = moment(start).format('YYYY-MM-DDT00:00:00.000') + 'Z'
  12. const endDate = moment(end).format('YYYY-MM-DDT23:59:59.999') + 'Z'
  13. return { startDate, endDate }
  14. }
  15. const NewUsers = (props) => {
  16. const [data, setData] = useState({ records: [] })
  17. useEffect(() => {
  18. NewsUserCount(formatDate(props.startDate, props.endDate))
  19. }, [props.startDate, props.endDate])
  20. function NewsUserCount (params) {
  21. request({
  22. ...apis.indexEcharts.newUser,
  23. params,
  24. }).then((data) => {
  25. console.log(data, '3333')
  26. setData(data)
  27. })
  28. }
  29. const dataZoom=props.dataZoom?[
  30. {
  31. type: 'inside',
  32. start: 0,
  33. end: 100
  34. },
  35. {
  36. type: 'slider',
  37. start: 0,
  38. end: 100
  39. },
  40. ] : undefined
  41. const dataset = (data.selectNewsUserCount) || []
  42. const options = {
  43. color: ["#FF814C", "#F02B3E"],
  44. tooltip: {
  45. trigger: "axis"
  46. },
  47. icon: "rect",
  48. legend: {
  49. data: ["新用户数", "授权注册"]
  50. },
  51. toolbox: {},
  52. xAxis: {
  53. type: "category",
  54. },
  55. yAxis: {},
  56. dataZoom,
  57. series: [
  58. {
  59. name: "新用户数",
  60. type: "line",
  61. smooth:true,
  62. },
  63. {
  64. name: "授权注册",
  65. type: "line",
  66. smooth:true,
  67. }
  68. ],
  69. dataset: {
  70. dimensions: ['date', 'userCount', 'authorizationCount'],
  71. source: dataset
  72. }
  73. }
  74. const piestyles = {
  75. width: '100%',
  76. height: '400px',
  77. }
  78. return (
  79. <>
  80. <div>
  81. <div >
  82. <p onClick={()=>router.push('/indexEcharts/newUsers')}><span style={{borderBottom:'1px solid #f02d40',fontSize:'0.12rem',fontWeight:'600'}}>新增用户</span> <span style={{fontSize:'0.09rem',color:'#888',marginLeft:'0.06rem'}}>最近七天</span></p>
  83. </div>
  84. <EChart options={options} style={piestyles} onClick={()=>router.push('/indexEcharts/newUsers')} />
  85. </div>
  86. </>
  87. )
  88. }
  89. export default NewUsers;