mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
集团车辆消费明细
This commit is contained in:
@@ -104,4 +104,12 @@ export function queryMemberGroupConsumptionList(data) {
|
|||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
// 查询会员组中车辆消费明细
|
||||||
|
export function queryConsumptionDetailListByVinCode(data) {
|
||||||
|
return request({
|
||||||
|
url: '/member/memberGroup/queryConsumptionDetailListByVinCode',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="头像" align="center" prop="avatarUrl">
|
<el-table-column label="头像" align="center" prop="avatarUrl">
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-image style="height: 50px;width: 50px"
|
<el-image style="height: 50px;width: 50px"
|
||||||
:src="scope.row.avatarUrl === null ? defaultImg[0].img : scope.row.avatarUrl"
|
:src="scope.row.avatarUrl === null ? defaultImg[0].img : scope.row.avatarUrl"
|
||||||
@@ -27,6 +28,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="手机号" align="center" prop="mobileNumber" />
|
<el-table-column label="手机号" align="center" prop="mobileNumber" />
|
||||||
<el-table-column label="操作" align="center" width="200">
|
<el-table-column label="操作" align="center" width="200">
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete"
|
<el-button size="mini" type="text" icon="el-icon-delete"
|
||||||
@click="deleteMember(scope.row)">删除
|
@click="deleteMember(scope.row)">删除
|
||||||
@@ -36,7 +38,8 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
<!--分页-->
|
<!--分页-->
|
||||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
<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>
|
</el-tab-pane>
|
||||||
|
|
||||||
<!-- 交易明细 -->
|
<!-- 交易明细 -->
|
||||||
@@ -50,9 +53,10 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="订单状态" prop="orderStatus" style="width: 230px">
|
<el-form-item label="订单状态" prop="orderStatus" style="width: 230px">
|
||||||
<el-select v-model="from.orderStatus" placeholder="请选择订单状态" clearable style="width: 140px">
|
<el-select v-model="from.orderStatus" placeholder="请选择订单状态" clearable
|
||||||
<el-option v-for="dict in dict.type.order_status" :key="dict.value" :label="dict.label"
|
style="width: 140px">
|
||||||
:value="dict.value" />
|
<el-option v-for="dict in dict.type.order_status" :key="dict.value"
|
||||||
|
:label="dict.label" :value="dict.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
@@ -86,24 +90,26 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
|
<el-button type="warning" plain icon="el-icon-download" size="mini"
|
||||||
v-hasPermi="['order:order:export']">导出
|
@click="handleExport" v-hasPermi="['order:order:export']">导出
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<ul class="uls">
|
<ul class="uls">
|
||||||
<li v-for="totalDate in totalDateList">
|
<li v-for="totalDate in totalDateList">
|
||||||
{{ totalDate.dateDescription }}期间,总用电量{{ totalDate.sumUsedElectricity }}度,总消费金额{{
|
{{ totalDate.dateDescription }}期间,总用电量{{ totalDate.sumUsedElectricity }}度,总消费金额{{
|
||||||
totalDate.sumOrderAmount
|
totalDate.sumOrderAmount
|
||||||
}}元,总结算金额{{ totalDate.sumSettleAmount }}元
|
}}元,总结算金额{{ totalDate.sumSettleAmount }}元
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<!--结果展示-->
|
<!--结果展示-->
|
||||||
<el-table :data="orderListResult" stripe style="width: 100%" v-loading="loading">
|
<el-table :data="orderListResult" stripe style="width: 100%" v-loading="loading">
|
||||||
<el-table-column label="订单编号" align="center" prop="orderCode" width="280px">
|
<el-table-column label="订单编号" align="center" prop="orderCode" width="280px">
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<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>
|
<span>{{ scope.row.orderCode }}</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
</template>
|
</template>
|
||||||
@@ -115,16 +121,19 @@
|
|||||||
<el-table-column label="充电桩枪口号" align="center" prop="pileConnectorCode" width="200px" />
|
<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="outTradeNo" width="165px" />
|
||||||
<el-table-column label="启动方式" align="center" prop="startMode" width="100px">
|
<el-table-column label="启动方式" align="center" prop="startMode" width="100px">
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.start_mode" :value="scope.row.startMode" />
|
<dict-tag :options="dict.type.start_mode" :value="scope.row.startMode" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="支付方式" align="center" prop="payMode">
|
<el-table-column label="支付方式" align="center" prop="payMode">
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.pay_mode" :value="scope.row.payMode" />
|
<dict-tag :options="dict.type.pay_mode" :value="scope.row.payMode" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="支付状态" align="center" prop="payStatus">
|
<el-table-column label="支付状态" align="center" prop="payStatus">
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.pay_status" :value="scope.row.payStatus" />
|
<dict-tag :options="dict.type.pay_status" :value="scope.row.payStatus" />
|
||||||
</template>
|
</template>
|
||||||
@@ -153,8 +162,10 @@
|
|||||||
<el-table-column label="备注" align="center" prop="templateRemark" />
|
<el-table-column label="备注" align="center" prop="templateRemark" />
|
||||||
<el-table-column label="描述" align="center" prop="templateDesc" />
|
<el-table-column label="描述" align="center" prop="templateDesc" />
|
||||||
<el-table-column label="操作" align="center" width="200">
|
<el-table-column label="操作" align="center" width="200">
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<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>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete"
|
<el-button size="mini" type="text" icon="el-icon-delete"
|
||||||
@click="handleDelete(scope.row)">删除
|
@click="handleDelete(scope.row)">删除
|
||||||
@@ -164,7 +175,8 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
<!--分页-->
|
<!--分页-->
|
||||||
<pagination v-show="stationTotal > 0" :total="stationTotal" :page.sync="queryStation.pageNum"
|
<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>
|
</el-tab-pane>
|
||||||
|
|
||||||
<!-- 车辆列表 -->
|
<!-- 车辆列表 -->
|
||||||
@@ -175,15 +187,16 @@
|
|||||||
<el-table-column label="总消费金额" align="center" prop="totalConsumptionAmount" />
|
<el-table-column label="总消费金额" align="center" prop="totalConsumptionAmount" />
|
||||||
<el-table-column label="更新时间" align="center" prop="lastDate" />
|
<el-table-column label="更新时间" align="center" prop="lastDate" />
|
||||||
<el-table-column label="操作" align="center" width="200">
|
<el-table-column label="操作" align="center" width="200">
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" type="text" @click="details(scope.row)">明细</el-button>
|
<el-button size="mini" type="text" @click="details(scope.row)">明细</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--分页-->
|
<!--分页-->
|
||||||
<pagination v-show="consumptionTotal > 0" :total="consumptionTotal" :page.sync="queryCar.pageNum"
|
<pagination v-show="consumptionTotal > 0" :total="consumptionTotal"
|
||||||
:limit.sync="queryCar.pageSize" @pagination="getQueryMemberGroupConsumptionList"
|
:page.sync="queryCar.pageNum" :limit.sync="queryCar.pageSize"
|
||||||
style="margin-bottom: 20px" />
|
@pagination="getQueryMemberGroupConsumptionList" style="margin-bottom: 20px" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@@ -346,7 +359,7 @@
|
|||||||
<span>24小时尖峰平谷分布设置</span>
|
<span>24小时尖峰平谷分布设置</span>
|
||||||
<div>
|
<div>
|
||||||
<el-tag v-for="item in tagsTime" :key="item.label" :type="item.type"
|
<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">
|
effect="dark">
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
@@ -358,20 +371,30 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</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 :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>
|
</el-table>
|
||||||
<!--分页-->
|
<!--分页-->
|
||||||
<pagination v-show="closeTotal > 0" :total="closeTotal" :page.sync="queryCar.pageNum"
|
<pagination v-show="closeTotal > 0" :total="closeTotal" :page.sync="detailParameters.pageNum"
|
||||||
:limit.sync="queryCar.pageSize" @pagination="getQueryMemberGroupConsumptionList"
|
:limit.sync="detailParameters.pageSize" @pagination="getQueryConsumptionDetailListByVinCode"
|
||||||
style="margin-bottom: 20px" />
|
style="margin-bottom: 20px" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<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 { listOrder, totalData } from "@/api/order/order";
|
||||||
import { getStationListByMerchantId } from "@/api/pile/station";
|
import { getStationListByMerchantId } from "@/api/pile/station";
|
||||||
import { queryStationBillingTemplateList, getTemplate, queryStationPreferentialBillingTemplateList, updateBillingTemplate } from "@/api/billing/template.js";
|
import { queryStationBillingTemplateList, getTemplate, queryStationPreferentialBillingTemplateList, updateBillingTemplate } from "@/api/billing/template.js";
|
||||||
@@ -554,6 +577,12 @@ export default {
|
|||||||
vehicleDetails: false,
|
vehicleDetails: false,
|
||||||
closeList: [],
|
closeList: [],
|
||||||
closeTotal: 0,
|
closeTotal: 0,
|
||||||
|
detailParameters: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
groupCode: this.$route.params.groupCode.split('&')[0],
|
||||||
|
vinCode: null
|
||||||
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
@@ -562,7 +591,7 @@ export default {
|
|||||||
this.getStationList();
|
this.getStationList();
|
||||||
await this.defaultDate();
|
await this.defaultDate();
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
this.getQueryMemberGroupConsumptionList()
|
this.getQueryMemberGroupConsumptionList();
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -792,9 +821,7 @@ export default {
|
|||||||
// 删除站点
|
// 删除站点
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
console.log(row);
|
console.log(row);
|
||||||
this.$modal.confirm('是否确认删除"' + row.stationName + '"').then(function () {
|
this.$modal.confirm('是否确认删除"' + row.stationName + '"').then(function () { }).then(() => {
|
||||||
|
|
||||||
}).then(() => {
|
|
||||||
let remove = {
|
let remove = {
|
||||||
groupCode: this.$route.params.groupCode.split('&')[0],
|
groupCode: this.$route.params.groupCode.split('&')[0],
|
||||||
stationId: row.stationId
|
stationId: row.stationId
|
||||||
@@ -829,9 +856,7 @@ export default {
|
|||||||
// 删除会员
|
// 删除会员
|
||||||
deleteMember(row) {
|
deleteMember(row) {
|
||||||
console.log(row);
|
console.log(row);
|
||||||
this.$modal.confirm('是否确认删除昵称为"' + row.nickName + '"会员').then(function () {
|
this.$modal.confirm('是否确认删除昵称为"' + row.nickName + '"会员').then(function () { }).then(() => {
|
||||||
|
|
||||||
}).then(() => {
|
|
||||||
let remove = {
|
let remove = {
|
||||||
groupCode: this.$route.params.groupCode.split('&')[0],
|
groupCode: this.$route.params.groupCode.split('&')[0],
|
||||||
memberId: row.memberId
|
memberId: row.memberId
|
||||||
@@ -873,12 +898,22 @@ export default {
|
|||||||
details(row) {
|
details(row) {
|
||||||
console.log(row);
|
console.log(row);
|
||||||
this.vehicleDetails = true;
|
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() {
|
closeDetails() {
|
||||||
this.vehicleDetails = false;
|
this.vehicleDetails = false;
|
||||||
this.closeList = [];
|
this.closeList = [];
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user