You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
4.9 KiB
189 lines
4.9 KiB
<template>
|
|
<div class="custom_page">
|
|
<div class="content">
|
|
<div class="cardLIst">
|
|
<div v-for="(item, index) in cardList" :key="index" class="cardItem">
|
|
<div class="cardDetal">
|
|
<div class="cardMoney">{{ item.money }}</div>
|
|
<div class="cardText">
|
|
<span>{{ item.name }}</span>
|
|
<img src="../../../assets/images/shuoming.png">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- 顶部搜索 -->
|
|
<div class="toolbar">
|
|
<!-- 顶部搜索 -->
|
|
<el-form :inline="true" :model="formInline">
|
|
<el-form-item label="商家名称">
|
|
<el-input v-model="formInline.shopName" maxlength="20" placeholder="请输入商家名称" />
|
|
</el-form-item>
|
|
<el-form-item label="商家编码">
|
|
<el-input v-model="formInline.shopCode" maxlength="20" placeholder="请输入商家编码" />
|
|
</el-form-item>
|
|
<el-form-item label-width="0">
|
|
<el-button type="primary" plain @click="search">查询</el-button>
|
|
<el-button plain @click="clear">重置</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
<!-- 表格 -->
|
|
<div class="content_table">
|
|
<div class="table">
|
|
<el-table
|
|
:data="tableData"
|
|
border
|
|
:header-cell-style="{ background: '#EEF3FF', color: '#333333' }"
|
|
style="width: 100%"
|
|
>
|
|
>
|
|
<el-table-column prop="shopName" label="商家名称" />
|
|
<el-table-column prop="shopCode" label="商家编码" />
|
|
<el-table-column prop="revenue" label="营收总额" />
|
|
<el-table-column prop="frozen" label="冻结金额" />
|
|
<el-table-column prop="withdrawable" label="可提现金额" />
|
|
<el-table-column prop="haveWithdrawable" label="已提现金额" />
|
|
<el-table-column prop="refund" label="已退款金额" />
|
|
</el-table>
|
|
<div class="fenye">
|
|
<el-pagination
|
|
:current-page="currentPage"
|
|
:page-sizes="[10, 20, 50, 100]"
|
|
:page-size="10"
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
:total="total"
|
|
@size-change="handleSizeChange"
|
|
@current-change="handleCurrentChange"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
// import { getShopId } from '@/utils/auth'
|
|
import { overviewGetall } from '@/api/overview'
|
|
export default {
|
|
data() {
|
|
return {
|
|
cardList: [
|
|
{
|
|
name: '营收总额',
|
|
money: '0.00',
|
|
field: 'revenue'
|
|
},
|
|
{
|
|
name: '冻结总金额',
|
|
money: '0.00',
|
|
field: 'frozen'
|
|
},
|
|
{
|
|
name: '可提现金额',
|
|
money: '0.00',
|
|
field: 'withdrawable'
|
|
},
|
|
{
|
|
name: '已提金额',
|
|
money: '0.00',
|
|
field: 'haveWithdrawable'
|
|
},
|
|
{
|
|
name: '已退款金额',
|
|
money: '0.00',
|
|
field: 'refund'
|
|
}
|
|
],
|
|
formInline: {
|
|
shopName: '', // 商家名称
|
|
shopCode: '', // 商家编码
|
|
page: 1,
|
|
pageSize: 10
|
|
},
|
|
total: 1,
|
|
tableData: [],
|
|
currentPage: 1
|
|
}
|
|
},
|
|
created() {
|
|
this.getAll(this.formInline)
|
|
},
|
|
methods: {
|
|
handleSizeChange(val) {
|
|
this.formInline.pageSize = val
|
|
this.getAll(this.formInline)
|
|
},
|
|
handleCurrentChange(val) {
|
|
this.formInline.page = val
|
|
this.getAll(this.formInline)
|
|
},
|
|
// 查询
|
|
search() {
|
|
this.total = 1
|
|
this.formInline.page = 1
|
|
this.getAll(this.formInline)
|
|
},
|
|
// 清除
|
|
clear() {
|
|
this.formInline = {
|
|
shopName: '', // 商家名称
|
|
shopCode: '', // 商家编码
|
|
page: 1,
|
|
pageSize: 10
|
|
}
|
|
this.getAll(this.formInline)
|
|
},
|
|
getTopList(o) {
|
|
this.cardList.map(item => {
|
|
item.money = o[item.field]
|
|
})
|
|
},
|
|
// 初始化查询所有数据
|
|
async getAll(formInline) {
|
|
const res = await overviewGetall(formInline)
|
|
this.tableData = res.data.page.list
|
|
this.total = res.data.page.total
|
|
this.getTopList(res.data)
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang='scss' scoped>
|
|
@import url("../../../styles/elDialog.scss");
|
|
.custom_page {
|
|
padding: 20px;
|
|
}
|
|
|
|
.cardLIst {
|
|
padding: 10px;
|
|
display: flex;
|
|
justify-content: space-around;
|
|
align-items: center;
|
|
.cardItem {
|
|
padding: 20px;
|
|
}
|
|
.cardDetal {
|
|
.cardMoney {
|
|
font-size: 40px;
|
|
font-weight: bold;
|
|
color: #ffae11;
|
|
margin-bottom: 20px;
|
|
text-align: center;
|
|
}
|
|
.cardText {
|
|
font-size: 18px;
|
|
display: flex;
|
|
color: #333333;
|
|
img {
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-left: 5px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
|