Browse Source

导出好了

zhangrenyuan/feature-20250623164058-金币前端
lihuilin 1 day ago
parent
commit
ba5d48fec1
  1. 182
      src/views/recharge/coinRechargeDetail.vue

182
src/views/recharge/coinRechargeDetail.vue

@ -42,16 +42,13 @@ const activity = ref([])
const allData = ref([]) const allData = ref([])
// //
const market = ref([]) const market = ref([])
// //
const formatTime = (val) => val ? moment(val).format('YYYY-MM-DD HH:mm:ss') : '' const formatTime = (val) => val ? moment(val).format('YYYY-MM-DD HH:mm:ss') : ''
// money permanentGold freeGold // money permanentGold freeGold
const money = ref(0) const money = ref(0)
const permanentGold = ref(0) const permanentGold = ref(0)
const freeGold = ref(0) const freeGold = ref(0)
// //
const permanentGolds = ref(0) const permanentGolds = ref(0)
const freeGolds = ref(0) const freeGolds = ref(0)
@ -143,10 +140,10 @@ const getPlatform = async () => {
data: {}// data: {}//
}) })
// { value, label } // { value, label }
if(Array.isArray(result.data)) {
if (Array.isArray(result.data)) {
platform.value = result.data.map(item => ({ value: item, label: item })); platform.value = result.data.map(item => ({ value: item, label: item }));
} else { } else {
console.error('充值类型格式错误',result)
console.error('充值类型格式错误', result)
ElMessage.error('充值类型格式错误,请联系管理员') ElMessage.error('充值类型格式错误,请联系管理员')
} }
} catch (error) { } catch (error) {
@ -208,8 +205,8 @@ const get = async function (val) {
const data = resultTotalGold.data const data = resultTotalGold.data
console.log('获取到的金币数据:', data) console.log('获取到的金币数据:', data)
permanentGolds.value = (Number(data.permanentGolds) || 0)/100
freeGolds.value = (Number(data.freeGolds) || 0)/100
permanentGolds.value = (Number(data.permanentGolds) || 0) / 100
freeGolds.value = (Number(data.freeGolds) || 0) / 100
} }
@ -314,45 +311,31 @@ const get7Days = function () {
console.log('getTime', getTime.value) console.log('getTime', getTime.value)
get() get()
} }
//
const checkNumber = function () {
if (typeof parseInt(getObj.value.pageNum) === 'number') {
console.log('总共有多少页' + Math.ceil(total.value / getObj.value.pageSize))
if (
getObj.value.pageNum > 0 &&
getObj.value.pageNum <= Math.ceil(total.value / getObj.value.pageSize)
) {
getObj.value.pageNum = parseInt(getObj.value.pageNum)
console.log('输入的数字合法')
get()
} else {
//
ElMessage({
type: 'error',
message: '请检查输入内容'
})
const exportExcel = async function () {
const params = {
text:'',
deptid:'',
sort:1,
field:'',
page:getObj.pageNum,
size:getObj.pageSize
} }
} else {
//
ElMessage({
type: 'error',
message: '数字输入有误'
})
const res = await API({ url: '/export/exportRecharge', data: params })
if (res.code === 200) {
ElMessage.success('导出成功')
} }
} }
// //
onMounted(async function () { onMounted(async function () {
await getAdminData()
await get() await get()
await getActivity() await getActivity()
await getArea() await getArea()
await getPlatform() await getPlatform()
}) })
// //
const sortField = ref('')
const sortOrder = ref('')
const sortField = ref()
const sortOrder = ref(1)
// //
const handleSortChange = (column) => { const handleSortChange = (column) => {
@ -366,12 +349,11 @@ const handleSortChange = (column) => {
sortField.value = 'payTime' sortField.value = 'payTime'
} else if (column.prop === 'createTime') { } else if (column.prop === 'createTime') {
sortField.value = 'createTime' sortField.value = 'createTime'
} else if(column.prop === 'permanentGold'){
} else if (column.prop === 'permanentGold') {
sortField.value = 'permanentGold' sortField.value = 'permanentGold'
} }
sortOrder.value = column.order === 'ascending' ? 'ASC' : 'DESC'
sortOrder.value = column.order === 'ascending' ? '1' : '0'
console.log('传递给后端的排序字段:', sortField.value) console.log('传递给后端的排序字段:', sortField.value)
console.log('传递给后端的排序方式:', sortOrder.value) console.log('传递给后端的排序方式:', sortOrder.value)
get() get()
} }
@ -391,23 +373,19 @@ const handleSortChange = (column) => {
<el-col :span="6"> <el-col :span="6">
<div class="head-card-element"> <div class="head-card-element">
<el-text class="mx-1" size="large">活动名称</el-text> <el-text class="mx-1" size="large">活动名称</el-text>
<el-select v-model="rechargeUser.activity" placeholder="请选择活动名称" style="width: 180px"
clearable>
<el-option v-for="item in activity" :key="item.value" :label="item.label"
:value="item.value" />
<el-select v-model="rechargeUser.activity" placeholder="请选择活动名称" style="width: 180px" clearable>
<el-option v-for="item in activity" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</div> </div>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="head-card-element" >
<div class="head-card-element">
<el-text class="mx-1" size="large">所属地区</el-text> <el-text class="mx-1" size="large">所属地区</el-text>
<el-select v-model="rechargeUser.market" placeholder="请选择所属地区" style="width: 180px" clearable> <el-select v-model="rechargeUser.market" placeholder="请选择所属地区" style="width: 180px" clearable>
<el-option v-for="item in market" :key="item" :label="item" :value="item" /> <el-option v-for="item in market" :key="item" :label="item" :value="item" />
</el-select> </el-select>
</div> </div>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="head-card-element"> <div class="head-card-element">
<el-text class="mx-1" size="large">充值类型</el-text> <el-text class="mx-1" size="large">充值类型</el-text>
@ -422,22 +400,11 @@ const handleSortChange = (column) => {
<el-col :span="21"> <el-col :span="21">
<div class="head-card-element"> <div class="head-card-element">
<el-text class="mx-1" size="large">充值时间</el-text> <el-text class="mx-1" size="large">充值时间</el-text>
<el-date-picker
v-model="getTime"
type="datetimerange"
range-separator="至"
start-placeholder="起始时间"
end-placeholder="结束时间"
/>
<el-button style="margin-left: 10px" @click="getToday()"
></el-button
>
<el-date-picker v-model="getTime" type="datetimerange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" />
<el-button style="margin-left: 10px" @click="getToday()"></el-button>
<el-button @click="getYesterday()"></el-button> <el-button @click="getYesterday()"></el-button>
<el-button @click="get7Days()">近7天</el-button> <el-button @click="get7Days()">近7天</el-button>
<!-- </div>
</el-col>
<el-col :span="3">
<div class="head-card-btn"> -->
<el-button type="success" @click="reset()">重置</el-button> <el-button type="success" @click="reset()">重置</el-button>
<el-button type="primary" @click="search()">查询</el-button> <el-button type="primary" @click="search()">查询</el-button>
<el-button type="primary" @click="exportExcel()">导出Excel</el-button> <el-button type="primary" @click="exportExcel()">导出Excel</el-button>
@ -457,113 +424,44 @@ const handleSortChange = (column) => {
</div> </div>
<!-- 设置表格容器的高度和滚动样式 --> <!-- 设置表格容器的高度和滚动样式 -->
<div style="height: 520px; overflow-y: auto;margin-top: 10px;"> <div style="height: 520px; overflow-y: auto;margin-top: 10px;">
<el-table
:data="tableData"
style="width: 100%"
height="520px"
@sort-change="handleSortChange"
>
<el-table-column
type="index"
label="序号"
width="80px"
fixed="left"
>
<el-table :data="tableData" style="width: 100%" height="520px" @sort-change="handleSortChange">
<el-table-column type="index" label="序号" width="80px" fixed="left">
<template #default="scope"> <template #default="scope">
<span>{{ <span>{{
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
fixed="left"
prop="name"
label="姓名"
width="80px"
/>
<el-table-column
fixed="left"
prop="jwcode"
label="精网号"
width="80px"
/>
<el-table-column fixed="left" prop="name" label="姓名" width="80px" />
<el-table-column fixed="left" prop="jwcode" label="精网号" width="80px" />
<el-table-column prop="market" label="所属地区" width="100px" /> <el-table-column prop="market" label="所属地区" width="100px" />
<el-table-column
prop="activity"
label="活动名称"
width="100px"
/>
<el-table-column prop="activity" label="活动名称" width="100px" />
<el-table-column prop="rateName" label="货币名称" width="110px" /> <el-table-column prop="rateName" label="货币名称" width="110px" />
<el-table-column
prop="money"
sortable="custom"
label="充值金额"
width="110px"
/>
<el-table-column
prop="permanentGold"
label="永久金币"
sortable="custom"
width="110px"
/>
<el-table-column
prop="freeGold"
label="免费金币"
sortable="custom"
width="110px"
/>
<el-table-column
prop="payPlatform"
label="充值方式"
width="100px"
/>
<el-table-column prop="money" sortable="custom" label="充值金额" width="110px" />
<el-table-column prop="permanentGold" label="永久金币" sortable="custom" width="110px" />
<el-table-column prop="freeGold" label="免费金币" sortable="custom" width="110px" />
<el-table-column prop="payPlatform" label="充值方式" width="100px" />
<el-table-column prop="payModel" label="支付方式" width="100px" /> <el-table-column prop="payModel" label="支付方式" width="100px" />
<el-table-column
prop="remark"
label="备注"
width="150px"
show-overflow-tooltip
/>
<el-table-column prop="remark" label="备注" width="150px" show-overflow-tooltip />
<el-table-column prop="adminName" label="提交人" width="100px" /> <el-table-column prop="adminName" label="提交人" width="100px" />
<el-table-column
prop="payTime"
sortable
label="充值时间"
width="200px"
>
<el-table-column prop="payTime" sortable label="充值时间" width="200px">
<template #default="scope"> <template #default="scope">
{{
moment(scope.row.payTime).format('YYYY-MM-DD HH:mm:ss')
}}
{{ moment(scope.row.payTime).format('YYYY-MM-DD HH:mm:ss') }}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<!-- 分页 --> <!-- 分页 -->
<div class="pagination" style="margin-top: 20px"> <div class="pagination" style="margin-top: 20px">
<el-pagination
background
:page-size="getObj.pageSize"
:page-sizes="[5, 10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
@size-change="handlePageSizeChange"
@current-change="handleCurrentChange"
></el-pagination>
<el-pagination background :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlePageSizeChange"
@current-change="handleCurrentChange"></el-pagination>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
</template> </template>
<style scoped> <style scoped>
.pagination { .pagination {
display: flex; display: flex;

Loading…
Cancel
Save