Merge branch 'dev-3.4' of git.mesalab.cn:nezha/nezha-fronted into dev-3.4
This commit is contained in:
@@ -390,6 +390,8 @@ td .nz-icon-gear:before {
|
||||
padding: 0;
|
||||
.link-title {
|
||||
padding: 0 20px;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.el-icon-arrow-right {
|
||||
|
||||
@@ -340,12 +340,12 @@
|
||||
}
|
||||
/* start--覆盖el-table边框、gutter等样式 */
|
||||
.el-table__body-wrapper {
|
||||
overflow: auto;
|
||||
//overflow: auto;
|
||||
background-color: $--table-body-background-color;
|
||||
height: calc(100% - 42px) !important;
|
||||
//height: calc(100% - 42px) !important;
|
||||
}
|
||||
.el-table__fixed-body-wrapper {
|
||||
top: 42px !important;
|
||||
//top: 42px !important;
|
||||
}
|
||||
.el-table__body-wrapper, .el-table__fixed-body-wrapper {
|
||||
box-shadow: 1px 0 $--border-color-light;
|
||||
|
||||
@@ -324,7 +324,7 @@
|
||||
|
||||
.project-box {
|
||||
width: 100%;
|
||||
height: calc(100% - 8px) !important;
|
||||
height: calc(100% - 8px);
|
||||
position: relative;
|
||||
border-radius: 2px;
|
||||
overflow: visible;
|
||||
|
||||
@@ -21,5 +21,18 @@
|
||||
.top-tool-btn.top-tool-btn--disabled:hover {
|
||||
background-color: $--asset-bactch-btn-background-color;
|
||||
}
|
||||
.top-tool-btn {
|
||||
cursor: pointer;
|
||||
border: 1px solid $--button-icon-border-color;
|
||||
outline: none;
|
||||
border-radius: $--button-border-radius;
|
||||
background-color: $--background-color-empty;
|
||||
transition:all .2s;
|
||||
color: $--button-icon-color;
|
||||
i {
|
||||
font-size: 14px;
|
||||
color: $--button-icon-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
}
|
||||
}
|
||||
.check-month_box{
|
||||
width: 100%;
|
||||
.el-checkbox-group{
|
||||
display: flex;
|
||||
justify-content: start;
|
||||
@@ -50,7 +51,7 @@
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: calc(100% / 7);
|
||||
margin-right: -2px;
|
||||
margin-right: -3px;
|
||||
margin-bottom: -1px;
|
||||
border: 1px solid $--border-color-light;
|
||||
.el-checkbox-button__inner{
|
||||
|
||||
@@ -127,6 +127,7 @@ export default {
|
||||
...item,
|
||||
x: colIndex,
|
||||
y: rowIndex,
|
||||
metrics: item.label,
|
||||
label: item.legend
|
||||
}
|
||||
})
|
||||
@@ -250,10 +251,10 @@ export default {
|
||||
const textColor = point.mapping ? point.mapping.color.text : this.invertColor(color)
|
||||
if (this.chartInfo.param.text === 'all') {
|
||||
str += point.alias
|
||||
valueStr = point.mapping && point.mapping.display ? self.handleDisplay(point.mapping.display, { ...point.labels, value: point.showValue }) : point.showValue
|
||||
valueStr = point.mapping && point.mapping.display ? self.handleDisplay(point.mapping.display, { ...point.metrics, value: point.showValue }) : point.showValue
|
||||
}
|
||||
if (this.chartInfo.param.text === 'value' || !this.chartInfo.param.text) {
|
||||
valueStr = point.mapping && point.mapping.display ? self.handleDisplay(point.mapping.display, { ...point.labels, value: point.showValue }) : point.showValue
|
||||
valueStr = point.mapping && point.mapping.display ? self.handleDisplay(point.mapping.display, { ...point.metrics, value: point.showValue }) : point.showValue
|
||||
}
|
||||
if (this.chartInfo.param.text === 'legend') {
|
||||
str += point.alias
|
||||
|
||||
@@ -309,7 +309,7 @@ export default {
|
||||
const elWidth = el.offsetWidth
|
||||
const elHeight = el.offsetHeight
|
||||
const dimension = Math.min(item.width, item.height * 1.3)
|
||||
const fontScale = parseInt('80%', 10) / 100
|
||||
const fontScale = parseInt('70%', 10) / 100
|
||||
let fontSize = Math.min(dimension / 5, 100) * fontScale
|
||||
let scale = item.width / elWidth
|
||||
if (scale * elHeight > item.height) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -1152,7 +1152,6 @@ export default {
|
||||
if (!Array.isArray(data) && data) { // 判断不是数组 提前个data配置好节点属性
|
||||
if (data.type == 0 && !data.data.valueMapping) {
|
||||
data.data = {
|
||||
...data.data,
|
||||
moduleId: '',
|
||||
moduleName: '',
|
||||
show: false,
|
||||
@@ -1190,7 +1189,8 @@ export default {
|
||||
displayChart: true,
|
||||
aggregation: 'last',
|
||||
title: '',
|
||||
url: ''
|
||||
url: '',
|
||||
...data.data
|
||||
}
|
||||
if (data.iconFamily) {
|
||||
data.data.fillStyle = 'transparent'
|
||||
|
||||
@@ -124,7 +124,7 @@ export default {
|
||||
delete labelPosition.left
|
||||
|
||||
labelPosition.right =
|
||||
clientWidth - position.left - leftOffSetView - position.width * 4 + 'px'
|
||||
clientWidth - position.left - leftOffSetView - position.width * 3.3 + 'px'
|
||||
}
|
||||
return labelPosition
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ export default {
|
||||
batchHandler (state) {
|
||||
for (let index = 0; index < this.custom.length; index++) {
|
||||
if (this.custom[index].type != 'title') {
|
||||
if ((index == 0 || index == 1 || this.custom[index].NotSet)) {
|
||||
if ((index == 0 || index == 1 || this.custom[index].NotSet || this.custom[index].visibility == 'disabled')) {
|
||||
this.custom[index].show = true
|
||||
} else {
|
||||
this.custom[index].show = state
|
||||
@@ -87,7 +87,7 @@ export default {
|
||||
},
|
||||
// 单选
|
||||
handler (val, index) {
|
||||
if (!this.allowedAll && !val.allowed && (index == 0 || index == 1 || val.NotSet)) {
|
||||
if (!this.allowedAll && !val.allowed && (index == 0 || index == 1 || val.NotSet || val.visibility == 'disabled')) {
|
||||
// this.custom[index].show = true;
|
||||
} else {
|
||||
this.custom[index].show = !this.custom[index].show
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
<div style="width: 100%;margin: 10px 0; box-sizing: border-box; padding: 0 10px;">
|
||||
<div class="thresholds-box">
|
||||
<el-row class="thresholds-title">
|
||||
<el-col :span="4" class="thresholds-cell">{{ $t('alert.severity') }}
|
||||
<el-col :span="5" class="thresholds-cell">{{ $t('alert.severity') }}
|
||||
<span @click="changeValueMappingSort">
|
||||
<i
|
||||
:class="['nz-icon','nz-icon-arrow-up1',selection.pen.data.valueMappingSort==='desc'?'is-arrow-active':'']"></i>
|
||||
@@ -92,12 +92,12 @@
|
||||
</el-col>
|
||||
<el-col :span="4" class="thresholds-cell">{{ $t('project.topology.color') }}</el-col>
|
||||
<el-col :span="6" class="thresholds-cell">{{ $t('overall.value') }}</el-col>
|
||||
<el-col :span="8" class="thresholds-cell">{{ $t('project.topology.animation') }}</el-col>
|
||||
<el-col :span="7" class="thresholds-cell">{{ $t('project.topology.animation') }}</el-col>
|
||||
<el-col :span="2" class="thresholds-cell"></el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row v-for="(item,index) in selection.pen.data.valueMapping" :key="index">
|
||||
<el-col :span="4" class="thresholds-cell">
|
||||
<el-col :span="5" class="thresholds-cell">
|
||||
<span v-if="selection.pen.data.valueMappingSort==='desc'">
|
||||
{{ index === 0 ? selection.pen.data.valueMapping.length - 1 : (item.level - 1) }}
|
||||
</span>
|
||||
@@ -127,7 +127,7 @@
|
||||
</el-input>
|
||||
<span v-else>base</span>
|
||||
</el-col>
|
||||
<el-col :span="8" class="thresholds-cell">
|
||||
<el-col :span="7" class="thresholds-cell">
|
||||
<!--线-->
|
||||
<el-select v-if="selection.pen&&selection.pen.type&&item.level!==0"
|
||||
v-model="item.animateType"
|
||||
@@ -242,7 +242,7 @@
|
||||
<template>
|
||||
<el-col class="legend-title">
|
||||
{{ $t('dashboard.panel.chartForm.legend') }}
|
||||
<el-popover placement="top" trigger="hover" width="211">
|
||||
<el-popover placement="top" trigger="hover" width="211" popper-class="prevent-clickoutside">
|
||||
<div style="word-break:keep-all;">{{ $t('dashboard.panel.chartForm.legendTip') }}</div>
|
||||
<i slot="reference" class="nz-icon nz-icon-info-normal" style="font-size: 14px; -webkit-transform:scale(0.75);display:inline-block;"
|
||||
@mouseover="rz"></i>
|
||||
@@ -257,7 +257,7 @@
|
||||
<span class="nz-icon-minus-medium" :title="$t('overall.delete')">
|
||||
<i class="nz-icon nz-icon-minus" @click="removeExpression(index)"></i>
|
||||
</span>
|
||||
<span class="nz-icon-copy" :title="$t('overall.duplicate')">
|
||||
<span class="nz-icon-copy" :title="$t('overall.duplicate')" style="padding: 2px 6px">
|
||||
<i class="nz-icon nz-icon-override" @click="copyExpression(index)"></i>
|
||||
</span>
|
||||
</div>
|
||||
@@ -422,6 +422,7 @@
|
||||
<div>{{ $t('project.topology.gradient') }}</div>
|
||||
<div class="p10 pl0 gradient-to">
|
||||
<el-select :popper-append-to-body="true" v-model="selection.pen.gradientType" size="small"
|
||||
:placeholder="''"
|
||||
class="color-before-select" popper-class="color-before-select right-box-select-top right-public-box-dropdown-top" @change="bkTypeChange">
|
||||
<div slot="prefix">
|
||||
<i
|
||||
@@ -1201,7 +1202,7 @@ export default {
|
||||
nodesAlign: [// 对齐方式
|
||||
{
|
||||
value: 'left',
|
||||
desc: this.$t('ashboard.panel.chartForm.alignList.left')
|
||||
desc: this.$t('overall.left')
|
||||
}, {
|
||||
value: 'right',
|
||||
desc: this.$t('dashboard.panel.chartForm.alignList.right')
|
||||
@@ -1370,7 +1371,7 @@ export default {
|
||||
textAlignOptions: [
|
||||
{
|
||||
id: 'left',
|
||||
name: this.$t('ashboard.panel.chartForm.alignList.left')
|
||||
name: this.$t('overall.left')
|
||||
},
|
||||
{
|
||||
id: 'center',
|
||||
|
||||
@@ -1221,7 +1221,6 @@ export default {
|
||||
data.fillStyle = '#FFFFFF00'
|
||||
}
|
||||
data.data = {
|
||||
...data.data,
|
||||
moduleId: '',
|
||||
moduleName: '',
|
||||
show: false,
|
||||
@@ -1258,7 +1257,8 @@ export default {
|
||||
displayChart: true,
|
||||
aggregation: 'last',
|
||||
title: '',
|
||||
url: ''
|
||||
url: '',
|
||||
...data.data
|
||||
}
|
||||
} else if (data.type == 1 && !data.data) {
|
||||
// 连线是否自动计算锚点
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -575,6 +575,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}}
|
||||
|
||||
@@ -528,6 +528,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}}
|
||||
|
||||
@@ -252,11 +252,14 @@
|
||||
size="small"
|
||||
v-model="editPanel.param.report.schedule.repeat"
|
||||
id="chart-box-title"
|
||||
v-if="isShow === 2 ? true :false">
|
||||
v-if="isShow === 2 ? true :false" key="2">
|
||||
<template slot="append">{{ $t("backup.day") }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="isShow === 3 ? true : false" :label='$t("backup.WeekOn")' class="range-time" prop="param.report.schedule.nums">
|
||||
<el-form-item v-if="isShow === 3 ? true : false"
|
||||
:rules="isShow === 3 ? [
|
||||
{ required: true, message: $t('validate.required'), trigger: 'change'}] :[{ required: false}]"
|
||||
:label='$t("backup.WeekOn")' class="range-time" prop="param.report.schedule.nums" key="3">
|
||||
<el-checkbox-group
|
||||
v-model="editPanel.param.report.schedule.nums">
|
||||
<el-checkbox-button
|
||||
@@ -267,11 +270,13 @@
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="isShow === 4 ? true : false"
|
||||
v-if="isShow === 4 ? true : false"
|
||||
:rules="isShow === 4 ? [
|
||||
{ required: true, message: $t('validate.required'), trigger: 'change'}] :[{ required: false}]"
|
||||
:label="$t('backup.DayOfMonth')"
|
||||
prop="param.report.schedule.nums"
|
||||
class="check-month_box"
|
||||
id="day-of-month"
|
||||
id="day-of-month" key="4"
|
||||
>
|
||||
<el-checkbox-group v-model="editPanel.param.report.schedule.nums">
|
||||
<el-checkbox-button
|
||||
@@ -352,13 +357,13 @@ export default {
|
||||
message: this.$t('validate.required')
|
||||
}, { validator: datePicker, trigger: 'blur' }],
|
||||
'param.report.receivers': [
|
||||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
|
||||
{ validator: arrLength, trigger: 'blur' }
|
||||
],
|
||||
'param.report.schedule.nums': [
|
||||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
|
||||
{ required: true, message: this.$t('validate.required'), trigger: 'change' },
|
||||
{ validator: arrLength, trigger: 'blur' }
|
||||
]
|
||||
// 'param.report.schedule.nums': [
|
||||
// { required: true, message: this.$t('validate.required'), trigger: 'blur' },
|
||||
// { validator: arrLength, trigger: 'blur' }
|
||||
// ]
|
||||
},
|
||||
week: [
|
||||
this.$t('week.Mon'),
|
||||
|
||||
@@ -142,7 +142,6 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:resizable="false"
|
||||
v-if="showOption"
|
||||
:width="operationWidth"
|
||||
fixed="right">
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<span v-else-if="item.prop === 'ts'">{{scope.row[item.prop]?momentTz(scope.row[item.prop]):'-'}}</span>
|
||||
<span v-else-if="item.prop === 'status'">
|
||||
<!-- <el-popover :content="$t('asset.assetStatPre')+(scope.row.checkTime?utcTimeToTimezoneStr(scope.row.checkTime):$t('asset.assetStatDown'))" placement="right" trigger="hover" width="200"> -->
|
||||
<div slot="reference" style="width: 60px" @mouseenter="labelHover(JSON.parse(scope.row.statusInfo), 'agent', true, $event)"
|
||||
<div slot="reference" style="width: 80px" @mouseenter="labelHover(JSON.parse(scope.row.statusInfo), 'agent', true, $event)"
|
||||
@mouseleave="labelHover(JSON.parse(scope.row.statusInfo), 'agent', false)">
|
||||
<span :class="{'active-icon green-bg':scope.row[item.prop] == '1','active-icon red-bg':scope.row[item.prop] == '0' || scope.row[item.prop] == '-1' || scope.row[item.prop] == '-2'}"></span>
|
||||
<span>{{scope.row[item.prop] == '1' ? 'UP' : 'Down'}}</span>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -114,6 +114,7 @@ export default {
|
||||
}, {
|
||||
label: 'URL',
|
||||
prop: 'url',
|
||||
visibility: 'disabled',
|
||||
show: true
|
||||
}
|
||||
],
|
||||
|
||||
@@ -123,10 +123,12 @@ export default {
|
||||
}, {
|
||||
label: this.$t('webshell.filePath'),
|
||||
prop: 'filePath',
|
||||
visibility: 'disabled',
|
||||
show: true
|
||||
}, {
|
||||
label: this.$t('config.system.notification.account'),
|
||||
prop: 'account',
|
||||
visibility: 'disabled',
|
||||
show: true
|
||||
}, {
|
||||
label: this.$t('overall.state'),
|
||||
|
||||
@@ -200,6 +200,7 @@ export default {
|
||||
param: {
|
||||
report: {
|
||||
enable: false,
|
||||
receivers: [],
|
||||
range: {
|
||||
unit: ''
|
||||
},
|
||||
@@ -460,6 +461,7 @@ export default {
|
||||
param: {
|
||||
report: {
|
||||
enable: false,
|
||||
receivers: [],
|
||||
range: {
|
||||
unit: 'day'
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user