diff --git a/src/views/consume/coinConsumeDetail.vue b/src/views/consume/coinConsumeDetail.vue index af3f8f8..222cee1 100644 --- a/src/views/consume/coinConsumeDetail.vue +++ b/src/views/consume/coinConsumeDetail.vue @@ -3,6 +3,7 @@ import {computed, onMounted, ref} from 'vue' import {dayjs, ElMessage} from 'element-plus' import request from '@/util/http' import API from '@/util/http' +import moment from 'moment' // 之后整理一下 /* @@ -380,24 +381,7 @@ const handleSortChange = (column) => { sortOrder.value = column.order === 'ascending' ? 'DESC' : 'ASC' ConsumeSelectBy() } -const exportExcel = async function () { - const params = { - consumUser: { - jwcode: consumeUser.value.jwcode || '', - payPlatform: consumeUser.value.payPlatform || '', - market: consumeUser.value.market || '', - startTime: consumeUser.value.startTime || '', - endTime: consumeUser.value.endTime || '', - goodsName: consumeUser.value.goodsName || '' - }, - page: getObj.pageNum, - size: getObj.pageSize - } - const res = await API({url: '/export/exportConsume', data: params}) - if (res.code === 200) { - ElMessage.success('导出成功') - } -} + const handlePageSizeChange = function (val) { getObj.value.pageSize = val ConsumeSelectBy() @@ -432,6 +416,97 @@ onMounted(async function () { }) +const exportExcel = async function () { + const params = { + consumUser: { + jwcode: consumeUser.value.jwcode || '', + payPlatform: consumeUser.value.payPlatform || '', + market: consumeUser.value.market || '', + startTime: consumeUser.value.startTime || '', + endTime: consumeUser.value.endTime || '', + goodsName: consumeUser.value.goodsName || '' + }, + page: getObj.value.pageNum, + size: total.value + } + const res = await API({url: '/export/exportConsume', data: params}) + if (res.code === 200) { + ElMessage.success('导出成功') + } +} +const exportListVisible = ref(false) + +// 打开导出列表弹窗 +const openExportList = () => { + getExportList() + exportListVisible.value = true +} + +// 导出列表数据 +const exportList = ref([]) +// 导出列表加载状态 +const exportListLoading = ref(false) +// 获取导出列表 +const getExportList = async () => { + exportListLoading.value = true + try { + const result = await API({ url: '/export/export' }) + if (result.code === 200) { + const filteredData = result.data.filter(item => { + return item.type === 4; //4表示金币消耗列表 + }); + exportList.value = filteredData + } else { + ElMessage.error(result.msg || '获取导出列表失败') + } + } catch (error) { + console.error('获取导出列表出错:', error) + ElMessage.error('获取导出列表失败,请稍后重试') + } finally { + exportListLoading.value = false + } +} +// 下载导出文件 +const downloadExportFile = (item) => { + if (item.state === 2) { + const link = document.createElement('a') + link.href = item.url + link.download = item.fileName + link.click() + } else { + ElMessage.warning('文件还在导出中,请稍后再试') + } +} +//根据状态返回对应的标签类型 +const getTagType = (state) => { + switch (state) { + case 0: + return 'info'; + case 1: + return 'primary'; + case 2: + return'success'; + case 3: + return 'danger'; + default: + return 'info'; + } +} +//根据状态返回对应的标签文案 +const getTagText = (state) => { + switch (state) { + case 0: + return '待执行'; + case 1: + return '执行中'; + case 2: + return'执行完成'; + case 3: + return '执行出错'; + default: + return '未知状态'; + } +}