diff --git a/nezha-fronted/src/assets/css/components/common/bottomBox/dashboardTab.scss b/nezha-fronted/src/assets/css/components/common/bottomBox/dashboardTab.scss index fb50e2eb3..a22fae581 100644 --- a/nezha-fronted/src/assets/css/components/common/bottomBox/dashboardTab.scss +++ b/nezha-fronted/src/assets/css/components/common/bottomBox/dashboardTab.scss @@ -237,6 +237,15 @@ width: 175px !important; } } +.license-management-active { + .el-tabs__header .el-tabs__item { + width: auto !important; + min-width: 120px !important; + } + .el-tabs__active-bar { + width: 141px; + } +} .nz-dashboard-dropdown { z-index: 3001 !important; } diff --git a/nezha-fronted/src/assets/css/components/page/config/licenseGen.scss b/nezha-fronted/src/assets/css/components/page/config/licenseGen.scss index e471670ad..42ff398a5 100644 --- a/nezha-fronted/src/assets/css/components/page/config/licenseGen.scss +++ b/nezha-fronted/src/assets/css/components/page/config/licenseGen.scss @@ -40,3 +40,21 @@ } } } +.license-mange-expand { + display: flex; + margin: 10px; + width: calc(100% - 20px); + box-sizing: border-box; + border-left: 1px solid $--border-color-light; + border-top: 1px solid $--border-color-light; + flex-wrap: wrap; + .license-mange-expand-item { + width: 20%; + flex-shrink: 0; + border-bottom: 1px solid $--border-color-light; + border-right: 1px solid $--border-color-light; + text-align: center; + height: 36px; + line-height: 36px; + } +} diff --git a/nezha-fronted/src/components/common/alert/alertMessageInfoTab.vue b/nezha-fronted/src/components/common/alert/alertMessageInfoTab.vue index 3906e96eb..d19dd9bd7 100644 --- a/nezha-fronted/src/components/common/alert/alertMessageInfoTab.vue +++ b/nezha-fronted/src/components/common/alert/alertMessageInfoTab.vue @@ -199,7 +199,6 @@ export default { this.snapshotVisible = true }, linkClick (data) { - console.log(data) if (data.openIn === 'newTab') { window.open(data.url) } else { diff --git a/nezha-fronted/src/components/common/bottomBox/bottomBox.vue b/nezha-fronted/src/components/common/bottomBox/bottomBox.vue index 109cc9592..3223db222 100644 --- a/nezha-fronted/src/components/common/bottomBox/bottomBox.vue +++ b/nezha-fronted/src/components/common/bottomBox/bottomBox.vue @@ -83,7 +83,9 @@ - + + + @@ -125,6 +127,7 @@ import IpDetails from '@/components/common/bottomBox/tabs/IpDetails' import recordRuleEvalLog from '@/components/common/bottomBox/tabs/recordRuleEvalLog' import notebookTab from '@/components/common/bottomBox/tabs/notebookTab' import softwareAsset from '@/components/common/bottomBox/tabs/softwareAsset' +import licenseManagementTab from '@/components/common/bottomBox/tabs/licenseManagementTab' export default { name: 'bottomBox', @@ -160,7 +163,8 @@ export default { vsysBottomTab, rolesTab, notebookTab, - softwareAsset + softwareAsset, + licenseManagementTab }, props: { isFullScreen: Boolean, // 是否全屏 @@ -202,6 +206,12 @@ export default { this.changeTab('dashboardTab') } } + if (this.from === this.fromRoute.softwareAsset) { + const hasLog = this.obj.type.name == 'ACC' + if (this.targetTab === 'licenseManagement' && !hasLog) { + this.changeTab('endpoint') + } + } } } }, @@ -250,6 +260,7 @@ export default { softwareAsset: { softwareAssetTabTitle: [ { prop: 'endpoint', name: this.$t('asset.endpoint') }, + { prop: 'licenseManagement', name: this.$t('License Management'), class: 'license-management' } ] }, endpoint: { @@ -399,6 +410,15 @@ export default { tabs.push({ prop: 'log', name: this.$t('dashboard.dashboard.chartForm.typeVal.log.label') }) } return tabs + }, + softwareAssetTbas () { + const tabs = [ + { prop: 'endpoint', name: this.$t('asset.endpoint') } + ] + if (this.obj.typeId == 1) { + tabs.push({ prop: 'licenseManagement', name: this.$t('License Management'), class: 'license-management' }) + } + return tabs } }, methods: { diff --git a/nezha-fronted/src/components/common/bottomBox/nzBottomDataList.vue b/nezha-fronted/src/components/common/bottomBox/nzBottomDataList.vue index 2c4f48e4d..353b63507 100644 --- a/nezha-fronted/src/components/common/bottomBox/nzBottomDataList.vue +++ b/nezha-fronted/src/components/common/bottomBox/nzBottomDataList.vue @@ -20,7 +20,7 @@
- +
diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/licenseManagementTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/licenseManagementTab.vue new file mode 100644 index 000000000..5bc28add6 --- /dev/null +++ b/nezha-fronted/src/components/common/bottomBox/tabs/licenseManagementTab.vue @@ -0,0 +1,211 @@ + + + diff --git a/nezha-fronted/src/components/common/mixin/routerPathParams.js b/nezha-fronted/src/components/common/mixin/routerPathParams.js index 955bb7d22..4f6b76add 100644 --- a/nezha-fronted/src/components/common/mixin/routerPathParams.js +++ b/nezha-fronted/src/components/common/mixin/routerPathParams.js @@ -61,7 +61,7 @@ export default { if (this.detailType) { params.detailType = this.detailType } - if (this.detailType === 'list' && this.$refs[detailType]) { + if (this.detailType === 'list' && this.$refs[detailType] && this.$refs[detailType].bottomBox) { params.bottomBox = this.$refs[detailType].bottomBox.showSubList params.targetTab = this.$refs[detailType].bottomBox.targetTab } else { @@ -74,6 +74,7 @@ export default { const obj = { id: this.$refs[detailType].bottomBox.object.id, name: this.$refs[detailType].bottomBox.object.name, + typeId: this.$refs[detailType].bottomBox.object.typeId, childrenNum: this.$refs[detailType].bottomBox.object.childrenNum || '', clientState: this.$refs[detailType].bottomBox.object.clientState || '', protocol: this.$refs[detailType].bottomBox.object.protocol || '', @@ -100,6 +101,7 @@ export default { const obj = { id: this.$refs[detailType].detailViewRightObj.id, name: this.$refs[detailType].detailViewRightObj.name, + typeId: this.$refs[detailType].detailViewRightObj.typeId, childrenNum: this.$refs[detailType].detailViewRightObj.childrenNum || '', clientState: this.$refs[detailType].detailViewRightObj.clientState || '', protocol: this.$refs[detailType].detailViewRightObj.protocol || '', @@ -133,6 +135,7 @@ export default { const obj = { id: this.bottomBox.object.id, name: this.bottomBox.object.name, + typeId: this.bottomBox.object.typeId, childrenNum: this.bottomBox.object.childrenNum || '', clientState: this.bottomBox.object.clientState || '', protocol: this.bottomBox.object.protocol || '', @@ -164,6 +167,7 @@ export default { const obj = { id: this.detailViewRightObj.id, name: this.detailViewRightObj.name, + typeId: this.detailViewRightObj.typeId, childrenNum: this.detailViewRightObj.childrenNum || '', clientState: this.detailViewRightObj.clientState || '', protocol: this.detailViewRightObj.protocol || '', @@ -203,7 +207,7 @@ export default { setTimeout(() => { const obj = lodash.cloneDeep(val.defaultJson) obj[val.jsonKey] = qv - if (obj[val.jsonKey]) { + if (obj[val.jsonKey] && this.$refs[dataList].$refs.searchInput) { this.$refs[dataList].$refs.searchInput.select_list.push(obj) this.$refs[dataList].$refs.searchInput.sreach_num++ } diff --git a/nezha-fronted/src/components/common/project/meta2d/js/topoUtil.js b/nezha-fronted/src/components/common/project/meta2d/js/topoUtil.js index 228efd73f..ff30968d3 100644 --- a/nezha-fronted/src/components/common/project/meta2d/js/topoUtil.js +++ b/nezha-fronted/src/components/common/project/meta2d/js/topoUtil.js @@ -30,7 +30,6 @@ export default { getTopology(this.meta2dId)._setValue(node) }, getQueryValues (elements, startTime, endTime) { - console.log(startTime, endTime) this.meta2dLoading = true return new Promise(resolve => { const step = bus.getStep(startTime, endTime) diff --git a/nezha-fronted/src/components/common/rightBox/software/softwareTypeBox.vue b/nezha-fronted/src/components/common/rightBox/software/softwareTypeBox.vue index edacd45b9..0c6739645 100644 --- a/nezha-fronted/src/components/common/rightBox/software/softwareTypeBox.vue +++ b/nezha-fronted/src/components/common/rightBox/software/softwareTypeBox.vue @@ -439,7 +439,6 @@ export default { img.src = _URL.createObjectURL(file.raw) }).then(() => { if (isJPG) { - console.log(file.raw) this.getBase64(file.raw).then(base64Str => { this.imageUrl = base64Str }) diff --git a/nezha-fronted/src/components/common/table/asset/licenseMangeTable.vue b/nezha-fronted/src/components/common/table/asset/licenseMangeTable.vue new file mode 100644 index 000000000..ca7911fdc --- /dev/null +++ b/nezha-fronted/src/components/common/table/asset/licenseMangeTable.vue @@ -0,0 +1,170 @@ + + + diff --git a/nezha-fronted/src/components/common/timePicker.vue b/nezha-fronted/src/components/common/timePicker.vue index 29d3e0fb4..2cd555279 100644 --- a/nezha-fronted/src/components/common/timePicker.vue +++ b/nezha-fronted/src/components/common/timePicker.vue @@ -612,15 +612,12 @@ export default { const endTime = this.momentStrToTimestamp(start + ' 23:59:59', 'YYYY-MM-DD HH:mm:ss') start = this.momentSetMonthDate(noTime, 1) end = this.momentSetMonthDate(endTime, 31) - console.log(end) } if (nowTimeType.id === 20) { // Previous month 需要判断当前是否是 1号 unit = 'm' const noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss') end = this.momentStrToTimestamp(this.momentSetMonthDate(noTime, 1)) - 1000 // 当月1号 00:00:00 减1s 则是上月最后一天 23:59:59 - console.log(end, '1') start = this.momentSetMonthDate(end, 1, 'YYYY-MM-DD') + ' 00:00:00' - console.log(start, '1') start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss')) end = this.momentTz(end) } diff --git a/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue b/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue index febbf4b38..aaa46cd63 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue @@ -4149,13 +4149,11 @@ export default { } }, async queryTableData () { - console.log(this.expressions) this.tools.loading = true if (this.expressions.length > 0) { const requestArr = [] this.expressions.forEach((item, index) => { // 过滤掉state为0的元素 - console.log(this.promqlKeys[index].queryType) if (item !== '' && this.promqlKeys[index].state && this.promqlKeys[index].queryType == 2) { // requestArr.push(this.$get('/prom/api/v1/query?query=' + encodeURIComponent(item))) this.showTable = true diff --git a/nezha-fronted/src/components/page/dashboard/explore/exploreItemMixin.js b/nezha-fronted/src/components/page/dashboard/explore/exploreItemMixin.js index b526a2384..4ddcbdeaa 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/exploreItemMixin.js +++ b/nezha-fronted/src/components/page/dashboard/explore/exploreItemMixin.js @@ -310,7 +310,6 @@ export default { this.expressions = [] this.expressionsShow = [] this.expressionName = [] - console.log(this.promqlKeys.length) if (!this.promqlKeys.length) { this.addExpression() } else { @@ -406,7 +405,6 @@ export default { if (!item) { this.expressions.push('') const expressionName = this.getExpressionName() - console.log(expressionName) this.expressionName.push(expressionName) this.expressionsShow.push({ id: getUUID(), @@ -469,7 +467,6 @@ export default { this.$set(this.expressionsShow, index - 1, this.expressionsShow[index - 1]) }, showHistoryBox (index) { - console.log(this.$refs['promql-' + (index)]) const historyshow = this.$refs['promql-' + (index)][0]?.historyshow this.$refs['promql-' + (index)][0]?.showHistoryBox(!historyshow) } diff --git a/nezha-fronted/src/components/page/dashboard/explore/promqlInput.vue b/nezha-fronted/src/components/page/dashboard/explore/promqlInput.vue index ee4af7411..4c45dc0d7 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/promqlInput.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/promqlInput.vue @@ -1043,7 +1043,6 @@ export default { const boxHeight = 400 const parentHeight = this.$refs.queryRow.offsetHeight + 10 let top = 0 - console.log() const left = position.left if (position.top + parentHeight + boxHeight > windowHeight - 100) { top = position.top - boxHeight - 10 @@ -1054,7 +1053,6 @@ export default { top: top, left: left } - console.log(position, this.queryPromptWidth) }, selectMetric (item) { if (!item.id) { diff --git a/nezha-fronted/src/components/page/dashboard/explore/queryPrompt/queryPrompt.vue b/nezha-fronted/src/components/page/dashboard/explore/queryPrompt/queryPrompt.vue index 48bd82845..fcbdb79dd 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/queryPrompt/queryPrompt.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/queryPrompt/queryPrompt.vue @@ -262,7 +262,6 @@ export default { } else { this.logValues = [] } - console.log(this.logValues) }) }, selectValue (obj) { diff --git a/nezha-fronted/src/components/page/uPlot.vue b/nezha-fronted/src/components/page/uPlot.vue index ecc134086..a0c87777a 100644 --- a/nezha-fronted/src/components/page/uPlot.vue +++ b/nezha-fronted/src/components/page/uPlot.vue @@ -55,11 +55,9 @@ export default { const nowTime = new Date().getTime() const start = this.start ? this.start : nowTime - 60 * 60 * 10000 const end = this.end ? this.end : nowTime - console.log(start, end) url += `start=${start}&end=${end}&step=15s&nullType=zero` url += `&query=${encodeURIComponent(this.metrics)}` this.$get(url).then(res => { - console.log(res) this.oldData = res.data }) }