2021-11-19 09:40:21 +08:00
|
|
|
<template>
|
2021-12-03 16:55:46 +08:00
|
|
|
<div :class="{'chart-header--float': !chartInfo.param.showHeader}" class="chart-header">
|
2021-12-22 16:57:50 +08:00
|
|
|
<span v-if="isError" class="chart-header-error">
|
2021-12-17 09:47:50 +08:00
|
|
|
<el-popover
|
|
|
|
|
placement="top-start"
|
|
|
|
|
:close-delay=10
|
|
|
|
|
trigger="hover"
|
|
|
|
|
popper-class="chart-error-popper">
|
|
|
|
|
<div >{{errorText}}</div>
|
|
|
|
|
<span slot="reference" class="panel-info-corner panel-info-corner--error">
|
|
|
|
|
<i class="nz-icon nz-icon-warning fa"></i>
|
|
|
|
|
<span class="panel-info-corner-inner"></span>
|
|
|
|
|
</span>
|
|
|
|
|
</el-popover>
|
|
|
|
|
</span>
|
2021-12-23 11:29:29 +08:00
|
|
|
<span v-if="!isError&&!showAllData&&allDataLength>20" class="chart-header-error moreTitle">
|
2021-12-23 10:44:30 +08:00
|
|
|
<el-popover
|
|
|
|
|
placement="top-start"
|
|
|
|
|
:close-delay=10
|
|
|
|
|
trigger="hover"
|
|
|
|
|
popper-class="chart-warring-popper">
|
|
|
|
|
<div class="moreTitle">{{$t('dashboard.panel.moreTitle')}}{{$t('dashboard.panel.showAll')}}{{allDataLength}}</div>
|
|
|
|
|
<span slot="reference" class="panel-info-corner panel-info-corner--error" @click="loadMore">
|
|
|
|
|
<i class="nz-icon nz-icon-warning fa"></i>
|
|
|
|
|
<span class="panel-info-corner-inner"></span>
|
|
|
|
|
</span>
|
|
|
|
|
</el-popover>
|
|
|
|
|
</span>
|
2022-03-09 15:53:22 +08:00
|
|
|
<div class="chart-header__title" v-if="!isGroup" :title="chartInfo.name">{{chartInfo.name}}</div>
|
2021-12-14 15:50:33 +08:00
|
|
|
<div class="chart-header__title" v-else >
|
2021-12-24 14:13:58 +08:00
|
|
|
<span @click="groupShow"> <i class="nz-icon" :class="chartInfo.param.collapse ? 'nz-icon-arrow-right': 'nz-icon-arrow-down'"></i></span>
|
2021-12-14 15:50:33 +08:00
|
|
|
{{chartInfo.name}}
|
2022-01-17 15:37:00 +08:00
|
|
|
<span v-show="chartInfo.param.collapse" class="collapse-content">({{chartData ? chartData.length : 0}} charts)</span>
|
2021-12-14 15:50:33 +08:00
|
|
|
</div>
|
2021-12-17 18:04:31 +08:00
|
|
|
<div class="chart-header__tools" v-if="chartInfo.type !== 'endpointInfo' && chartInfo.type !== 'assetInfo'">
|
2021-12-24 16:06:17 +08:00
|
|
|
<span v-if="chartInfo.param.link" class="chart-header__tool" @click="openUrl">
|
|
|
|
|
<i class="nz-icon nz-icon-more-app tool__icon"></i>
|
|
|
|
|
</span>
|
2021-11-19 09:40:21 +08:00
|
|
|
<span v-if="chartInfo.remark" class="chart-header__tool">
|
|
|
|
|
<el-tooltip :content="chartInfo.remark" effect="light" placement="top">
|
|
|
|
|
<i class="nz-icon nz-icon-info-normal tool__icon"></i>
|
|
|
|
|
</el-tooltip>
|
|
|
|
|
</span>
|
2022-03-10 16:08:25 +08:00
|
|
|
<span v-if="chartInfo.type=='group'" class="chart-header__tool" @click="addChartGroup">
|
|
|
|
|
<el-tooltip :content="$t('overall.add')" effect="light" placement="top">
|
|
|
|
|
<i class="nz-icon nz-icon-plus tool__icon"></i>
|
|
|
|
|
</el-tooltip>
|
|
|
|
|
</span>
|
2021-11-19 09:40:21 +08:00
|
|
|
<span class="chart-header__tool" @click="refreshChart">
|
|
|
|
|
<el-tooltip :content="$t('dashboard.refresh')" effect="light" placement="top">
|
|
|
|
|
<i class="nz-icon nz-icon-replay tool__icon"></i>
|
|
|
|
|
</el-tooltip>
|
|
|
|
|
</span>
|
2022-01-05 18:01:30 +08:00
|
|
|
<span v-if="from !== this.$CONSTANTS.fromRoute.chartTemp && chartInfo.type!=='group'" class="chart-header__tool" @click="showFullscreen">
|
2021-11-19 09:40:21 +08:00
|
|
|
<el-tooltip :content="$t('dashboard.screen')" effect="light" placement="top">
|
|
|
|
|
<i class="nz-icon nz-icon-maxview tool__icon"></i>
|
|
|
|
|
</el-tooltip>
|
|
|
|
|
</span>
|
|
|
|
|
<span class="chart-header__tool">
|
2022-01-11 17:05:21 +08:00
|
|
|
<el-dropdown v-clickoutside="clickos" v-has="['main_edit','main_delete','main_add']" trigger="click">
|
2021-11-19 09:40:21 +08:00
|
|
|
<i class="el-icon-more tool__icon" @click.stop="dropdownMenuShow = !dropdownMenuShow"></i>
|
|
|
|
|
<el-dropdown-menu style="display: none"></el-dropdown-menu>
|
|
|
|
|
<ul v-show="dropdownMenuShow" slot="dropdown" class="el-dropdown-menu nz-chart-dropdown">
|
2022-01-11 17:05:21 +08:00
|
|
|
<li class="el-dropdown-menu__item" v-has="'main_edit'" @click="editChart">
|
2021-11-19 09:40:21 +08:00
|
|
|
<i class="nz-icon nz-icon-edit" style="font-size: 16px;"></i>
|
|
|
|
|
<span>{{$t('dashboard.edit')}}</span>
|
|
|
|
|
</li>
|
2022-01-11 11:00:03 +08:00
|
|
|
<li v-has="'main_delete'" class="el-dropdown-menu__item" @click="removeChart">
|
2021-11-19 09:40:21 +08:00
|
|
|
<i class="nz-icon nz-icon-delete" style="font-size: 16px;"></i>
|
|
|
|
|
<span>{{$t('dashboard.delete')}}</span>
|
|
|
|
|
</li>
|
2022-01-11 11:00:03 +08:00
|
|
|
<li v-has="'main_add'" class="el-dropdown-menu__item" @click="duplicate">
|
2021-11-19 09:40:21 +08:00
|
|
|
<i class="el-icon-copy-document" style="font-size: 16px;"></i>
|
|
|
|
|
<span>{{$t('dashboard.duplicate')}}</span>
|
|
|
|
|
</li>
|
2022-01-11 11:00:03 +08:00
|
|
|
<li v-if="from !== this.$CONSTANTS.fromRoute.chartTemp && chartInfo.pid" v-has="'main_edit'" class="el-dropdown-menu__item" @click="$emit('sync')">
|
2021-11-19 09:40:21 +08:00
|
|
|
<i class="nz-icon nz-icon-sync" style="font-size: 16px;"></i>
|
|
|
|
|
<span>{{$t('overall.syncChart')}}</span>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</el-dropdown>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2021-12-23 10:44:30 +08:00
|
|
|
import chartHeaderMixin from '@/components/chart/chartHeaderMixin'
|
2021-11-19 09:40:21 +08:00
|
|
|
export default {
|
|
|
|
|
name: 'chartHeader',
|
2021-12-23 10:44:30 +08:00
|
|
|
mixins: [chartHeaderMixin],
|
2021-12-24 16:06:17 +08:00
|
|
|
methods: {
|
|
|
|
|
openUrl () {
|
|
|
|
|
window.open(this.chartInfo.param.link)
|
2022-03-10 16:08:25 +08:00
|
|
|
},
|
|
|
|
|
addChartGroup () {
|
|
|
|
|
this.$store.commit('setGroupId', this.chartInfo.id)
|
|
|
|
|
this.$store.dispatch('dispatchEditChart', {
|
|
|
|
|
chart: '',
|
|
|
|
|
type: 'addGroupItem'
|
|
|
|
|
})
|
2021-12-24 16:06:17 +08:00
|
|
|
}
|
|
|
|
|
}
|
2021-11-19 09:40:21 +08:00
|
|
|
}
|
|
|
|
|
</script>
|