Browse Source

新增线上充值页面以及bug修改

test
zhaoln 4 weeks ago
parent
commit
4b81ccbaef
  1. 2
      gold-system/src/router/index.js
  2. 31
      gold-system/src/views/goldBeen/goldenBeenConsum.vue
  3. 53
      gold-system/src/views/goldBeen/goldenBeenDetail.vue
  4. 494
      gold-system/src/views/goldBeen/onLineDetail.vue
  5. 1
      gold-system/src/views/index.vue
  6. 2
      gold-system/src/views/login.vue
  7. 4
      gold-system/src/views/recharge/adminRecharge.vue
  8. 24
      gold-system/src/views/recharge/allRecharge.vue
  9. 2
      gold-system/stats.html

2
gold-system/src/router/index.js

@ -49,6 +49,8 @@ const router = createRouter({
{ path: '/goldenBeenBalance', name: "goldenBeenBalance", component: () => import("../views/goldBeen/goldenBeenBalance.vue") }, { path: '/goldenBeenBalance', name: "goldenBeenBalance", component: () => import("../views/goldBeen/goldenBeenBalance.vue") },
//金豆充值明细 //金豆充值明细
{ path: '/goldenBeenDetail', name: "goldenBeenDetail", component: () => import("../views/goldBeen/goldenBeenDetail.vue") }, { path: '/goldenBeenDetail', name: "goldenBeenDetail", component: () => import("../views/goldBeen/goldenBeenDetail.vue") },
//线上充值明细
{ path: '/onLineDetail', name: "onLineDetail", component: () => import("../views/goldBeen/onLineDetail.vue") },
//金豆消费明细 //金豆消费明细
{ path: '/goldenBeenConsum', name: "goldenBeenConsum", component: () => import("../views/goldBeen/goldenBeenConsum.vue") } { path: '/goldenBeenConsum', name: "goldenBeenConsum", component: () => import("../views/goldBeen/goldenBeenConsum.vue") }
] ]

31
gold-system/src/views/goldBeen/goldenBeenConsum.vue

