diff --git a/nezha-fronted/build/utils.js b/nezha-fronted/build/utils.js index eabd09228..43d27c6ea 100644 --- a/nezha-fronted/build/utils.js +++ b/nezha-fronted/build/utils.js @@ -65,7 +65,7 @@ exports.cssLoaders = function (options) { { loader: 'sass-resources-loader', options: { - resources: path.resolve(__dirname, '../src/assets/stylus/index.scss') + resources: path.resolve(__dirname, '../src/assets/css/main.scss') } } ), diff --git a/nezha-fronted/src/assets/css/main.css b/nezha-fronted/src/assets/css/common.scss similarity index 72% rename from nezha-fronted/src/assets/css/main.css rename to nezha-fronted/src/assets/css/common.scss index e13e6a3da..0ef1358f9 100644 --- a/nezha-fronted/src/assets/css/main.css +++ b/nezha-fronted/src/assets/css/common.scss @@ -1,7 +1,8 @@ @font-face { font-family: 'NotoSans'; /*字体名称*/ - src: url('font/NotoSansSC-6.ttf'); + src: url('~@/assets/css/font/NotoSansSC-6.ttf'); } +/* 覆盖element的loading样式 */ .el-loading-spinner .circular{ width: 42px; height: 42px; @@ -9,7 +10,7 @@ display: none; } .el-loading-mask .el-loading-spinner{ - background: url(../img/loading.gif) no-repeat; + background: url(~@/assets/img/loading.gif) no-repeat; background-size: 48px 48px; width: 48px; height: 48px; diff --git a/nezha-fronted/src/assets/css/common/tableCommon.scss b/nezha-fronted/src/assets/css/common/tableCommon.scss new file mode 100644 index 000000000..ffb150403 --- /dev/null +++ b/nezha-fronted/src/assets/css/common/tableCommon.scss @@ -0,0 +1,205 @@ +/*列表table通用样式*/ +.list-page { + background-color: white; + height: 100%; + + .main-list { + position: relative; + display: flex; + flex-direction: column; + height: 100%; + z-index: 0; + } + .main-list.main-list-with-sub { + height: 50%; + } + .main-modal { + position: absolute; + height: 100%; + width: 100%; + display: none; + z-index: 100; + } + .top-tools { + display: flex; + align-items : center; + position: relative; + flex-direction: row-reverse; + padding: 14px 20px 14px 0; + + .top-tool-main-right { + display: flex; + } + .top-tool-btn { + height: 32px; + width: 36px; + border: 1px solid #DEDEDE; + outline: none; + border-radius: 2px; + background-color: $--button-gray-background-color; + transition: background-color linear .1s; + + i { + font-size: 14px; + color: $--button-gray-color; + } + } + .top-tool-btn:hover:not(.nz-btn-disabled) { + background-color: $--button-gray-hover-background-color; + } + .top-tool-btn:focus:not(.nz-btn-disabled) { + background-color: $--button-gray-hover-background-color; + border-color: #FBCEA4; + i { + color: $--button-gray-active-color; + } + } + .top-tool-btn--delete.top-tool-btn:focus:not(.nz-btn-disabled) { + background-color: $--button-gray-hover-background-color; + border-color: #FFC4B9; + + i { + color: #F0745A; + } + } + } + + .nz-table2 { + position: relative; + padding: 0 20px; + width: 100%; + box-sizing: border-box; + flex: auto; + + .el-table { + position: absolute; + width: calc(100% - 40px); + border: 1px solid #E7EAED; + border-bottom: none; + + .el-table-column--selection { + width: 55px !important; + } + + td { + padding: 9px 0; + border-bottom: 1px solid #E7EAED; + } + th { + border-color: #E7EAED; + } + .el-table__header th:first-of-type { + border-left: none; + } + .gutter { + position: fixed; + right: 31px; + height: 49px; + border-bottom: 1px solid #E7EAED; + background-color: white; + } + thead { + color: #333; + } + + .el-table__body tr:hover>td, .el-table__body tr.hover-row.current-row>td, + .el-table__body tr.hover-row.el-table__row--striped.current-row>td, + .el-table__body tr.hover-row.el-table__row--striped>td, .el-table__body tr.hover-row>td { + background-color: #f9f9f9 !important; + } + .table-operation-title { + text-align: center; + } + .table-operation-items { + display: flex; + justify-content: center; + + .table-operation-item { + display: flex; + height: 22px; + border-radius: 2px; + outline: none; + } + >.table-operation-item { + justify-content: center; + align-items: center; + width: 40px; + margin-right: 10px; + border: none; + border-radius: 2px; + background-color: $--button-primary-background-color; + opacity: .8; + cursor: pointer; + + i { + color: $--button-primary-color; + font-size: 12px; + } + } + >.table-operation-item:hover { + } + .table-operation-item.table-operation-item--more { + justify-content: space-between; + width: 52px; + border: 1px solid #DEDEDE; + + span { + line-height: 14px; + padding-left: 10px; + } + i { + color: #999; + font-size: 12px; + } + } + } + } + } + /* start--覆盖el-table边框、gutter等样式 */ + .el-table__body-wrapper, .el-table__fixed-body-wrapper { + box-shadow: 1px 0 #E7EAED; + + .cell { + color: #333; + } + } + .el-table__body-wrapper .is-hidden, .el-table__header-wrapper .is-hidden { + visibility: hidden; + } + .el-table--border td { + border-right: none !important; + } + .el-table--border .el-table__body-wrapper td:nth-last-child(2) { + box-shadow: 1px 0 #E7EAED; + } + .el-table--border .el-table__header-wrapper th:nth-last-child(3) { + border-right: none !important; + box-shadow: 1px 0 #E7EAED; + } + .el-table__fixed-body-wrapper { + td:not(.is-hidden) { + border-left: 1px solid #E7EAED; + } + } + .el-table__fixed-header-wrapper { + th:not(.is-hidden) { + border-left: 1px solid #E7EAED; + } + th:last-of-type { + border-right: none !important; + } + } + .el-table--border::after, .el-table--group::after { + width: 0; + } + /* end--覆盖el-table边框、gutter等样式 */ + .pagination-bottom { + position: absolute; + bottom: 0; + height: 48px; + width: 100%; + } +} +.operation-dropdown-text { + font-size: 13px; +} diff --git a/nezha-fronted/src/assets/css/element-var.scss b/nezha-fronted/src/assets/css/element-var.scss new file mode 100644 index 000000000..c9c8851e6 --- /dev/null +++ b/nezha-fronted/src/assets/css/element-var.scss @@ -0,0 +1,4 @@ +/* 改变主题色变量 */ +/* 改变 icon 字体路径变量,必需 */ +$--font-path: '~element-ui/lib/theme-chalk/fonts'; +@import "~element-ui/packages/theme-chalk/src/index"; diff --git a/nezha-fronted/src/assets/css/font/iconfont.eot b/nezha-fronted/src/assets/css/font/iconfont.eot index 953d20cce..bc610fb29 100644 Binary files a/nezha-fronted/src/assets/css/font/iconfont.eot and b/nezha-fronted/src/assets/css/font/iconfont.eot differ diff --git a/nezha-fronted/src/assets/css/font/iconfont.svg b/nezha-fronted/src/assets/css/font/iconfont.svg index b6bfd1824..7c00447f4 100644 --- a/nezha-fronted/src/assets/css/font/iconfont.svg +++ b/nezha-fronted/src/assets/css/font/iconfont.svg @@ -20,34 +20,52 @@ Created by iconfont /> + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + diff --git a/nezha-fronted/src/assets/css/font/iconfont.ttf b/nezha-fronted/src/assets/css/font/iconfont.ttf index 136d7889a..0474ce539 100644 Binary files a/nezha-fronted/src/assets/css/font/iconfont.ttf and b/nezha-fronted/src/assets/css/font/iconfont.ttf differ diff --git a/nezha-fronted/src/assets/css/font/iconfont.woff b/nezha-fronted/src/assets/css/font/iconfont.woff index 75eff1821..32acf9641 100644 Binary files a/nezha-fronted/src/assets/css/font/iconfont.woff and b/nezha-fronted/src/assets/css/font/iconfont.woff differ diff --git a/nezha-fronted/src/assets/css/font/iconfont.woff2 b/nezha-fronted/src/assets/css/font/iconfont.woff2 index c0d2598a2..6d9f0707c 100644 Binary files a/nezha-fronted/src/assets/css/font/iconfont.woff2 and b/nezha-fronted/src/assets/css/font/iconfont.woff2 differ diff --git a/nezha-fronted/src/assets/css/main.scss b/nezha-fronted/src/assets/css/main.scss new file mode 100644 index 000000000..fc01fc78b --- /dev/null +++ b/nezha-fronted/src/assets/css/main.scss @@ -0,0 +1,4 @@ +@import './nzIcon.css'; +@import './theme.scss'; +@import './common.scss'; +@import '../stylus/index.scss'; diff --git a/nezha-fronted/src/assets/css/nzIcon.css b/nezha-fronted/src/assets/css/nzIcon.css index 3b22cdce5..f4f1daee0 100644 --- a/nezha-fronted/src/assets/css/nzIcon.css +++ b/nezha-fronted/src/assets/css/nzIcon.css @@ -1,10 +1,10 @@ @font-face {font-family: "nz-icon"; - src: url('./font/iconfont.eot?t=1617162500330'); /* IE9 */ - src: url('./font/iconfont.eot?t=1617162500330#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), - url('./font/iconfont.woff?t=1617162500330') format('woff'), - url('./font/iconfont.ttf?t=1617162500330') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ - url('./font/iconfont.svg?t=1617162500330#nz-icon') format('svg'); /* iOS 4.1- */ + src: url('./font/iconfont.eot?t=1617244392770'); /* IE9 */ + src: url('./font/iconfont.eot?t=1617244392770#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('./font/iconfont.woff?t=1617244392770') format('woff'), + url('./font/iconfont.ttf?t=1617244392770') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('./font/iconfont.svg?t=1617244392770#nz-icon') format('svg'); /* iOS 4.1- */ } .nz-icon { @@ -15,6 +15,30 @@ -moz-osx-font-smoothing: grayscale; } +.nz-icon-menu-assets:before { + content: "\e706"; +} + +.nz-icon-menu-alert:before { + content: "\e707"; +} + +.nz-icon-menu-setting:before { + content: "\e708"; +} + +.nz-icon-personal-circle:before { + content: "\e709"; +} + +.nz-icon-menu-project:before { + content: "\e70a"; +} + +.nz-icon-menu-dashboard:before { + content: "\e70b"; +} + .nz-icon-more1:before { content: "\e704"; } diff --git a/nezha-fronted/src/assets/css/theme.scss b/nezha-fronted/src/assets/css/theme.scss new file mode 100644 index 000000000..0676b6082 --- /dev/null +++ b/nezha-fronted/src/assets/css/theme.scss @@ -0,0 +1,29 @@ +:root { + --theme-color: #FA901C; // 默认主题色 +} +$--theme-color: var(--theme-color); // 主题色 + +/* 按钮 */ +$--button-primary-color: #FFF; // 普通按钮字色 +$--button-primary-background-color: var(--theme-color); // 普通按钮背景色 +$--button-hover-tint-percent: 20%; // 非灰色按钮在鼠标hover时背景色变浅的幅度 +$--button-active-shade-percent: 0; // 非灰色按钮在focus时背景色变深的幅度 + +$--button-gray-color: #666; // 灰色按钮字色 +$--button-gray-hover-color: $--button-gray-color; // 灰色按钮hover字色 +$--button-gray-active-color: var(--theme-color); // 灰色按钮focus字色 +$--button-gray-background-color: #F9F9F9; // 灰色按钮背景色 +$--button-gray-hover-background-color: #FFF; // 灰色按钮hover背景色 +$--button-gray-active-background-color: $--button-gray-hover-background-color; // 灰色按钮focus背景色 +$--button-gray-border-color: #DEDEDE; // 灰色按钮边框色 +$--button-gray-hover-border-color: $--button-gray-border-color; // 灰色按钮hover边框色 +$--button-gray-active-border-color-tint-percent: 30%; // 灰色按钮在focus时边框色相对于主题色变浅的幅度 + +/* element-ui变量覆盖 */ +/*$--color-primary: red; // 覆盖element-ui的主题色 +$--box-shadow-base: none; // 取消box-shadow +$--box-shadow-dark: none; +$--box-shadow-light: 0 28px 32px 0 red; +$--input-focus-border: red; + +@import "~element-ui/packages/theme-chalk/src/index";*/ diff --git a/nezha-fronted/src/assets/js/theme.js b/nezha-fronted/src/assets/js/theme.js new file mode 100644 index 000000000..03048022a --- /dev/null +++ b/nezha-fronted/src/assets/js/theme.js @@ -0,0 +1,3 @@ +export default { + +} diff --git a/nezha-fronted/src/assets/stylus/index.scss b/nezha-fronted/src/assets/stylus/index.scss index e8181e284..3b5cac6e4 100644 --- a/nezha-fronted/src/assets/stylus/index.scss +++ b/nezha-fronted/src/assets/stylus/index.scss @@ -1,4 +1,4 @@ -$global-text-color-active: #ee9d3f; // 全局文字active字色 +$global-text-color-active: #fa901c; // 全局文字active字色 $content-right-background-color: #f9f9f9; //右侧背景色 @@ -11,8 +11,10 @@ $btn-normal-background-color: linear-gradient(180deg, #F5B93E 0%, #EE9D3F 100%); $btn-normal-background-color-hover: #EE9D3F ; //橙色按钮hover背景颜色 $btn-normal-txt-color: #fff; //橙色按钮字体颜色 $btn-normal-shadow: 0 0 1px 1px rgba(162,162,162,0.50); //橙色按钮边框阴影 -$btn-light-background-color: linear-gradient(rgb(247, 248, 250) 0%, rgb(231, 234, 240) 100%); //灰色按钮背景颜色 -$btn-light-background-color-hover: linear-gradient(180deg, rgb(247, 248, 250) 0%, rgb(247, 248, 250) 100%); //灰色按钮hover背景颜色 +// $btn-light-background-color: linear-gradient(rgb(247, 248, 250) 0%, rgb(231, 234, 240) 100%); //灰色按钮背景颜色 +// $btn-light-background-color-hover: linear-gradient(180deg, rgb(247, 248, 250) 0%, rgb(247, 248, 250) 100%); //灰色按钮hover背景颜色 +$btn-light-background-color: #F9F9F9; +$btn-light-background-color-hover: #FFF; $btn-light-txt-color: #666; //灰色按钮字体颜色 $btn-light-shadow: 0 0 1px 1px rgba(162,162,162,0.50); //灰色按钮边框阴影 @@ -49,4 +51,3 @@ $suspended-color: #9e9c98; //全局停用色灰色 $left-menu-bgcolor:#FFF; @import './main.scss'; -/*@import './table.scss';*/ diff --git a/nezha-fronted/src/assets/stylus/main.scss b/nezha-fronted/src/assets/stylus/main.scss index 4f2e3214e..e90d99288 100644 --- a/nezha-fronted/src/assets/stylus/main.scss +++ b/nezha-fronted/src/assets/stylus/main.scss @@ -37,10 +37,10 @@ li{ list-style-type:none ; } -.nz-icon-gear:before { +/*.nz-icon-gear:before { color: #BA3939; font-size:12px; -} +}*/ /* begin--通用*/ .margin-l-5 { @@ -546,7 +546,7 @@ li{ .sub-list-tab-active { color: $global-text-color-active; background-color: white; - border-top: solid 2px #ee9d3f; + border-top: solid 2px $global-text-color-active; } .sub-list-tab-title { font-size: 14px; @@ -664,6 +664,21 @@ li{ cursor: pointer; } /* begin--顶部工具栏*/ +/*.main-list { + height: 100%; + position: relative; + z-index: 0; +} +.main-list.main-list-with-sub { + height: 50%; +} +.main-modal { + position: absolute; + height: 100%; + width: 100%; + display: none; + z-index: 100; +} .top-tools { display: flex; height: 50px; @@ -676,7 +691,6 @@ li{ } .top-tools .top-tool-search { width: 260px; - /*margin: -2px 0 0 0;*/ } .top-tools .top-tool-btn-txt .nz-icon{ display: inline-block; @@ -707,27 +721,21 @@ li{ margin-top: -2px; overflow: hidden; } -/*.top-tool-main-right>.nz-btn, .top-tool-main-right-to-left>.nz-btn, .top-tool-main-right>.nz-btn-group, .top-tool-main-right>.panel-calendar { - margin-top: -2px; -}*/ .asset .top-tool-main-right-to-left { right: calc(100% - 440px) !important; - /*transform: translateX(100%);*/ } .config .top-tool-main-right-to-left { right: calc(100% - 492px) !important; - /*transform: translateX(100%);*/ } .top-tool-main-right-to-left { right: calc(100% - 390px) !important; - /*transform: translateX(100%);*/ } .top-tool-main-right-to-left-small{ right: calc(100% - 360px) !important; } .top-tool-main-right-to-left-little{ right: calc(100% - 286px) !important; -} +}*/ /* end--顶部工具栏*/ /* begin--二级顶部工具栏*/ @@ -761,14 +769,6 @@ li{ .has-sub-popper { color: $danger-color; } -.main-list { - height: 100%; - position: relative; - z-index: 0; -} -.main-list.main-list-with-sub { - height: 50%; -} .sub-box { height: 50%; position: relative; @@ -783,13 +783,7 @@ li{ .main-and-sub-transition { transition: .4s height; } -.main-modal { - position: absolute; - height: 100%; - width: 100%; - display: none; - z-index: 100; -} + .resize-modal { width: 100%; opacity: 0.6; @@ -902,10 +896,10 @@ li{ .nz-table .el-table__header th:nth-last-child(2) { border-right: none; } -.nz-table.el-table--border td, .el-table--border th, .nz-table .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed { +/*.nz-table.el-table--border td, .el-table--border th, .nz-table .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed { border-right: none; background: #f9f9f9; -} +}*/ /*.nz-table .el-table__body { width: 100% !important; } @@ -1023,7 +1017,7 @@ li{ .el-table .el-table__body tr:hover>td { background-color: #f0f0f0 !important; } -.nz-table-gear { +/*.nz-table-gear { box-sizing: border-box; position: relative; } @@ -1031,7 +1025,7 @@ li{ cursor: pointer; position: absolute; left: -3px; -} +}*/ .alert-message-tag, .alert-rule-tag { margin: 3px; } @@ -1889,7 +1883,7 @@ li{ .query-input-active { margin-top: 1px; } -.top-tools input, .sub-top-tools input { +.sub-top-tools input { background-color: $content-right-background-color; } .query-input-active .el-input__inner, .query-input-inactive .el-input__inner { @@ -2364,9 +2358,6 @@ li{ /deep/ .el-input--mini .el-input__icon{ line-height: 24px; } -.content-row-box .content-col-box:first-child{ - margin-left: 0; -} .right-box-small-title{ font-family: Roboto-Regular; font-size: 14px; @@ -2469,15 +2460,15 @@ li{ } } .el-radio-group .el-radio__inner:hover{ - border-color: #ee9d3f !important; + border-color: $global-text-color-active !important; } .el-radio-group .is-checked { .el-radio__inner{ - background-color: #ee9d3f !important; - border-color: #ee9d3f !important; + background-color: $global-text-color-active !important; + border-color: $global-text-color-active !important; } .el-radio__label{ - color: #ee9d3f !important;; + color: $global-text-color-active !important;; } } /deep/ .el-input__inner{ @@ -2496,6 +2487,6 @@ li{ } /deep/ .el-switch.is-checked .el-switch__core{ - border-color: #ee9d3f; - background-color: #ee9d3f; + border-color: $global-text-color-active; + background-color: $global-text-color-active; } diff --git a/nezha-fronted/src/assets/stylus/table.scss b/nezha-fronted/src/assets/stylus/table.scss deleted file mode 100644 index ae82e5ffc..000000000 --- a/nezha-fronted/src/assets/stylus/table.scss +++ /dev/null @@ -1,47 +0,0 @@ -/* 重写更改列宽的提示元素样式 */ -revogr-header .data-header-cell .resizable:hover { - background-color: #ccc !important; -} -/* 重写表头样式 */ -revo-grid[theme=compact] revogr-viewport revogr-header { - line-height: 32px; - - .header-row { - height: 32px; - } - .data-header-cell { - border-right: 1px solid #d4d4d4; - color: #666666; - background-image: linear-gradient(#f8f8f8, #e6e6e6); - border-left: 1px solid white; - border-bottom: 1px solid #d4d4d4; - } -} - -.data-cell { - font-size: 12px; -} -.data-cell .danger { - background-color: $danger-color; - color: white; - padding:2px 5px; - border-radius: 4px; -} -.data-cell .success { - background-color: $success-color; - color: white; - padding:2px 5px; - border-radius: 4px; -} -.data-cell .suspended { - background-color: $suspended-color; - color: white; - padding:2px 5px; - border-radius: 4px; -} -.data-cell .warning { - background-color: $warning-color; - color: white; - padding:2px 5px; - border-radius: 4px; -} diff --git a/nezha-fronted/src/components/cli/webSSH.scss b/nezha-fronted/src/components/cli/webSSH.scss index 233cd2349..81c9f7641 100644 --- a/nezha-fronted/src/components/cli/webSSH.scss +++ b/nezha-fronted/src/components/cli/webSSH.scss @@ -1,5 +1,4 @@ #shell-service { - border-top: 1px solid #aaa; width: 100%; left: 0; position: fixed; diff --git a/nezha-fronted/src/components/common/deleteButton.vue b/nezha-fronted/src/components/common/deleteButton.vue index 836658136..2be8c4109 100644 --- a/nezha-fronted/src/components/common/deleteButton.vue +++ b/nezha-fronted/src/components/common/deleteButton.vue @@ -1,7 +1,7 @@ - - - + + + diff --git a/nezha-fronted/src/components/layout/container.vue b/nezha-fronted/src/components/layout/container.vue new file mode 100644 index 000000000..e23d480ff --- /dev/null +++ b/nezha-fronted/src/components/layout/container.vue @@ -0,0 +1,24 @@ + + + + + + + + + diff --git a/nezha-fronted/src/components/layout/header.vue b/nezha-fronted/src/components/layout/header.vue new file mode 100644 index 000000000..04decdadb --- /dev/null +++ b/nezha-fronted/src/components/layout/header.vue @@ -0,0 +1,590 @@ + + + + {{$t(crumb.i18n)}} + + + + + + + + + + {{item.name}} + + + + + + + {{$store.state.consoleCount<=10?$store.state.consoleCount:'10+'}} + + + + + + + + {{item.label}} + + + + + + + + + + + + + + + + + English + + + 中文 + + + + + {{username}} + + + {{$t('overall.changePwd')}} + + + {{$t('overall.signOut')}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nezha-fronted/src/components/layout/home.vue b/nezha-fronted/src/components/layout/home.vue new file mode 100644 index 000000000..6f1d787bf --- /dev/null +++ b/nezha-fronted/src/components/layout/home.vue @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + diff --git a/nezha-fronted/src/components/layout/leftMenu.vue b/nezha-fronted/src/components/layout/leftMenu.vue new file mode 100644 index 000000000..0a9f35de4 --- /dev/null +++ b/nezha-fronted/src/components/layout/leftMenu.vue @@ -0,0 +1,238 @@ + + + + + + + {{systemName && systemName !== 'undefined' ? systemName : $t('dashboard.overview.contentTitle')}} + + + + + + + + + {{$t(menu.i18n)}} + + + + {{$t(secondMenu.i18n)}} + {{$t(thirdMenu.i18n)}} + + {{$t(secondMenu.i18n)}} + + + + + {{$t(menu.i18n)}} + + + + + + + + + + diff --git a/nezha-fronted/src/components/page/config/account2.vue b/nezha-fronted/src/components/page/config/account2.vue new file mode 100644 index 000000000..aaa8121dc --- /dev/null +++ b/nezha-fronted/src/components/page/config/account2.vue @@ -0,0 +1,358 @@ + + + + + + + + + + + {batchDeleteObjs=selection}" + > + + + + + {{item.label}} [Tag] + + {{item.label}} + + + + + + + + {{role.i18n?$t(role.i18n):role.name}} + + + + - + + + + {statusChange(scope.row)}"> + + + {{filterTags(item, scope)}} + {{utcTimeToTimezoneStr(scope.row[item.prop])}} + {{scope.row[item.prop]}} + + + + {{$t('overall.option')}} + + + + + … + + + {{$t('overall.edit')}} + {{$t('overall.delete')}} + + + + + + + + + + + + + + + + + + + diff --git a/nezha-fronted/src/components/page/config/dc.vue b/nezha-fronted/src/components/page/config/dc.vue index 1e34a7771..8e4d7c1d9 100644 --- a/nezha-fronted/src/components/page/config/dc.vue +++ b/nezha-fronted/src/components/page/config/dc.vue @@ -1,10 +1,8 @@ - - + @@ -14,10 +12,14 @@ + id="dc-add" class="top-tool-btn margin-l-20"> + + + @@ -32,100 +34,86 @@ ref="customTableTitle" > - {this.batchDeleteObjs=selection}" - > - - - + {this.batchDeleteObjs=selection}" > - - - - - - - - - - - - {{item.username}} + + + + + + + + {{item.username}} + + - - - - - - {statusChange(scope.row)}" - /> - - - {{scope.row.longitude}} - - - - - {{scope.row.latitude}} - - - - - - - {{scope.row.assetStat.total}} - {{scope.row.assetStat.inStock}} - {{scope.row.assetStat.outStock}} - {{scope.row.assetStat.suspended}} - - + + {statusChange(scope.row)}" + /> + + + {{scope.row.longitude}} + - + + + {{scope.row.latitude}} + - + + + + + {{scope.row.assetStat.total}} + {{scope.row.assetStat.inStock}} + {{scope.row.assetStat.outStock}} + {{scope.row.assetStat.suspended}} + + - - - {{scope.row[item.prop]}} + + + {{scope.row[item.prop]}} + + {{scope.row[item.prop]}} + - - {{scope.row[item.prop]}} - - - - - - - - - - - - + + + @@ -249,11 +237,6 @@ export default { label: this.$t('config.dc.state'), prop: 'state', show: true - }, { - label: this.$t('config.account.option'), - prop: 'option', - show: true, - width: 120 } ], tableData: [], diff --git a/nezha-fronted/src/components/page/config/model.vue b/nezha-fronted/src/components/page/config/model.vue index 416aba8ab..1fccaac01 100644 --- a/nezha-fronted/src/components/page/config/model.vue +++ b/nezha-fronted/src/components/page/config/model.vue @@ -1,10 +1,8 @@ - - + @@ -12,10 +10,14 @@ - + + + + @@ -30,66 +32,55 @@ ref="customTableTitle" > - {this.batchDeleteObjs=selection}" - > - - - - - {{scope.row[item.prop].value}} - {{scope.row[item.prop].value}} - - - - {{scope.row.assetStat.total}} - {{scope.row.assetStat.inStock}} - {{scope.row.assetStat.outStock}} - {{scope.row.assetStat.suspended}} - - + + {this.batchDeleteObjs=selection}" + > + + + + + {{scope.row[item.prop].value}} + {{scope.row[item.prop].value}} + + + + {{scope.row.assetStat.total}} + {{scope.row.assetStat.inStock}} + {{scope.row.assetStat.outStock}} + {{scope.row.assetStat.suspended}} + + + + {{scope.row[item.prop]}} + - - - - - - - {{scope.row[item.prop]}} - - - - - - - - - - - - + + + @@ -180,11 +171,6 @@ export default { label: this.$t('config.model.assets'), prop: 'assetStat', show: true - }, { - label: this.$t('config.account.option'), - prop: 'option', - show: true, - width: 120 } ], tableData: [], diff --git a/nezha-fronted/src/components/page/config/promServer.vue b/nezha-fronted/src/components/page/config/promServer.vue index 0b685e74e..71943db10 100644 --- a/nezha-fronted/src/components/page/config/promServer.vue +++ b/nezha-fronted/src/components/page/config/promServer.vue @@ -1,10 +1,8 @@ - - + @@ -13,10 +11,14 @@ + id="prom-add" class="top-tool-btn margin-l-20"> + + + @@ -31,58 +33,46 @@ ref="customTableTitle" > - + {this.batchDeleteObjs=selection}" - > - - - - - {{scope.row[item.prop]?scope.row[item.prop].name:'-'}} + > + + + + + {{scope.row[item.prop]?scope.row[item.prop].name:'-'}} - - - {{findServerType(scope.row[item.prop]).text}} - - {{utcTimeToTimezoneStr(scope.row[item.prop])}} - - - - - - - - - - - - - - {{scope.row[item.prop]}} - - - - - - - - - - - - + + + {{findServerType(scope.row[item.prop]).text}} + + {{utcTimeToTimezoneStr(scope.row[item.prop])}} + + + + + + + + {{scope.row[item.prop]}} + - + + + + @@ -179,11 +169,6 @@ export default { label: this.$t('config.promServer.checkTime'), prop: 'checkTime', show: false - }, { - label: this.$t('config.account.option'), - prop: 'option', - show: true, - width: 120 } ], tableData: [], diff --git a/nezha-fronted/src/components/page/config/roles.vue b/nezha-fronted/src/components/page/config/roles.vue index 0c38a8964..31f892840 100644 --- a/nezha-fronted/src/components/page/config/roles.vue +++ b/nezha-fronted/src/components/page/config/roles.vue @@ -1,10 +1,8 @@ - - + @@ -14,11 +12,15 @@ - + + + @@ -33,70 +35,81 @@ v-if="tools.showCustomTableTitle" > - {this.batchDeleteObjs=selection}" - @sort-change="tableDataSort" - border - class="nz-table" - ref="rolesTable" - style="width: 100%;" - v-loading="tools.loading" - > - - - + {this.batchDeleteObjs=selection}" + @sort-change="tableDataSort" > - - {{item.label}} [Notification] - {{item.label}} - - - - - - - - - - - - - - - {{$t(scope.row.i18n)}} - - - {{scope.row.name}} - - - - - + + + + + {{item.label}} [Notification] + {{item.label}} - {{scope.row[item.prop]}} - - - - - - - - - - + + + + + + + + + + + + + + {{$t(scope.row.i18n)}} + + + {{scope.row.name}} + + + - + + + {{scope.row[item.prop]}} + + + + {{$t('overall.option')}} + + + + + … + + + {{$t('overall.edit')}} + {{$t('overall.delete')}} + + + + + + @@ -161,12 +174,6 @@ export default { label: this.$t('config.roles.description'), prop: 'remark', show: true - }, { - label: this.$t('config.roles.option'), - prop: 'option', - show: true, - width: 120, - fixed: 'right' } ], tableData: [], diff --git a/nezha-fronted/src/components/page/dashboard/overview/overview2.scss b/nezha-fronted/src/components/page/dashboard/overview/overview2.scss index f281d4363..c8f93331a 100644 --- a/nezha-fronted/src/components/page/dashboard/overview/overview2.scss +++ b/nezha-fronted/src/components/page/dashboard/overview/overview2.scss @@ -1,9 +1,10 @@ -.overview{ +.overview { height: 100%; + background-color: #f6f6f6; } .overview-content-header{ display: flex; - padding: 8px 0 2px 0; + padding: 0 0 2px 0; justify-content: space-between; } .overview-content-header .header-title{ @@ -36,6 +37,12 @@ color: #333333; vertical-align: middle; } +.content-row-box .content-col-box:first-child{ + margin-left: 0; +} +.content-row-box .content-col-box:last-child{ + margin-right: 0; +} .tool-container .date{ height: 35px; } diff --git a/nezha-fronted/src/components/page/dashboard/overview/overview2.vue b/nezha-fronted/src/components/page/dashboard/overview/overview2.vue index 48c203688..50b6e4ee9 100644 --- a/nezha-fronted/src/components/page/dashboard/overview/overview2.vue +++ b/nezha-fronted/src/components/page/dashboard/overview/overview2.vue @@ -1,5 +1,5 @@ - + diff --git a/nezha-fronted/src/main.js b/nezha-fronted/src/main.js index 3ecfab71c..38f223a9f 100644 --- a/nezha-fronted/src/main.js +++ b/nezha-fronted/src/main.js @@ -1,10 +1,9 @@ -// import "./assets/css/main.css"; -import './assets/stylus/index.scss' -import './assets/css/nzIcon.css' -import './assets/css/main.css' +// import '@/assets/stylus/index.scss' import 'element-ui/lib/theme-chalk/index.css' -import ElementUI from 'element-ui' import 'xterm/dist/xterm.css' +import '@/assets/stylus/main.scss' +import '@/assets/css/main.scss' +import ElementUI from 'element-ui' import i18n from './components/common/i18n' import Vue from 'vue' @@ -79,7 +78,7 @@ Vue.prototype.$unixTimeParseToString = unixTimeParseToString Vue.prototype.$chartResizeTool = chartResizeTool Vue.prototype.$tableSet = tableSet Vue.prototype.$tableHeight = { // 列表页表格的高度 - normal: 'calc(100% - 100px)', // 常规高度,特例在下方定义 + normal: 'calc(100% - 48px)', // 常规高度,特例在下方定义 openSubList: { // 打开二级列表后的高度 mainList: 'calc(100% - 60px)', subList: 'calc(100% - 86px)', @@ -125,36 +124,9 @@ Vue.mixin({ return bus.timeFormate(this.timezoneToUtcTime(time), format) } }, - tableTitleReset: function (src, dist) { - dist.forEach(item => { - const title = src.find(t => t.prop === item.prop) - if (title && title.label) { - item.label = title.label - } - }) - }, hasButton (code) { return hasButton(this.$store.getters.buttonList, code) }, - toTop (wrap) { - let currentTop = wrap.scrollTop - const interval = currentTop / 10 - const intervalFunc = setInterval(function () { // 花200ms分10次回到顶部,模拟动画效果 - if (currentTop === 0) { - clearInterval(intervalFunc) - } else { - currentTop = (currentTop - interval) < interval * 0.5 ? 0 : currentTop - interval - wrap.scrollTop = currentTop - } - }, 20) - }, - toTopBtnHandler (wrap) { - const vm = this - wrap.addEventListener('scroll', bus.debounce(function () { - vm.tools.showTopBtn = wrap.scrollTop > 50 - vm.tools.tableHover = wrap.scrollTop > 50 - }, 100)) - }, numberWithEConvent (num) { if (num) { if ((('' + num).indexOf('E') !== -1) || (('' + num).indexOf('e') !== -1)) { diff --git a/nezha-fronted/src/permission.js b/nezha-fronted/src/permission.js index 611cced77..31dd0572f 100644 --- a/nezha-fronted/src/permission.js +++ b/nezha-fronted/src/permission.js @@ -115,7 +115,6 @@ export function sortByOrderNum (menuList) { menu.children = menu.children.sort((a, b) => { return a.orderNum - b.orderNum }) - menu.route = menu.children[0].route } }) return r diff --git a/nezha-fronted/src/router/index.js b/nezha-fronted/src/router/index.js index 75c29bbc8..cafbe7a00 100644 --- a/nezha-fronted/src/router/index.js +++ b/nezha-fronted/src/router/index.js @@ -19,7 +19,7 @@ export default new Router({ }, { path: '/', - component: resolve => require(['../components/common/home.vue'], resolve), + component: resolve => require(['../components/layout/home.vue'], resolve), children: [ { path: '/panel', @@ -43,7 +43,7 @@ export default new Router({ }, { path: '/account', - component: resolve => require(['../components/page/config/account.vue'], resolve) + component: resolve => require(['../components/page/config/account2.vue'], resolve) }, { path: '/menu',