import Taro from "@tarojs/taro"; import classnames from "classnames"; import { Block, View, Image, Text, Input } from "@tarojs/components"; import { Popup, Progress, Slider } from "@antmjs/vantui"; import { useEffect, useRef, useState, useCallback } from "react"; import Echarts, { EChartOption, EchartsHandle } from "taro-react-echarts"; import echarts from "@/utils/echarts.min.js"; import "./index.less"; interface Props { series: any, full:any } function Index({ series ,full}: Props) { const echartsRef = useRef(null); const [options, setOptions] = useState({ animation: false, grid: { // 让图表占满容器 // containLabel: true, top: "28rpx", left: "18rpx", right: "28rpx", bottom: "17rpx", }, // legend: { // itemStyle: { // decal: { // rotation: 90 // } // } // }, xAxis: { // name: '', // nameGap: 5, // nameTextStyle: { // color: '#e4e4e4', // fontSize:7 // }, type: "category", axisLine: { //坐标轴轴线相关设置。数学上的x轴 show: true, lineStyle: { color: "#cccccc", }, }, axisLabel: { //坐标轴刻度标签的相关设置 color: "#cccccc", fontSize: 8, }, axisTick: { show: false, }, data: [ "00:01", "00:02", "00:03", "00:04", "00:05", "00:06", "00:07", "00:08", "00:09", "00:10", ], }, yAxis: { type: "value", min: 0, max: 8, splitNumber: 8, splitLine: { show: true, lineStyle: { color: "#cccccc", type: [4, 2], dashOffset: 4, }, }, axisLine: { show: false, }, axisLabel: { show: false, }, axisTick: { show: false, }, }, visualMap: { z: 1, top: 0, right: 0, seriesIndex: 0, show: false, pieces: [ { gt: 0, lte: 1, color: "#fff8c9", }, { gt: 1, lte: 2, color: "#fff0c6", }, { gt: 2, lte: 3, color: "#ffe5c3", }, { gt: 3, lte: 4, color: "#ffdbbf", }, { gt: 4, lte: 5, color: "#ffcfbb", }, { gt: 5, lte: 6, color: "#ffbab5", }, { gt: 6, lte: 7, color: "#ffb4b3", }, { gt: 7, lte: 8, color: "#ffb4b3", }, ], outOfRange: { color: "#ff8410", }, }, series: [] }) const level = [8, 7, 6, 5, 4, 3, 2]; const [newOptions, setNewOptions] = useState(options) const updata = useCallback((res) => { let option = JSON.parse(JSON.stringify(options)) option.series = JSON.parse(JSON.stringify(res)) // 更新图表数据 setNewOptions(option) }, []) const cancelFull = useCallback((res) => { full() }, []) useEffect(() => { setOptions(newOptions) }, [newOptions]); useEffect(() => { updata(series) }, [series]) return ( 实时能量 {level.map((item) => ( {item} ))} 1 时间 ); } export default Index;