style:能耗管理/设备管理添加导出按钮

main
黄伟杰 1 week ago
parent 4f877d350d
commit 0ad005fab0

@ -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 })
},

@ -54,11 +54,11 @@ v-if="getPointDetailsRows(scope.row).length" :data="getPointDetailsRows(scope.ro
</el-table>
</template>
</el-table-column>
<el-table-column label="序号" align="center" width="70">
<!-- <el-table-column label="序号" align="center" width="70">
<template #default="scope">
{{ (queryParams.pageNo - 1) * queryParams.pageSize + scope.$index + 1 }}
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="表名称" align="center" prop="name" min-width="120" />
<el-table-column label="能源类型" align="center" prop="deviceTypeName" min-width="100" />
<el-table-column label="所属区域" align="center" prop="orgName" min-width="100" />

@ -72,8 +72,16 @@
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table
v-loading="loading"
:data="list"
:stripe="true"
:show-overflow-tooltip="true"
row-key="id"
@selection-change="handleSelectionChange"
>
<!-- <el-table-column label="ID" align="center" prop="id" /> -->
<el-table-column type="selection" width="55" reserve-selection />
<el-table-column label="能耗类型编码" align="center" prop="code" />
<el-table-column label="能耗类型名称" align="center" prop="name" />
<el-table-column label="单位" align="center" prop="unit" />
@ -153,6 +161,11 @@ const queryParams = reactive({
const queryFormRef = ref() //
const exportLoading = ref(false) //
const selectedIds = ref<number[]>([])
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()
})
</script>
</script>

@ -52,6 +52,10 @@
<Icon icon="ep:search" class="mr-5px" />
{{ t('common.query') }}
</el-button>
<el-button type="success" plain @click="handleExport" :loading="exportLoading">
<Icon icon="ep:download" class="mr-5px" />
导出
</el-button>
</el-form-item>
</el-form>
</ContentWrap>
@ -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<TicketManagementVO[]>([])
const total = ref(0)
const selectedIds = ref<number[]>([])
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<InstanceType<typeof TicketResultDialog>>()
const handleRowClick = async (row: TicketManagementVO, column: any) => {

Loading…
Cancel
Save