Browse Source

导出优化

master
han\hanst 1 week ago
parent
commit
55b20142ab
  1. 1
      src/api/eam/eam.js
  2. 64
      src/views/modules/eamReport/eamDefectRecord.vue

1
src/api/eam/eam.js

@ -212,6 +212,7 @@ export const getSiteAndBuByUserName= data => createAPI(`/pms/eam/getSiteAndBuByU
export const eamCheckRecordSearch= data => createAPI(`/pms/eam/eamCheckRecordSearch`,'post',data)
export const eamCheckRecordSearch2= data => createAPI(`/pms/eam/eamCheckRecordSearch2`,'post',data)
export const eamDefectRecordSearch= data => createAPI(`/pms/eam/eamDefectRecordSearch`,'post',data)
export const eamDefectRecordExportExcel = data => createAPI(`/pms/eam/eamDefectRecordExportExcel`,'post',data,'download')
// 获取用户角色列表
export const getUserRoleList= data => createAPI(`/pms/eam/getUserRoleList`,'post',data)

64
src/views/modules/eamReport/eamDefectRecord.vue

@ -123,7 +123,7 @@
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="searchClick()">查询</el-button>
<el-button @click="exportExcel()" type="primary" style="margin-left: 2px">{{'导出'}}</el-button>
<el-button @click="exportExcel()" :loading="exportLoading" type="primary" style="margin-left: 2px">{{'导出'}}</el-button>
<!-- <download-excel-->
<!-- :fields="fields()"-->
<!-- :data="exportData"-->
@ -211,12 +211,12 @@
import {
eamDefectRecordSearch,
searchFileUrl,
getSiteAndBuByUserName
getSiteAndBuByUserName,
eamDefectRecordExportExcel
} from "@/api/eam/eam.js"
import {getTableDefaultListLanguage, getTableUserListLanguage} from "@/api/table.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import excel from "@/utils/excel-util.js";
export default {
components: {
Chooselist
@ -235,13 +235,8 @@ export default {
return {
//
favorite: false,
// start
exportData: [],
exportName: "设备维修记录" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ["设备维修记录"],
exportFooter: [],
exportList: [],
// end
//
exportLoading: false,
tagNo:'',
searchData: {
site: this.$store.state.user.site,
@ -999,18 +994,43 @@ export default {
},
async exportExcel() {
this.searchData.limit = -1
this.searchData.page = 1
excel.exportTable({
url: "/pms/eam/eamDefectRecordSearch",
columnMapping: this.columnList,//table
mergeSetting: [],//
params: this.searchData,
fileName: this.exportName+".xlsx",
rowFetcher: res => res.data,
columnFormatter: [],
dropColumns: [],//dropColumns: ["netWeight"]
});
if (this.exportLoading) return
try {
this.exportLoading = true
const params = {
...this.searchData,
limit: -1,
page: 1
}
const response = await eamDefectRecordExportExcel(params)
const now = new Date()
const pad = n => n.toString().padStart(2, '0')
const timeStr =
now.getFullYear() +
pad(now.getMonth() + 1) +
pad(now.getDate()) +
pad(now.getHours()) +
pad(now.getMinutes()) +
pad(now.getSeconds())
const fileName = `设备维修记录_${timeStr}.xlsx`
const url = window.URL.createObjectURL(new Blob([response.data]))
const link = document.createElement('a')
link.href = url
link.setAttribute('download', fileName)
document.body.appendChild(link)
link.click()
link.remove()
window.URL.revokeObjectURL(url)
} catch (error) {
console.error('导出失败:', error)
this.$message.error('导出失败')
} finally {
this.exportLoading = false
}
},
//excel

Loading…
Cancel
Save