4 changed files with 314 additions and 1 deletions
@ -0,0 +1,296 @@ |
|||||
|
<template> |
||||
|
<div class="main-content12 expense-wrap"> |
||||
|
<h3 class="pagetitle">余额管理</h3> |
||||
|
<div class="flex-common"> |
||||
|
<div class="flex-between"> |
||||
|
<el-tabs v-model="totalType" @tab-click="handleClick"> |
||||
|
<el-tab-pane label="余额充值" name="1"></el-tab-pane> |
||||
|
<el-tab-pane label="充值记录" name="2"></el-tab-pane> |
||||
|
<el-tab-pane label="退款记录" name="3"></el-tab-pane> |
||||
|
</el-tabs> |
||||
|
<div class="flex"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="mt24"> |
||||
|
<div class="flex-between w552 mt12"> |
||||
|
<div class="wallet-choose">充值选择</div> |
||||
|
<div class="wallet-desc flex">设置通用余额提醒,防止余额不足,点此设置<img style="width: 14px" src="@/assets/input_ex_ic.png"/></div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="flex gap24"> |
||||
|
<div class="wallet-item wallet-item-active"> |
||||
|
<div class="wallet-name">通用钱包</div> |
||||
|
<div class="wallet-num">当前余额<span class="wallet-price">4560</span>元</div> |
||||
|
</div> |
||||
|
<div class="wallet-item"> |
||||
|
<div class="wallet-name">通用钱包</div> |
||||
|
<div class="wallet-num">当前余额<span class="wallet-price">4560</span>元</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
|
||||
|
|
||||
|
export default { |
||||
|
components: { |
||||
|
|
||||
|
}, |
||||
|
props: { |
||||
|
total_type: { |
||||
|
type: String, |
||||
|
default: '1' |
||||
|
}, |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
totalType:'1', |
||||
|
date: this.getNow(), |
||||
|
tableLoading:false, |
||||
|
|
||||
|
walletList:[], |
||||
|
|
||||
|
|
||||
|
siteNum: 1, |
||||
|
tableKey: '', |
||||
|
monthList:[], |
||||
|
monthTotal:[], |
||||
|
payList:[], |
||||
|
nameList:[], |
||||
|
topList:[], |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.$nextTick(()=>{ |
||||
|
this.totalType = this.total_type; |
||||
|
|
||||
|
this.handleClick() |
||||
|
}) |
||||
|
}, |
||||
|
methods: { |
||||
|
handleClickDetail(id){ |
||||
|
if(this.totalType == 2) this.$router.push(`/agent/statisticalDetails?uid=${id}&total_type=${this.totalType}&date=${this.date}`) |
||||
|
if(this.totalType == 3) this.$router.push(`/agent/statisticalDetails?chktype=${id}&total_type=${this.totalType}&date=${this.date}`) |
||||
|
}, |
||||
|
handleClicksiteRank(id){ |
||||
|
this.$router.push(`/agent/siteRank?id=${id}&total_type=${this.totalType}&date=`+this.date) |
||||
|
}, |
||||
|
handleClickserviceRank(id){ |
||||
|
this.$router.push(`/agent/serviceRank?id=${id}&total_type=${this.totalType}&date=`+this.date) |
||||
|
}, |
||||
|
handleClick(){ |
||||
|
this.monthList = [] |
||||
|
this.payList = [] |
||||
|
this.monthTotal = [] |
||||
|
this.nameList = [] |
||||
|
this.topList = [] |
||||
|
this.tableKey = Math.random(); |
||||
|
if(this.totalType == 1) this.getRechargeData() |
||||
|
if(this.totalType == 2) this.getSiteStats() |
||||
|
if(this.totalType == 3) this.getChktypeStats() |
||||
|
}, |
||||
|
getRechargeData() { |
||||
|
try { |
||||
|
this.$http('POST', '/agentnew/ajax_get_recharge_data', {date: this.date}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
this.walletList = response.data |
||||
|
console.log(response) |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
} catch (error) { |
||||
|
console.error('数据加载失败:', error) |
||||
|
} |
||||
|
}, |
||||
|
getSiteStats() { |
||||
|
this.tableLoading = true |
||||
|
try { |
||||
|
this.$http('POST', '/agentnew/ajax_get_site_stats', {date: this.date}).then(response => { |
||||
|
this.tableLoading = false |
||||
|
this.$nextTick(() => { |
||||
|
this.monthList = response.data.list |
||||
|
this.payList = response.data.pay_list |
||||
|
this.monthTotal = response.data.total |
||||
|
this.nameList = response.data.name_list |
||||
|
this.topList = response.data.top_list |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
} catch (error) { |
||||
|
console.error('数据加载失败:', error) |
||||
|
} finally { |
||||
|
this.tableLoading = false |
||||
|
} |
||||
|
}, |
||||
|
getChktypeStats() { |
||||
|
this.tableLoading = true |
||||
|
try { |
||||
|
this.$http('POST', '/agentnew/ajax_get_chktype_stats', {date: this.date}).then(response => { |
||||
|
this.tableLoading = false |
||||
|
this.$nextTick(() => { |
||||
|
this.monthList = response.data.list |
||||
|
this.payList = response.data.pay_list |
||||
|
this.monthTotal = response.data.total |
||||
|
this.nameList = response.data.name_list |
||||
|
this.topList = response.data.top_list |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
} catch (error) { |
||||
|
console.error('数据加载失败:', error) |
||||
|
} finally { |
||||
|
this.tableLoading = false |
||||
|
} |
||||
|
}, |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
.w552{ |
||||
|
width: 552px; |
||||
|
letter-spacing: 0.08em; |
||||
|
} |
||||
|
.wallet-choose{ |
||||
|
font-size: 14px; |
||||
|
color: #1E2226; |
||||
|
} |
||||
|
.wallet-desc{ |
||||
|
font-size: 12px; |
||||
|
color: #8A9099; |
||||
|
} |
||||
|
.wallet-item{ |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
gap: 12px; |
||||
|
text-align: left; |
||||
|
padding: 16px 18px; |
||||
|
width: 264px; |
||||
|
letter-spacing: 0.08em; |
||||
|
border-radius: 8px; |
||||
|
background: #F2F7FF; |
||||
|
|
||||
|
.wallet-name{ |
||||
|
color: #006AFF; |
||||
|
font-size: 14px; |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
.wallet-num{ |
||||
|
font-size: 12px; |
||||
|
color: #626573; |
||||
|
} |
||||
|
.wallet-price{ |
||||
|
font-size: 22px; |
||||
|
font-weight: bold; |
||||
|
color: #626573; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.wallet-item-active{ |
||||
|
background: #F2F7FF; |
||||
|
} |
||||
|
|
||||
|
.gap24 { |
||||
|
gap: 24px; |
||||
|
width: 100%; |
||||
|
align-items: stretch; |
||||
|
} |
||||
|
|
||||
|
::v-deep .el-table__footer-wrapper tbody td.el-table__cell { |
||||
|
background-color: #E8F0FE; /* 背景色 */ |
||||
|
color: #006AFF; /* 文字颜色 */ |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
|
||||
|
.loss-profit{ |
||||
|
color: #FF4D4F; |
||||
|
} |
||||
|
.red{ |
||||
|
color: #FF4D4F; |
||||
|
} |
||||
|
|
||||
|
.expense-wrap{ |
||||
|
.pagetitle { |
||||
|
text-align: left; |
||||
|
font-size: 16px; |
||||
|
font-weight: bold; |
||||
|
line-height: normal; |
||||
|
letter-spacing: 0.08em; |
||||
|
color: #1E2226; |
||||
|
margin-top: 8px; |
||||
|
} |
||||
|
.monthTotal-wrap{ |
||||
|
display: grid; |
||||
|
grid-gap: 12px; |
||||
|
grid-template-columns: repeat(auto-fit, 287px); |
||||
|
} |
||||
|
|
||||
|
.loss-tip{ |
||||
|
width: 50px; |
||||
|
height: 24px; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
box-sizing: border-box; |
||||
|
border-radius: 4px; |
||||
|
background: #FFF1F0; |
||||
|
box-sizing: border-box; |
||||
|
border: 1px solid #FFA39E; |
||||
|
font-size: 14px; |
||||
|
font-weight: normal; |
||||
|
line-height: 20px; |
||||
|
text-align: center; |
||||
|
letter-spacing: 0.08em; |
||||
|
color: #FF4D4F; |
||||
|
} |
||||
|
.loss-tip-empty{ |
||||
|
width: 50px; |
||||
|
height: 24px; |
||||
|
display: flex; |
||||
|
} |
||||
|
.total-item{ |
||||
|
padding: 14px 16px; |
||||
|
font-size: 12px; |
||||
|
letter-spacing: 0.03em; |
||||
|
color: #23242B; |
||||
|
box-sizing: border-box; |
||||
|
border-radius: 4px; |
||||
|
background: #F2F7FF; |
||||
|
min-height: 153px; |
||||
|
.price{ |
||||
|
text-align: left; |
||||
|
font-size: 12px; |
||||
|
font-weight: normal; |
||||
|
line-height: 15px; |
||||
|
letter-spacing: 0.08em; |
||||
|
color: #1E2226; |
||||
|
margin: 14px 0; |
||||
|
b{ |
||||
|
font-size: 22px; |
||||
|
line-height: 20px; |
||||
|
letter-spacing: normal; |
||||
|
} |
||||
|
} |
||||
|
.total-bottom{ |
||||
|
align-items: flex-start; |
||||
|
} |
||||
|
} |
||||
|
.loss{ |
||||
|
background: #FFF1F0; |
||||
|
.top-left b{ |
||||
|
color: #FF4D4F; |
||||
|
} |
||||
|
} |
||||
|
.gain{ |
||||
|
background: #EFFFE0; |
||||
|
.top-left b{ |
||||
|
color: #00C261; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue