From 8e2882aa1a9cd31bd38d2c41e7fbc73cb6e9f5a6 Mon Sep 17 00:00:00 2001 From: qiankanghui <11284155+qian-kanghui@user.noreply.gitee.com> Date: Thu, 5 Feb 2026 10:30:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(eam):=20=E6=B7=BB=E5=8A=A0=E6=8D=A2?= =?UTF-8?q?=E7=BA=BF=E4=B8=93=E5=AE=B6=E7=BB=84=E7=BB=B4=E4=BF=AE=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 eamExchangeOrderExportExcel API 接口用于导出功能 - 在工单页面添加导出按钮并集成 loading 状态显示 - 更新页面导入语句以包含新的导出接口函数 - 实现完整的 Excel 导出逻辑,包括参数处理和文件下载 - 添加导出过程中的错误处理和用户提示机制 - 优化导出流程以提升用户体验和数据处理效率 --- src/api/eam/eam.js | 2 + .../modules/eam/eamWorkOrderForDefect.vue | 39 ++++++++++++------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/api/eam/eam.js b/src/api/eam/eam.js index d282afc..603e181 100644 --- a/src/api/eam/eam.js +++ b/src/api/eam/eam.js @@ -110,6 +110,8 @@ export const eamWorkOrderReportSearch= data => createAPI(`/pms/eam/eamWorkOrderR export const eamWorkOrderSearchForDefect= data => createAPI(`/pms/eam/eamWorkOrderSearchForDefect`,'post',data) export const updateWorkOrder= data => createAPI(`/pms/eam/updateWorkOrder`,'post',data) +export const eamExchangeOrderExportExcel = data => createAPI(`/pms/eam/eamExchangeOrderExportExcel`,'post',data,'download') + //---------------故障------------------- export const eamDefectSearch = data => createAPI(`/pms/eam/eamDefectSearch`,'post',data) diff --git a/src/views/modules/eam/eamWorkOrderForDefect.vue b/src/views/modules/eam/eamWorkOrderForDefect.vue index 859e44a..de28164 100644 --- a/src/views/modules/eam/eamWorkOrderForDefect.vue +++ b/src/views/modules/eam/eamWorkOrderForDefect.vue @@ -108,7 +108,7 @@ 查询 批量审核 更改执行人员 - {{'导出'}} + {{'导出'}} @@ -771,6 +771,7 @@ import { queryHistoryRecord, // 查看维修历史 getSparPartImages, // 获取备件图片 getConfirmButtonOperator, // 获取确认按钮操作人 + eamExchangeOrderExportExcel, } from "@/api/eam/eam.js" import { downLoadObjectFile, @@ -787,7 +788,7 @@ import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/user import Chooselist from '@/views/modules/common/Chooselist_eam' import {isAuth} from '../../../utils' import excel from "@/utils/excel-util.js"; -import {abandonedEamWorkOrder, cancelDefectOrder} from "../../../api/eam/eam"; +import {abandonedEamWorkOrder, cancelDefectOrder, eamWorkOrderExpiortExcel} from "../../../api/eam/eam"; export default { components: { Chooselist @@ -809,6 +810,7 @@ export default { }, data() { return { + exportLoading: false, // 是否收藏 favorite: false, // 导出 start @@ -1953,18 +1955,27 @@ export default { }, async exportExcel() { - this.searchData.limit = -1 - this.searchData.page = 1 - excel.exportTable({ - url: "/pms/eam/eamWorkOrderSearchForDefect", - columnMapping: this.columnList,//可以直接用table,不需要的列就剔除 - mergeSetting: [],//需要合并的列 - params: this.searchData, - fileName: this.exportName+".xlsx", - rowFetcher: res => res.data, - columnFormatter: [], - dropColumns: [],//需要剔除的列,例如dropColumns: ["netWeight"],即剔除净重列 - }); + try { + this.exportLoading = true + let params = this.searchData + params.limit = -1 + params.page = 1 + const response = await eamExchangeOrderExportExcel(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('导出失败') + } finally { + this.exportLoading = false + } }, //导出excel