NEZ-2060 fix:table 类型图表 value mapping折叠时增加显示 column

This commit is contained in:
zhangyu
2022-07-22 16:50:20 +08:00
parent 767d1935aa
commit f30ad4cbbd
7 changed files with 53 additions and 13 deletions

View File

@@ -390,6 +390,8 @@ td .nz-icon-gear:before {
padding: 0;
.link-title {
padding: 0 20px;
height: 100%;
display: block;
}
}
.el-icon-arrow-right {

View File

@@ -36,7 +36,7 @@
{{showValueMapping(scope.row,col.title)}}
</div>
<div class="value-mapping-table" v-else>
{{scope.row.display[col.title + 'display']}}
{{scope.row.display[col.title + 'display'].display}}
</div>
</template>
</el-table-column>
@@ -172,7 +172,7 @@ export default {
if (this.chartInfo.param.enable && this.chartInfo.param.enable.valueMapping) {
valueMapping[column.title].forEach(item => {
// const rowValue = row.display[column.title + 'display']
const rowValue = row.display[column.title + 'display']
const rowValue = row.display[column.title + 'display'].oldValue
if (item.type === 'value') {
if (rowValue == item.value) {
obj[column.title + 'mapping'] = item
@@ -201,7 +201,10 @@ export default {
...row
}
this.columns.forEach((column) => {
obj[column.title + 'display'] = ''
obj[column.title + 'display'] = {
display: '',
oldValue: ''
}
if (/\{\{.+\}\}/.test(column.display)) {
const labelValue = column.display.replace(/(\{\{.+?\}\})/g, function (i) {
const label = i.substr(i.indexOf('{{') + 2, i.indexOf('}}') - i.indexOf('{{') - 2)
@@ -233,9 +236,42 @@ export default {
}
return value || ''
})
obj[column.title + 'display'] = labelValue
const oldLabelValue = column.display.replace(/(\{\{.+?\}\})/g, function (i) {
const label = i.substr(i.indexOf('{{') + 2, i.indexOf('}}') - i.indexOf('{{') - 2)
let value = null
if (lodash.get(params, label)) {
value = lodash.get(params, label)
if (!((typeof value) == 'string' && value.constructor == String)) {
let legend = ''
if (value.__name__) {
legend += `${value.__name__}{`
} else {
legend += '{'
}
const tagKeysArr = Object.keys(value)
tagKeysArr.forEach(tagKey => {
if (tagKey !== '__name__') {
legend += `${tagKey}="${value[tagKey]}",`
}
})
if (legend.endsWith(',')) {
legend = legend.substr(0, legend.length - 1)
}
legend += '}'
value = legend
}
}
return value || ''
})
obj[column.title + 'display'] = {
display: labelValue,
oldValue: oldLabelValue
}
} else {
obj[column.title + 'display'] = column.display
obj[column.title + 'display'] = {
display: column.display,
oldValue: column.display
}
}
})
return obj
@@ -291,8 +327,8 @@ export default {
// 本地正序
asce (prop) {
return function (obj1, obj2) {
const val1 = obj1.display[prop + 'display'].replace(/\s*/g, '')
const val2 = obj2.display[prop + 'display'].replace(/\s*/g, '')
const val1 = obj1.display[prop + 'display'].display.replace(/\s*/g, '')
const val2 = obj2.display[prop + 'display'].display.replace(/\s*/g, '')
if (val1 < val2) {
return -1
} else if (val1 > val2) {
@@ -305,8 +341,8 @@ export default {
// 本地倒序
desc (prop) {
return function (obj1, obj2) {
const val1 = obj1.display[prop + 'display'].replace(/\s*/g, '')
const val2 = obj2.display[prop + 'display'].replace(/\s*/g, '')
const val1 = obj1.display[prop + 'display'].display.replace(/\s*/g, '')
const val2 = obj2.display[prop + 'display'].display.replace(/\s*/g, '')
if (val1 < val2) {
return -1
} else if (val1 > val2) {

View File

@@ -24,7 +24,7 @@
</div>
</template>
<template v-if="activeIndex === 1">
<div class="desc-text">{{$t('overall.agentTip')}}</div>
<div class="desc-text">{{$t('guide.agentTip')}}</div>
<div class="guide__btn-group">
<button :class="{'guide__btn--disabled': !hasButton('agent_add')}" class="guide__btn" type="button" @click="jumpAndOpen('agent')">{{$t('overall.createPrometheusServer')}}</button>
<button :class="{'guide__btn--disabled': !hasButton('agent_add')}" class="guide__btn" type="button" @click="downloadAgent">{{$t('guide.downloadAgent')}}</button>

View File

@@ -137,7 +137,7 @@ export default {
if (value === '' && this.editUser.pin) {
callback(new Error(this.$t('config.user.reinputPin')))
} else if (value !== this.editUser.pin) {
callback(new Error(this.$t('profile.confirmPasswordErr')))
callback(new Error(this.$t('profile.confirmPasswordError')))
} else {
callback()
}

View File

@@ -572,6 +572,7 @@
<div class="chart-title chart-title-config">
<span class="chart-title-content">
<i class="nz-icon nz-icon-arrow-down" :class="item.show?'':'is-active'" @click="showMapping(index)"></i>
<span v-if="item.column && !item.show">{{item.column}}:</span>
<span v-show="!item.show" class="title-content-left">
<span v-if="item.type === 'value'">
{{item.value}}

View File

@@ -525,6 +525,7 @@
<div class="chart-title chart-title-config">
<span class="chart-title-content">
<i class="nz-icon nz-icon-arrow-down" :class="item.show?'':'is-active'" @click="showMapping(index)"></i>
<span v-if="item.column && !item.show">{{item.column}}:</span>
<span v-show="!item.show" class="title-content-left">
<span v-if="item.type === 'value'">
{{item.value}}

View File

@@ -14,8 +14,8 @@
<el-dropdown trigger="click">
<div class="header-menu__item" :title="$t('config.system.link.link')"><i class="nz-icon nz-icon-more-app"></i></div>
<el-dropdown-menu slot="dropdown" class="right-box-select-top right-public-box-dropdown-top el-dropdown-menu-link">
<el-dropdown-item v-for="(item, index) in linkData" :key="index" :index="'0-' + index" v-if="linkData.length">
<a :href='item.url' rel="noopener noreferrer" target="_blank" class="link-title nz- a">
<el-dropdown-item v-for="(item, index) in linkData" :key="index" :index="'0-' + index" v-if="linkData.length" class="el-dropdown-menu-link-item">
<a :href='item.url' rel="noopener noreferrer" target="_blank" class="link-title nz-a">
<i class="nz-icon nz-icon-link"></i>
<span class="nz- a">{{item.name}}</span>
</a>