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