
<template>
    <view>
        <uni-data-checkbox multiple v-model="checkbox" :localdata="hobby"></uni-data-checkbox>
        <view class="charts-box">
            <qiun-data-charts ontouch onzoom type="line" :opts="opts" :chartData="chartData" />
        </view>
    </view>
</template>

<script>
export default {
    data () {
        return {
            checkbox: [0, 1, 2],
            hobby: [{
                text: '电网电压1',
                value: 0
            }, {
                text: '电网电压2',
                value: 1
            }, {
                text: '电网电压3',
                value: 2
            }, {
                text: '电网电压3',
                value: 4
            }],
            chartData: {},
            //您可以通过修改 config-ucharts.js 文件中下标为 ['line'] 的节点来配置全局默认参数，如都是默认参数，此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式，达到页面简洁的需求。
            opts: {
                color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", "#ea7ccc"],
                padding: [15, 15, 0, 0],
                dataLabel: false,
                dataPointShape: false,
                enableScroll: true,
                legend: {},
                xAxis: {
                    disableGrid: true,
                    itemCount: 10240,
                },
                yAxis: {
                    gridType: "dash",
                    dashLength: 2,
                    data: [
                        {
                            min: -100,
                            max: 100
                        }
                    ]
                },
                // extra: {
                //     line: {
                //         type: "curve",
                //         width: 2,
                //         activeType: "hollow",
                //         linearType: "custom"
                //     }
                // }
            },
            testDataA: [],
            testDataB: [],
            testDataC: [],
            testCategories: []
        };
    },
    mounted () {
        this.getServerData();
    },
    methods: {
        touchmove (e) {
            console.log(e)
        },
        getServerData () {
            //模拟从服务器获取数据时的延时
            setTimeout(() => {
                this.testDataA = [80, 60, 95, 50, 95]
                this.testDataB = [95, 50, 50, 95, 50]
                this.testDataC = [50, 60, 40, 50, 60]
                this.testCategories = ["0", "90", "180", "270", "360"]
                for (let index = 0; index < 9; index++) {
                    this.testDataA.push(...this.testDataA)
                    this.testDataB.push(...this.testDataB)
                    this.testDataC.push(...this.testDataC)
                    this.testCategories.push(...this.testCategories)
                }
                //模拟服务器返回数据，如果数据格式和标准格式不同，需自行按下面的格式拼接
                let res = {
                    categories: this.testCategories,
                    series: [
                        {
                            name: "成交量A",
                            data: this.testDataA
                        },
                        // {
                        //     name: "成交量B",
                        //     data: this.testDataB
                        // },
                        // {
                        //     name: "成交量C",
                        //     data: this.testDataC
                        // }
                    ]
                };
                this.chartData = JSON.parse(JSON.stringify(res));
            }, 500);
        },
    }
};
</script>

<style scoped>
/* 请根据实际需求修改父元素尺寸，组件自动识别宽高 */
.charts-box {
    margin-top: 20rpx;
    width: 100%;
    height: 300px;
}
</style>