@ -23,9 +23,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="payType" label="消费类型">
<el-form-item prop="sourceType" label="消费类型">
<el-select <el-select
v-model="detailY.payType"
v-model="detailY.sourceType"
placeholder="请选择消费类型" placeholder="请选择消费类型"
style="width: 240px" style="width: 240px"
clearable clearable
@ -38,7 +38,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="channel" label="频道">
<!-- <el-form-item prop="channel" label="频道">
<el-select <el-select
v-model="detailY.channel" v-model="detailY.channel"
placeholder="请选择频道" placeholder="请选择频道"
@ -53,7 +53,7 @@
:value="item" :value="item"
/> />
</el-select> </el-select>
</el-form-item>
</el-form-item> -->
<el-form-item prop="sourceName" label="直播间"> <el-form-item prop="sourceName" label="直播间">
<el-input <el-input
v-model="detailY.sourceName" v-model="detailY.sourceName"
@ -91,17 +91,17 @@
<el-table-column fixed="left" prop="nickname" label="姓名" width="150" /> <el-table-column fixed="left" prop="nickname" label="姓名" width="150" />
<el-table-column fixed="left" prop="jwcode" label="精网号" width="120" /> <el-table-column fixed="left" prop="jwcode" label="精网号" width="120" />
<el-table-column prop="ipAddress" label="地区" width="120" /> <el-table-column prop="ipAddress" label="地区" width="120" />
<el-table-column prop="payType" label="消费类型" width="120">
<el-table-column prop="sourceType" label="消费类型" width="120">
<template #default="scope"> <template #default="scope">
<span>{{ <span>{{
consumList.find((item) => item.value === scope.row.payType)?.text
consumList.find((item) => item.value === scope.row.good)?.text
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="jinbiCostTotal" label="金豆价格" width="120"> <el-table-column prop="jinbiCostTotal" label="金豆价格" width="120">
</el-table-column> </el-table-column>
<el-table-column prop="chanel" label="频道" width="120">
</el-table-column>
<!-- <el-table-column prop="chanel" label="频道" width="120">
</el-table-column> -->
<el-table-column prop="room" label="直播间" width="120"> <el-table-column prop="room" label="直播间" width="120">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -180,9 +180,9 @@ const detailY = ref({
jwcode: '', jwcode: '',
ipAddress: '', ipAddress: '',
createTime: '', createTime: '',
channel: '', //
// channel: '', //
sourceName: '', // sourceName: '', //
payType: '' //
sourceType: '' //
}) })
const getObj = ref({ const getObj = ref({
pageNum: 1, pageNum: 1,
@ -203,8 +203,7 @@ const getInit = async function () {
jwcode: detailY.value.jwcode, // jwcode: detailY.value.jwcode, //
ipAddress: detailY.value.ipAddress, // ipAddress: detailY.value.ipAddress, //
sourceName: detailY.value.sourceName, // sourceName: detailY.value.sourceName, //
payType: detailY.value.payType, //
channel: detailY.value.channel, //
sourceType: detailY.value.sourceType, //
startTime, // startTime, //
endTime // endTime //
} }
@ -247,7 +246,7 @@ const getCount = async () => {
jwcode: detailY.value.jwcode, jwcode: detailY.value.jwcode,
ipAddress: detailY.value.ipAddress, ipAddress: detailY.value.ipAddress,
sourceName: detailY.value.sourceName, sourceName: detailY.value.sourceName,
payType: detailY.value.payType,
sourceType: detailY.value.sourceType,
startTime: detailY.value.createTime[0], startTime: detailY.value.createTime[0],
endTime: detailY.value.createTime[1] endTime: detailY.value.createTime[1]
} }
@ -255,14 +254,14 @@ const getCount = async () => {
if (result.code == 200) { if (result.code == 200) {
//const { jinbiBuy, jinbiFree, jinbiCostTotal } = result.data //const { jinbiBuy, jinbiFree, jinbiCostTotal } = result.data
console.log('合计数', result.data) console.log('合计数', result.data)
beenCount.value = result.data
beenCount.value = result.data || 0
} }
} }
// //
const getArea = async () => { const getArea = async () => {
try { try {
const result = await API({ const result = await API({
url: '/dou/getPayIp'
url: '/dou/getIp'
}) })
areaList.value = result.data areaList.value = result.data
} catch (error) { } catch (error) {
@ -303,6 +302,6 @@ getArea()
.pagination { .pagination {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 20px;
margin-top: 10px;
} }
</style> </style>

53
gold-system/src/views/goldBeen/goldenBeenDetail.vue

@ -37,7 +37,7 @@
style="width: 220px" style="width: 220px"
/> />
</el-form-item> </el-form-item>
<el-form-item prop="payStyle" label="充值平台">
<!-- <el-form-item prop="payStyle" label="充值平台">
<el-select <el-select
v-model="detailY.payStyle" v-model="detailY.payStyle"
placeholder="请选择充值平台" placeholder="请选择充值平台"
@ -51,7 +51,7 @@
:value="item" :value="item"
/> />
</el-select> </el-select>
</el-form-item>
</el-form-item> -->
<el-form-item prop="createTime" label="充值时间"> <el-form-item prop="createTime" label="充值时间">
<el-date-picker <el-date-picker
v-model="detailY.createTime" v-model="detailY.createTime"
@ -72,7 +72,11 @@
</el-form> </el-form>
</div> </div>
<div class="table-box"> <div class="table-box">
<p>金豆总数充值金豆总数{{ countValue }}合计金额数:{{ priceValue }}</p>
<el-card
>金豆总数充值金豆总数{{ countValue }}合计金额数:{{
priceValue
}}</el-card
>
<el-table :data="tableData" style="width: 100%" height="584px"> <el-table :data="tableData" style="width: 100%" height="584px">
<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">
@ -81,30 +85,31 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed="left" prop="name" label="姓名" width="150" />
<el-table-column fixed="left" prop="nickname" label="姓名" width="150" />
<el-table-column fixed="left" prop="jwcode" label="精网号" width="120" /> <el-table-column fixed="left" prop="jwcode" label="精网号" width="120" />
<el-table-column prop="deptName" label="地区" width="120" />
<el-table-column prop="ipAddress" label="地区" width="120" />
<el-table-column prop="orderNo" label="订单号" width="120" /> <el-table-column prop="orderNo" label="订单号" width="120" />
<el-table-column prop="count" label="金豆数量" width="120">
<el-table-column prop="money" label="金豆数量" width="120">
</el-table-column> </el-table-column>
<el-table-column prop="paybeen" label="付费金豆" width="120">
<el-table-column prop="moneyBuy" label="付费金豆" width="120">
</el-table-column> </el-table-column>
<el-table-column prop="freebeen" label="免费金豆" width="120">
<el-table-column prop="moneyFree" label="免费金豆" width="120">
</el-table-column> </el-table-column>
<el-table-column prop="price" label="金额"></el-table-column> <el-table-column prop="price" label="金额"></el-table-column>
<el-table-column prop="payStyle" label="充值平台" width="140">
<el-table-column prop="type" label="类型"></el-table-column>
<!-- <el-table-column prop="payStyle" label="充值平台" width="140">
</el-table-column> </el-table-column>
<el-table-column prop="notes" label="备注" width="210"></el-table-column>
<el-table-column prop="notes" label="备注" width="210"></el-table-column> -->
<el-table-column <el-table-column
prop="successTime"
prop="time"
label="充值时间" label="充值时间"
width="210" width="210"
show-overflow-tooltip show-overflow-tooltip
> >
<template #default="scope"> <template #default="scope">
<span>{{ <span>{{
!!scope.row.successTime
? moment(scope.row.successTime).format('YYYY-MM-DD HH:mm:ss')
!!scope.row.time
? moment.unix(scope.row.time).format('YYYY-MM-DD HH:mm:ss')
: '-' : '-'
}}</span> }}</span>
</template> </template>
@ -418,20 +423,26 @@ const getPayType = async () => {
const getCount = async () => { const getCount = async () => {
try { try {
const result = await API({ const result = await API({
url: '/dou/getRechargeTotal',
url: '/dou/getTotal',
data: { data: {
jwcode: detailY.value.jwcode, jwcode: detailY.value.jwcode,
deptName: detailY.value.deptName,
//deptName: detailY.value.deptName,
startTime: detailY.value.createTime[0], startTime: detailY.value.createTime[0],
endTime: detailY.value.createTime[1], endTime: detailY.value.createTime[1],
orderNo: detailY.value.orderNo, orderNo: detailY.value.orderNo,
payStyle: detailY.value.payStyle
type: detailY.value.type
// payStyle: detailY.value.payStyle
} }
}) })
const { priceTotal, countTotal } = result.data
console.log('金豆总数', priceTotal, countTotal)
priceValue.value = priceTotal
countValue.value = countTotal
if (!!result.data) {
const { price, count } = result.data
console.log('金豆总数', price, count)
priceValue.value = price
countValue.value = count
} else {
priceValue.value = 0
countValue.value = 0
}
} catch (error) { } catch (error) {
console.log('请求失败', error) console.log('请求失败', error)
} }
@ -470,6 +481,6 @@ getCount()
.pagination { .pagination {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 20px;
margin-top: 10px;
} }
</style> </style>

494
gold-system/src/views/goldBeen/onLineDetail.vue

@ -0,0 +1,494 @@
<template>
<div class="filter-box">
<el-form :model="detailY" ref="ruleFormRef">
<el-form-item prop="jwcode" label="精网号">
<el-input
v-model="detailY.jwcode"
placeholder="请输入精网号"
style="width: 220px"
/>
</el-form-item>
<el-form-item prop="deptName" label="地区">
<el-select
v-model="detailY.deptName"
placeholder="请选择所属地区"
style="width: 240px"
clearable
>
<el-option
v-for="item in areaList"
:key="item"
:label="item"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item prop="orderNo" label="订单号">
<el-input
v-model="detailY.orderNo"
placeholder="请输入订单号"
style="width: 220px"
/>
</el-form-item>
<!-- <el-form-item prop="type" label="充值类型">
<el-input
v-model="detailY.type"
placeholder="请输入充值类型"
style="width: 220px"
/>
</el-form-item> -->
<el-form-item prop="payStyle" label="充值平台">
<el-select
v-model="detailY.payStyle"
placeholder="请选择充值平台"
style="width: 240px"
clearable
>
<el-option
v-for="item in platformList"
:key="item"
:label="item"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item prop="createTime" label="充值时间">
<el-date-picker
v-model="detailY.createTime"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
:unlinkPanels="true"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="search">查询</el-button>
<el-button type="success" @click="reset(ruleFormRef)">重置</el-button>
<el-button type="primary" @click="exportExcel">导出excel</el-button>
</el-form-item>
</el-form>
</div>
<div class="table-box">
<p>金豆总数充值金豆总数{{ countValue }}合计金额数:{{ priceValue }}</p>
<el-table :data="tableData" style="width: 100%" height="584px">
<el-table-column type="index" label="序号" width="100px" fixed="left">
<template #default="scope">
<span>{{
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
}}</span>
</template>
</el-table-column>
<el-table-column fixed="left" prop="name" label="姓名" width="150" />
<el-table-column fixed="left" prop="jwcode" label="精网号" width="120" />
<el-table-column prop="deptName" label="地区" width="120" />
<el-table-column prop="orderNo" label="订单号" width="120" />
<el-table-column prop="count" label="金豆数量" width="120">
</el-table-column>
<!-- <el-table-column prop="moneyBuy" label="付费金豆" width="120">
</el-table-column>
<el-table-column prop="moneyFree" label="免费金豆" width="120">
</el-table-column> -->
<el-table-column prop="price" label="金额"></el-table-column>
<!-- <el-table-column prop="type" label="类型"></el-table-column> -->
<el-table-column prop="payStyle" label="充值平台" width="140">
</el-table-column>
<!-- <el-table-column prop="notes" label="备注" width="210"></el-table-column> -->
<el-table-column
prop="successTime"
label="充值时间"
width="210"
show-overflow-tooltip
>
<template #default="scope">
<span>{{
!!scope.row.successTime
? moment.unix(scope.row.time).format('YYYY-MM-DD HH:mm:ss')
: '-'
}}</span>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<div class="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>
<!-- 这是导出excel的弹窗 -->
<el-dialog
v-model="dialogVisible"
title="请选择导出条件"
width="500"
:close-on-click-modal="false"
@close="
() => {
dialogVisible = false
isExport = false
}
"
>
<template #footer>
<el-form
ref="ruleFormRef"
style="max-width: 600px"
:model="excelData"
:rules="rules"
label-width="auto"
class="demo-ruleForm"
status-icon
>
<el-form-item prop="activityName" label="精网号:">
<el-input
v-model="excelData.jwcode"
placeholder="请输入精网号"
style="width: 220px"
/>
</el-form-item>
<el-form-item label="所属地区:"
><el-select
v-model="excelData.area"
placeholder="请选择所属地区"
style="width: 240px"
clearable
>
<el-option
v-for="item in areaList"
:key="item"
:label="item"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item label="更新时间:">
<el-radio-group v-model="excelData.timegap">
<el-radio value="1">今天</el-radio>
<el-radio value="3">近三天</el-radio>
<el-radio value="7">近一周</el-radio>
<el-radio value="30">近一个月</el-radio>
</el-radio-group>
</el-form-item>
<el-button
type="primary"
size="small"
style="margin-left: 10px"
@click="exportConfirm()"
>确定</el-button
>
</el-form>
</template>
</el-dialog>
</template>
<script setup lang="ts">
import { reactive, ref } from 'vue'
import { FormInstance } from 'element-plus'
import { ElMessage } from 'element-plus'
import moment from 'moment'
import API from '@/util/http'
import { utils, write } from 'xlsx'
import { saveAs } from 'file-saver'
//
const tableData = ref([])
//
const total = ref(100)
const dialogVisible = ref(false)
const excelData = reactive({
jwcode: '',
area: '',
timegap: '',
startTime: '',
endTime: ''
})
const priceValue = ref(0)
const countValue = ref(0)
const areaList = ref<string[]>([])
const isExport = ref<boolean>(false)
const rules = ref({
jwcode: [{ required: true, message: '请输入精网号', trigger: 'blur' }],
area: [{ required: true, message: '请选择所属地区', trigger: 'change' }]
})
const handlePageSizeChange = (val) => {
getObj.value.pageSize = val
getObj.value.pageNum = 1
getInit({})
}
const handleCurrentChange = function (val) {
getObj.value.pageNum = val
getInit({})
}
const platformList = ref<string[]>([
// 'stripe',
// 'ios',
// 'FirstData',
// 'paymentasia',
// 'system',
// ''
])
const typeList = ref<string[]>([
'金币换金豆',
'金币换免费金豆',
'赠送金豆',
'购买金豆',
'客服操作'
])
//
const detailY = ref({
jwcode: '',
deptName: '',
orderNo: '',
payStyle: '',
type: '',
createTime: ''
})
const getObj = ref({
pageNum: 1,
pageSize: 50
})
const exportExcel = function () {
dialogVisible.value = true
isExport.value = true
}
const exportConfirm = function () {
if (excelData.timegap == '1') {
excelData.startTime = moment().startOf('day').format('YYYY-MM-DD HH:mm:ss')
excelData.endTime = moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')
} else if (excelData.timegap == '3') {
excelData.startTime = moment()
.subtract(3, 'days')
.startOf('day')
.format('YYYY-MM-DD HH:mm:ss')
excelData.endTime = moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')
} else if (excelData.timegap == '7') {
excelData.startTime = moment()
.subtract(7, 'days')
.startOf('day')
.format('YYYY-MM-DD')
excelData.endTime = moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')
} else if (excelData.timegap == '30') {
excelData.startTime = moment()
.subtract(30, 'days')
.startOf('day')
.format('YYYY-MM-DD HH:mm:ss')
excelData.endTime = moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
getInit(
{
sortField: '',
sortOrder: ''
},
(data) => {
console.log('导出数据', data)
//
data = data.map((item) => {
return {
姓名: item.name,
精网号: item.jwcode,
地区: item.deptName,
订单号: item.orderNo,
充值平台: item.payStyle,
金豆数量: item.count,
充值时间: moment(item.successTime).format('YYYY-MM-DD'),
金额: item.price
}
})
if (data.length == 0) {
ElMessage.error('没有数据')
isExport.value = false
dialogVisible.value = false
return
}
console.log('导出数据', data)
excelExport(data)
}
)
}
//excel
const excelExport = async function (data) {
const worksheet = utils.json_to_sheet(data)
const workbook = utils.book_new()
utils.book_append_sheet(workbook, worksheet, 'Sheet1')
const wbout = write(workbook, { bookType: 'xlsx', type: 'array' })
saveAs(
new Blob([wbout], { type: 'application/octet-stream' }),
'数据导出.xlsx'
)
isExport.value = false
dialogVisible.value = false
}
const ruleFormRef = ref<FormInstance>()
//
const getInit = async function (
{
sortField = '',
sortOrder = ''
}: {
sortField?: string
sortOrder?: string
},
callback?: Function
) {
try {
console.log('搜索参数', getObj.value)
const [startTime, endTime] = detailY.value.createTime
console.log(startTime, endTime)
// POST
const result = await API({
url: '/dou/SearchPay',
data: {
pay: {
jwcode: isExport.value ? excelData.jwcode : detailY.value.jwcode,
deptName: isExport.value ? excelData.area : detailY.value.deptName,
startTime: isExport.value ? excelData.startTime : startTime || '',
endTime: isExport.value ? excelData.endTime : endTime || '',
payStyle: isExport.value ? '' : detailY.value.payStyle,
// type: isExport.value ? '' : detailY.value.type,
orderNo: isExport.value ? '' : detailY.value.orderNo,
sortField,
sortOrder
},
pageNum: isExport.value ? '' : getObj.value.pageNum,
pageSize: isExport.value ? '' : getObj.value.pageSize
}
})
if (isExport.value) {
!!callback && callback(result.data)
} else {
tableData.value = result.data.list
total.value = result.data.total
}
} catch (error) {
console.log('请求失败', error)
//
}
}
// const handleSortChange = (column) => {
// const { prop, order } = column
// if (order === 'ascending') {
// getInit({ sortField: prop, sortOrder: 'ASC' })
// } else if (order === 'descending') {
// getInit({ sortField: prop, sortOrder: 'DESC' })
// }
// }
//
const search = function () {
getObj.value.pageNum = 1
getInit({})
getCount()
}
//
const reset = function (formEl) {
formEl.resetFields()
}
//
const getPayPlatform = async () => {
try {
const result = await API({
url: '/dou/SearchStyle'
})
platformList.value = result.data
} catch (error) {
console.log('请求失败', error)
}
}
//
const getArea = async () => {
try {
const result = await API({
url: '/dou/SearchPayIp'
})
areaList.value = result.data
} catch (error) {
console.log('请求失败', error)
}
}
//
const getPayType = async () => {
try {
const result = await API({
url: '/dou/getStyle'
})
platformList.value = result.data
// typeList.value = result.data
} catch (error) {
console.log('请求失败', error)
}
}
//
const getCount = async () => {
try {
const result = await API({
url: '/dou/getRechargeTotal',
data: {
jwcode: detailY.value.jwcode,
deptName: detailY.value.deptName,
startTime: detailY.value.createTime[0],
endTime: detailY.value.createTime[1],
orderNo: detailY.value.orderNo,
payStyle: detailY.value.payStyle
}
})
if (!!result.data) {
console.log('合计数', result.data)
const { priceTotal, countTotal } = result.data
console.log('金豆总数', priceTotal, countTotal)
priceValue.value = priceTotal
countValue.value = countTotal
} else {
priceValue.value = 0
countValue.value = 0
}
} catch (error) {
console.log('请求失败', error)
}
}
getInit({})
getArea()
getPayType()
getCount()
getPayPlatform()
</script>
<style scoped lang="scss">
.filter-box {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
padding-bottom: 0px;
box-sizing: border-box;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
margin-bottom: 20px;
border-radius: 5px;
.el-form {
display: flex;
flex-wrap: wrap;
row-gap: 20px;
column-gap: 20px;
}
}
.table-box {
width: 100%;
padding: 20px;
box-sizing: border-box;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
border-radius: 5px;
}
.pagination {
display: flex;
align-items: center;
margin-top: 10px;
}
</style>

1
gold-system/src/views/index.vue

@ -228,6 +228,7 @@ const changeDataByArea = (item) => {
> >
<el-menu-item index="/addGoldenBeen">金豆充值</el-menu-item> <el-menu-item index="/addGoldenBeen">金豆充值</el-menu-item>
<el-menu-item index="/goldenBeenDetail">金豆充值明细</el-menu-item> <el-menu-item index="/goldenBeenDetail">金豆充值明细</el-menu-item>
<el-menu-item index="/onLineDetail">线上充值明细</el-menu-item>
<el-menu-item index="/goldenBeenConsum">金豆消费明细</el-menu-item> <el-menu-item index="/goldenBeenConsum">金豆消费明细</el-menu-item>
<el-menu-item index="/goldenBeenBalance">客户金豆余额</el-menu-item> <el-menu-item index="/goldenBeenBalance">客户金豆余额</el-menu-item>
</el-sub-menu> </el-sub-menu>

2
gold-system/src/views/login.vue

@ -96,7 +96,7 @@ const login = async function () {
<el-form-item class="flex"> </el-form-item> <el-form-item class="flex"> </el-form-item>
<!-- 登录按钮 --> <!-- 登录按钮 -->
<el-form-item> <el-form-item>
<button class="button" @click="login()">
<button type="button" class="button" @click="login()">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
fill="none" fill="none"

4
gold-system/src/views/recharge/adminRecharge.vue

@ -539,8 +539,8 @@ const handleSortChange = (column) => {
<el-tab-pane label="已通过" name="pass"></el-tab-pane> <el-tab-pane label="已通过" name="pass"></el-tab-pane>
<el-tab-pane label="已驳回" name="reject"></el-tab-pane> <el-tab-pane label="已驳回" name="reject"></el-tab-pane>
<div> <div>
充值金额{{ trueRGold }}新币永久金币{{
trueRGold
充值金额{{ trueRGold.toFixed(2) }}新币永久金币{{
trueRGold.toFixed(2)
}}金币免费金币{{ trueFGold }}金币 }}金币免费金币{{ trueFGold }}金币
</div> </div>
</el-tabs> </el-tabs>

24
gold-system/src/views/recharge/allRecharge.vue

@ -316,12 +316,13 @@ const getActivity = async function () {
// //
// //
const getArea = async function () { const getArea = async function () {
console.log('888888888880000000')
try { try {
// POST // POST
const result = await API.post({ url: '/recharge/user/search', data: {} })
const result = await API({ url: '/recharge/user/search', data: {} })
// //
console.log('请求成功', result)
console.log('请求成功地区', result.data)
// //
area.value = result.data area.value = result.data
console.log('地区', area.value) console.log('地区', area.value)
@ -360,12 +361,13 @@ const checkNumber = function () {
// //
onMounted(async function () { onMounted(async function () {
await getAdminData()
await get()
await getActivity()
await getArea()
await getPayWay()
getAdminData()
get()
getActivity()
getPayWay()
}) })
getArea()
const handlePageSizeChange = function (val) { const handlePageSizeChange = function (val) {
getObj.value.pageSize = val getObj.value.pageSize = val
get() get()
@ -502,9 +504,9 @@ const handleSortChange = (column) => {
<el-tab-pane label="已通过" name="pass"></el-tab-pane> <el-tab-pane label="已通过" name="pass"></el-tab-pane>
<el-tab-pane label="已驳回" name="reject"></el-tab-pane> <el-tab-pane label="已驳回" name="reject"></el-tab-pane>
<div> <div>
充值金额{{ trueRGold / 100 }}新币永久金币{{
trueRGold / 100
}}金币免费金币{{ totalFcoin / 100 }}金币
充值金额{{ (trueRGold / 100).toFixed(2) }}新币永久金币{{
(trueRGold / 100).toFixed(2)
}}金币免费金币{{ (totalFcoin / 100).toFixed(2) }}金币
</div> </div>
</el-tabs> </el-tabs>
<!-- 设置表格容器的高度和滚动样式 --> <!-- 设置表格容器的高度和滚动样式 -->
@ -596,7 +598,7 @@ const handleSortChange = (column) => {
<template #default="scope"> <template #default="scope">
<el-image <el-image
:preview-src-list="[scope.row.rechargeVoucher]" :preview-src-list="[scope.row.rechargeVoucher]"
preview-teleported="true"
:preview-teleported="true"
:src="scope.row.rechargeVoucher" :src="scope.row.rechargeVoucher"
alt="凭证" alt="凭证"
style="width: 50px; height: 50px" style="width: 50px; height: 50px"

2
gold-system/stats.html
File diff suppressed because it is too large
View File

Loading…
Cancel
Save