Merge branch 'codeCheck' of https://git.mesalab.cn/nezha/nezha-fronted into codeCheck
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
* type:自定义参数,用于区分是y轴调用还是tooltip调用,以设置不同精度 type =1 y轴调用 type=2 tooltip调用
|
* type:自定义参数,用于区分是y轴调用还是tooltip调用,以设置不同精度 type =1 y轴调用 type=2 tooltip调用
|
||||||
* */
|
* */
|
||||||
import {parse} from "echarts/extension-src/dataTool/gexf";
|
import {parse} from "echarts/extension-src/dataTool/gexf";
|
||||||
|
import bus from "../../libs/bus"
|
||||||
|
|
||||||
function none(value, index){
|
function none(value, index){
|
||||||
return value;
|
return value;
|
||||||
@@ -412,6 +413,12 @@ function timeCompute(value,unit,dot=0){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function timeFormat34(value) {
|
||||||
|
return bus.timeFormate(value, "yyyy-MM-dd hh:mm:ss");
|
||||||
|
}
|
||||||
|
function timeFormat35(value) {
|
||||||
|
return bus.timeFormate(value, "MM/dd/yyyy h:mm:ss a");
|
||||||
|
}
|
||||||
//unit转化配置信息
|
//unit转化配置信息
|
||||||
/*
|
/*
|
||||||
* value:传递给数据库的值
|
* value:传递给数据库的值
|
||||||
@@ -615,7 +622,23 @@ let unitOptions=[
|
|||||||
ascii:7,
|
ascii:7,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}//Time end
|
},//Time end
|
||||||
|
{
|
||||||
|
value:'Date&Time',
|
||||||
|
label: 'Date & Time',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
value:34,
|
||||||
|
compute: timeFormat34,
|
||||||
|
label:'YYYY-MM-DD HH:mm:ss',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value:35,
|
||||||
|
compute: timeFormat35,
|
||||||
|
label:'MM/DD/YYYY h:mm:ss a',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
let units=[];
|
let units=[];
|
||||||
window.onload=function(){
|
window.onload=function(){
|
||||||
|
|||||||
@@ -567,7 +567,31 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
promQueryParamConvert(obj){
|
promQueryParamConvert(obj){
|
||||||
let result="(" + obj.alertRule.expr + ")";
|
let r = "(" + obj.alertRule.expr + ")";
|
||||||
|
if (Object.keys(obj.labels).length > 0) {
|
||||||
|
r += " and " + function(){
|
||||||
|
let group = "(group({";
|
||||||
|
let by = " by (";
|
||||||
|
|
||||||
|
for (let k in obj.labels) {
|
||||||
|
if (k != 'alertname' && k != 'severity') {
|
||||||
|
group += k;
|
||||||
|
group += "=";
|
||||||
|
group += ("'" + obj.labels[k] + "',");
|
||||||
|
by += k;
|
||||||
|
by += ","
|
||||||
|
}
|
||||||
|
}
|
||||||
|
group = group.substring(0, group.length-1);
|
||||||
|
group += "})";
|
||||||
|
by = by.substring(0, by.length-1);
|
||||||
|
by += ")";
|
||||||
|
|
||||||
|
return group + by + ")";
|
||||||
|
}();
|
||||||
|
}
|
||||||
|
return r;
|
||||||
|
/*let result="(" + obj.alertRule.expr + ")";
|
||||||
if(obj.labels){
|
if(obj.labels){
|
||||||
if(obj.labels.alertname){
|
if(obj.labels.alertname){
|
||||||
delete obj.labels.alertname;
|
delete obj.labels.alertname;
|
||||||
@@ -591,7 +615,7 @@
|
|||||||
return q;
|
return q;
|
||||||
}() + ")";
|
}() + ")";
|
||||||
}
|
}
|
||||||
return result;
|
return result;*/
|
||||||
},
|
},
|
||||||
//asset弹框控制
|
//asset弹框控制
|
||||||
tabControl(data) {
|
tabControl(data) {
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
</el-submenu>
|
</el-submenu>
|
||||||
<el-submenu index="5" popper-class="nz-submenu">
|
<el-submenu index="5" popper-class="nz-submenu">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<div @click="jumpTo('/account')" :class ="route == '/account' || route == '/promServer' || route == '/dc' || route == '/model' || route == '/mib' || route == '/system' || route == '/terminallog' || route == '/operationlog' ? 'menu-active' : ''">{{$t('overall.config')}}</div>
|
<div @click="jumpTo('/account')" :class ="route == '/account' || route == '/promServer' || route == '/dc' || route == '/model' || route == '/mib' || route == '/system' || route == '/terminallog' || route == '/operationlog' || route == '/about' ? 'menu-active' : ''">{{$t('overall.config')}}</div>
|
||||||
</template>
|
</template>
|
||||||
<el-menu-item index="5-0">
|
<el-menu-item index="5-0">
|
||||||
<div @click="jumpTo('/account')" :class="{'menu-item-active' :(route == '/account' )}">{{$t('config.account.account')}}</div>
|
<div @click="jumpTo('/account')" :class="{'menu-item-active' :(route == '/account' )}">{{$t('config.account.account')}}</div>
|
||||||
@@ -134,6 +134,9 @@
|
|||||||
<el-menu-item index="5-7">
|
<el-menu-item index="5-7">
|
||||||
<div @click="jumpTo('/operationlog')" :class="{'menu-item-active' :(route == '/operationlog' )}">{{$t('config.operationlog.operationlog')}}</div>
|
<div @click="jumpTo('/operationlog')" :class="{'menu-item-active' :(route == '/operationlog' )}">{{$t('config.operationlog.operationlog')}}</div>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
|
<el-menu-item index="5-8">
|
||||||
|
<div @click="jumpTo('/about')" :class="{'menu-item-active' :(route == '/about' )}">{{$t('overall.about')}}</div>
|
||||||
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
<el-submenu index="6" popper-class="nz-submenu">
|
<el-submenu index="6" popper-class="nz-submenu">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export const staticMenus = {
|
|||||||
{route: '/system', name: i18n.t('config.system.system')},
|
{route: '/system', name: i18n.t('config.system.system')},
|
||||||
{route: '/terminallog', name: i18n.t('config.terminallog.terminallog')},
|
{route: '/terminallog', name: i18n.t('config.terminallog.terminallog')},
|
||||||
{route: '/operationlog', name: i18n.t('config.operationlog.operationlog')},
|
{route: '/operationlog', name: i18n.t('config.operationlog.operationlog')},
|
||||||
|
{route: '/about', name: i18n.t('overall.about')},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
alerts: {
|
alerts: {
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ const cn = {
|
|||||||
esc: "取消",
|
esc: "取消",
|
||||||
cancel: "取消",
|
cancel: "取消",
|
||||||
save: "保存",
|
save: "保存",
|
||||||
preivew: "预览",
|
preview: "预览",
|
||||||
download: "下载",
|
download: "下载",
|
||||||
upload: "上传",
|
upload: "上传",
|
||||||
search: "搜索",
|
search: "搜索",
|
||||||
@@ -26,6 +26,8 @@ const cn = {
|
|||||||
clearAll: "清空",
|
clearAll: "清空",
|
||||||
clear: "清除",
|
clear: "清除",
|
||||||
name: "名称",
|
name: "名称",
|
||||||
|
version: "版本",
|
||||||
|
components: "组件",
|
||||||
cover: "覆盖",
|
cover: "覆盖",
|
||||||
signOut: "登出",
|
signOut: "登出",
|
||||||
select: "选择",
|
select: "选择",
|
||||||
@@ -34,6 +36,7 @@ const cn = {
|
|||||||
all: "全选",
|
all: "全选",
|
||||||
value: "值",
|
value: "值",
|
||||||
other: "其他",
|
other: "其他",
|
||||||
|
about: '关于',
|
||||||
query: "查询",
|
query: "查询",
|
||||||
back: "返回",
|
back: "返回",
|
||||||
unavailable: "不可用",
|
unavailable: "不可用",
|
||||||
@@ -48,7 +51,6 @@ const cn = {
|
|||||||
createDatacenter: "新增数据中心",
|
createDatacenter: "新增数据中心",
|
||||||
active: "活跃",
|
active: "活跃",
|
||||||
type: "类别",
|
type: "类别",
|
||||||
preview: "预览",
|
|
||||||
detail: "详细信息",
|
detail: "详细信息",
|
||||||
changePwd: "修改密码",
|
changePwd: "修改密码",
|
||||||
createCabinet: "创建机柜",
|
createCabinet: "创建机柜",
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ const en = {
|
|||||||
remark: "Description",
|
remark: "Description",
|
||||||
clear: 'Clear', //"清除"
|
clear: 'Clear', //"清除"
|
||||||
name: 'Name', //'名称'
|
name: 'Name', //'名称'
|
||||||
|
version: "Version", //版本
|
||||||
|
components: "Components", //组件
|
||||||
cover: 'Override', //'覆盖'
|
cover: 'Override', //'覆盖'
|
||||||
signOut: 'Logout',//'登出'
|
signOut: 'Logout',//'登出'
|
||||||
select: 'Select',//'选择'
|
select: 'Select',//'选择'
|
||||||
@@ -39,6 +41,7 @@ const en = {
|
|||||||
all: 'All',//'全选'
|
all: 'All',//'全选'
|
||||||
value: 'Value',
|
value: 'Value',
|
||||||
other: 'Others',//"其他"
|
other: 'Others',//"其他"
|
||||||
|
about: 'About',//关于
|
||||||
detail: 'Detail', //详情
|
detail: 'Detail', //详情
|
||||||
query: 'Query', //查询
|
query: 'Query', //查询
|
||||||
back: 'Back', //返回
|
back: 'Back', //返回
|
||||||
|
|||||||
106
nezha-fronted/src/components/page/config/about.vue
Normal file
106
nezha-fronted/src/components/page/config/about.vue
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
<template>
|
||||||
|
<div class="about">
|
||||||
|
<div class="app-header">
|
||||||
|
<div class="header-logo"><img width="70" height="70" src="../../../assets/img/logo1-2.png"></div>
|
||||||
|
<div class="header-title">
|
||||||
|
<div class="app-name">{{version.nezha.name}}</div>
|
||||||
|
<div class="app-version"><span class="about-label">{{$t("overall.version")}} </span><span>{{version.nezha.version}}</span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="app-component">
|
||||||
|
<div class="component-title">{{$t("overall.components")}}</div>
|
||||||
|
<div class="component-content">
|
||||||
|
<div class="app-component-row" v-for="(item, index) in version.components" :key="index">
|
||||||
|
<div class="component-name">{{item.name}}</div>
|
||||||
|
<div class="component-version">{{item.version}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "about",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
version: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getVersion() {
|
||||||
|
this.$get("/about").then(response => {
|
||||||
|
this.version = response.data;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getVersion();
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.about {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
.about-label {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-header {
|
||||||
|
display: flex;
|
||||||
|
width: 325px;
|
||||||
|
|
||||||
|
.header-logo {
|
||||||
|
font-size: 0;
|
||||||
|
background-color: rgba(0, 0, 0, 0.9);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-title {
|
||||||
|
padding-left: 20px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.app-name {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-version {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-component {
|
||||||
|
width: 325px;
|
||||||
|
margin-top: 35px;
|
||||||
|
|
||||||
|
.component-title {
|
||||||
|
color: #999;
|
||||||
|
height: 30px;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 30px;
|
||||||
|
border-bottom: 1px solid #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.component-content {
|
||||||
|
padding-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-component-row {
|
||||||
|
line-height: 28px;
|
||||||
|
display: flex;
|
||||||
|
color: #333;
|
||||||
|
font-size: 14px;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -100,10 +100,11 @@ export default new Vue({
|
|||||||
const o = {
|
const o = {
|
||||||
'M+': time.getMonth() + 1, // 月份
|
'M+': time.getMonth() + 1, // 月份
|
||||||
'd+': time.getDate(), // 日
|
'd+': time.getDate(), // 日
|
||||||
'h+': time.getHours(), // 小时
|
'hh': time.getHours(), // 小时
|
||||||
'm+': time.getMinutes(), // 分
|
'm+': time.getMinutes(), // 分
|
||||||
's+': time.getSeconds(), // 秒
|
's+': time.getSeconds(), // 秒
|
||||||
'q+': Math.floor((time.getMonth() + 3) / 3), // 季度
|
'q+': Math.floor((time.getMonth() + 3) / 3), // 季度
|
||||||
|
'a': time.getHours() > 12 ? "pm" : "am",
|
||||||
S: time.getMilliseconds(), // 毫秒
|
S: time.getMilliseconds(), // 毫秒
|
||||||
w: week,
|
w: week,
|
||||||
};
|
};
|
||||||
@@ -116,6 +117,7 @@ export default new Vue({
|
|||||||
(o[k]) : ((`00${o[k]}`).substr((`${o[k]}`).length)));
|
(o[k]) : ((`00${o[k]}`).substr((`${o[k]}`).length)));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
fm = fm.replace("h", time.getHours() > 12 ? time.getHours()-12 : time.getHours());
|
||||||
return fm;
|
return fm;
|
||||||
},
|
},
|
||||||
// 格式化tag为字符串表达式
|
// 格式化tag为字符串表达式
|
||||||
|
|||||||
@@ -84,6 +84,10 @@ export default new Router({
|
|||||||
path: '/operationlog',
|
path: '/operationlog',
|
||||||
component: resolve => require(['../components/page/config/operationlog.vue'], resolve),
|
component: resolve => require(['../components/page/config/operationlog.vue'], resolve),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/about',
|
||||||
|
component: resolve => require(['../components/page/config/about.vue'], resolve),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/mib',
|
path: '/mib',
|
||||||
component: resolve => require(['../components/page/config/mib.vue'], resolve),
|
component: resolve => require(['../components/page/config/mib.vue'], resolve),
|
||||||
|
|||||||
Reference in New Issue
Block a user