123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- export default {
- data() {
- return {
- downloadLoading: false,
- }
- },
- created() {
- },
- methods: {
- //获取导出文件名称
- getFileName() {
- var tmpDate = new Date();
- var year = tmpDate.getFullYear();
- var month = ("0" + (tmpDate.getMonth() + 1)).slice(-2)
- var date = ("0" + tmpDate.getDate()).slice(-2)
- var h = ("0" + tmpDate.getHours()).slice(-2)
- var m = ("0" + tmpDate.getMinutes()).slice(-2)
- var s = ("0" + tmpDate.getSeconds()).slice(-2)
- return '告警统计' + year + month + date + h + m + s
- },
- //导出告警设备
- exportDeviceForAll(){
- this.downloadLoading = true
- const tHeader=['序号', '资产编号', '所属区域', '设备详细地址', '单位名称', '告警个数', '告警时间']
- const filterVal=['id', 'asset_no', 'area_name', 'addr', 'depart_name', 'alarm_num', 'alarm_time']
- const query =this.queryParam
- this.$http.post('device/exportAlarmDevice', { params: query },{'timeout':120000}).then(response => {
- let data = response.data
- this.exportExcel(data,tHeader,filterVal);
- })
-
- },
- exportDeviceBySelectIds(selectedIds) {
- this.downloadLoading = true
- let list = []
- const tHeader=['序号', '资产编号', '所属区域', '设备详细地址', '单位名称', '告警个数', '告警时间']
- const filterVal=['id', 'asset_no', 'area_name', 'addr', 'depart_name', 'alarm_num', 'alarm_time']
- this.data.forEach(item => {
- if(selectedIds.indexOf(item.id) !='-1' ){
- list.push(item);
- }
- })
- this.exportExcel(list,tHeader,filterVal);
- },
- //告警心跳导出
- exportExcelForAll(confirm_user_id){
- this.downloadLoading = true
- const query =this.queryParam
- query.confirm_user_id=confirm_user_id;
- const tHeader=['序号', '设备类型', '告警原因', '告警类型', '资产编号', '设备详细地址', '告警时间', '告警持续时间']
- const filterVal=['id', 'device_type', 'alarm_reason', 'alarm_source', 'asset_no', 'addr', 'start_time', 'continue_time']
-
- this.$http.post('alarm/exportAlarm', { params: query },{'timeout':120000}).then(response => {
- let data = response.data
- this.exportExcel(data,tHeader,filterVal);
- })
- },
- exportExcelBySelectIds(selectedIds) {
- this.downloadLoading = true
- const tHeader=['序号', '设备类型', '告警原因', '告警类型', '资产编号', '设备详细地址', '告警时间', '告警持续时间']
- const filterVal=['id', 'device_type', 'alarm_reason', 'alarm_source', 'asset_no', 'address', 'start_time', 'continue_time']
- let list = []
- this.data.forEach(item => {
- if(selectedIds.indexOf(item.id) !='-1' ){
- list.push(item);
- }
- })
- this.exportExcel(list,tHeader,filterVal);
- },
- exportExcel(list,tHeader,filterVal) {
-
- import('@/vendor/Export2Excel').then(excel => {
- const data = this.formatJson(filterVal, list)
- excel.export_json_to_excel({
- header: tHeader,
- data,
- filename: this.getFileName(),
- autoWidth: true,
- bookType: 'xlsx',
- })
- this.downloadLoading = false
- })
- },
- formatJson(filterVal, jsonData) {
- return jsonData.map(v => filterVal.map(j => {
- if (j === 'address') {
- return v['device_info']['addr']
- } else {
- return v[j]
- }
- }))
- }
- }
- }
|