From f6ac483d33fff087f14f581edf4b0221b477106d Mon Sep 17 00:00:00 2001 From: zhangyu Date: Tue, 2 Nov 2021 15:47:17 +0800 Subject: [PATCH] =?UTF-8?q?=20NEZ-1137=20=20fix=EF=BC=9B=20=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=A0=B7=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/bottomBox/tabs/cabinetTab.vue | 3 +- .../common/bottomBox/tabs/panelTabNew.vue | 6 +- .../src/components/common/language/cn.js | 7 +- .../src/components/common/language/en.js | 7 +- .../common/popBox/topToolMoreOptions.vue | 120 ++++++++++++++++-- .../src/components/page/alert/alertRule.vue | 6 +- .../src/components/page/asset/asset.vue | 6 +- .../src/components/page/config/dc.vue | 6 +- .../src/components/page/config/model.vue | 3 +- .../page/config/template/chartTemp.vue | 3 +- .../page/config/template/exprTemp.vue | 3 +- .../src/components/page/dashboard/panel.vue | 6 +- .../page/monitor/endpoint/endpointList.vue | 6 +- .../page/monitor/module/moduleList.vue | 6 +- 14 files changed, 155 insertions(+), 33 deletions(-) diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/cabinetTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/cabinetTab.vue index 3cd6adff1..6153d6b29 100644 --- a/nezha-fronted/src/components/common/bottomBox/tabs/cabinetTab.vue +++ b/nezha-fronted/src/components/common/bottomBox/tabs/cabinetTab.vue @@ -34,7 +34,8 @@ - - -
-
- - +
+
+ Records + + {{item.name}} + +
+
+ File format + + {{item.name}} + +
@@ -138,17 +152,29 @@ export default { paramsType: { type: String, default: '' - } + }, + deleteObjs: Array }, data () { return { - importBox: { show: false, title: this.$t('overall.importExcel'), type: 1 }, + importBox: { show: false, title: this.$t('overall.importExcel'), type: 1, record: 'all', format: 1 }, importFile: null, importFileList: [], importResult: null, exportShow: false, panelLock: true, - language: localStorage.getItem('nz-language') + language: localStorage.getItem('nz-language'), + recordArr: [ + { name: this.$t('overall.allData'), value: 'all' }, + { name: this.$t('overall.selectRecords'), value: 'records' }, + { name: this.$t('overall.current'), value: 'current' } + ], + formatArr: [ + { name: 'XLSX', value: 1 }, + { name: 'CSV', value: 2 }, + { name: 'JSON', value: 3 } + ] + } }, mounted () { @@ -244,6 +270,8 @@ export default { this.importResult = null this.importFileList = [] this.importFile = null + this.importBox.value = 1 + this.importBox.record = 'all' }) }, downloadTemplate () { @@ -309,6 +337,7 @@ export default { delete params.searchName } params.language = localStorage.getItem('nz-language') || 'en' + params.format = this.importBox.format this.exportExcel(this.exportUrl, params, this.exportFileName + '-' + this.getTimeString() + '.xlsx') this.closeDialog() }, @@ -341,10 +370,53 @@ export default { // delete params.moduleId // } params.language = localStorage.getItem('nz-language') || 'en' - + params.format = this.importBox.format this.exportExcel(this.exportUrl, params, this.exportFileName + '-' + this.getTimeString() + '.xlsx') this.closeDialog() }, + exportRecords() { + const params = JSON.parse(JSON.stringify(this.params)) + if (this.params2) { + Object.keys(this.params2).forEach(key => { + if (params[key]) { + if (params[key].prototype.toString.call(val) === '[object Object]') { + Object.assign(params[key], this.params2[key]) + } else if (params[key].prototype.toString.call(val) === '[object Array]') { + params[key].concat(this.params2[key]) + } + } else { + params[key] = this.params2[key] + } + }) + } + params.pageSize = -1 + if (this.exportUrl.indexOf('panel') > -1) { + delete params.start_time + delete params.end_time + delete params.id + delete params.searchName + } + if (this.importUrl.indexOf('panel') > -1) { + delete params.panelId + } + // if (this.importUrl.indexOf('endpoint') > -1){ + // delete params.moduleId + // } + params.language = localStorage.getItem('nz-language') || 'en' + params.format = this.importBox.format + params.ids = this.deleteObjs.map(item => item.id).join(',') + this.exportExcel(this.exportUrl, params, this.exportFileName + '-' + this.getTimeString() + '.xlsx') + this.closeDialog() + }, + exportData () { + if (this.importBox.record === 'all') { + this.exportAll() + } else if (this.importBox.record === 'current') { + this.exportCur() + } else if (this.importBox.record === 'records') { + this.exportRecords() + } + }, exportExcel (url, params, fileName) { if (this.paramsType) { params.type = this.paramsType @@ -395,7 +467,7 @@ export default { this.importBox.width = '600px' } else if (type == 2) { // export this.importBox.title = this.$t('overall.exportExcel') - this.importBox.width = '300px' + this.importBox.width = '580px' } }, getTimeString () { @@ -434,5 +506,27 @@ export default { diff --git a/nezha-fronted/src/components/page/alert/alertRule.vue b/nezha-fronted/src/components/page/alert/alertRule.vue index d0fcb7e03..6d374bbba 100644 --- a/nezha-fronted/src/components/page/alert/alertRule.vue +++ b/nezha-fronted/src/components/page/alert/alertRule.vue @@ -21,7 +21,8 @@ - - - - - - - - - - - - - -