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 @@
+
+
+
+ {{obj.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
{}"
+ >
+
+
+
+
+
+
No results found
+
+
+
+
+
+ {{item.label}}
+
+
+
+
+
+ {{scope.row[item.prop]}}
+
+
+
+
+
+ {{scope.row.type ? scope.row.type.category : '-'}}
+
+
+ {{ scope.row[item.prop] ? momentTz(scope.row[item.prop]) : '-'}}
+ {{scope.row[item.prop]}}
+ -
+
+
+
+ {{$t('overall.option')}}
+
+
+
+
+
+
+
+
+
No results found
+
+
+
+
+
+
+
+
+
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
})
}