集团车辆消费明细

This commit is contained in:
BOOL\25024
2024-03-14 16:43:01 +08:00
parent 651ad8e5f0
commit 64ae9e6f8d
2 changed files with 71 additions and 28 deletions

View File

@@ -104,4 +104,12 @@ export function queryMemberGroupConsumptionList(data) {
method: 'post',
data: data
})
}
// 查询会员组中车辆消费明细
export function queryConsumptionDetailListByVinCode(data) {
return request({
url: '/member/memberGroup/queryConsumptionDetailListByVinCode',
method: 'post',
data: data
})
}

View File

@@ -19,6 +19,7 @@
</template>
</el-table-column>
<el-table-column label="头像" align="center" prop="avatarUrl">
<template slot-scope="scope">
<el-image style="height: 50px;width: 50px"
:src="scope.row.avatarUrl === null ? defaultImg[0].img : scope.row.avatarUrl"
@@ -27,6 +28,7 @@
</el-table-column>
<el-table-column label="手机号" align="center" prop="mobileNumber" />
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-delete"
@click="deleteMember(scope.row)">删除
@@ -36,7 +38,8 @@
</el-table>
<!--分页-->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getMemberList" style="margin-bottom: 20px" />
:limit.sync="queryParams.pageSize" @pagination="getMemberList"
style="margin-bottom: 20px" />
</el-tab-pane>
<!-- 交易明细 -->
@@ -50,9 +53,10 @@
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus" style="width: 230px">
<el-select v-model="from.orderStatus" placeholder="请选择订单状态" clearable style="width: 140px">
<el-option v-for="dict in dict.type.order_status" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-select v-model="from.orderStatus" placeholder="请选择订单状态" clearable
style="width: 140px">
<el-option v-for="dict in dict.type.order_status" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@@ -86,24 +90,26 @@
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['order:order:export']">导出
<el-button type="warning" plain icon="el-icon-download" size="mini"
@click="handleExport" v-hasPermi="['order:order:export']">导出
</el-button>
</el-col>
</el-row>
<ul class="uls">
<li v-for="totalDate in totalDateList">
{{ totalDate.dateDescription }}期间总用电量{{ totalDate.sumUsedElectricity }}总消费金额{{
totalDate.sumOrderAmount
}}总结算金额{{ totalDate.sumSettleAmount }}
totalDate.sumOrderAmount
}}总结算金额{{ totalDate.sumSettleAmount }}
</li>
</ul>
<!--结果展示-->
<el-table :data="orderListResult" stripe style="width: 100%" v-loading="loading">
<el-table-column label="订单编号" align="center" prop="orderCode" width="280px">
<template slot-scope="scope">
<router-link :to="'/order/index/orderDetail/' + scope.row.orderCode" class="link-type">
<router-link :to="'/order/index/orderDetail/' + scope.row.orderCode"
class="link-type">
<span>{{ scope.row.orderCode }}</span>
</router-link>
</template>
@@ -115,16 +121,19 @@
<el-table-column label="充电桩枪口号" align="center" prop="pileConnectorCode" width="200px" />
<el-table-column label="微信商户订单号" align="center" prop="outTradeNo" width="165px" />
<el-table-column label="启动方式" align="center" prop="startMode" width="100px">
<template slot-scope="scope">
<dict-tag :options="dict.type.start_mode" :value="scope.row.startMode" />
</template>
</el-table-column>
<el-table-column label="支付方式" align="center" prop="payMode">
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_mode" :value="scope.row.payMode" />
</template>
</el-table-column>
<el-table-column label="支付状态" align="center" prop="payStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_status" :value="scope.row.payStatus" />
</template>
@@ -153,8 +162,10 @@
<el-table-column label="备注" align="center" prop="templateRemark" />
<el-table-column label="描述" align="center" prop="templateDesc" />
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="addasite(scope.row)">修改
<el-button size="mini" type="text" icon="el-icon-edit"
@click="addasite(scope.row)">修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete"
@click="handleDelete(scope.row)">删除
@@ -164,7 +175,8 @@
</el-table>
<!--分页-->
<pagination v-show="stationTotal > 0" :total="stationTotal" :page.sync="queryStation.pageNum"
:limit.sync="queryStation.pageSize" @pagination="getStationList" style="margin-bottom: 20px" />
:limit.sync="queryStation.pageSize" @pagination="getStationList"
style="margin-bottom: 20px" />
</el-tab-pane>
<!-- 车辆列表 -->
@@ -175,15 +187,16 @@
<el-table-column label="总消费金额" align="center" prop="totalConsumptionAmount" />
<el-table-column label="更新时间" align="center" prop="lastDate" />
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="details(scope.row)">明细</el-button>
</template>
</el-table-column>
</el-table>
<!--分页-->
<pagination v-show="consumptionTotal > 0" :total="consumptionTotal" :page.sync="queryCar.pageNum"
:limit.sync="queryCar.pageSize" @pagination="getQueryMemberGroupConsumptionList"
style="margin-bottom: 20px" />
<pagination v-show="consumptionTotal > 0" :total="consumptionTotal"
:page.sync="queryCar.pageNum" :limit.sync="queryCar.pageSize"
@pagination="getQueryMemberGroupConsumptionList" style="margin-bottom: 20px" />
</el-tab-pane>
</el-tabs>
@@ -346,7 +359,7 @@
<span>24小时尖峰平谷分布设置</span>
<div>
<el-tag v-for="item in tagsTime" :key="item.label" :type="item.type"
style="margin: 10px 10px 10px 0; width: 160px; height: 30px line-height:30px;text-align: center;"
style="margin: 10px 10px 10px 0; width: 160px; height: 30px ;line-height:30px;text-align: center;"
effect="dark">
{{ item.label }}
</el-tag>
@@ -358,20 +371,30 @@
</div>
</el-dialog>
<!-- 车辆列表明细 -->
<el-dialog title="订单明细" :visible.sync="vehicleDetails" :before-close="closeDetails" width="1000px" append-to-body>
<el-dialog title="订单明细" :visible.sync="vehicleDetails" :before-close="closeDetails" width="1800px"
append-to-body>
<el-table :data="closeList" stripe style="width: 100%" v-loading="loading">
<el-table-column label="车牌号" align="center" prop="" width="300" />
<el-table-column label="订单编号" align="center" prop="orderCode" />
<el-table-column label="站点名称" align="center" prop="stationName" />
<el-table-column label="昵称" align="center" prop="nickName" />
<el-table-column label="手机号" align="center" prop="mobileNumber" />
<el-table-column label="实时充电度数" align="center" prop="realTimeChargingDegree" />
<el-table-column label="实时消费金额" align="center" prop="realTimeAmount" />
<el-table-column label="起始SOC" align="center" prop="startSoc" />
<el-table-column label="终止SOC" align="center" prop="endSoc" />
<el-table-column label="开始时间" align="center" prop="chargeStartTime" />
<el-table-column label="结束充电时间" align="center" prop="chargeEndTime" />
</el-table>
<!--分页-->
<pagination v-show="closeTotal > 0" :total="closeTotal" :page.sync="queryCar.pageNum"
:limit.sync="queryCar.pageSize" @pagination="getQueryMemberGroupConsumptionList"
<pagination v-show="closeTotal > 0" :total="closeTotal" :page.sync="detailParameters.pageNum"
:limit.sync="detailParameters.pageSize" @pagination="getQueryConsumptionDetailListByVinCode"
style="margin-bottom: 20px" />
</el-dialog>
</div>
</template>
<script>
import { addMember, queryMemberList, preferentialTemplates, queryStationList, removeStationFromMemberGroup, removeMemberFromMemberGroup, queryMemberGroupConsumptionList } from "@/api/member/memberGroup";
import { addMember, queryMemberList, preferentialTemplates, queryStationList, removeStationFromMemberGroup, removeMemberFromMemberGroup, queryMemberGroupConsumptionList, queryConsumptionDetailListByVinCode } from "@/api/member/memberGroup";
import { listOrder, totalData } from "@/api/order/order";
import { getStationListByMerchantId } from "@/api/pile/station";
import { queryStationBillingTemplateList, getTemplate, queryStationPreferentialBillingTemplateList, updateBillingTemplate } from "@/api/billing/template.js";
@@ -554,6 +577,12 @@ export default {
vehicleDetails: false,
closeList: [],
closeTotal: 0,
detailParameters: {
pageNum: 1,
pageSize: 10,
groupCode: this.$route.params.groupCode.split('&')[0],
vinCode: null
}
};
},
async mounted() {
@@ -562,7 +591,7 @@ export default {
this.getStationList();
await this.defaultDate();
this.handleQuery();
this.getQueryMemberGroupConsumptionList()
this.getQueryMemberGroupConsumptionList();
},
computed: {},
watch: {
@@ -792,9 +821,7 @@ export default {
// 删除站点
handleDelete(row) {
console.log(row);
this.$modal.confirm('是否确认删除"' + row.stationName + '"').then(function () {
}).then(() => {
this.$modal.confirm('是否确认删除"' + row.stationName + '"').then(function () { }).then(() => {
let remove = {
groupCode: this.$route.params.groupCode.split('&')[0],
stationId: row.stationId
@@ -829,9 +856,7 @@ export default {
// 删除会员
deleteMember(row) {
console.log(row);
this.$modal.confirm('是否确认删除昵称为"' + row.nickName + '"会员').then(function () {
}).then(() => {
this.$modal.confirm('是否确认删除昵称为"' + row.nickName + '"会员').then(function () { }).then(() => {
let remove = {
groupCode: this.$route.params.groupCode.split('&')[0],
memberId: row.memberId
@@ -873,12 +898,22 @@ export default {
details(row) {
console.log(row);
this.vehicleDetails = true;
this.detailParameters.vinCode = row.vinCode;
this.getQueryConsumptionDetailListByVinCode();
},
getQueryConsumptionDetailListByVinCode() {
console.log(this.detailParameters, 'detailParameters');
queryConsumptionDetailListByVinCode(this.detailParameters).then((response) => {
console.log("queryConsumptionDetailListByVinCode ", response);
this.closeList = response.rows;
this.closeTotal = response.total;
});
},
// 关闭明细弹框
closeDetails() {
this.vehicleDetails = false;
this.closeList = [];
}
},
},
};
</script>