diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 000000000..03d9549ea --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 28a804d89..1c24890b2 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,4 +3,7 @@ + + \ No newline at end of file diff --git a/nezha-fronted/package.json b/nezha-fronted/package.json index e97e234c7..56912b3d8 100644 --- a/nezha-fronted/package.json +++ b/nezha-fronted/package.json @@ -5,7 +5,7 @@ "author": "", "private": true, "scripts": { - "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", + "dev": "node --max-old-space-size=6000 ./node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --progress --config build/webpack.dev.conf.js", "start": "npm run dev", "build": "node build/build.js", "lint": "eslint --fix --ext .js,.vue src" @@ -27,7 +27,7 @@ "element-ui": "^2.13.0", "file-saver": "^2.0.2", "leaflet": "^1.7.1", - "node-sass": "^4.13.1", + "node-sass": "^4.14.1", "pl-table": "^2.5.8", "quill": "^1.3.7", "vis": "^4.21.0-EOL", diff --git a/nezha-fronted/src/assets/css/common/tableCommon.scss b/nezha-fronted/src/assets/css/common/tableCommon.scss index ffb150403..0016d7fe4 100644 --- a/nezha-fronted/src/assets/css/common/tableCommon.scss +++ b/nezha-fronted/src/assets/css/common/tableCommon.scss @@ -24,18 +24,32 @@ display: flex; align-items : center; position: relative; - flex-direction: row-reverse; - padding: 14px 20px 14px 0; + justify-content: space-between; + padding: 14px 20px; .top-tool-main-right { display: flex; } + .top-tool-main-left { + display: flex; + } + .top-tool-btn-group { + display: flex; + + .top-tool-btn:first-of-type { + border-radius: $--button-border-radius 0 0 $--button-border-radius; + } + .top-tool-btn:last-of-type { + border-radius: 0 $--button-border-radius $--button-border-radius 0; + border-left: none; + } + } .top-tool-btn { height: 32px; width: 36px; border: 1px solid #DEDEDE; outline: none; - border-radius: 2px; + border-radius: $--button-border-radius; background-color: $--button-gray-background-color; transition: background-color linear .1s; @@ -117,7 +131,7 @@ .table-operation-item { display: flex; height: 22px; - border-radius: 2px; + border-radius: $--button-border-radius; outline: none; } >.table-operation-item { @@ -126,7 +140,7 @@ width: 40px; margin-right: 10px; border: none; - border-radius: 2px; + border-radius: $--button-border-radius; background-color: $--button-primary-background-color; opacity: .8; cursor: pointer; diff --git a/nezha-fronted/src/assets/css/theme.scss b/nezha-fronted/src/assets/css/theme.scss index 0676b6082..02902d698 100644 --- a/nezha-fronted/src/assets/css/theme.scss +++ b/nezha-fronted/src/assets/css/theme.scss @@ -4,6 +4,8 @@ $--theme-color: var(--theme-color); // 主题色 /* 按钮 */ +$--button-border-radius: 2px; // 按钮圆角 + $--button-primary-color: #FFF; // 普通按钮字色 $--button-primary-background-color: var(--theme-color); // 普通按钮背景色 $--button-hover-tint-percent: 20%; // 非灰色按钮在鼠标hover时背景色变浅的幅度 diff --git a/nezha-fronted/src/assets/stylus/main.scss b/nezha-fronted/src/assets/stylus/main.scss index e90d99288..00f21e164 100644 --- a/nezha-fronted/src/assets/stylus/main.scss +++ b/nezha-fronted/src/assets/stylus/main.scss @@ -747,6 +747,7 @@ li{ border-top: 1px solid #DCDFE6; border-bottom: 1px solid #E4E7ED; margin: 0 -6px; + padding-right: 80px; background-color: $content-right-background-color; margin-bottom: 10px; } @@ -756,6 +757,9 @@ li{ .sub-top-tools .top-tool-search { width: 260px; margin: -1px 0 0 0; + .select_input input { + background-color: white; + } } .sub-top-tools .top-tool-btn-txt .nz-icon{ display: inline-block; @@ -2098,88 +2102,6 @@ li{ } -/*export相关*/ -.export-dropdown-btn { - position: relative; -} -.endpoint-query-dropdown { - position: absolute; - right: 0; - top: 31px; -} -.export-dropdown { - width: 90px; - right: 0; - left: unset !important; - top: 27px; -} -.endpoint-query-dropdown::after, .export-dropdown::after { - content: ''; - display: block; - width:0; - height:0; - overflow: hidden; - font-size: 0; - line-height: 0; - border: 5px; - border-style: dashed dashed solid dashed; - border-color: transparent transparent #fff transparent; - position: absolute; - right: 3px; - bottom: 0; - -} -.export-dropdown::after { - transform: translate(-50%, -54px); -} -.endpoint-query-dropdown::after { - transform: translate(-50%, -45px); -} -/*.dropdownBtn .el-dropdown__caret-button{ - top:0px !important; - left: -1px; -}*/ -.export-xlsx .el-dialog__body{ - padding: 10px 20px 20px 20px; -} -.export-xlsx .el-button:focus, .export-xlsx .el-button:hover { - color: unset; - border-color: unset; - background-color:unset; -} -.dropdownBtn .el-button--primary{ - top:2px; - padding: 0 8px; - background-image: linear-gradient(180deg, #fff 0%, #E0E0E0 100%); - border: 0px; - color: #666; - -webkit-box-shadow: 0 0 1px 1px rgba(162,162,162,0.5); - box-shadow: 0 0 1px 1px rgba(162,162,162,0.5); - letter-spacing: 0; - background-color: unset; -} -.dropdownBtn .el-button--primary:hover{ - background-image: linear-gradient(180deg, #F0F0F0 0%, #D8D8D8 99%) !important; -} -.dropdownBtn .el-button--mini{ - font-size: 12px; - height: 24px; -} -.dropdownBtn .el-button--mini:first-of-type { - right: 3px; -} -.el-dropdown .el-button-group{ - display: block; - position: relative; - top:-2px; -} -.export-xlsx .el-dropdown .el-dropdown__caret-button { - padding-left: 5px; - padding-right: 5px; - border-left: none; - top:0px; - left: -1px; -} .footer:before{ /*content: '';*/ /*clear:both;*/ diff --git a/nezha-fronted/src/components/common/bottomBox/bottomBox.vue b/nezha-fronted/src/components/common/bottomBox/bottomBox.vue index f73d74ad8..b9dd894b0 100644 --- a/nezha-fronted/src/components/common/bottomBox/bottomBox.vue +++ b/nezha-fronted/src/components/common/bottomBox/bottomBox.vue @@ -18,24 +18,27 @@ - + - + - + - + - - - + + - + + + + @@ -49,18 +52,23 @@ import panelTab from './tabs/panelTab' import terminalLogRecordTab from './tabs/terminalLogRecordTab' import terminalLogMonitorTab from './tabs/terminalLogMonitorTab' import terminalLogCMDTab from './tabs/terminalLogCMDTab' +import operationLogTab from './tabs/operationLogTab' +import terminalLogTab from './tabs/terminalLogTab' +import { fromRoute } from '@/components/common/js/constants' export default { name: 'bottomBox', components: { - 'cabinet-tab': cabinetTab, - 'alert-message-tab': alertMessageTab, - 'endpoint-query-tab': endpointQueryTab, - 'endpoint-tab': endpointTab, - 'panel-tab': panelTab, + cabinetTab, + alertMessageTab, + endpointQueryTab, + endpointTab, + panelTab, terminalLogRecordTab, - 'terminal-log-cmd-tab': terminalLogCMDTab, - terminalLogMonitorTab + terminalLogMonitorTab, + operationLogTab, + terminalLogTab, + 'terminal-log-cmd-tab': terminalLogCMDTab }, props: { isFullScreen: Boolean, // 是否全屏 @@ -75,7 +83,9 @@ export default { assetDetail: Object // endpoint页的asset详情 }, data () { - return {} + return { + fromRoute: fromRoute + } }, methods: { exitFullScreen () { @@ -97,9 +107,9 @@ export default { this.$emit('update:targetTab', tab) }, afterResize () { - if (this.from === this.$CONSTANTS.fromRoute.endpoint && this.targetTab === 'endpointQuery') { + if (this.from === this.fromRoute.endpoint && this.targetTab === 'endpointQuery') { this.$refs.endpointQuery.tableReload() - } else if (this.from === this.$CONSTANTS.fromRoute.terminalLog && this.targetTab === 'record') { + } else if (this.from === this.fromRoute.terminalLog && this.targetTab === 'record') { setTimeout(() => { this.$refs.reminalLogRecordTab.consoleResize() }, 600) diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/operationLogTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/operationLogTab.vue new file mode 100644 index 000000000..ea10ddf5b --- /dev/null +++ b/nezha-fronted/src/components/common/bottomBox/tabs/operationLogTab.vue @@ -0,0 +1,206 @@ + + + diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogTab.vue new file mode 100644 index 000000000..065848041 --- /dev/null +++ b/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogTab.vue @@ -0,0 +1,291 @@ + + + diff --git a/nezha-fronted/src/components/common/exportXLSX.vue b/nezha-fronted/src/components/common/exportXLSX.vue index 2a54387a7..48ff11154 100644 --- a/nezha-fronted/src/components/common/exportXLSX.vue +++ b/nezha-fronted/src/components/common/exportXLSX.vue @@ -1,10 +1,11 @@ diff --git a/nezha-fronted/src/components/page/config/assetMeta.vue b/nezha-fronted/src/components/page/config/assetMeta.vue index cbce0524e..82f8f423b 100644 --- a/nezha-fronted/src/components/page/config/assetMeta.vue +++ b/nezha-fronted/src/components/page/config/assetMeta.vue @@ -1,129 +1,74 @@ + + + - + + ref="assetMetaBox"> diff --git a/nezha-fronted/src/components/page/config/assetType.vue b/nezha-fronted/src/components/page/config/assetType.vue index b1818229c..c92ce94e5 100644 --- a/nezha-fronted/src/components/page/config/assetType.vue +++ b/nezha-fronted/src/components/page/config/assetType.vue @@ -1,184 +1,150 @@ - diff --git a/nezha-fronted/src/components/page/config/dc.vue b/nezha-fronted/src/components/page/config/dc.vue index 0f59757fd..f72c108eb 100644 --- a/nezha-fronted/src/components/page/config/dc.vue +++ b/nezha-fronted/src/components/page/config/dc.vue @@ -1,55 +1,32 @@ -