|
@ -1,13 +1,10 @@ |
|
|
<script setup> |
|
|
<script setup> |
|
|
// 这是客户金币余额页面 |
|
|
// 这是客户金币余额页面 |
|
|
import { ref, onMounted, reactive, computed, watch } from 'vue' |
|
|
|
|
|
import ElementPlus from 'element-plus' |
|
|
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus' |
|
|
|
|
|
import axios from 'axios' |
|
|
|
|
|
|
|
|
import {onMounted, ref} from 'vue' |
|
|
|
|
|
import {ElMessage} from 'element-plus' |
|
|
import moment from 'moment' |
|
|
import moment from 'moment' |
|
|
import { ta } from 'element-plus/es/locales.mjs' |
|
|
|
|
|
import API from '@/util/http.js' |
|
|
import API from '@/util/http.js' |
|
|
import { marketMapping, reverseMarketMapping } from "@/utils/marketMap.js"; |
|
|
|
|
|
|
|
|
import {reverseMarketMapping} from "@/utils/marketMap.js"; |
|
|
|
|
|
|
|
|
// 变量 |
|
|
// 变量 |
|
|
//这是获取用户信息的接口 |
|
|
//这是获取用户信息的接口 |
|
@ -15,7 +12,7 @@ const adminData = ref({}) |
|
|
const dialogVisible = ref(false) |
|
|
const dialogVisible = ref(false) |
|
|
const getAdminData = async function () { |
|
|
const getAdminData = async function () { |
|
|
try { |
|
|
try { |
|
|
const result = await API({ url: '/admin/userinfo', data: {} }) |
|
|
|
|
|
|
|
|
const result = await API({url: '/admin/userinfo', data: {}}) |
|
|
adminData.value = result |
|
|
adminData.value = result |
|
|
// console.log('请求成功', result) |
|
|
// console.log('请求成功', result) |
|
|
console.log('管理员用户信息', adminData.value) |
|
|
console.log('管理员用户信息', adminData.value) |
|
@ -85,7 +82,7 @@ const get = async function (val) { |
|
|
|
|
|
|
|
|
// 发送POST请求 |
|
|
// 发送POST请求 |
|
|
|
|
|
|
|
|
const requestData = { ...getObj.value, user: { ...user.value } };//控制台打印请求的参数 |
|
|
|
|
|
|
|
|
const requestData = {...getObj.value, user: {...user.value}};//控制台打印请求的参数 |
|
|
console.log('最终请求参数', JSON.stringify(requestData, null, 2)); // 打印格式化后的请求参数 |
|
|
console.log('最终请求参数', JSON.stringify(requestData, null, 2)); // 打印格式化后的请求参数 |
|
|
|
|
|
|
|
|
//console.log('请求参数', requestData); |
|
|
//console.log('请求参数', requestData); |
|
@ -93,7 +90,7 @@ const get = async function (val) { |
|
|
const result = await API({ |
|
|
const result = await API({ |
|
|
url: '/goldDetail/getGold', |
|
|
url: '/goldDetail/getGold', |
|
|
method: 'post', |
|
|
method: 'post', |
|
|
data: { ...getObj.value, user: { ...user.value } } |
|
|
|
|
|
|
|
|
data: {...getObj.value, user: {...user.value}} |
|
|
}) |
|
|
}) |
|
|
console.log('响应数据', result) |
|
|
console.log('响应数据', result) |
|
|
tableData.value = result.data.list |
|
|
tableData.value = result.data.list |
|
@ -167,7 +164,7 @@ const search = function () { |
|
|
} |
|
|
} |
|
|
// 重置 |
|
|
// 重置 |
|
|
const reset = function () { |
|
|
const reset = function () { |
|
|
user.value = { market: "" } |
|
|
|
|
|
|
|
|
user.value = {market: ""} |
|
|
sortField.value = '' |
|
|
sortField.value = '' |
|
|
sortOrder.value = '' |
|
|
sortOrder.value = '' |
|
|
get() |
|
|
get() |
|
@ -220,7 +217,7 @@ const exportExcel = async function () { |
|
|
market: user.value.market || "" |
|
|
market: user.value.market || "" |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
const res = await API({ url: '/goldDetail/exportGold', data: params }) |
|
|
|
|
|
|
|
|
const res = await API({url: '/goldDetail/exportGold', data: params}) |
|
|
if (res.code === 200) { |
|
|
if (res.code === 200) { |
|
|
ElMessage.success('导出成功') |
|
|
ElMessage.success('导出成功') |
|
|
} |
|
|
} |
|
@ -242,7 +239,7 @@ const exportListLoading = ref(false) |
|
|
const getExportList = async () => { |
|
|
const getExportList = async () => { |
|
|
exportListLoading.value = true |
|
|
exportListLoading.value = true |
|
|
try { |
|
|
try { |
|
|
const result = await API({ url: '/export/export' }) |
|
|
|
|
|
|
|
|
const result = await API({url: '/export/export'}) |
|
|
if (result.code === 200) { |
|
|
if (result.code === 200) { |
|
|
const filteredData = result.data.filter(item => { |
|
|
const filteredData = result.data.filter(item => { |
|
|
return item.type === 1; //返回type為0即客户金币余额的数据 |
|
|
return item.type === 1; //返回type為0即客户金币余额的数据 |
|
@ -327,8 +324,8 @@ const getMarket = async function () { |
|
|
|
|
|
|
|
|
return allChildren.map(child => { |
|
|
return allChildren.map(child => { |
|
|
const grandchildren = child.children && child.children.length |
|
|
const grandchildren = child.children && child.children.length |
|
|
? transformTree([child]) // 递归处理子节点 |
|
|
|
|
|
: null; |
|
|
|
|
|
|
|
|
? transformTree([child]) // 递归处理子节点 |
|
|
|
|
|
: null; |
|
|
|
|
|
|
|
|
return { |
|
|
return { |
|
|
value: child.name, |
|
|
value: child.name, |
|
@ -354,7 +351,7 @@ const getMarket = async function () { |
|
|
<div class="head-card"> |
|
|
<div class="head-card"> |
|
|
<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-input v-model="user.jwcode" style="width: 160px" placeholder="请输入精网号" clearable /> |
|
|
|
|
|
|
|
|
<el-input v-model="user.jwcode" style="width: 160px" placeholder="请输入精网号" clearable/> |
|
|
</div> |
|
|
</div> |
|
|
<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> |
|
@ -389,29 +386,25 @@ const getMarket = async function () { |
|
|
<!-- 设置表格容器的高度和滚动样式 --> |
|
|
<!-- 设置表格容器的高度和滚动样式 --> |
|
|
<div style="height: 626px; overflow-y: auto"> |
|
|
<div style="height: 626px; overflow-y: auto"> |
|
|
<el-table :data="tableData" @cellClick="cellClick" style="width: 100%" height="626px" |
|
|
<el-table :data="tableData" @cellClick="cellClick" style="width: 100%" height="626px" |
|
|
@sort-change="handleSortChange"> |
|
|
|
|
|
|
|
|
@sort-change="handleSortChange"> |
|
|
<el-table-column type="index" label="序号" width="100px" fixed="left"> |
|
|
<el-table-column type="index" label="序号" width="100px" fixed="left"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
<span>{{ |
|
|
<span>{{ |
|
|
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize |
|
|
|
|
|
}}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="name" label="姓名" width="120" /> |
|
|
|
|
|
<el-table-column prop="jwcode" label="精网号" width="120" /> |
|
|
|
|
|
<el-table-column prop="market" label="所属地区" width="120"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
{{ marketMapping[scope.row.market] || scope.row.market }} |
|
|
|
|
|
|
|
|
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize |
|
|
|
|
|
}}</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="name" label="姓名" width="120"/> |
|
|
|
|
|
<el-table-column prop="jwcode" label="精网号" width="120"/> |
|
|
|
|
|
<el-table-column prop="market" label="所属地区" width="120"/> |
|
|
<el-table-column prop="allJb" label="金币总数" width="120" aligh="center"> |
|
|
<el-table-column prop="allJb" label="金币总数" width="120" aligh="center"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
<span>{{ |
|
|
<span>{{ |
|
|
((scope.row.currentPermanentGold || 0) + |
|
|
|
|
|
(scope.row.currentFreeJune || 0) + |
|
|
|
|
|
(scope.row.currentFreeDecember || 0) + |
|
|
|
|
|
(scope.row.currentTaskGold || 0)) / 100 |
|
|
|
|
|
}}</span> |
|
|
|
|
|
|
|
|
((scope.row.currentPermanentGold || 0) + |
|
|
|
|
|
(scope.row.currentFreeJune || 0) + |
|
|
|
|
|
(scope.row.currentFreeDecember || 0) + |
|
|
|
|
|
(scope.row.currentTaskGold || 0)) / 100 |
|
|
|
|
|
}}</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="currentPermanentGold" label="永久金币" sortable="custom" width="110"> |
|
|
<el-table-column prop="currentPermanentGold" label="永久金币" sortable="custom" width="110"> |
|
@ -464,8 +457,8 @@ const getMarket = async function () { |
|
|
<div> |
|
|
<div> |
|
|
<div>永久金币:{{ (scope.row.sumConsumeGold || 0) / 100 }}</div> |
|
|
<div>永久金币:{{ (scope.row.sumConsumeGold || 0) / 100 }}</div> |
|
|
<div>免费金币:{{ |
|
|
<div>免费金币:{{ |
|
|
((scope.row.sumConsumeJune || 0) + (scope.row.sumConsumeDecember || 0)) / 100 |
|
|
|
|
|
}} |
|
|
|
|
|
|
|
|
((scope.row.sumConsumeJune || 0) + (scope.row.sumConsumeDecember || 0)) / 100 |
|
|
|
|
|
}} |
|
|
</div> |
|
|
</div> |
|
|
<div>任务金币:{{ (scope.row.sumConsumeJune || 0) / 100 }}</div> |
|
|
<div>任务金币:{{ (scope.row.sumConsumeJune || 0) / 100 }}</div> |
|
|
</div> |
|
|
</div> |
|
@ -489,8 +482,9 @@ const getMarket = async function () { |
|
|
<!-- 分页 --> |
|
|
<!-- 分页 --> |
|
|
<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]" |
|
|
<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> |
|
|
|
|
|
|
|
|
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> |
|
@ -498,7 +492,7 @@ const getMarket = async function () { |
|
|
|
|
|
|
|
|
<el-dialog v-model="exportListVisible" title="导出列表" width="80%"> |
|
|
<el-dialog v-model="exportListVisible" title="导出列表" width="80%"> |
|
|
<el-table :data="exportList" style="width: 100% ;height: 60vh;" :loading="exportListLoading"> |
|
|
<el-table :data="exportList" style="width: 100% ;height: 60vh;" :loading="exportListLoading"> |
|
|
<el-table-column prop="fileName" label="文件名" /> |
|
|
|
|
|
|
|
|
<el-table-column prop="fileName" label="文件名"/> |
|
|
<el-table-column prop="state" label="状态"> |
|
|
<el-table-column prop="state" label="状态"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
<el-tag :type="getTagType(scope.row.state)" :effect="scope.row.state === 3 ? 'light' : 'plain'"> |
|
|
<el-tag :type="getTagType(scope.row.state)" :effect="scope.row.state === 3 ? 'light' : 'plain'"> |
|
@ -514,7 +508,7 @@ const getMarket = async function () { |
|
|
<el-table-column label="操作"> |
|
|
<el-table-column label="操作"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
<el-button type="primary" size="small" @click="downloadExportFile(scope.row)" |
|
|
<el-button type="primary" size="small" @click="downloadExportFile(scope.row)" |
|
|
:disabled="scope.row.state !== 2"> |
|
|
|
|
|
|
|
|
:disabled="scope.row.state !== 2"> |
|
|
下载 |
|
|
下载 |
|
|
</el-button> |
|
|
</el-button> |
|
|
</template> |
|
|
</template> |
|
|