Files
jsowell-charger-web/jsowell-ui/src/views/pile/merchant/components/revenue.vue

207 lines
7.4 KiB
Vue
Raw Normal View History

2023-06-12 16:01:39 +08:00
<template>
<div class="app-container">
2023-06-17 14:42:13 +08:00
<h2>营收总报</h2>
2023-06-27 09:16:47 +08:00
<el-card shadow="hover" style="margin-bottom:10px;padding:10px" >
<el-descriptions v-if="merchantOrderReport !== null">
2023-06-12 16:01:39 +08:00
<el-descriptions-item label="用电度数">{{merchantOrderReport.useElectricity}}</el-descriptions-item>
<el-descriptions-item label="充电次数">{{merchantOrderReport.chargeNum}}</el-descriptions-item>
<el-descriptions-item label="充电时长">{{merchantOrderReport.chargeTime}}分钟</el-descriptions-item>
<el-descriptions-item label="电费金额">{{merchantOrderReport.electricityAmount}}</el-descriptions-item>
<el-descriptions-item label="服务费金额">{{merchantOrderReport.serviceAmount}}</el-descriptions-item>
<el-descriptions-item label="收入金额">{{merchantOrderReport.totalAmount}}</el-descriptions-item>
<el-descriptions-item label="交易金额">{{merchantOrderReport.tradeAmount}}</el-descriptions-item>
2023-06-17 15:00:04 +08:00
<el-descriptions-item label="交易手续费">{{merchantOrderReport.tradeFee}}</el-descriptions-item>
2023-06-12 16:01:39 +08:00
<el-descriptions-item label="虚拟金额">{{merchantOrderReport.virtualAmount}}</el-descriptions-item>
</el-descriptions>
2023-06-27 09:16:47 +08:00
<h3 v-else>暂无数据</h3>
2023-06-17 14:42:13 +08:00
</el-card>
2023-06-12 16:01:39 +08:00
<h2>营收日报</h2>
<el-form
:model="queryParams"
ref="queryForm"
size="small"
inline
label-width="68px"
>
<el-form-item label="日期" prop="tradeDate">
<el-date-picker
2023-06-17 14:42:13 +08:00
v-model="createTimeRange"
2023-06-12 16:01:39 +08:00
style="width: 240px"
2023-06-17 14:42:13 +08:00
value-format="yyyy-MM-dd"
2023-06-12 16:01:39 +08:00
:default-time="['00:00:00', '23:59:59']"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:clearable="false"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table @selection-change="handleSelectionChange" :data="reportList">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="交易日期" align="center" prop="tradeDate" />
2023-07-03 17:07:16 +08:00
<el-table-column label="站点名称" align="center" prop="stationName" >
<!-- <template slot-scope="scope">-->
<!-- <span class="link-type" @click="goStationOrderReport(scope)">{{ scope.row.stationName }}</span>-->
<!-- </template>-->
</el-table-column>
2023-06-12 16:01:39 +08:00
<el-table-column
label="用电度数"
align="center"
prop="useElectricity"
/>
<el-table-column label="充电次数" align="center" prop="chargeNum" />
<el-table-column
label="充电时长"
align="center"
prop="chargeTime"
/>
<el-table-column
label="电费金额"
align="center"
prop="electricityAmount"
/>
<el-table-column
label="服务费金额"
align="center"
prop="serviceAmount"
/>
<el-table-column
label="收入金额"
align="center"
prop="totalAmount"
/>
<el-table-column
label="虚拟金额"
align="center"
prop="virtualAmount"
/>
<el-table-column
label="交易金额"
align="center"
prop="tradeAmount"
/>
<el-table-column
label="交易手续费"
align="center"
prop="tradeFee"
/>
</el-table>
2023-06-16 09:09:38 +08:00
<pagination
2023-06-12 16:01:39 +08:00
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
2023-06-16 09:09:38 +08:00
/>
2023-06-12 16:01:39 +08:00
</div>
</template>
<script>
import { getMerchantOrderReport } from "@/api/adapayMember/adapayMember";
2023-06-17 14:42:13 +08:00
import { getDay } from "@/utils/common";
2023-06-12 16:01:39 +08:00
export default {
props: ["merchantId"],
data() {
return {
2023-06-17 14:42:13 +08:00
createTimeRange: [],
2023-06-12 16:01:39 +08:00
reportList: [],
merchantOrderReport: {},
2023-06-16 09:09:38 +08:00
total:0,
2023-06-12 16:01:39 +08:00
queryParams: {
pageNum: 1,
pageSize: 10,
2023-06-16 09:09:38 +08:00
merchantId: this.merchantId,
startTime:'',
endTime:''
2023-06-12 16:01:39 +08:00
},
};
},
methods: {
getList() {
2023-06-16 09:09:38 +08:00
console.log('queryParams',this.queryParams)
getMerchantOrderReport(this.queryParams).then(
2023-06-13 16:36:32 +08:00
(response) => {
2023-06-12 16:01:39 +08:00
// console.log("查询报表", reportList, merchantOrderReport);
2023-06-17 14:42:13 +08:00
console.log('getMerchantOrderReport',response)
if(response.data){
this.reportList = response.data.pageResponse.list;
2023-06-13 16:36:32 +08:00
this.merchantOrderReport = response.data.merchantOrderReport;
2023-06-16 09:09:38 +08:00
this.total = response.data.pageResponse.total
2023-06-17 14:42:13 +08:00
} else{
this.reportList =[]
2023-06-27 09:16:47 +08:00
this.merchantOrderReport= null
2023-06-17 14:42:13 +08:00
}
2023-06-12 16:01:39 +08:00
}
);
},
2023-07-03 17:07:16 +08:00
goStationOrderReport(scope) {
this.$router.push({
path: 'station/orderReport',
name: 'Report',
params: {
id: scope.row.id,
stationName: scope.row.stationName,
}
});
},
2023-06-12 16:01:39 +08:00
handleQuery() {
2023-06-17 14:42:13 +08:00
let arr = this.createTimeRange[0]
let str = this.createTimeRange[1]
2023-06-16 09:09:38 +08:00
this.queryParams.startTime = arr
this.queryParams.endTime = str
2023-06-12 16:01:39 +08:00
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
2023-06-17 14:42:13 +08:00
this.createTimeRange = []
2023-06-16 09:09:38 +08:00
this.queryParams.startTime = ''
this.queryParams.endTime =''
2023-06-12 16:01:39 +08:00
this.resetForm("queryForm");
2023-06-16 09:09:38 +08:00
this.getList();
2023-06-12 16:01:39 +08:00
},
handleSelectionChange(selection) {
console.log("selection", selection);
// this.ids = selection.map(item => item.id)
// this.single = selection.length!==1
// this.multiple = !selection.length
},
2023-06-17 14:42:13 +08:00
defaultDate() {
//字符串拼接,开始时间,结束时间
let beg = getDay(-7); //当月第一天
let end = getDay(0); //当天
this.createTimeRange = [beg, end]; //将值设置给插件绑定的数据
// return this.createTimeRange;
this.queryParams.startTime = beg
this.queryParams.endTime = end
},
2023-06-17 15:00:04 +08:00
2023-06-12 16:01:39 +08:00
},
2023-06-17 14:42:13 +08:00
async created() {
await this.defaultDate()
2023-06-12 16:01:39 +08:00
this.getList();
},
};
</script>
<style></style>