NEZ-3280 fix:修复其他页面view操作

This commit is contained in:
zyh
2023-10-30 11:27:02 +08:00
parent 9fced424de
commit 3081b1bdc3
19 changed files with 47 additions and 28 deletions

View File

@@ -437,7 +437,6 @@ export default {
if (this.chartInfo.type === 'log') {
this.logChartDataFormat()
}
console.log(this.$lodash.cloneDeep(this.chartData), '123123')
}).catch(res => {
// console.info(res)
}).finally(() => {

View File

@@ -130,6 +130,9 @@ export default {
})
},
showBottomBox (targetTab, row) {
if (!this.hasButton(this.viewPermission)) {
return
}
this.$emit('showBottomBox', targetTab, JSON.parse(JSON.stringify(row)))
},
tableDataSort (item) {

View File

@@ -102,7 +102,7 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button v-if="scope.row.alertRule" class="table-operation-item" @click="$emit('messageDetail', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'alertMessage_view'" v-if="scope.row.alertRule" class="table-operation-item" @click="$emit('messageDetail', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown v-has="['alertMessage_delete','alertMessage_expired', 'alertSilence_add']" size="medium" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -545,7 +545,7 @@ export default {
return this.$t(this.$CONSTANTS.alertMessage.severityData.find(s => { return s.value == key }).label)
},
rowDblclick (row) {
if (!this.showOption) {
if (!this.showOption || !this.hasButton('alertMessage_view')) {
return
}
this.$emit('messageDetail', row)

View File

@@ -145,7 +145,7 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="queryMessage(scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'alertMessage_view'" class="table-operation-item" @click="queryMessage(scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['alertRule_edit','alertRule_delete', 'alertSilence_add']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>

View File

@@ -52,7 +52,7 @@
<template v-else-if="item.prop === 'alertNum'">
<span
class="num-cursor"
@click="$emit('showBottomBox', 'alertMessageTab', scope.row)"
@click="showBottomBox('alertMessageTab', scope.row)"
>
<i
:class="scope.row.alertNum > 0 ? 'gray' : 'green'"
@@ -117,9 +117,10 @@
<div slot-scope="scope" class="table-operation-items">
<!-- <button :class="{'table-operation-item&#45;&#45;disable': scope.row.state === 3}" class="table-operation-item" v-has="'alertSilence_edit'" @click="$emit('edit', scope.row)" :disabled="scope.row.state === 3"><i class="nz-icon nz-icon-edit"></i></button>-->
<button
v-has="'alertSilence_view'"
class="table-operation-item"
:title="$t('overall.view')"
@click="$emit('showBottomBox', 'alertMessageTab', scope.row)"
@click="showBottomBox('alertMessageTab', scope.row)"
>
<i class="nz-icon nz-icon-view1"></i>
</button>
@@ -193,6 +194,7 @@ export default {
},
data () {
return {
viewPermission: 'alertSilence_view',
/* 表格相关 */
tableTitle: [
{

View File

@@ -12,7 +12,7 @@
@header-dragend="dragend"
@sort-change="tableDataSort"
@selection-change="selectionChange"
@row-dblclick="(row)=>{$emit('showBottomBox', 'dashboardTab', row)}"
@row-dblclick="(row)=>{showBottomBox('dashboardTab', row)}"
>
<el-table-column
:resizable="false"
@@ -60,14 +60,14 @@
<template v-else-if="item.prop === 'type'">{{scope.row.type ? scope.row.type.name : '-'}}</template>
<template v-else-if="item.prop === 'state'">{{scope.row.state ? scope.row.state.name : '-'}}</template>
<template v-else-if="item.prop === 'endpointNum'">
<span class="num-cursor" @click.stop="$emit('showBottomBox', 'endpointTab', scope.row)" @dblclick.stop="">
<span class="num-cursor" @click.stop="showBottomBox('endpointTab', scope.row)" @dblclick.stop="">
<i class="nz-icon nz-icon-overview-endpoint monitorColor"></i>
<span>{{scope.row.endpointNum ? scope.row.endpointNum : 0}}</span>
</span>
</template>
<template v-else-if="item.prop === 'alertNum'">
<!-- v-my-loading:ldsFacebook="scope.row.trendLoading" -->
<span class="num-cursor" @click.stop="$emit('showBottomBox', 'alertMessageTab', scope.row)" @dblclick.stop="">
<span class="num-cursor" @click.stop="showBottomBox('alertMessageTab', scope.row)" @dblclick.stop="">
<i :class="scope.row.alertNum ? 'red' : 'green'" class="nz-icon nz-icon-overview-alert vertical-align-top;" @mouseenter="tooltipHover(scope.row,true, $event)" @mouseleave="tooltipHover(scope.row,false, $event)"></i>
<div v-if="scope.row.alertNumtooltipShow" class="alert-days-info-tooltip" :style="{left: scope.row.left + 'px',top:scope.row.top + 'px'}">
<div class="tooltip-title">{{$t('project.topology.alert')}}({{$t('overall.active')}})</div>
@@ -106,7 +106,7 @@
<span v-else> - </span>
</template>
<template v-else-if="item.prop === 'children'">
<div @click.stop="$emit('showBottomBox', 'assetSubTab', scope.row)" v-if="scope.row.childrenNum" style="cursor: pointer" @dblclick.stop="">
<div @click.stop="showBottomBox('assetSubTab', scope.row)" v-if="scope.row.childrenNum" style="cursor: pointer" @dblclick.stop="">
<i class="nz-icon nz-icon-overview-project monitorColor color23BF9A"></i>
{{scope.row.childrenNum}}</div>
<!-- <span v-else-if="scope.row.pid == -1"> <i class="nz-icon nz-icon-overview-project monitorColor color23BF9A"></i> 0 </span>-->
@@ -157,8 +157,8 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button v-if="assetTab" class="table-operation-item" v-has="'model_edit'" @click="$emit('edit', scope.row)" :title="$t('overall.edit')"><i class="nz-icon nz-icon-edit"></i></button>
<button v-else class="table-operation-item" @click="$emit('showBottomBox', 'dashboardTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-if="assetTab" class="table-operation-item" v-has="'asset_edit'" @click="$emit('edit', scope.row)" :title="$t('overall.edit')"><i class="nz-icon nz-icon-edit"></i></button>
<button v-has="'asset_view'" v-else class="table-operation-item" @click="showBottomBox('dashboardTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['asset_edit','asset_connect','asset_add','asset_delete', 'alertSilence_add']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -222,6 +222,7 @@ export default {
},
data () {
return {
viewPermission: 'asset_view',
needAlertDaysData: true,
trendKey: 'assetId',
tableTitle: [

View File

@@ -77,7 +77,7 @@
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<!-- <button class="table-operation-item" v-has="'agent_edit'" @click="tableOperation(['edit', scope.row])"><i class="nz-icon nz-icon-edit"></i></button>-->
<button class="table-operation-item" @click="showBottomBox('scrapeEndpoint', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'agent_view'" class="table-operation-item" @click="showBottomBox('scrapeEndpoint', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['agent_edit','agent_delete']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -127,6 +127,7 @@ export default {
},
data () {
return {
viewPermission: 'agent_view',
agent: agent,
alertLabelShow: false,
alertLabelObj: {},

View File

@@ -58,7 +58,7 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="showBottomBox('dashboardTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'dashboard_temp_view'" class="table-operation-item" @click="showBottomBox('dashboardTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['dashboard_temp_add','dashboard_temp_edit','dashboard_temp_delete']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -96,6 +96,7 @@ export default {
},
data () {
return {
viewPermission: 'dashboard_temp_view',
tableTitle: [
{
label: 'ID',

View File

@@ -69,7 +69,7 @@
</span>
</template>
<template v-else-if="item.prop === 'alertNum'">
<span class="num-cursor" @click.stop="$emit('showBottomBox', 'alertMessageTab', scope.row)" @dblclick.stop="">
<span class="num-cursor" @click.stop="showBottomBox('alertMessageTab', scope.row)" @dblclick.stop="">
<i :class="scope.row.alertNum ? 'red' : 'green'" class="nz-icon nz-icon-overview-alert vertical-align-top;" @mouseenter="tooltipHover(scope.row,true, $event)" @mouseleave="tooltipHover(scope.row,false, $event)"></i>
<div v-if="scope.row.alertNumtooltipShow" class="alert-days-info-tooltip" :style="{left: scope.row.left + 'px',top:scope.row.top + 'px'}">
<div class="tooltip-title">{{$t('project.topology.alert')}}({{$t('overall.active')}})</div>
@@ -109,7 +109,7 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="showBottomBox('cabinet', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'dc_view'" class="table-operation-item" @click="showBottomBox('cabinet', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['dc_delete','dc_edit']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -153,6 +153,7 @@ export default {
},
data () {
return {
viewPermission: 'dc_view',
regNum: /^[0-9]+.?[0-9]*/,
needAlertDaysData: true,
trendKey: 'dcId',

View File

@@ -11,7 +11,7 @@
@cell-mouse-enter="cellMouseEnter"
@sort-change="tableDataSort"
@selection-change="selectionChange"
@row-dblclick="(row)=>{$emit('showBottomBox', 'dashboardTab', row)}"
@row-dblclick="(row)=>{showBottomBox('dashboardTab', row)}"
>
<el-table-column
:resizable="false"
@@ -174,7 +174,7 @@
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button v-if="endpointTab" class="table-operation-item" v-has="'monitor_endpoint_edit'" @click="$emit('edit', scope.row)" :title="$t('overall.edit')"><i class="nz-icon nz-icon-edit"></i></button>
<button v-else class="table-operation-item" @click="$emit('showBottomBox', 'dashboardTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'endpoint_list'" v-else class="table-operation-item" @click="showBottomBox('dashboardTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['monitor_endpoint_edit','monitor_endpoint_delete','alertSilence_add']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -246,6 +246,7 @@ export default {
},
data () {
return {
viewPermission: 'endpoint_list',
needAlertDaysData: true,
trendKey: 'endpointId',
tableTitle: [ // 原始table列

View File

@@ -63,7 +63,7 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="showBottomBox('ipam', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'ipam_view'" class="table-operation-item" @click="showBottomBox('ipam', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" trigger="click" v-has="['ipam_edit', 'ipam_delete']" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -105,6 +105,7 @@ export default {
},
data () {
return {
viewPermission: 'ipam_view',
tableTitle: [ // 原始table列
{
label: 'ID',

View File

@@ -85,7 +85,7 @@
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<!-- <button class="table-operation-item" v-has="'model_edit'" @click="$emit('edit', scope.row)" :title="$t('overall.edit')"><i class="nz-icon nz-icon-edit"></i></button> -->
<button class="table-operation-item" @click="showBottomBox('asset', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'model_view'" class="table-operation-item" @click="showBottomBox('asset', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['model_delete','main_edit','model_edit']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -124,6 +124,7 @@ export default {
},
data () {
return {
viewPermission: 'model_view',
tableTitle: [ // 原始table列
{
label: 'ID',

View File

@@ -95,7 +95,7 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="showBottomBox('endpoint', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'monitor_module_view'" class="table-operation-item" @click="showBottomBox('endpoint', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['monitor_module_edit','monitor_module_delete','alertSilence_add','main_edit']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -146,6 +146,7 @@ export default {
},
data () {
return {
viewPermission: 'monitor_module_view',
needAlertDaysData: true,
trendKey: 'moduleId',
tableTitle: [ // 原始table列

View File

@@ -82,7 +82,7 @@
:width="155">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="changeProjectTopo(scope.row)" v-has="'project_view'" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'project_view'" class="table-operation-item" @click="changeProjectTopo(scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['project_edit','project_delete','alertSilence_add']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>

View File

@@ -109,7 +109,7 @@
{{ $t("overall.option") }}
</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="showBottomBox('Metrics', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'record_rule_view'" class="table-operation-item" @click="showBottomBox('Metrics', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['record_rule_edit','record_rule_delete']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -151,6 +151,7 @@ export default {
},
data () {
return {
viewPermission: 'record_rule_view',
/* 表格相关 */
tableTitle: [
{

View File

@@ -61,7 +61,7 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" v-has="'role_edit'" @click="showBottomBox('roles', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'role_view'" class="table-operation-item" @click="showBottomBox('roles', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['role_delete','role_edit']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -98,6 +98,7 @@ export default {
},
data () {
return {
viewPermission: 'role_view',
tableTitle: [ // 原table列
{
label: 'ID',

View File

@@ -91,7 +91,7 @@
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items" :key="scope.row.status + scope.row.uuid">
<template v-if="scope.row.status == 0">
<button :title="$t('config.terminallog.monitor.monitor')" v-has="'terminal_view'" class="table-operation-item" @click="showBottomBox('monitorTab', scope.row)"><i class="nz-icon nz-icon-JC"></i></button>
<button v-has="'terminal_view'" :title="$t('config.terminallog.monitor.monitor')" class="table-operation-item" @click="showBottomBox('monitorTab', scope.row)"><i class="nz-icon nz-icon-JC"></i></button>
<el-dropdown size="medium" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -102,7 +102,7 @@
</el-dropdown>
</template>
<template v-else>
<button class="table-operation-item" @click="showBottomBox('cmdTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'terminal_view'" class="table-operation-item" @click="showBottomBox('cmdTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" trigger="click" v-has="['terminal_edit']" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -141,6 +141,7 @@ export default {
},
data () {
return {
viewPermission: 'terminal_view',
tableTitle: [
{
label: this.$t('asset.id'),
@@ -231,6 +232,9 @@ export default {
},
methods: {
showBottomBox (targetTab, row) {
if (!this.hasButton('terminal_view')) {
return
}
if (this.timer) {
clearTimeout(this.timer)
}

View File

@@ -95,7 +95,7 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="showBottomBox('operationLogTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<button v-has="'user_view'" class="table-operation-item" @click="showBottomBox('operationLogTab', scope.row)" :title="$t('overall.view')"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['user_edit','user_delete']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more" :title="$t('overall.moreOperations')">
<i class="nz-icon nz-icon-more3"></i>
@@ -134,6 +134,7 @@ export default {
},
data () {
return {
viewPermission: 'user_view',
tableTitle: [ // 原始table列
{
label: 'ID',

View File

@@ -1,6 +1,6 @@
<template>
<div class="main-list main-list--project">
<projectList ref="dataList" :class="showList?'projectList':'hide'" v-has="'project_view'"/>
<projectList ref="dataList" :class="showList?'projectList':'hide'"/>
<projectTopo :class="showList?'projectTopo':'projectTopo margin-l-20'" v-has="'project_view'"/>
</div>
</template>