diff --git a/nezha-fronted/.babelrc b/nezha-fronted/.babelrc
index 3a280ba34..01be98850 100644
--- a/nezha-fronted/.babelrc
+++ b/nezha-fronted/.babelrc
@@ -8,5 +8,32 @@
}],
"stage-2"
],
- "plugins": ["transform-vue-jsx", "transform-runtime"]
+ "plugins": ["transform-vue-jsx", "transform-runtime"],
+ "env": {
+ "utils": {
+ "presets": [
+ [
+ "env",
+ {
+ "loose": true,
+ "modules": "commonjs",
+ "targets": {
+ "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
+ }
+ }
+ ],
+ ],
+ "plugins": [
+ ["module-resolver", {
+ "root": ["element-ui"],
+ "alias": {
+ "element-ui/src": "element-ui/lib"
+ }
+ }]
+ ]
+ },
+ "test": {
+ "plugins": ["istanbul"]
+ }
+ }
}
diff --git a/nezha-fronted/build/webpack.base.conf.js b/nezha-fronted/build/webpack.base.conf.js
index a07e68360..88adc5d03 100644
--- a/nezha-fronted/build/webpack.base.conf.js
+++ b/nezha-fronted/build/webpack.base.conf.js
@@ -8,8 +8,6 @@ function resolve (dir) {
return path.join(__dirname, '..', dir)
}
-
-
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
@@ -25,8 +23,8 @@ module.exports = {
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
- 'vue$': 'vue/dist/vue.esm.js',
- '@': resolve('src'),
+ vue$: 'vue/dist/vue.esm.js',
+ '@': resolve('src')
}
},
module: {
@@ -37,9 +35,22 @@ module.exports = {
options: vueLoaderConfig
},
{
- test: /\.js$/,
+ test: /\.(js)$/,
loader: 'babel-loader',
- include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
+ include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client'), resolve('node_modules/element-ui/packages/scrollbar')],
+ exclude: '/node_modules/',
+ options: {
+ presets: [
+ ['env', {
+ modules: false,
+ targets: {
+ browsers: ['> 1%', 'last 2 versions', 'not ie <= 8']
+ }
+ }],
+ 'stage-2'
+ ],
+ plugins: ['transform-vue-jsx', 'transform-runtime']
+ }
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
diff --git a/nezha-fronted/package.json b/nezha-fronted/package.json
index 562ee896a..9073baa7a 100644
--- a/nezha-fronted/package.json
+++ b/nezha-fronted/package.json
@@ -48,7 +48,7 @@
},
"devDependencies": {
"autoprefixer": "^7.1.2",
- "babel-core": "^6.22.1",
+ "babel-core": "^6.26.0",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-jsx": "^6.18.0",
diff --git a/nezha-fronted/src/assets/css/common.scss b/nezha-fronted/src/assets/css/common.scss
index 52ad24118..12707512b 100644
--- a/nezha-fronted/src/assets/css/common.scss
+++ b/nezha-fronted/src/assets/css/common.scss
@@ -85,3 +85,35 @@
.orange-bg {
background-color: var(--theme-color) !important;
}
+.timezone-area{
+ display: inline-block;
+ vertical-align: middle;
+ width: auto;
+ font-size: 14px;
+ float: left;
+ margin-left: 10px;
+ font-family: PingFangSC-Regular;
+ color: #333333;
+ line-height: 20px;
+ font-weight: 400;
+ margin-top: 3px;
+}
+.timezone-offset{
+ display: inline-block;
+ vertical-align: middle;
+ width: auto;
+ font-size: 14px;
+ margin-right: 10px;
+ font-family: PingFangSC-Regular;
+ color: #333333;
+ line-height: 20px;
+ font-weight: 400;
+}
+.active-icon{
+ margin-top:0px;
+ width:10px;
+ height:10px;
+ border-radius:50%;
+ display: inline-block;
+ margin-right: 5px;
+}
diff --git a/nezha-fronted/src/assets/css/common/tableCommon.scss b/nezha-fronted/src/assets/css/common/tableCommon.scss
index bdbd25c5e..9d9d4f978 100644
--- a/nezha-fronted/src/assets/css/common/tableCommon.scss
+++ b/nezha-fronted/src/assets/css/common/tableCommon.scss
@@ -96,6 +96,8 @@
}
.top-tool-btn--dropdown {
position: relative;
+ width: auto;
+ min-width: 36px;
}
}
.top-tools--sub {
diff --git a/nezha-fronted/src/assets/css/theme.scss b/nezha-fronted/src/assets/css/theme.scss
index a7648e7c1..2f855868c 100644
--- a/nezha-fronted/src/assets/css/theme.scss
+++ b/nezha-fronted/src/assets/css/theme.scss
@@ -43,7 +43,11 @@ $--warning-color: var(--theme-color); //全局警告橙色
$--suspended-color: #9e9c98; //全局停用色灰色
:export {
- themeColor: $--theme-color
+ themeColor: $--theme-color;
+ dangerColor: $--danger-color;
+ successColor: $--success-color;
+ warningColor: var(--theme-color);
+ suspendedColor: $--suspended-color;
}
/* element-ui变量覆盖 */
/*$--color-primary: red; // 覆盖element-ui的主题色
diff --git a/nezha-fronted/src/assets/stylus/main.scss b/nezha-fronted/src/assets/stylus/main.scss
index 3ab0311c3..336820f7f 100644
--- a/nezha-fronted/src/assets/stylus/main.scss
+++ b/nezha-fronted/src/assets/stylus/main.scss
@@ -1690,7 +1690,7 @@ li{
}
/*列表中状态字段 的小圆点*/
.active-icon{
- margin-top:15px;
+ margin-top:0px;
width:8px;
height:8px;
border-radius:50%;
diff --git a/nezha-fronted/src/components/charts/chartPreview.vue b/nezha-fronted/src/components/charts/chartPreview.vue
index f656ecdca..16367c439 100644
--- a/nezha-fronted/src/components/charts/chartPreview.vue
+++ b/nezha-fronted/src/components/charts/chartPreview.vue
@@ -60,7 +60,7 @@
+ -->
diff --git a/nezha-fronted/src/components/cli/webSSH.vue b/nezha-fronted/src/components/cli/webSSH.vue
index fed8532d4..97a0b2d13 100644
--- a/nezha-fronted/src/components/cli/webSSH.vue
+++ b/nezha-fronted/src/components/cli/webSSH.vue
@@ -360,7 +360,7 @@ export default {
},
customConnect: {
host: '',
- port: '',
+ port: 22,
authType: 1,
authUsername: '',
authPin: '',
@@ -377,19 +377,19 @@ export default {
{
title: 'Type',
data: (row) => {
- return row.type.name
+ return row.type ? row.type.name : ''
}
},
{
title: 'Model',
data: (row) => {
- return row.model.name
+ return row.model ? row.model.name : ''
}
},
{
title: 'Datacenter',
data: (row) => {
- return row.dc.name
+ return row.dc ? row.dc.name : ''
}
}
],
@@ -878,9 +878,10 @@ export default {
if (this.customConnect.authProtocol === 1) {
this.customConnect.authUserTip = ''
this.customConnect.authPinTip = ''
+ this.customConnect.port = 22
} else {
this.customConnect.authPriKey = ''
- this.customConnect.authPriKey = 1
+ this.customConnect.port = 23
}
},
authTypeChange () {
diff --git a/nezha-fronted/src/components/common/alert/alertLabel2.vue b/nezha-fronted/src/components/common/alert/alertLabel2.vue
index 654bfe8da..711687920 100644
--- a/nezha-fronted/src/components/common/alert/alertLabel2.vue
+++ b/nezha-fronted/src/components/common/alert/alertLabel2.vue
@@ -3,125 +3,117 @@
ID
-
{{alertLabelData?alertLabelData.id:'--'}}
+
{{alertLabelData && alertLabelData.id ? alertLabelData.id : '--'}}
SN
-
{{alertLabelData?alertLabelData.sn:'--'}}
+
{{alertLabelData && alertLabelData.sn ? alertLabelData.sn:'--'}}
-
Host
-
{{alertLabelData?alertLabelData.host:'--'}}
+
IP
+
{{alertLabelData && alertLabelData.manageIp ? alertLabelData.manageIp : '--'}}
State
-
{{alertLabelData?(alertStateStr(alertLabelData.state)):'--'}}
+
{{alertLabelData && alertLabelData.state && alertLabelData.state.name ? alertLabelData.state.name : '--'}}
Ping
-
-
{{alertLabelData.pingRtt?alertLabelData.pingRtt+'ms':'--'}}
+
+
{{alertLabelData && alertLabelData.pingInfo && alertLabelData.pingInfo.rtt ? alertLabelData.pingInfo.rtt + 'ms':'--'}}
Asset Type
-
{{alertLabelData?alertLabelData.assetType:'--'}}
+
{{alertLabelData && alertLabelData.type && alertLabelData.type.name ? alertLabelData.type.name:'--'}}
-
Vendor
-
{{alertLabelData?alertLabelData.vendor:'--'}}
+
Brand
+
{{alertLabelData && alertLabelData.brand && alertLabelData.brand.name ? alertLabelData.brand.name : '--'}}
Model
-
{{alertLabelData?alertLabelData.model:'--'}}
+
{{alertLabelData && alertLabelData.model && alertLabelData.model.name ? alertLabelData.model.name : '--'}}
PingLastReply
-
{{(alertLabelData&&alertLabelData.pingLastReply)?alertLabelData.pingLastReply:'--'}}
+
{{alertLabelData && alertLabelData.pingInfo && alertLabelData.pingInfo.lastUpdate ? alertLabelData.pingInfo.lastUpdate : '--'}}
Alert
- {{alertLabelData.alert + alertActiveStr()}}
+ {{alertLabelData && alertLabelData.alertNum ? alertLabelData.alertNum : 0 + ' ' + alertActiveStr()}}
DC
-
{{alertLabelData?alertLabelData.dataCenter:'--'}}
-
-
-
Endpoint
-
{{alertLabelData?alertLabelData.endpoint:'--'}}
-
-
-
Administrator
-
{{alertLabelData?alertLabelData.principal:'--'}}
+
{{alertLabelData && alertLabelData.dc && alertLabelData.dc.name ? alertLabelData.dc.name : '--'}}
ID
-
{{alertLabelData?alertLabelData.id:'--'}}
+
{{alertLabelData && alertLabelData.id ? alertLabelData.id : '--'}}
Name
-
{{alertLabelData?alertLabelData.name:'--'}}
+
{{alertLabelData && alertLabelData.name ? alertLabelData.name : '--'}}
Project
-
{{alertLabelData?alertLabelData.project.name:'--'}}
+
{{alertLabelData && alertLabelData.project && alertLabelData.project.name ?alertLabelData.project.name : '--'}}
Description
-
{{alertLabelData?(alertLabelData.remark?alertLabelData.remark:'-'):'--'}}
+
{{alertLabelData && alertLabelData.remark ? alertLabelData.remark : '-'}}
ID
-
{{alertLabelData?alertLabelData.id:'--'}}
+
{{alertLabelData && alertLabelData ? alertLabelData.id : '--'}}
Name
-
{{alertLabelData?alertLabelData.name:'--'}}
+
{{alertLabelData && alertLabelData ? alertLabelData.name : '--'}}
Description
-
{{alertLabelData?(alertLabelData.remark?alertLabelData.remark:'-'):'--'}}
+
{{alertLabelData && alertLabelData.remark ? alertLabelData.remark : '--'}}
ID
-
{{alertLabelData?alertLabelData.id:'--'}}
+
{{alertLabelData && alertLabelData.id ? alertLabelData.id : '--'}}
Project
-
{{alertLabelData?alertLabelData.project.name:'--'}}
+
{{alertLabelData && alertLabelData.project && alertLabelData.project.name ? alertLabelData.project.name : '--'}}
Module
-
{{alertLabelData?alertLabelData.module.name:'--'}}
+
{{alertLabelData && alertLabelData.module && alertLabelData.module.name ? alertLabelData.module.name : '--'}}
Labels
-
{{alertLabelData?alertLabelData.labels:'--'}}
+
{{alertLabelData && alertLabelData.labels ? alertLabelData.labels : '--'}}
Host
-
{{alertLabelData?alertLabelData.host:'--'}}
+
{{alertLabelData && alertLabelData.host ? alertLabelData.host : '--'}}
Port
-
{{alertLabelData?alertLabelData.port:'--'}}
+
{{alertLabelData && alertLabelData.port ? alertLabelData.port : '--'}}
Path
-
{{alertLabelData?alertLabelData.path:'--'}}
+
{{alertLabelData && alertLabelData.path ? alertLabelData.path : '--'}}
@@ -240,40 +232,40 @@ export default {
init () {
this.loading = true
if (this.type === 'asset') {
- this.$get('/asset/info?id=' + this.id).then((res) => {
+ this.$get('asset/asset/' + this.id).then((res) => {
if (res.msg === 'success') {
this.loading = false
- this.alertLabelData = res.data.Basic
+ this.alertLabelData = res.data
} else {
this.$message.error(res.msg)
}
})
}
if (this.type === 'project') {
- this.$get('/project?id=' + this.id).then((res) => {
+ this.$get('monitor/project/' + this.id).then((res) => {
if (res.msg === 'success') {
this.loading = false
- this.alertLabelData = res.data.list[0]
+ this.alertLabelData = res.data
} else {
this.$message.error(res.msg)
}
})
}
if (this.type === 'module') {
- this.$get('/module?id=' + this.id).then((res) => {
+ this.$get('monitor/module/' + this.id).then((res) => {
if (res.msg === 'success') {
this.loading = false
- this.alertLabelData = res.data.list[0]
+ this.alertLabelData = res.data
} else {
this.$message.error(res.msg)
}
})
}
if (this.type === 'endpoint') {
- this.$get('/endpoint?id=' + this.id).then((res) => {
+ this.$get('monitor/endpoint/' + this.id).then((res) => {
if (res.msg === 'success') {
this.loading = false
- this.alertLabelData = res.data.list[0]
+ this.alertLabelData = res.data
} else {
this.$message.error(res.msg)
}
@@ -392,13 +384,13 @@ export default {
word-break: break-all;
}
.danger{
- background-color: #d64f40;
+ background-color: $--danger-color;
color: white;
padding: 2px 5px;
border-radius: 4px;
}
.success{
- background-color: #50d050;
+ background-color: $--success-color;
color: white;
padding: 2px 5px;
border-radius: 4px;
diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/endpointQuery.vue b/nezha-fronted/src/components/common/bottomBox/tabs/endpointQuery.vue
index 376c3a1df..edd8814be 100644
--- a/nezha-fronted/src/components/common/bottomBox/tabs/endpointQuery.vue
+++ b/nezha-fronted/src/components/common/bottomBox/tabs/endpointQuery.vue
@@ -19,7 +19,7 @@
-
-
+
-
-
+