From 076d8685573236fd044bdbcd167b60652e8799cd Mon Sep 17 00:00:00 2001 From: quanyawei <401863037@qq.com> Date: Tue, 19 Sep 2023 17:20:09 +0800 Subject: [PATCH] Merge branch 'feature_1.0' --- src/components/Echarts/LineChart2.vue | 134 ++++++++++++++++++++++++++++++++++++-------- 1 files changed, 110 insertions(+), 24 deletions(-) diff --git a/src/components/Echarts/LineChart2.vue b/src/components/Echarts/LineChart2.vue index 48931ad..d32faf0 100644 --- a/src/components/Echarts/LineChart2.vue +++ b/src/components/Echarts/LineChart2.vue @@ -1,4 +1,3 @@ -<<<<<<< HEAD <template> <div :class="className" :style="{ height: height, width: width }" /> </template> @@ -27,6 +26,10 @@ autoResize: { type: Boolean, default: true, + }, + isMouse: { + type: Boolean, + default: false, }, chartData: { type: Object, @@ -89,10 +92,43 @@ let fontSize = 100 * (clientWidth / 1920) return res * fontSize } - - // console.log('���������������������') - - console.log(val, 'eee') + let that = this + if (this.isMouse) { + this.chart.on('mouseover', function (params) { + that.chart.setOption({ + series: [ + { + name: params.seriesName, + label: { + show: true, + fontSize: 16, + position: [10, -15], + formatter: '{c}' + } + } + ] + }) + }) + // ���������������mouseout������������������������ + this.chart.on('mouseout', function (params) { + that.chart.setOption({ + series: [ + { + name: params.seriesName, + lineStyle: { + width: 2 + }, + label: { + show: false + }, + endLabel: { + show: false + } + } + ] + }) + }) + } this.chart.setOption( { title: { @@ -105,20 +141,8 @@ data: val.xAxis, boundaryGap: false, axisTick: { - show: false, + show: true, }, - // axisTick: { // ������������������������������ - // alignWithLabel: true, - // show: true - // }, - // axisLine: { - // lineStyle: { - // color: '#000000' - // } - // }, - // axisLabel: { - // interval: this.interval - // } }, grid: { left: '5%', @@ -137,19 +161,81 @@ }, }, tooltip: { + backgroundColor: 'rgba(50,50,50,0.5)', + borderWidth: '0', trigger: 'axis', - position: function (pt) { - return [pt[1], '-14%'] + formatter: function (a) { + let list = [] + let listItem = '' + for (var i = 0; i < a.length; i++) { + list.push( + '<span style="display: inline-block;padding: 0px 0;" >' + + '<i style="display: inline-block;width: 10px;height: 10px;background: ' + + a[i].color + + ';border-radius: 50%;}"></i><span style="width:15px; display:inline-block;">' + + '</span>' + + a[i].seriesName + + '    ' + + a[i].value + + '</span>' + ) + } + listItem = list.join('<br/>') + return ' <div div style = "width:15px; display:inline-block;" > ' + a[0].name + + '</div>' + '<div style="padding:0px;">' + listItem + '</div>' + }, + position: function (point, params, dom, rect, size) { + //������point���������������������������size���������������������viewSize���contentSize������������������div���tooltip������������������ + let x = point[0];// + let y = point[1]; + let viewWidth = size.viewSize[0]; + let viewHeight = size.viewSize[1]; + let boxWidth = size.contentSize[0]; + let boxHeight = size.contentSize[1]; + let posX = 0;//x������������ + let posY = 0;//y������������ + + if (x < boxWidth) {//��������������� + posX = 5; + } else {//��������������� + posX = x - boxWidth; + } + + if (y < boxHeight) {//��������������� + posY = 5; + } else {//��������������� + posY = y - boxHeight; + } + if (params && params.length > 20) { + posX = point[1], + posY = '-10%'; + } + return [posX, posY]; + + }, + axisPointer: { + type: 'cross', + label: { + backgroundColor: '#6a7985' + } }, textStyle: { + color: 'rgb(255, 255, 255);', fontSize: fontSize(0.117), // ������������ - }, + lineHeight: 0 + } }, - + yAxis: { axisTick: { - show: false, // ������������ + show: true, // ������������ }, + axisLine: { + show: true, //��������������������� + }, + axisLabel: { + show: true, //������������������������������ + } // axisLine: { // lineStyle: { // color: '#000000' @@ -177,7 +263,7 @@ { start: 0, end: 20, - bottom: fontSize(3.3), + top: fontSize(4.8), height: fontSize(0.5), }, ], -- Gitblit v1.8.0