-
-
-
+
+
+ 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 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-