feat:dashboard、endpoint 图表添加时区转换,添加assetPingSwitch、系统设置调整
This commit is contained in:
@@ -688,7 +688,8 @@
|
||||
return element.name == item.seriesName;
|
||||
})
|
||||
if(i===0){
|
||||
let t_date = new Date(item.data[0]);
|
||||
let value=bus.computeTimezone(item.data[0]);
|
||||
let t_date = new Date(value);
|
||||
str += [t_date.getFullYear(), t_date.getMonth() + 1, t_date.getDate()].join('-') + " "
|
||||
+ [t_date.getHours(), t_date.getMinutes(),t_date.getSeconds()].join(':');
|
||||
str +=`<br/>`;
|
||||
@@ -813,6 +814,7 @@
|
||||
intervale: 0,
|
||||
rotate: 0,
|
||||
formatter: function (value) {
|
||||
value = bus.computeTimezone(value);
|
||||
var t_date = new Date(value);
|
||||
return [t_date.getFullYear(), t_date.getMonth() + 1, t_date.getDate()].join('-') + "\n"
|
||||
+ [t_date.getHours(), t_date.getMinutes()].join(':');
|
||||
|
||||
@@ -302,7 +302,8 @@
|
||||
return element.name == item.seriesName;
|
||||
})
|
||||
if(i===0){
|
||||
let t_date = new Date(item.data[0]);
|
||||
let value=bus.computeTimezone(item.data[0]);
|
||||
let t_date = new Date(value);
|
||||
str += [t_date.getFullYear(), t_date.getMonth() + 1, t_date.getDate()].join('-') + " "
|
||||
+ [t_date.getHours(), t_date.getMinutes(),t_date.getSeconds()].join(':');
|
||||
str +=`<br/>`;
|
||||
@@ -396,6 +397,7 @@
|
||||
intervale: 0,
|
||||
rotate: 0,
|
||||
formatter: function (value) {
|
||||
value = bus.computeTimezone(value);
|
||||
var t_date = new Date(value);
|
||||
return [t_date.getFullYear(), t_date.getMonth() + 1, t_date.getDate()].join('-') + "\n"
|
||||
+ [t_date.getHours(), t_date.getMinutes()].join(':');
|
||||
@@ -648,7 +650,7 @@
|
||||
this.showEndpoint();
|
||||
},
|
||||
getTime:function(size,unit){//计算时间
|
||||
let now=!this.formatTime? new Date():new Date(this.formatTime);
|
||||
let now=!this.formatTime? new Date(bus.computeTimezone(new Date().getTime())):new Date(this.formatTime);
|
||||
if(unit){
|
||||
switch (unit) {
|
||||
case 'y':
|
||||
|
||||
@@ -109,15 +109,15 @@ export function domain(rule, value, callback){
|
||||
}, 100)
|
||||
}
|
||||
|
||||
export function timezone(rule, value, callback){
|
||||
export function uSize(rule, value, callback){
|
||||
|
||||
setTimeout(() => {
|
||||
if(isNaN(Number(value))){
|
||||
callback(new Error(vm.$t('validate.number')))
|
||||
}else{
|
||||
let timezone=Math.abs(Number(value));
|
||||
if(timezone>12){
|
||||
callback(new Error(vm.$t('validate.timezone')))
|
||||
let num=Number(value);
|
||||
if(num<0 || num > 49 ){
|
||||
callback(new Error(vm.$t('validate.usize')))
|
||||
}else{
|
||||
callback();
|
||||
}
|
||||
|
||||
@@ -267,7 +267,7 @@ const en = {
|
||||
tel:'Invalid phone number',//'不合法的电话号码'
|
||||
host:'Invalid IP',//'不合法的IP'
|
||||
domain:'Invalid domain',
|
||||
timezone:'Must be number(-12 - 12)',
|
||||
usize:'Must be number(1 - 49)',
|
||||
fileSize:'文件过大',//File exceed max size.
|
||||
port:'Invalid Port',
|
||||
url:'Invalid URL',
|
||||
@@ -603,7 +603,8 @@ const en = {
|
||||
storageRetention:'Local Retention',
|
||||
systemName:'System Name',
|
||||
curUrl:'Current site URL',
|
||||
timezone:'Timezone'
|
||||
timezone:'Timezone',
|
||||
defaultCabinetUsize:'Cabinet U Size'
|
||||
},
|
||||
email:{
|
||||
email:'Email',
|
||||
|
||||
@@ -57,7 +57,8 @@ export default {
|
||||
localStorage.setItem('nz-sys-name',res.data.systemName);
|
||||
localStorage.setItem('nz-sys-timezone',res.data.timezone);
|
||||
localStorage.setItem('nz-sys-default-cabinet-usize',res.data.defaultCabinetUsize);
|
||||
localStorage.setItem('nz-sys-man-terminal-num',res.data.maxTerminalNum);
|
||||
localStorage.setItem('nz-sys-max-terminal-num',res.data.maxTerminalNum);
|
||||
localStorage.setItem('nz-sys-asset-ping-switch',res.data.assetPingSwith);
|
||||
this.$i18n.locale = this.lang;
|
||||
bus.$emit('login');
|
||||
this.$router.push({
|
||||
|
||||
@@ -475,6 +475,7 @@
|
||||
checkAllFlag: false,
|
||||
checkAllHandler: false,
|
||||
assetClick: false,
|
||||
assetPingSwitch:localStorage.getItem('nz-sys-asset-ping-switch'),
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -990,12 +991,26 @@
|
||||
}
|
||||
//resize时刷新左侧列表滚动条
|
||||
let _this = this;
|
||||
window.onresize = function() {
|
||||
window.onresize = function () {
|
||||
_this.$refs.leftScrollbar.update();
|
||||
}
|
||||
});
|
||||
let localStorageTitle=localStorage.getItem("nz-tableTitle-" + localStorage.getItem("nz-username") + "-" + this.$route.path);
|
||||
let localStorageTitle = localStorage.getItem("nz-tableTitle-" + localStorage.getItem("nz-username") + "-" + this.$route.path);
|
||||
this.tablelable = localStorageTitle ? JSON.parse(localStorageTitle) : this.tableTitle;
|
||||
// this.assetPingSwit
|
||||
if (this.assetPingSwitch == 'off') {
|
||||
console.log(this.assetPingSwitch)
|
||||
console.log(this.tablelable)
|
||||
for (let i in this.tablelable) {
|
||||
let label = this.tablelable[i];
|
||||
|
||||
if (label.prop == 'pingStatus') {
|
||||
this.tablelable.splice(i, 1);
|
||||
console.log(this.tablelable)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.dropCol = localStorageTitle ? JSON.parse(localStorageTitle) : this.tableTitle;
|
||||
},
|
||||
destroyed() {
|
||||
|
||||
@@ -45,6 +45,9 @@
|
||||
<el-form-item :label="$t('config.system.basic.assetPingInterval')" prop="asset_ping_interval">
|
||||
<el-input v-model.number="basic.asset_ping_interval" :disabled="basic.asset_ping_switch == 'off'"></el-input><span class="nz-input-append">s</span>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('config.system.basic.defaultCabinetUsize')" prop="default_cabinet_usize">
|
||||
<el-input v-model.number="basic.default_cabinet_usize" ></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('config.system.basic.exporterTarget')" prop="node_exporter_target_path">
|
||||
<el-input v-model="basic.node_exporter_target_path"></el-input>
|
||||
</el-form-item>
|
||||
@@ -160,7 +163,7 @@
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :label="$t('config.system.reset.reset')" name="reset">
|
||||
<div class="system-config-form">
|
||||
<el-form :model="reset" label-width="180px" size="small" ref="resetForm" :rules="resetRules" :validate-on-rule-change="false">
|
||||
<el-form :model="reset" label-width="180px" size="small" ref="resetForm" :rules="resetRules" :validate-on-rule-change="false" class="reset-form">
|
||||
<el-form-item prop="type">
|
||||
<!-- <el-checkbox-group v-model="reset.type">-->
|
||||
<!-- <div v-for="(item,index) in resetOptions" :key="item.value+index">-->
|
||||
@@ -170,7 +173,7 @@
|
||||
<div class="el-checkbox-group">
|
||||
<div v-for="(item,index) in resetOptions" :key="item.value+index" >
|
||||
<label class="el-checkbox sys-reset-label" :for="item.value" >
|
||||
<span class="el-checkbox__label" style="width: 100px;;">{{item.label}}</span>
|
||||
<span class="el-checkbox__label" style="width: 100px;text-align: right;">{{item.label}}</span>
|
||||
<span class="el-checkbox__input">
|
||||
<input type="checkbox" name="resetType" :value="item.value" class="el-checkbox__original" aria-hidden="true" :id="item.value" @change="resetCheckBoxChange"/>
|
||||
<span class="el-checkbox__inner"></span>
|
||||
@@ -195,8 +198,7 @@
|
||||
import {port} from '../../common/js/validate'
|
||||
import {domain} from '../../common/js/validate'
|
||||
import {host} from '../../common/js/validate'
|
||||
import {timezone} from '../../common/js/validate'
|
||||
import {integer} from '../../common/js/validate'
|
||||
import {uSize} from '../../common/js/validate'
|
||||
import bus from '../../../libs/bus';
|
||||
|
||||
export default {
|
||||
@@ -213,6 +215,7 @@
|
||||
system_name:'',
|
||||
current_site_url:'',
|
||||
timezone:'',
|
||||
default_cabinet_usize:'',
|
||||
},
|
||||
basicRules:{
|
||||
system_name:[{required:true,message:this.$t('validate.required'),trigger:'blur'},],
|
||||
@@ -222,6 +225,7 @@
|
||||
scrape_interval:[{required:true,message:this.$t('validate.required'),trigger:'blur'},{validator:positiveInteger,trigger:'blur'}],
|
||||
storage_local_retention:[{required:true,message:this.$t('validate.required'),trigger:'blur'},{validator:positiveInteger,trigger:'blur'}],
|
||||
timezone:[{required:true,message:this.$t('validate.required'),trigger:'blur'}],
|
||||
default_cabinet_usize:[{validator:positiveInteger,trigger:'blur'},{validator:uSize,trigger:'blur'}],
|
||||
},
|
||||
basicRules2:{
|
||||
system_name:[{required:true,message:this.$t('validate.required'),trigger:'blur'},],
|
||||
@@ -230,6 +234,7 @@
|
||||
scrape_interval:[{required:true,message:this.$t('validate.required'),trigger:'blur'},{validator:positiveInteger,trigger:'blur'}],
|
||||
storage_local_retention:[{required:true,message:this.$t('validate.required'),trigger:'blur'},{validator:positiveInteger,trigger:'blur'}],
|
||||
timezone:[{required:true,message:this.$t('validate.required'),trigger:'blur'}],
|
||||
default_cabinet_usize:[{validator:positiveInteger,trigger:'blur'},{validator:uSize,trigger:'blur'}],
|
||||
},
|
||||
timezoneOption:[
|
||||
{label:'UTC-12:00',value:'-12'},
|
||||
@@ -370,6 +375,14 @@
|
||||
this.resetForm(formName);
|
||||
setTimeout(()=>{
|
||||
this.querySetInfo(type);
|
||||
if(type == 'basic'){
|
||||
localStorage.setItem('nz-sys-name',this.basic.system_name);
|
||||
localStorage.setItem('nz-sys-timezone',this.basic.timezone);
|
||||
localStorage.setItem('nz-sys-asset-ping-switch',this.basic.asset_ping_switch);
|
||||
localStorage.setItem('nz-sys-default-cabinet-usize',this.basic.default_cabinet_usize);
|
||||
}else if(type == 'terminal'){
|
||||
localStorage.setItem('nz-sys-max-terminal-num',this.terminal.max_terminal_num);
|
||||
}
|
||||
},200)
|
||||
}else{
|
||||
this.$message.error(response.msg);
|
||||
@@ -492,7 +505,9 @@
|
||||
webkit-box-shadow: unset !important;
|
||||
box-shadow: unset !important;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
border-bottom: unset;
|
||||
border-left: unset;
|
||||
}
|
||||
.sys-reset-label .el-checkbox__original:checked + span{
|
||||
background-color: orange;
|
||||
@@ -501,4 +516,7 @@
|
||||
-webkit-transform: rotate(45deg) scaleY(1);
|
||||
transform: rotate(45deg) scaleY(1);
|
||||
}
|
||||
.reset-form .el-checkbox-group{
|
||||
margin-left: -28px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<script>
|
||||
import chartDataFormat from "../../../charts/chartDataFormat";
|
||||
import bus from '../../../../libs/bus';
|
||||
const commonOption={
|
||||
title:{
|
||||
show:false,
|
||||
@@ -40,6 +41,7 @@
|
||||
intervale: 0,
|
||||
rotate: 0,
|
||||
formatter: function (value) {
|
||||
value=bus.computeTimezone(value)
|
||||
var t_date = new Date(value);
|
||||
return [t_date.getFullYear(), t_date.getMonth() + 1, t_date.getDate()].join('-') + "\n"
|
||||
+ [t_date.getHours(), t_date.getMinutes()].join(':');
|
||||
|
||||
@@ -748,7 +748,7 @@
|
||||
smooth:true, //曲线变平滑
|
||||
data: [],
|
||||
type:'line',
|
||||
areaStyle:{}
|
||||
// areaStyle:{}
|
||||
}
|
||||
series.data=response.data.result[0].values.map((item)=>{
|
||||
return [item[0]*1000,item[1]];
|
||||
@@ -957,7 +957,8 @@
|
||||
let str = `<div>`;
|
||||
params.forEach((item, i) => {
|
||||
if(i===0){
|
||||
let t_date = new Date(item.data[0]);
|
||||
let value=bus.computeTimezone(item.data[0])
|
||||
let t_date = new Date(value);
|
||||
str += [t_date.getFullYear(), t_date.getMonth() + 1, t_date.getDate()].join('-') + " "
|
||||
+ [t_date.getHours(), t_date.getMinutes(),t_date.getSeconds()].join(':');
|
||||
str +=`<br/>`;
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
}
|
||||
}]
|
||||
},
|
||||
searchTime: [new Date().setHours(new Date().getHours() - 1), new Date()],
|
||||
searchTime: [new Date(bus.computeTimezone(new Date().getTime())).setHours(new Date(bus.computeTimezone(new Date().getTime())).getHours() - 1), new Date(bus.computeTimezone(new Date().getTime()))],
|
||||
intervalTimer: null,
|
||||
intervalList: [{
|
||||
value: 0,
|
||||
|
||||
@@ -152,6 +152,7 @@
|
||||
import exportXLSX from "../../common/exportXLSX";
|
||||
import loading from "../../common/loading";
|
||||
import chartDataFormat from "../../charts/chartDataFormat";
|
||||
import bus from '../../../libs/bus'
|
||||
|
||||
var vm;
|
||||
export default {
|
||||
@@ -390,7 +391,8 @@
|
||||
return element.name == item.seriesName;
|
||||
})
|
||||
if(i===0){
|
||||
let t_date = new Date(item.data[0]);
|
||||
let value=bus.computeTimezone(item.data[0]);
|
||||
let t_date = new Date(value);
|
||||
str += [t_date.getFullYear(), t_date.getMonth() + 1, t_date.getDate()].join('-') + " "
|
||||
+ [t_date.getHours(), t_date.getMinutes(),t_date.getSeconds()].join(':');
|
||||
str +=`<br/>`;
|
||||
@@ -484,6 +486,7 @@
|
||||
intervale: 0,
|
||||
rotate: 0,
|
||||
formatter: function (value) {
|
||||
value = bus.computeTimezone(value);
|
||||
var t_date = new Date(value);
|
||||
return [t_date.getFullYear(), t_date.getMonth() + 1, t_date.getDate()].join('-') + "\n"
|
||||
+ [t_date.getHours(), t_date.getMinutes()].join(':');
|
||||
|
||||
@@ -210,6 +210,18 @@ export default new Vue({
|
||||
}
|
||||
return num.toFixed(2);
|
||||
},
|
||||
computeTimezone:function(sourceTime){
|
||||
let offset=localStorage.getItem('nz-sys-timezone');
|
||||
if(offset&& offset != 'undefined' && offset != null){
|
||||
offset=Number.parseInt(offset);
|
||||
let date=new Date(sourceTime);
|
||||
let localOffset=date.getTimezoneOffset()*60*1000; //默认 一分钟显示时区偏移的结果
|
||||
let utcTime=sourceTime + localOffset;
|
||||
return utcTime+(offset * 60*60*1000);
|
||||
}else{
|
||||
return sourceTime;
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDefaultDate();
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user