From 0ad005fab00157fdbb302f0cbd3bf104c3e7a77e Mon Sep 17 00:00:00 2001 From: hwj Date: Mon, 26 Jan 2026 18:03:21 +0800 Subject: [PATCH] =?UTF-8?q?style=EF=BC=9A=E8=83=BD=E8=80=97=E7=AE=A1?= =?UTF-8?q?=E7=90=86/=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AF=BC=E5=87=BA=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mes/ticketManagement/index.ts | 4 ++++ src/views/mes/energydevicecheck/index.vue | 4 ++-- src/views/mes/energytype/index.vue | 23 +++++++++++++++++--- src/views/mes/workOrderManagement/index.vue | 24 +++++++++++++++++++++ 4 files changed, 50 insertions(+), 5 deletions(-) diff --git a/src/api/mes/ticketManagement/index.ts b/src/api/mes/ticketManagement/index.ts index fa89cf8b..f5451d1e 100644 --- a/src/api/mes/ticketManagement/index.ts +++ b/src/api/mes/ticketManagement/index.ts @@ -37,6 +37,10 @@ export const TicketManagementApi = { return await request.get({ url: `/mes/ticket-management/page`, params }) }, + exportTicketManagement: async (params: any) => { + return await request.download({ url: `/mes/ticket-management/export-excel`, params }) + }, + batchUpdateTicketStatus: async (data: { ids: string; jobStatus: string | number }) => { return await request.put({ url: `/mes/ticket-management/batchUpdateStatus`, data }) }, diff --git a/src/views/mes/energydevicecheck/index.vue b/src/views/mes/energydevicecheck/index.vue index 8eb1873b..1976f7ce 100644 --- a/src/views/mes/energydevicecheck/index.vue +++ b/src/views/mes/energydevicecheck/index.vue @@ -54,11 +54,11 @@ v-if="getPointDetailsRows(scope.row).length" :data="getPointDetailsRows(scope.ro - + diff --git a/src/views/mes/energytype/index.vue b/src/views/mes/energytype/index.vue index b96d478c..8a70f4f2 100644 --- a/src/views/mes/energytype/index.vue +++ b/src/views/mes/energytype/index.vue @@ -72,8 +72,16 @@ - + + @@ -153,6 +161,11 @@ const queryParams = reactive({ const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const selectedIds = ref([]) +const handleSelectionChange = (rows: EnergyTypeVO[]) => { + selectedIds.value = rows?.map((row) => row.id).filter((id) => id !== undefined && id !== null) ?? [] +} + /** 查询列表 */ const getList = async () => { loading.value = true @@ -203,7 +216,11 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true - const data = await EnergyTypeApi.exportEnergyType(queryParams) + const params: any = { + ...queryParams, + ids: selectedIds.value.length ? selectedIds.value.join(',') : undefined + } + const data = await EnergyTypeApi.exportEnergyType(params) download.excel(data, '能耗类型.xls') } catch { } finally { @@ -215,4 +232,4 @@ const handleExport = async () => { onMounted(() => { getList() }) - \ No newline at end of file + diff --git a/src/views/mes/workOrderManagement/index.vue b/src/views/mes/workOrderManagement/index.vue index 3aae362f..24306f5b 100644 --- a/src/views/mes/workOrderManagement/index.vue +++ b/src/views/mes/workOrderManagement/index.vue @@ -52,6 +52,10 @@ {{ t('common.query') }} + + + 导出 + @@ -74,6 +78,7 @@ :data="list" :stripe="true" :show-overflow-tooltip="true" + row-key="id" @selection-change="handleSelectionChange" @row-click="handleRowClick" > @@ -212,6 +217,7 @@ const list = ref([]) const total = ref(0) const selectedIds = ref([]) const cancelLoading = ref(false) +const exportLoading = ref(false) const queryParams = reactive({ pageNo: 1, @@ -266,6 +272,24 @@ const handleBatchCancel = async () => { } } +const handleExport = async () => { + try { + await message.exportConfirm() + exportLoading.value = true + const params: any = { + ...queryParams, + ids: selectedIds.value.length ? selectedIds.value.join(',') : undefined + } + const data = await TicketManagementApi.exportTicketManagement(params) + // 复用系统通用下载工具 + const download = (await import('@/utils/download')).default + download.excel(data, '工单管理.xls') + } catch { + } finally { + exportLoading.value = false + } +} + const resultDialogRef = ref>() const handleRowClick = async (row: TicketManagementVO, column: any) => {