diff --git a/nezha-fronted/src/assets/css/common.scss b/nezha-fronted/src/assets/css/common.scss index f27ac626a..8f7447974 100644 --- a/nezha-fronted/src/assets/css/common.scss +++ b/nezha-fronted/src/assets/css/common.scss @@ -416,3 +416,9 @@ td .nz-icon-gear:before{ input, textarea { font-family: Inter-Regular !important; } +.message-next{ + vertical-align: bottom; + float: unset; + font-size: 10px; + margin-left: 190px; +} diff --git a/nezha-fronted/src/assets/css/components/common/globalSearch/globalSearch.scss b/nezha-fronted/src/assets/css/components/common/globalSearch/globalSearch.scss index 31d7fd38b..a84dc60e8 100644 --- a/nezha-fronted/src/assets/css/components/common/globalSearch/globalSearch.scss +++ b/nezha-fronted/src/assets/css/components/common/globalSearch/globalSearch.scss @@ -119,7 +119,7 @@ } } .is-jump{ - position: absolute; + position: absolute !important; right: 5px; top: 20px; padding: 0; @@ -217,3 +217,7 @@ .fz12{ font-size: 12px; } +.el-skeleton__item{ + background-color: $--explore-border-color-bottom !important; + background-image: unset !important; +} diff --git a/nezha-fronted/src/assets/css/components/page/config/backups.scss b/nezha-fronted/src/assets/css/components/page/config/backups.scss index 9df7c6dd3..66fab197f 100644 --- a/nezha-fronted/src/assets/css/components/page/config/backups.scss +++ b/nezha-fronted/src/assets/css/components/page/config/backups.scss @@ -120,6 +120,28 @@ top: 40px; left: 0px; } + .el-checkbox-group{ + display: flex; + justify-content: start; + align-items: center; + flex-wrap: wrap; + .el-checkbox-button{ + display: flex; + justify-content: center; + align-items: center; + width: 90px; + height: 34px; + border: 1px solid $--border-color-light; + margin-right: -1px; + .el-checkbox-button__inner{ + border: 0px; + display: block; + width: 100%; + height: 100%; + } + } + } + } } #DayOfMonth{ @@ -142,9 +164,13 @@ display: flex; justify-content: center; align-items: center; - width: 91px; - height: 36px; + width: 90px; + height: 35px; + border: 1px solid $--border-color-light; + margin-right: -1px; + margin-bottom: -1px; .el-checkbox-button__inner{ + border: 0px; display: block; width: 100%; height: 100%; @@ -164,4 +190,19 @@ .el-table--border th:first-child .cell { padding-left: 20px !important; } + .el-checkbox-button__inner{ + background-color:$--background-color-empty; + } + .el-checkbox-button.is-checked .el-checkbox-button__inner { + color: #fff; + background-color: #FA901C; + border-color: #FA901C; + border: 1px solid #FA901C; + margin-right: -1px; + -webkit-box-shadow: -1px 0 0 0 #fcbc77; + box-shadow: -1px 0 0 0 #fcbc77; + } + .nz-icon-delete:before{ + color: $--color-text-regular; + } } diff --git a/nezha-fronted/src/assets/css/components/page/config/profile.scss b/nezha-fronted/src/assets/css/components/page/config/profile.scss index f5d494b36..a50ba360e 100644 --- a/nezha-fronted/src/assets/css/components/page/config/profile.scss +++ b/nezha-fronted/src/assets/css/components/page/config/profile.scss @@ -225,7 +225,7 @@ } .list-page.profile-right { width: calc(100% - 370px); - padding: 0px 0px 7px 0px; + padding: 0; pxbox-shadow: 0 1px 2px 0 rgba(0,0,0,0.06); border-radius: 2px; .nz-table2 { diff --git a/nezha-fronted/src/assets/css/components/page/tool/ping.scss b/nezha-fronted/src/assets/css/components/page/tool/ping.scss index 2501a2f23..8fc1ee71d 100644 --- a/nezha-fronted/src/assets/css/components/page/tool/ping.scss +++ b/nezha-fronted/src/assets/css/components/page/tool/ping.scss @@ -251,6 +251,7 @@ } .right-content-box{ width: 380px; + color: $--color-text-primary; } .tools-header-right-content{ margin-left: 30px; @@ -410,3 +411,11 @@ } } +td.el-table__expanded-cell { + padding: 0 0 0 60px; + background-color: $--popover-background-color !important; +} +td.el-table__expanded-cell:hover { + padding: 0 0 0 60px; + background-color: $--background-color-base !important; +} diff --git a/nezha-fronted/src/assets/css/themes/theme-dark.scss b/nezha-fronted/src/assets/css/themes/theme-dark.scss index bd66a71b8..31c4d2011 100644 --- a/nezha-fronted/src/assets/css/themes/theme-dark.scss +++ b/nezha-fronted/src/assets/css/themes/theme-dark.scss @@ -253,7 +253,7 @@ $--right-box-sub-title-border-color: $--border-color-light; $--tooltip-background-color: #222329; $--tooltip-border-color: rgba(112,116,122,0.6); /* 17.label*/ -$--label-background-color: #18171D; +$--label-background-color: $--background-color-empty; /*** themes/common.scss是与主题切换无关的变量 ***/ @import './src/common/var.scss'; diff --git a/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue b/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue index 36d54fa15..e80839a7e 100644 --- a/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue +++ b/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue @@ -158,11 +158,19 @@ export default { minValue = valueSorted.length ? valueSorted[0][1] : 0 maxValue = valueSorted.length ? valueSorted[valueSorted.length - 1][1] : 0 const unit = chartDataFormat.getUnit(chartUnit) + minValue = minValue > 0 ? 0 : minValue if (!isNaN(maxValue)) { maxValue = Number(maxValue) } else { maxValue = 0 } + if (maxValue < 0) { + maxValue = Math.abs(maxValue) + } + if (Math.abs(minValue) > Math.abs(maxValue)) { + maxValue = Math.abs(minValue) + } + maxValue = maxValue - minValue maxValue = chartDataFormat.formatDatas(maxValue, unit.type, 'ceil', unit.ascii) // 取最大值后 需要对其进行取整 let oldValue = maxValue let dot = 0 @@ -185,6 +193,7 @@ export default { return { minTime, maxTime, minValue, maxValue, copies, unit, dot } }, xAxisLabelFormatter (minTime, maxTime) { + let self = this return function (val, index) { const value = val * 1000 let offset = localStorage.getItem('nz-sys-timezone') @@ -192,7 +201,7 @@ export default { offset = Number.parseInt(offset) const localOffset = new Date().getTimezoneOffset() * 60 * 1000 * -1 // 默认 一分钟显示时区偏移的结果 if (window.dataJson) { - offset = new Date().getTimezoneOffset()* -1/60 + offset = new Date().getTimezoneOffset() * -1 / 60 } const tData = new Date(value - localOffset + offset * 60 * 60 * 1000) let hour = tData.getHours() @@ -203,12 +212,23 @@ export default { const diffSec = (maxTime - minTime) const secOneDay = 24 * 60 * 60// 1天的秒数 const secOneMonth = secOneDay * 30// 30天的秒数 + const dateFormatStr = self.timeFormatMain.split(' ')[0] + let str = '' + const month = tData.getMonth() + 1 + const day = tData.getDate() + if (dateFormatStr === 'DD/MM/YYYY') { + str += [day, month].join('/') + } else if (dateFormatStr === 'MM/DD/YYYY') { + str += [month, day].join('/') + } else { + str += [month, day].join('-') + } if (diffSec <= secOneDay) { // 同一天 return [hour, minute].join(':') } else if (diffSec < secOneMonth) { // 大于1天,小于30天 - return [tData.getMonth() + 1, tData.getDate()].join('/') + '\n' + [hour, minute].join(':') + return str + '\n' + [hour, minute].join(':') } else { // 大于等于30天 - return [tData.getMonth() + 1, tData.getDate()].join('/') + return str } } else { return [tData.getFullYear(), tData.getMonth() + 1, tData.getDate()].join('/') + '\n' + diff --git a/nezha-fronted/src/components/chart/chart/legend.vue b/nezha-fronted/src/components/chart/chart/legend.vue index fc080b4e8..39aecf264 100644 --- a/nezha-fronted/src/components/chart/chart/legend.vue +++ b/nezha-fronted/src/components/chart/chart/legend.vue @@ -226,9 +226,21 @@ export default { const chartUnit = chartInfo.unit ? chartInfo.unit : 2 const unit = chartDataFormat.getUnit(chartUnit) minValue = minValue > 0 ? 0 : minValue + if (maxValue < 0) { + maxValue = Math.abs(maxValue) + } + if (Math.abs(minValue) > Math.abs(maxValue)) { + maxValue = Math.abs(minValue) + } maxValue = maxValue - minValue maxValue = chartDataFormat.formatDatas(maxValue, unit.type, 'ceil', unit.ascii) let oldValue = maxValue + if (maxValue < 0) { + oldValue = Math.abs(maxValue) + } + if (minValue < 0) { + oldValue = Math.abs(maxValue - minValue) + } let dot = 0 if (maxValue == 1) { dot++ diff --git a/nezha-fronted/src/components/chart/chart/line-chart-block.vue b/nezha-fronted/src/components/chart/chart/line-chart-block.vue index 2a338c70e..4b45429bf 100644 --- a/nezha-fronted/src/components/chart/chart/line-chart-block.vue +++ b/nezha-fronted/src/components/chart/chart/line-chart-block.vue @@ -2071,6 +2071,17 @@ export default { const chartUnit = chartInfo.unit ? chartInfo.unit : 2 const unit = chartDataFormat.getUnit(chartUnit) minValue = minValue > 0 ? 0 : minValue + if (!isNaN(maxValue)) { + maxValue = Number(maxValue) + } else { + maxValue = 0 + } + if (maxValue < 0) { + maxValue = Math.abs(maxValue) + } + if (Math.abs(minValue) > Math.abs(maxValue)) { + maxValue = Math.abs(minValue) + } maxValue = maxValue - minValue maxValue = chartDataFormat.formatDatas(maxValue, unit.type, 'ceil', unit.ascii) let oldValue = maxValue diff --git a/nezha-fronted/src/components/common/globalSearch/globalSearch.vue b/nezha-fronted/src/components/common/globalSearch/globalSearch.vue index 69d2fa6cf..27a617a85 100644 --- a/nezha-fronted/src/components/common/globalSearch/globalSearch.vue +++ b/nezha-fronted/src/components/common/globalSearch/globalSearch.vue @@ -52,7 +52,7 @@
{{ item.sub }}
-
+
diff --git a/nezha-fronted/src/components/common/js/constants.js b/nezha-fronted/src/components/common/js/constants.js index 972d5e6b0..f96a3657e 100644 --- a/nezha-fronted/src/components/common/js/constants.js +++ b/nezha-fronted/src/components/common/js/constants.js @@ -156,7 +156,7 @@ export const asset = { }, editTypeOptions: [ { value: 1, label: i18n.t('overall.account') }, - { value: 2, label: 'Label' }, + { value: 2, label: i18n.t('overall.labels') }, { value: 3, label: i18n.t('asset.state') }, { value: 4, label: i18n.t('asset.snmpCredential') } ], diff --git a/nezha-fronted/src/components/common/mixin/editRigthBox.js b/nezha-fronted/src/components/common/mixin/editRigthBox.js index 2d6d6372c..c359d9aa5 100644 --- a/nezha-fronted/src/components/common/mixin/editRigthBox.js +++ b/nezha-fronted/src/components/common/mixin/editRigthBox.js @@ -1,7 +1,11 @@ export default { data () { return { - isEdit: false + isEdit: false, + messageParams: { + route: '', + params: {} + } } }, mounted () { @@ -11,6 +15,31 @@ export default { } } }, + methods: { + messageShow (msg, route, params, showNext = false) { + this.messageParams.route = route + this.messageParams.params = params + this.$message({ + duration: 2000, + dangerouslyUseHTMLString: true, + type: 'success', + message: `
${msg} Next
`, + onClose: () => { + const assetAdd = document.getElementById('assetAdd') + assetAdd.removeEventListener('click', this.saveNext) + } + }) + const assetAdd = document.getElementById('assetAdd') + assetAdd.addEventListener('click', this.saveNext) + }, + saveNext () { + console.log(this.assetId) + this.$router.push({ + path: this.messageParams.route, + query: this.messageParams.params + }) + } + }, destroyed () { window.onbeforeunload = null } diff --git a/nezha-fronted/src/components/common/rightBox/asset/assetBatchEditBox.vue b/nezha-fronted/src/components/common/rightBox/asset/assetBatchEditBox.vue index 162d4aeec..3f9288422 100644 --- a/nezha-fronted/src/components/common/rightBox/asset/assetBatchEditBox.vue +++ b/nezha-fronted/src/components/common/rightBox/asset/assetBatchEditBox.vue @@ -283,45 +283,51 @@ export default { selectedData: [], searchLabel: {}, searchMsg: { // 给搜索框子组件传递的信息 - searchLabelList: [ - { - id: 1, - name: 'ID', - type: 'input', - label: 'id', - disabled: false - }, { - id: 20, - name: this.$t('asset.sn'), - type: 'input', - label: 'sn', - disabled: false - }, { - id: 21, - name: this.$t('webshell.host'), - type: 'input', - label: 'manageIp', - disabled: false - }, { - id: 22, - name: this.$t('asset.state'), - type: 'select', - label: 'assetState', - disabled: false - }, { - id: 23, - name: this.$t('asset.pingStatus'), - type: 'select', - label: 'pingStatus', - disabled: false - }, { - id: 23, - name: this.$t('asset.cabinet'), - type: 'input', - label: 'cabinetName', - disabled: false - } - ] + searchLabelList: [{ + id: 'ids', + name: 'ID', + type: 'input', + label: 'ids', + disabled: false + }, { + name: this.$t('overall.name'), + type: 'input', + label: 'name', + id: 'name', + disabled: false + }, { + name: 'SN', + type: 'input', + label: 'sn', + id: 'sn', + disabled: false + }, { + name: this.$t('dashboard.overview.dataCenter.dataCenter'), + type: 'dc', + label: 'dcIds', + readonly: true, + disabled: false + }, { + name: 'IP', + type: 'input', + label: 'manageIp', + id: 'manageIp', + disabled: false + }, { + name: this.$t('asset.state'), + type: 'assetState', + label: 'stateIds', + id: 'stateIds', + readonly: true, + disabled: false + }, { + name: this.$t('asset.type'), + type: 'assetType', + label: 'assetType', + id: 'typeIds', + readonly: true, + disabled: false + }] }, tableTitle: [ { diff --git a/nezha-fronted/src/components/common/rightBox/asset/assetBox.vue b/nezha-fronted/src/components/common/rightBox/asset/assetBox.vue index 43ddb7a2c..c6277bb85 100644 --- a/nezha-fronted/src/components/common/rightBox/asset/assetBox.vue +++ b/nezha-fronted/src/components/common/rightBox/asset/assetBox.vue @@ -433,7 +433,8 @@ export default { }) } } - } + }, + assetId: '' } }, watch: { @@ -686,6 +687,8 @@ export default { }) }, save () { + const self = this + // console.log(123123132, self, 'params.id') if (this.prevent_opt.save) { return } this.prevent_opt.save = true @@ -740,7 +743,7 @@ export default { this.$put(this.url, params).then(res => { this.prevent_opt.save = false if (res.code === 200) { - this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') }) + this.messageShow(this.$t('tip.saveSuccess'), '/endpoint', { assetId: res.data.id }, false) this.esc(true) } else { this.$message.error(res.msg) @@ -750,7 +753,7 @@ export default { this.$post(this.url, params).then(res => { this.prevent_opt.save = false if (res.code === 200) { - this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') }) + this.messageShow(this.$t('tip.saveSuccess'), '/endpoint', { assetId: res.data.id }, false) this.esc(true) } else { this.$message.error(res.msg) @@ -763,7 +766,6 @@ export default { } }) }, - getStateData () { return new Promise(resolve => { this.$get('asset/stateConf?pageSize=-1').then(response => { diff --git a/nezha-fronted/src/components/common/rightBox/editEndpointBoxNew.vue b/nezha-fronted/src/components/common/rightBox/editEndpointBoxNew.vue index c9d9e6369..008a85bf8 100644 --- a/nezha-fronted/src/components/common/rightBox/editEndpointBoxNew.vue +++ b/nezha-fronted/src/components/common/rightBox/editEndpointBoxNew.vue @@ -1107,7 +1107,7 @@ export default { this.editEndpoint.moduleId = '' this.editEndpoint.name = '' this.editEndpoint.assetName = '' - this.editEndpoint.assetId = '' + // this.editEndpoint.assetId = '' this.$refs.sp.remove() this.$refs.moduleForm.clearValidate('moduleId') } @@ -1479,7 +1479,9 @@ export default { } }, mounted () { - + setTimeout(() => { + this.editEndpoint.assetId = this.module.assetId + '' + }, 500) }, created () { this.getProjectList() diff --git a/nezha-fronted/src/components/common/searchInput.vue b/nezha-fronted/src/components/common/searchInput.vue index 9fd082a71..22b398ee1 100644 --- a/nezha-fronted/src/components/common/searchInput.vue +++ b/nezha-fronted/src/components/common/searchInput.vue @@ -100,6 +100,16 @@
  • {{$t(item.name)}}
  • +
    + + + + +