NEZ-3083 fix:legend划过显示复制按钮

This commit is contained in:
zyh
2023-08-23 17:36:22 +08:00
parent dab67dd291
commit 17d7c39b48
3 changed files with 43 additions and 13 deletions

View File

@@ -396,8 +396,8 @@
box-sizing: border-box;
.legend-item {
padding: 0 8px;
white-space: nowrap;
margin-right: 10px;
cursor: pointer;
display: inline-block;
line-height: 20px;
@@ -406,16 +406,27 @@
.legend-item, .legend--table-row {
&.legend-item--inactive, &.row--inactive {
color: $--color-text-secondary;
.legend-shape {
background-color: $--background-color-1 !important;
}
.nz-icon{
color: $--background-color-1 !important;
}
}
}
.nz-icon-override{
visibility: hidden;
font-size: 15px;
margin-left: 5px;
vertical-align: middle;
}
.legend-item:hover {
background-color: $--background-color-1;
cursor: pointer;
.nz-icon-override{
visibility: visible;
}
}
// 表格类型
.legend--table {
@@ -429,6 +440,9 @@
.legend--table-row:not(:first-of-type):hover {
background-color: $--background-color-1;
cursor: pointer;
.nz-icon-override{
visibility: visible;
}
}
.legend--table-row:first-of-type {
color:#33a2e5;

View File

@@ -721,15 +721,22 @@ export default {
if (this.isConnect !== 'none') {
echarts.disconnect('timeSeriesGroup')
}
const index = this.tooltip.clickIndex
getChart(this.chartId).dispatchAction({
type: 'legendInverseSelect'
this.legends.forEach((item, index) => {
if (index == this.tooltip.clickIndex) {
getChart(this.chartId).dispatchAction({
type: 'legendSelect',
name: item.name
})
} else {
getChart(this.chartId).dispatchAction({
type: 'legendUnSelect',
name: item.name
})
}
})
getChart(this.chartId).dispatchAction({
type: 'legendSelect',
name: this.legends[index].name
})
this.isGrey = this.isGrey.map((g, i) => i !== index)
this.isGrey = this.isGrey.map((g, i) => i !== this.tooltip.clickIndex)
this.$refs.legend.isGrey = this.isGrey
if (this.isConnect !== 'none') {
echarts.disconnect('timeSeriesGroup')

View File

@@ -25,6 +25,7 @@
<i v-if="isTimeSeries&&series[index].yAxisIndex==0" :style="{color: item.color}" class="yAxis-icon nz-icon nz-icon-zuozongzhou"></i>
<span v-else :style="{background: item.color}" class="legend-shape"></span>
<span>{{item.alias ? item.alias : item.name}}</span>
<i class="nz-icon nz-icon-override" @click.stop="onCopy(item.alias ? item.alias : item.name)" :title="$t('overall.copyText')"></i>
</div>
<div v-for="(statistics, index) in item.statistics" :key="index" :class="{'legend-item--inactive': isGrey[index]}" class="legend--table-cell">{{(keepTwoDecimalFull(statistics.value))}}</div>
</div>
@@ -43,6 +44,7 @@
<i v-if="isTimeSeries&&series[index].yAxisIndex==1" :style="{color: item.color}" class="yAxis-icon nz-icon nz-icon-youzongzhou"></i>
<span v-else :style="{background: item.color}" class="legend-shape"></span>
<span>{{item.alias ? item.alias : item.name}}</span>
<i class="nz-icon nz-icon-override" @click.stop="onCopy(item.alias ? item.alias : item.name)" :title="$t('overall.copyText')"></i>
</div>
<div v-for="(statistics, index) in item.statistics" :key="index" :class="{'legend-item--inactive': isGrey[index]}" class="legend--table-cell">{{(keepTwoDecimalFull(statistics.value))}}</div>
</div>
@@ -65,6 +67,7 @@
<i v-if="isTimeSeries&&series[index].yAxisIndex==0" :style="{color: item.color}" class="yAxis-icon nz-icon nz-icon-zuozongzhou"></i>
<span v-else :style="{background: item.color}" class="legend-shape"></span>
<span>{{item.alias ? item.alias : item.name.split('-')[0]}}</span>
<i class="nz-icon nz-icon-override" @click.stop="onCopy(item.alias ? item.alias : item.name.split('-')[0])" :title="$t('overall.copyText')"></i>
</div>
<!-- 右y轴legend -->
<div
@@ -81,6 +84,7 @@
<i v-if="isTimeSeries&&series[index].yAxisIndex==1" :style="{color: item.color}" class="yAxis-icon nz-icon nz-icon-youzongzhou"></i>
<span v-else :style="{background: item.color}" class="legend-shape"></span>
<span>{{item.alias ? item.alias : item.name.split('-')[0]}}</span>
<i class="nz-icon nz-icon-override" @click.stop="onCopy(item.alias ? item.alias : item.name.split('-')[0])" :title="$t('overall.copyText')"></i>
</div>
</template>
</div>
@@ -123,6 +127,11 @@ export default {
}
},
methods: {
onCopy (txt) {
this.$copyText(txt).then(() => {
this.$message.success({ message: this.$t('overall.copySuccess') })
})
},
clickLegend (legendName, index) {
/* 点击legend
* 1.当前如果是全高亮状态则全部置灰只留被点击的legend高亮
@@ -238,13 +247,13 @@ export default {
},
hoverLegend (legendName, index, type) {
if (this.isTimeSeries) {
getChart(this.chartId).dispatchAction({
getChart(this.chartId) && getChart(this.chartId).dispatchAction({
type: type,
seriesIndex: index,
name: legendName
})
} else {
getChart(this.chartId).dispatchAction({
getChart(this.chartId) && getChart(this.chartId).dispatchAction({
type: type,
name: legendName
})