Browse Source

1.解决导出数据量大,前端崩了问题,改为后端导出

2.核心备品备件更换记录增加导出功能
java8
赵宏斌 2 months ago
parent
commit
3a414709c9
  1. 2
      src/api/eam/eam.js
  2. 122
      src/views/modules/eam/eamWorkOrderForDefect2.vue

2
src/api/eam/eam.js

@ -119,6 +119,8 @@ export const eamDefectEdit = data => createAPI(`/pms/eam/eamDefectEdit`,'post',d
export const eamDefectDelete = data => createAPI(`/pms/eam/eamDefectDelete`,'post',data)
export const eamWorkOrderExpiortExcel = data => createAPI(`/pms/eam/eamWorkOrderExpiortExcel`,'post',data,'download')
//---------------设备故障-------------------
export const eamObjectDefectSearch = data => createAPI(`/pms/eam/eamObjectDefectSearch`,'post',data)

122
src/views/modules/eam/eamWorkOrderForDefect2.vue

@ -107,8 +107,9 @@
<el-button v-if="!authSearch" @click="getDataList()">查询</el-button>
<el-button v-if="!authCheck" @click="checkModals()">批量审核</el-button>
<el-button v-if="!authChange" type="primary" @click="changeModel()">更改执行人员</el-button>
<el-button @click="exportExcel()" type="primary" style="margin-left: 2px">{{'导出'}}</el-button>
<!-- <download-excel-->
<!-- <el-button @click="exportExcel()" type="primary" style="margin-left: 2px">{{'导出'}}</el-button>-->
<el-button @click="exportExcel2()" type="primary" style="margin-left: 2px">{{'导出'}}</el-button>
<!-- <download-excel-->
<!-- :fields="fields()"-->
<!-- :data="exportData"-->
<!-- type="xls"-->
@ -560,6 +561,7 @@
</el-tab-pane>
<el-tab-pane label="核心备品备件更换记录" name="core_component">
<div class="rq ">
<el-button @click="exportPartExcel()" type="primary" style="margin-left: 2px">{{'导出'}}</el-button>
<el-table
:height="280"
:data="corePartSpareList"
@ -776,6 +778,7 @@ import Chooselist from '@/views/modules/common/Chooselist_eam'
import {isAuth} from '../../../utils'
import excel from "@/utils/excel-util.js";
import {deleteSchedulingRecord} from "../../../api/scheduling/scheduling";
import {eamWorkOrderExpiortExcel} from "../../../api/eam/eam";
export default {
components: {
Chooselist
@ -802,6 +805,7 @@ export default {
// start
exportData: [],
exportName: "维修工单" + this.dayjs().format('YYYYMMDDHHmmss'),
exportName2: "核心备件更换记录" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ["维修工单"],
exportFooter: [],
exportList: [],
@ -1364,6 +1368,80 @@ export default {
columnWidth: 200,
},
],
columnListMapping: [
{
userId: this.$store.state.user.name,
functionId: 101004006,
serialNumber: '101004006Table1Remark',
tableId: "101004006Table1",
tableName: "维修工单表",
columnProp: 'partNo',
headerAlign: "center",
align: "left",
columnLabel: '备件编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 200,
},
{
userId: this.$store.state.user.name,
functionId: 101004006,
serialNumber: '101004006Table1Remark',
tableId: "101004006Table1",
tableName: "维修工单表",
columnProp: 'partDescription',
headerAlign: "center",
align: "left",
columnLabel: '备件描述',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 200,
},
{
userId: this.$store.state.user.name,
functionId: 101004006,
serialNumber: '101004006Table1Remark',
tableId: "101004006Table1",
tableName: "维修工单表",
columnProp: 'oldSerialNo',
headerAlign: "center",
align: "left",
columnLabel: '老序列号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 200,
},
{
userId: this.$store.state.user.name,
functionId: 101004006,
serialNumber: '101004006Table1Remark',
tableId: "101004006Table1",
tableName: "维修工单表",
columnProp: 'newSerialNo',
headerAlign: "center",
align: "left",
columnLabel: '新序列号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 200,
},
],
changeModelFlag: false,
planOperator: '',
planOperatorName: '',
@ -1787,7 +1865,9 @@ export default {
},
],
knowledgeFlag: '',
corePartSpareList: []
corePartSpareList: [],
//
partSearchData: {}
}
},
@ -1946,6 +2026,41 @@ export default {
dropColumns: [],//dropColumns: ["netWeight"]
});
},
async exportExcel2() {
try {
let params = this.searchData
params.limit = -1
params.page = 1
const response = await eamWorkOrderExpiortExcel(params)
//
const url = window.URL.createObjectURL(new Blob([response.data]))
const link = document.createElement('a')
link.href = url
link.setAttribute('download', '设备维修组维修工单.xlsx')
document.body.appendChild(link)
link.click()
link.remove()
window.URL.revokeObjectURL(url)
} catch (error) {
console.error('导出失败:', error)
this.$message.error('导出失败')
}
},
//
async exportPartExcel() {
this.searchData.limit = -1
this.searchData.page = 1
excel.exportTable({
url: "/pms/resourcespare/getDeviceCorePartList",
columnMapping: this.columnListMapping, // table
mergeSetting: [], //
params: this.partSearchData,
fileName: this.exportName2 + ".xlsx",
rowFetcher: res => res.data,
columnFormatter: [],
dropColumns: [] // dropColumns: ["netWeight"]
})
},
//excel
// async createExportData() {
@ -2772,6 +2887,7 @@ export default {
objectID: this.detailData.objectID,
orderNo: this.detailData.orderNo,
}
this.partSearchData = tempData
getDeviceCorePartList(tempData).then(({data}) => {
if (data && data.code === 0) {
this.corePartSpareList = data.rows

Loading…
Cancel
Save