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) => {