perf: label样式变更等
1.label样式变更 2.用户登录拦截新增一些状态码
This commit is contained in:
@@ -88,10 +88,14 @@
|
|||||||
<span v-else>-</span>
|
<span v-else>-</span>
|
||||||
</div>-->
|
</div>-->
|
||||||
<template v-else-if="item.prop == 'labels'">
|
<template v-else-if="item.prop == 'labels'">
|
||||||
<el-tag v-if="key != 'alertname' && key != 'severity'"
|
<nz-alert-tag :label="key" type="info" style="margin: 5px;"
|
||||||
|
:cursor-point="false"
|
||||||
|
v-if="key != 'alertname' && key != 'severity'"
|
||||||
|
v-for="(value, key) in scope.row.labels">{{value}}</nz-alert-tag>
|
||||||
|
<!--<el-tag v-if="key != 'alertname' && key != 'severity'"
|
||||||
:key="key"
|
:key="key"
|
||||||
type="info"
|
type="info"
|
||||||
size="mini" v-for="(value, key) in scope.row.labels" class="alert-message-tag">{{tagValue(key, value)}}</el-tag>
|
size="mini" v-for="(value, key) in scope.row.labels" class="alert-message-tag">{{tagValue(key, value)}}</el-tag>-->
|
||||||
</template>
|
</template>
|
||||||
<div v-else-if="item.prop == 'state'">
|
<div v-else-if="item.prop == 'state'">
|
||||||
<span class="">
|
<span class="">
|
||||||
@@ -162,10 +166,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import axios from 'axios'
|
import axios from 'axios';
|
||||||
|
import nzAlertTag from '../../../page/alert/nzAlertTag';
|
||||||
export default {
|
export default {
|
||||||
name: "alertMessageTab",
|
name: "alertMessageTab",
|
||||||
components: {
|
components: {
|
||||||
|
'nz-alert-tag': nzAlertTag
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
from: String, //来自哪个主页面,有:"asset"、"alertRule"
|
from: String, //来自哪个主页面,有:"asset"、"alertRule"
|
||||||
@@ -477,7 +483,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
labelsClassName(row) {
|
labelsClassName(row) {
|
||||||
if (row.columnIndex == 2) {
|
if (row.column.label == this.$t("alert.list.labels")) {
|
||||||
return "alert-message-list-labels";
|
return "alert-message-list-labels";
|
||||||
} else {
|
} else {
|
||||||
return "";
|
return "";
|
||||||
|
|||||||
@@ -99,12 +99,17 @@
|
|||||||
<span v-else>-</span>
|
<span v-else>-</span>
|
||||||
</div>-->
|
</div>-->
|
||||||
<template v-else-if="item.prop == 'labels'">
|
<template v-else-if="item.prop == 'labels'">
|
||||||
<el-tag @click="showTagDetail(scope.row, key)"
|
<nz-alert-tag :label="key" :type="tagType(key)" style="margin: 5px;"
|
||||||
|
:cursor-point="tagType(key) == 'info' ? false : true"
|
||||||
|
@click="showTagDetail(scope.row, key)"
|
||||||
|
v-if="key != 'alertname' && key != 'severity'"
|
||||||
|
v-for="(value, key) in scope.row.labels">{{value}}</nz-alert-tag>
|
||||||
|
<!--<el-tag @click="showTagDetail(scope.row, key)"
|
||||||
:key="key"
|
:key="key"
|
||||||
:class="{'link': key == 'asset' || key == 'endpoint' || key == 'project' || key == 'module' || key == 'datacenter'}"
|
:class="{'link': key == 'asset' || key == 'endpoint' || key == 'project' || key == 'module' || key == 'datacenter'}"
|
||||||
v-if="key != 'alertname' && key != 'severity'"
|
v-if="key != 'alertname' && key != 'severity'"
|
||||||
:type="tagType(key)"
|
:type="tagType(key)"
|
||||||
size="mini" v-for="(value, key) in scope.row.labels" class="alert-message-tag">{{tagValue(key, value)}}</el-tag>
|
size="mini" v-for="(value, key) in scope.row.labels" class="alert-message-tag">{{tagValue(key, value)}}</el-tag>-->
|
||||||
</template>
|
</template>
|
||||||
<div v-else-if="item.prop == 'state'">
|
<div v-else-if="item.prop == 'state'">
|
||||||
<span class="">
|
<span class="">
|
||||||
@@ -184,9 +189,14 @@
|
|||||||
<script>
|
<script>
|
||||||
import bus from '../../../libs/bus';
|
import bus from '../../../libs/bus';
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
import nzAlertTag from './nzAlertTag'
|
||||||
|
|
||||||
var vm;
|
var vm;
|
||||||
export default {
|
export default {
|
||||||
name: "alertList",
|
name: "alertList",
|
||||||
|
components: {
|
||||||
|
'nz-alert-tag': nzAlertTag
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
vm = this;
|
vm = this;
|
||||||
return {
|
return {
|
||||||
@@ -364,7 +374,7 @@
|
|||||||
tagType() {
|
tagType() {
|
||||||
return (key) => {
|
return (key) => {
|
||||||
if (key == 'asset' || key == 'module' || key == 'project' || key == 'datacenter' || key == 'endpoint') {
|
if (key == 'asset' || key == 'module' || key == 'project' || key == 'datacenter' || key == 'endpoint') {
|
||||||
return "";
|
return "normal";
|
||||||
} else {
|
} else {
|
||||||
return "info";
|
return "info";
|
||||||
}
|
}
|
||||||
@@ -556,7 +566,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
labelsClassName(row) {
|
labelsClassName(row) {
|
||||||
if (row.columnIndex == 2) {
|
if (row.column.label == this.$t("alert.list.labels")) {
|
||||||
return "alert-message-list-labels";
|
return "alert-message-list-labels";
|
||||||
} else {
|
} else {
|
||||||
return "";
|
return "";
|
||||||
|
|||||||
96
nezha-fronted/src/components/page/alert/nzAlertTag.vue
Normal file
96
nezha-fronted/src/components/page/alert/nzAlertTag.vue
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
<template>
|
||||||
|
<span class="nz-alert-tag" :class="['nz-alert-tag_' + type]" :style="{cursor: cursorPoint ? 'pointer' : 'default'}" @click="$emit('click')">
|
||||||
|
<span class="nz-alert-tag__label">{{label}}</span>
|
||||||
|
<span class="nz-alert-tag__content"><slot></slot></span>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "nzAlertTag",
|
||||||
|
props: {
|
||||||
|
label: String, //标题
|
||||||
|
type: {type: String, default: "normal"}, //normal:blue; success:green; info:gray; danger:red; warning:orange;
|
||||||
|
cursorPoint: {type: Boolean, default: true}, //是否鼠标悬停变手指
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.nz-alert-tag {
|
||||||
|
border: 1px solid;
|
||||||
|
height: 20px;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 20px;
|
||||||
|
border-radius: 4px;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nz-alert-tag__label {
|
||||||
|
border-radius: 3px 0 0 3px;
|
||||||
|
padding: 0 4px;
|
||||||
|
min-width: 36px;
|
||||||
|
max-width: 100px;
|
||||||
|
text-align: center;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
word-break: break-all;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nz-alert-tag__content {
|
||||||
|
border-radius: 0 3px 3px 0;
|
||||||
|
padding: 0 4px;
|
||||||
|
min-width: 36px;
|
||||||
|
max-width: 100px;
|
||||||
|
text-align: center;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
word-break: break-all;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nz-alert-tag_normal {
|
||||||
|
border-color: #409eff;
|
||||||
|
.nz-alert-tag__label {
|
||||||
|
border-right: 1px solid #409eff;
|
||||||
|
background-color: #409eff;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nz-alert-tag_success {
|
||||||
|
border-color: #50d050;
|
||||||
|
.nz-alert-tag__label {
|
||||||
|
border-right: 1px solid #50d050;
|
||||||
|
background-color: #50d050;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nz-alert-tag_info {
|
||||||
|
border-color: #909399;
|
||||||
|
.nz-alert-tag__label {
|
||||||
|
border-right: 1px solid #909399;
|
||||||
|
background-color: #909399;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nz-alert-tag_danger {
|
||||||
|
border-color: #d64f40;
|
||||||
|
.nz-alert-tag__label {
|
||||||
|
border-right: 1px solid #d64f40;
|
||||||
|
background-color: #d64f40;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nz-alert-tag_warning {
|
||||||
|
border-color: #e6a23c;
|
||||||
|
.nz-alert-tag__label {
|
||||||
|
border-right: 1px solid #e6a23c;
|
||||||
|
background-color: #e6a23c;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -20,14 +20,12 @@ axios.interceptors.request.use(config => {
|
|||||||
},
|
},
|
||||||
err => Promise.reject(err)
|
err => Promise.reject(err)
|
||||||
);
|
);
|
||||||
|
const accountErrorCode = [518003, 518004, 518005, 518006, 518007, 518008]; //账号锁定等
|
||||||
axios.interceptors.response.use(
|
axios.interceptors.response.use(
|
||||||
response => {
|
response => {
|
||||||
if(response.status === 200){
|
if(response.status === 200){
|
||||||
if(response.data.code == 518008) {
|
if(accountErrorCode.indexOf(response.data.code) != -1) {
|
||||||
window.location.href = "/";
|
window.location.href = "/";
|
||||||
/*router.push({
|
|
||||||
path: "/login"
|
|
||||||
});*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return response
|
return response
|
||||||
|
|||||||
Reference in New Issue
Block a user