修改样式

This commit is contained in:
admin-lmm
2023-08-31 16:04:44 +08:00
parent fd9aa59077
commit 598843d083
4 changed files with 443 additions and 234 deletions

View File

@@ -6,16 +6,20 @@
<script> <script>
export default { export default {
name: 'App', name: "App",
metaInfo() { metaInfo() {
return { return {
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title, title:
titleTemplate: title => { this.$store.state.settings.dynamicTitle &&
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE this.$store.state.settings.title,
} titleTemplate: (title) => {
} return title
} ? `${title} - ${process.env.VUE_APP_TITLE}`
} : process.env.VUE_APP_TITLE;
},
};
},
};
</script> </script>
<style> <style>
/* 给所有表格空项加上一 */ /* 给所有表格空项加上一 */
@@ -23,7 +27,10 @@ export default {
.el-table .el-table__body td .cell > span:empty::after, .el-table .el-table__body td .cell > span:empty::after,
.el-table .el-table__body td .cell .approval:empty::after, .el-table .el-table__body td .cell .approval:empty::after,
.el-table .el-table__body td .cell div:empty::after, .el-table .el-table__body td .cell div:empty::after,
.el-table .el-table__body td .cell .line-limit-length:empty::after{ .el-table .el-table__body td .cell .line-limit-length:empty::after {
content: '一'; content: "一";
}
.el-descriptions-item__content:empty::after {
content: "一";
} }
</style> </style>

View File

@@ -7,7 +7,7 @@
<div class="header" v-loading="loading"> <div class="header" v-loading="loading">
<template v-if="operationStatus == null"> <template v-if="operationStatus == null">
<div class="foot1"> <div class="foot1">
<div style="margin: 12px 0">没有查询到结算账户</div> <div style="margin: 12px 0">查询到结算账户</div>
</div> </div>
</template> </template>
<template v-else> <template v-else>
@@ -17,34 +17,56 @@
v-for="(item, index) in settleAccountList" v-for="(item, index) in settleAccountList"
:key="index" :key="index"
> >
<div> <el-descriptions :column="1">
<span>运营商</span> <el-descriptions-item label="运营商">
<span class="color">
{{ merchant }} {{ merchant }}
</div> </span>
<div class="margin-10"> </el-descriptions-item>
商家性质{{ merchantNature === "1" ? "对公" : "对私" }} <el-descriptions-item label="商家性质">
</div> <span class="color">{{
<div class="margin-10"> merchantNature === "1" ? "对公" : "对私"
开户行名称{{ cityBankCode(item.bankCode) }} }}</span>
</div> </el-descriptions-item>
<div>收款卡号{{ item.cardId }}</div> <el-descriptions-item label="开户行名称">
<div class="margin-10">预留手机{{ item.telNo }}</div> <span class="color">{{ cityBankCode(item.bankCode) }}</span>
</el-descriptions-item>
<el-descriptions-item label="收款卡号">
<span class="color">{{ item.cardId }}</span>
</el-descriptions-item>
<el-descriptions-item label="预留手机">
<span class="color">{{ item.telNo }}</span>
</el-descriptions-item>
</el-descriptions>
</div> </div>
</template> </template>
<div class="foot1" v-else> <div class="foot1" v-else>
<div> <el-descriptions :column="1">
<span>运营商</span> <el-descriptions-item label="运营商">
<span class="color">
{{ merchant }} {{ merchant }}
</div> </span>
<div class="margin-10"> </el-descriptions-item>
商家性质{{ merchantNature === "1" ? "对公" : "对私" }} <el-descriptions-item label="商家性质">
</div> <span class="color">{{
<div>开户状态{{ adapayCorpMember.auditDesc }}</div> merchantNature === "1" ? "对公" : "对私"
<div class="margin-10"> }}</span>
开户行名称{{ cityBankCode(adapayCorpMember.bankCode) }} </el-descriptions-item>
</div> <el-descriptions-item label="开户状态">
<div>收款卡号{{ adapayCorpMember.cardNo }}</div> <span class="color">{{ adapayCorpMember.auditDesc }}</span>
<div class="margin-10">预留手机{{ adapayCorpMember.legalMp }}</div> </el-descriptions-item>
<el-descriptions-item label="开户行名称">
<span class="color">{{
cityBankCode(adapayCorpMember.bankCode)
}}</span>
</el-descriptions-item>
<el-descriptions-item label="收款卡号">
<span class="color">{{ adapayCorpMember.cardNo }}</span>
</el-descriptions-item>
<el-descriptions-item label="预留手机">
<span class="color">{{ adapayCorpMember.legalMp }}</span>
</el-descriptions-item>
</el-descriptions>
</div> </div>
</template> </template>
<div class="foot2"> <div class="foot2">
@@ -97,37 +119,38 @@
<div class="foot4">未查询到运营商结算账户提现功能现已关闭</div> <div class="foot4">未查询到运营商结算账户提现功能现已关闭</div>
</template> </template>
<template v-else> <template v-else>
<div class="foot4"> <div class="margin-right foot4">
<div class="margin-right"> <div class="color60">可提现()</div>
<div>可提现()</div> <div class="margin-20 color">{{ adapayMember.avlBalance }}</div>
<div class="margin-10">{{ adapayMember.avlBalance }}</div>
<el-button <el-button
type="primary" type="primary"
v-if="adapayMember.avlBalance > withdrawalFee" v-if="adapayMember.avlBalance > withdrawalFee"
@click="dialogVisible = true" @click="dialogVisible = true"
>提现申请</el-button >提现申请</el-button
> >
<p class="center" v-else> <div v-else>
: :
<span class="text" <span class="text"
>该余额大于{{ withdrawalFee }}元时才可发起取现</span >该余额大于{{ withdrawalFee }}元时才可发起取现</span
> >
</p>
</div> </div>
<div class="margin-right"> </div>
<div class="">冻结金额()</div> <div class="margin-right foot4" style="width: 20%">
<div class="margin-10">{{ adapayMember.frzBalance }}</div> <div class="color60">冻结金额()</div>
<div class=""> <div class="margin-20 color">{{ adapayMember.frzBalance }}</div>
<div>
: :
<span class="text" <span class="text"
>当配置了自动结算功能在每日发起结算时会将可用余额转为冻结金额该部分金额不允许取现</span >当配置了自动结算功能在每日发起结算时会将可用余额转为冻结金额该部分金额不允许取现</span
> >
</div> </div>
</div> </div>
<div class="margin-right"> <!-- <div class="foot4"> -->
<div class="">昨日日终余额()</div>
<div class="margin-10">{{ adapayMember.lastAvlBalance }}</div> <!-- <div class="margin-right">
</div> <div class="color60">昨日日终余额()</div>
<div class="margin-20 color">{{ adapayMember.lastAvlBalance }}</div>
</div> -->
<!-- <div class="margin-right"> <!-- <div class="margin-right">
<div>提现申请中</div> <div>提现申请中</div>
<div class="margin-10"> <div class="margin-10">
@@ -142,7 +165,7 @@
<div class="margin-10">{{ adapayMember.withdrawn }}()</div> <div class="margin-10">{{ adapayMember.withdrawn }}()</div>
<div style="font-size: 13px">已成功提现到绑定银行卡的金额汇总</div> <div style="font-size: 13px">已成功提现到绑定银行卡的金额汇总</div>
</div> --> </div> -->
</div> <!-- </div> -->
</template> </template>
</div> </div>
<hr /> <hr />
@@ -266,15 +289,15 @@
</div> </div>
<p> <p>
可提现 可提现
<span class="number">{{ adapayMember.avlBalance }}</span> <span class="number color">{{ adapayMember.avlBalance }}</span>
</p> </p>
<p> <p>
手续费 手续费
<span class="number">{{ withdrawalFee.toFixed(2) }}</span> <span class="number color">{{ withdrawalFee.toFixed(2) }}</span>
</p> </p>
<p> <p>
实际到账 实际到账
<span class="number"> <span class="number color">
<!-- <span>11</span> --> <!-- <span>11</span> -->
{{ adapayMember.avlBalance - withdrawalFee }} {{ adapayMember.avlBalance - withdrawalFee }}
</span> </span>
@@ -317,7 +340,7 @@
:visible.sync="dialogTableVisible" :visible.sync="dialogTableVisible"
:before-close="orderClose" :before-close="orderClose"
> >
<el-table :data="orderList" v-loading="loading"> <el-table :data="orderList" v-loading="orderLoading">
<el-table-column property="orderCode" label="订单编号" /> <el-table-column property="orderCode" label="订单编号" />
<el-table-column property="settleAmount" label="结算金额(元)" /> <el-table-column property="settleAmount" label="结算金额(元)" />
<el-table-column property="clearingStatus" label="清分状态"> <el-table-column property="clearingStatus" label="清分状态">
@@ -356,6 +379,7 @@ export default {
dicts: ["bill_status"], dicts: ["bill_status"],
data() { data() {
return { return {
orderLoading: true,
loading: true, loading: true,
operationStatus: null, operationStatus: null,
adapayMember: {}, adapayMember: {},
@@ -409,7 +433,7 @@ export default {
let arr = bankList.find((item) => item.bankCode === code); let arr = bankList.find((item) => item.bankCode === code);
// console.log("银行编码对应的银行名称 arr", arr); // console.log("银行编码对应的银行名称 arr", arr);
if (arr.bankName != null) { if (arr.bankName != null) {
this.bankName = arr.bankName this.bankName = arr.bankName;
} }
return this.bankName; return this.bankName;
}, },
@@ -453,13 +477,13 @@ export default {
}, },
// 订单流水请求 // 订单流水请求
getOrderList() { getOrderList() {
this.loading = true; this.orderLoading = true;
console.log("this.getOrderParams", this.getOrderParams); console.log("this.getOrderParams", this.getOrderParams);
getOrderReportDetail(this.getOrderParams).then((res) => { getOrderReportDetail(this.getOrderParams).then((res) => {
console.log("获取订单列表res", res); console.log("获取订单列表res", res);
this.orderList = res.rows; this.orderList = res.rows;
this.orderTotal = res.total; this.orderTotal = res.total;
this.loading = false; this.orderLoading = false;
// console.log("this.orderTotal", this.orderTotal); // console.log("this.orderTotal", this.orderTotal);
}); });
}, },
@@ -567,13 +591,17 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.color60 {
color: #606266;
}
.center { .center {
display: flex; display: flex;
align-content: center; align-content: center;
margin-top: 30px; margin-top: 30px;
} }
.margin-10 { .margin-20 {
margin: 10px 0; margin: 20px 0;
font-size: 20px;
} }
.font-13 { .font-13 {
font-size: 13px; font-size: 13px;
@@ -591,10 +619,11 @@ export default {
color: red; color: red;
} }
.foot1 { .foot1 {
width: 25%;
margin-top: 10px; margin-top: 10px;
// width: 320px; // .el-descriptions__body .el-descriptions__table {
// margin-right: 10px; // width: 0 !important;
// font-size: 13px; // }
} }
.foot2 { .foot2 {
margin-left: 10px; margin-left: 10px;
@@ -606,8 +635,11 @@ export default {
margin-right: 10px; margin-right: 10px;
} }
.foot4 { .foot4 {
flex: 1; display: inline-block;
display: contents; // flex: 1;
// display: flex;
// justify-content: space-between;
// margin-left: 50px;
} }
.margin-right { .margin-right {
width: 180px; width: 180px;

View File

@@ -206,7 +206,7 @@
</div> </div>
<div>开始时间{{ item.chargeStartTime || "一" }}</div> <div>开始时间{{ item.chargeStartTime || "一" }}</div>
</div> </div>
<div style="padding: 10px"> <div class="conter">
<el-descriptions <el-descriptions
class="title" class="title"
:title="`${item.nickName || '---'}${ :title="`${item.nickName || '---'}${
@@ -217,23 +217,23 @@
<!-- @click.native="goMemberDetail(item)" --> <!-- @click.native="goMemberDetail(item)" -->
<el-descriptions-item label="站点名称"> <el-descriptions-item label="站点名称">
<div style="color: #337ab7" @click="goStationDetail(item)"> <div style="color: #337ab7" @click="goStationDetail(item)">
{{ item.stationName || "" }} {{ item.stationName }}
</div> </div>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="实时充电度数" <el-descriptions-item label="实时充电度数"
>{{ item.realTimeChargingDegree || "一" }} >{{ item.realTimeChargingDegree }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="实时消费金额" <el-descriptions-item label="实时消费金额"
>{{ item.realTimeAmount || "一" }} >{{ item.realTimeAmount }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="起始SOC" <el-descriptions-item label="起始SOC"
>{{ item.startSoc || "一" }} >{{ item.startSoc }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="终止SOC" <el-descriptions-item label="终止SOC"
>{{ item.endSoc || "一" }} >{{ item.endSoc }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="结束充电时间" <el-descriptions-item label="结束充电时间"
>{{ item.chargeEndTime || "一" }} >{{ item.chargeEndTime }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="启动方式" <el-descriptions-item label="启动方式"
>{{ startMode(item.startMode) }} >{{ startMode(item.startMode) }}
@@ -673,15 +673,16 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell { .conter {
padding-bottom: 4px; padding: 10px;
} }
::v-deep .conter .el-descriptions__header {
::v-deep .el-descriptions__header {
margin-bottom: 10px; margin-bottom: 10px;
// color:#337ab7 // color:#337ab7
} }
::v-deep .conter .el-descriptions-item__cell {
padding-bottom: 4px;
}
.cardview-box { .cardview-box {
width: 100%; width: 100%;
margin-bottom: 12px; margin-bottom: 12px;

View File

@@ -1,41 +1,74 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card class="cardStyle" v-if="orderInfo[0].orderStatus === '4' || orderInfo[0].orderStatus === '2'"> <el-card
class="cardStyle"
v-if="orderInfo.orderStatus === '4' || orderInfo.orderStatus === '2'"
>
<div style="margin: 10px"> <div style="margin: 10px">
<span style="color: #bf1c1c">该笔订单为异常状态请检查充电桩状态</span> <span style="color: #bf1c1c"
<el-button type="primary" icon="el-icon-search" size="mini" @click="dialogVisible = true">手动结算</el-button> >该笔订单为异常状态请检查充电桩状态</span
>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="dialogVisible = true"
>手动结算</el-button
>
</div> </div>
<el-dialog <el-dialog title="提示" :visible.sync="dialogVisible" width="35%">
title="提示" <span>平台收到充电桩传来的最后一次实时监测数据<br /></span>
:visible.sync="dialogVisible"
width="35%"
>
<span>平台收到充电桩传来的最后一次实时监测数据<br/></span>
<el-table style="width: 100%" :data="monitorDataList" border> <el-table style="width: 100%" :data="monitorDataList" border>
<el-table-column prop="dateTime" label="时间" align="center"/> <el-table-column prop="dateTime" label="时间" align="center" />
<el-table-column prop="chargingAmount" label="消费金额" align="center"/> <el-table-column
<el-table-column prop="chargingDegree" label="充电度数" align="center"/> prop="chargingAmount"
label="消费金额"
align="center"
/>
<el-table-column
prop="chargingDegree"
label="充电度数"
align="center"
/>
</el-table> </el-table>
<el-divider>下面可以输入自定义消费金额和充电度数</el-divider> <el-divider>下面可以输入自定义消费金额和充电度数</el-divider>
<div style="display:flex;justify-content:center;"> <div style="display: flex; justify-content: center">
<el-form :model="manualSettlementParam"> <el-form :model="manualSettlementParam">
<el-form-item label="消费金额:" prop="chargingAmount" label-width="80px"> <el-form-item
<el-input-number v-model.number="manualSettlementParam.chargingAmount" :precision="2" :controls="false" label="消费金额:"
style="width: 50%"/> prop="chargingAmount"
label-width="80px"
>
<el-input-number
v-model.number="manualSettlementParam.chargingAmount"
:precision="2"
:controls="false"
style="width: 50%"
/>
</el-form-item> </el-form-item>
<el-form-item label="充电度数:" prop="chargingDegree" label-width="80px"> <el-form-item
<el-input-number v-model.number="manualSettlementParam.chargingDegree" :precision="2" :controls="false" label="充电度数:"
style="width: 50%"/> prop="chargingDegree"
label-width="80px"
>
<el-input-number
v-model.number="manualSettlementParam.chargingDegree"
:precision="2"
:controls="false"
style="width: 50%"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="confirmManualSettlement"> </el-button> <el-button type="primary" @click="confirmManualSettlement"
> </el-button
>
</span> </span>
</el-dialog> </el-dialog>
</el-card> </el-card>
@@ -44,31 +77,25 @@
<div style="margin: 30px"> <div style="margin: 30px">
<div <div
style="text-align: center; margin-bottom: 30px" style="text-align: center; margin-bottom: 30px"
v-if=" v-if="orderInfo.orderStatus === '4' || orderInfo.orderStatus === '6'"
orderInfo[0].orderStatus === '4' ||
orderInfo[0].orderStatus === '6'
"
> >
停止理由 停止理由
<span style="color: red">{{ orderInfo[0].stopReasonMsg }}</span> <span style="color: red">{{ orderInfo.stopReasonMsg }}</span>
</div> </div>
<el-steps <el-steps
:active="orderInfo[0].orderStatus !== '6' ? 2 : 4" :active="orderInfo.orderStatus !== '6' ? 2 : 4"
align-center align-center
finish-status="success" finish-status="success"
> >
<el-step <el-step
title="客户下单" title="客户下单"
:description="orderInfo[0].createTime" :description="orderInfo.createTime"
></el-step> ></el-step>
<el-step <el-step
title="开始充电" title="开始充电"
:description="orderInfo[0].orderStatusDescribe" :description="orderInfo.orderStatusDescribe"
></el-step>
<el-step
title="结束充电"
:description="orderInfo[0].endTime"
></el-step> ></el-step>
<el-step title="结束充电" :description="orderInfo.endTime"></el-step>
<el-step title="完成充电" description="充电时长"></el-step> <el-step title="完成充电" description="充电时长"></el-step>
</el-steps> </el-steps>
</div> </div>
@@ -77,85 +104,167 @@
<!-- 订单信息 --> <!-- 订单信息 -->
<el-card class="cardStyle"> <el-card class="cardStyle">
<h3>订单信息</h3> <h3>订单信息</h3>
<el-table style="width: 100%" :data="orderInfo" border> <el-descriptions
<el-table-column prop="orderCode" label="订单号" align="center" width="120"/> direction="vertical"
<el-table-column prop="transactionCode" label="交易流水号" align="center" width="280"/> :column="11"
<el-table-column prop="logicCard" label="卡号" align="center" width="80"/> border
<el-table-column prop="orderStatusDescribe" label="订单状态描述" align="center" width="100"/> :contentStyle="CS"
<el-table-column prop="startTime" label="充电开始时间" align="center"/> :label-style="LS"
<el-table-column prop="endTime" label="充电结束时间" align="center"/> >
<el-table-column prop="createTime" label="订单创建时间" align="center"/> <el-descriptions-item label="订单号">{{
<el-table-column prop="settlementTime" label="订单结算时间" align="center"/> orderInfo.orderCode
<!-- <el-table-column prop="settlementTime" label="订单结算金额" align="center"/>--> }}</el-descriptions-item>
<el-table-column prop="startSOC" label="起始SOC" align="center" width="80"/> <el-descriptions-item label="交易流水号">{{
<el-table-column prop="endSOC" label="终止SOC" align="center" width="80"/> orderInfo.transactionCode
<el-table-column prop="stopReasonMsg" label="订单停止原因" align="center" width="100"/> }}</el-descriptions-item>
</el-table> <el-descriptions-item label="卡号">{{
orderInfo.logicCard
}}</el-descriptions-item>
<el-descriptions-item label="订单状态描述">{{
orderInfo.orderStatusDescribe
}}</el-descriptions-item>
<el-descriptions-item label="充电开始时间">{{
orderInfo.startTime
}}</el-descriptions-item>
<el-descriptions-item label="充电结束时间">{{
orderInfo.endTime
}}</el-descriptions-item>
<el-descriptions-item label="订单创建时间">{{
orderInfo.createTime
}}</el-descriptions-item>
<el-descriptions-item label="订单结算时间">{{
orderInfo.settlementTime
}}</el-descriptions-item>
<el-descriptions-item label="起始SOC">{{
orderInfo.startSOC
}}</el-descriptions-item>
<el-descriptions-item label="终止SOC">{{
orderInfo.endSOC
}}</el-descriptions-item>
<el-descriptions-item label="订单停止原因">{{
orderInfo.stopReasonMsg
}}</el-descriptions-item>
</el-descriptions>
<div class="marginTop"></div> <div class="marginTop"></div>
</el-card> </el-card>
<el-card class="cardStyle"> <el-card class="cardStyle">
<h3>收费明细</h3> <h3>收费明细</h3>
<el-table :data="tableData" border show-summary :summary-method="getSummaries"> <el-table
<el-table-column prop="periodType" label="时段类型" width="180" align="center"/> :data="tableData"
<el-table-column prop="electricityPrice" label="电费单价(元/千瓦时)" align="center"/> border
<el-table-column prop="servicePrice" label="服务费单价(元/千瓦时)" align="center"/> show-summary
<el-table-column prop="usedElectricity" label="用电量(千瓦时)" align="center"/> :summary-method="getSummaries"
<el-table-column prop="electricityAmount" label="电费金额(元)" align="center"/> >
<el-table-column prop="serviceAmount" label="服务费金额(元)" align="center"/> <el-table-column
prop="periodType"
label="时段类型"
width="180"
align="center"
/>
<el-table-column
prop="electricityPrice"
label="电费单价(元/千瓦时)"
align="center"
/>
<el-table-column
prop="servicePrice"
label="服务费单价(元/千瓦时)"
align="center"
/>
<el-table-column
prop="usedElectricity"
label="用电量(千瓦时)"
align="center"
/>
<el-table-column
prop="electricityAmount"
label="电费金额(元)"
align="center"
/>
<el-table-column
prop="serviceAmount"
label="服务费金额(元)"
align="center"
/>
</el-table> </el-table>
<div class="marginTop"></div> <div class="marginTop"></div>
</el-card> </el-card>
<!-- 实时订单数据 -->
<el-card class="cardStyle"> <el-card class="cardStyle">
<h3>实时订单数据</h3> <h3>实时订单数据</h3>
<el-table style="width: 100%" :data="orderRealTimeInfo" border> <el-descriptions
<el-table-column prop="orderAmount" label="消费金额" align="center" width="280"> direction="vertical"
<template slot-scope="scope"> :column="5"
<span>¥{{ border
scope.row.orderAmount === "0.0000" ? "0" : scope.row.orderAmount :contentStyle="CS"
}} </span> :label-style="LS"
</template> >
</el-table-column> <el-descriptions-item label="时间">{{
orderRealTimeInfo.time
<el-table-column prop="chargedDegree" label="充电度数" align="center"> }}</el-descriptions-item>
<template slot-scope="scope"> <el-descriptions-item label="消费金额">{{
<span>{{ orderRealTimeInfo.orderAmount === "0.0000"
scope.row.chargedDegree === "0.0000" ? "0" : scope.row.chargedDegree ? "0"
}}</span> : orderRealTimeInfo.orderAmount
</template> }}</el-descriptions-item>
</el-table-column> <el-descriptions-item label="充电度数">{{
<el-table-column prop="chargingTime" label="充电时长" align="center"/> orderRealTimeInfo.chargedDegree === "0.0000"
<el-table-column prop="soc" label="当前soc" align="center"/> ? "0"
</el-table> : orderRealTimeInfo.chargedDegree
}}</el-descriptions-item>
<el-descriptions-item label="充电时长">{{
orderRealTimeInfo.chargingTime
}}</el-descriptions-item>
<el-descriptions-item label="当前soc">{{
orderRealTimeInfo.soc
}}</el-descriptions-item>
</el-descriptions>
<div class="marginTop"></div> <div class="marginTop"></div>
</el-card> </el-card>
<!-- 支付信息 -->
<!-- 支付信息-->
<el-card class="cardStyle"> <el-card class="cardStyle">
<h3>支付信息</h3> <h3>支付信息</h3>
<el-table style="width: 100%" :data="payDetail" border> <template v-if="payDetail.length !== 0">
<el-table-column prop="payAmount" label="支付金额" align="center"/> <el-descriptions
<el-table-column prop="payModeDesc" label="支付方式" align="center"/> direction="vertical"
<el-table-column prop="payStatus" label="支付状态" align="center"> :column="6"
<template slot-scope="scope"> border
<span>{{ :contentStyle="CS"
scope.row.payStatus === "1" ? "支付完成" : "待支付" :label-style="LS"
}}</span> v-for="(item, index) in payDetail"
:key="index"
>
<el-descriptions-item label="支付金额">{{
item.payAmount
}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{
item.payModeDesc
}}</el-descriptions-item>
<el-descriptions-item label="支付状态">{{
item.payStatus === "1" ? "支付完成" : "待支付"
}}</el-descriptions-item>
<el-descriptions-item label="支付时间">{{
item.payTime
}}</el-descriptions-item>
<el-descriptions-item label="支付流水号">{{
item.outTradeNo
}}</el-descriptions-item>
<el-descriptions-item label="退款金额">{{
item.refundAmount
}}</el-descriptions-item>
</el-descriptions>
</template> </template>
</el-table-column> <div v-else style="text-align: center">暂无数据</div>
<el-table-column prop="payTime" label="支付时间" align="center"/>
<el-table-column prop="outTradeNo" label="支付流水号" align="center"/>
<el-table-column prop="refundAmount" label="退款金额" align="center"/>
</el-table>
<div class="marginTop"></div> <div class="marginTop"></div>
</el-card> </el-card>
<!-- 退款信息 --> <!-- 退款信息 -->
<el-card class="cardStyle"> <el-card class="cardStyle">
<div style="margin: 12px 0"> <div style="margin: 12px 0">
<span>退款信息</span> <span>退款信息</span>
<el-button icon="el-icon-refresh-right" <el-button
icon="el-icon-refresh-right"
style="float: right; padding: 3px 0" style="float: right; padding: 3px 0"
type="text" type="text"
@click="retryRefundOrder" @click="retryRefundOrder"
@@ -165,11 +274,19 @@
</el-button> </el-button>
</div> </div>
<el-table style="width: 100%" :data="orderRefundInfoList" border> <el-table style="width: 100%" :data="orderRefundInfoList" border>
<el-table-column prop="paymentId" label="支付流水号" align="center"/> <el-table-column prop="paymentId" label="支付流水号" align="center" />
<el-table-column prop="reverseId" label="退款流水号" align="center"/> <el-table-column prop="reverseId" label="退款流水号" align="center" />
<el-table-column prop="reverseAmt" label="退款金额" align="center"/> <el-table-column prop="reverseAmt" label="退款金额" align="center" />
<el-table-column prop="createdTime" label="退款申请时间" align="center"/> <el-table-column
<el-table-column prop="succeedTime" label="退款成功时间" align="center"/> prop="createdTime"
label="退款申请时间"
align="center"
/>
<el-table-column
prop="succeedTime"
label="退款成功时间"
align="center"
/>
</el-table> </el-table>
<div class="marginTop"></div> <div class="marginTop"></div>
</el-card> </el-card>
@@ -178,11 +295,27 @@
<el-card class="cardStyle"> <el-card class="cardStyle">
<h3>设备信息</h3> <h3>设备信息</h3>
<el-table style="width: 100%" :data="pileIn" border> <el-table style="width: 100%" :data="pileIn" border>
<el-table-column prop="merchantName" label="运营商名称" align="center"/> <el-table-column
<el-table-column prop="pileSn" label="设备编号" align="center"/> prop="merchantName"
<el-table-column prop="ratedCurrent" label="额定电流(A)" align="center"/> label="运营商名称"
<el-table-column prop="ratedVoltage" label="额定电压(V)" align="center"/> align="center"
<el-table-column prop="ratedPower" label="额定功率(KW)" align="center"/> />
<el-table-column prop="pileSn" label="设备编号" align="center" />
<el-table-column
prop="ratedCurrent"
label="额定电流(A)"
align="center"
/>
<el-table-column
prop="ratedVoltage"
label="额定电压(V)"
align="center"
/>
<el-table-column
prop="ratedPower"
label="额定功率(KW)"
align="center"
/>
</el-table> </el-table>
<div class="marginTop"></div> <div class="marginTop"></div>
</el-card> </el-card>
@@ -194,27 +327,37 @@
<el-table-column prop="nickName" label="用户昵称" align="center"> <el-table-column prop="nickName" label="用户昵称" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link <router-link
:to="'/member/detail/index/'+scope.row.memberId" :to="'/member/detail/index/' + scope.row.memberId"
class="link-type" class="link-type"
> >
<span>{{ scope.row.nickName }}</span> <span>{{ scope.row.nickName }}</span>
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="memberId" label="会员ID" align="center"/> <el-table-column prop="memberId" label="会员ID" align="center" />
<el-table-column prop="mobileNumber" label="用户手机号" align="center"/> <el-table-column
<el-table-column prop="principalBalance" label="本金金额" align="center"/> prop="mobileNumber"
label="用户手机号"
align="center"
/>
<el-table-column
prop="principalBalance"
label="本金金额"
align="center"
/>
<!-- <el-table-column prop="giftBalance" label="赠送金额" align="center"/>--> <!-- <el-table-column prop="giftBalance" label="赠送金额" align="center"/>-->
<el-table-column prop="totalAccountAmount" label="总金额" align="center"/> <el-table-column
prop="totalAccountAmount"
label="总金额"
align="center"
/>
</el-table> </el-table>
<div class="marginTop"></div> <div class="marginTop"></div>
</el-card> </el-card>
<!-- 时间 描述--> <!-- 时间 描述-->
<el-card <el-card
class="cardStyle" class="cardStyle"
v-if=" v-if="orderInfo.orderStatus === '1' || orderInfo.orderStatus === '6'"
orderInfo[0].orderStatus === '1' || orderInfo[0].orderStatus === '6'
"
> >
<div class="marginTop"></div> <div class="marginTop"></div>
<order-echarts :obj="obj"></order-echarts> <order-echarts :obj="obj"></order-echarts>
@@ -222,16 +365,31 @@
</div> </div>
</template> </template>
<script> <script>
import {getOrder, manualSettlementOrder, retryRefundOrder} from "@/api/order/order"; import {
getOrder,
manualSettlementOrder,
retryRefundOrder,
} from "@/api/order/order";
import OrderEcharts from "@/views/order/order/orderEcharts"; import OrderEcharts from "@/views/order/order/orderEcharts";
export default { export default {
name: "", name: "",
components: {OrderEcharts}, components: { OrderEcharts },
data() { data() {
return { return {
CS: {
"text-align": "center",
"word-break": "break-all",
},
LS: {
height: "40px",
color: "#515A6E",
"text-align": "center",
"word-break": "break-all",
"font-weight": "bolder",
},
orderCode: this.$route.params.orderCode, orderCode: this.$route.params.orderCode,
orderInfo: [], orderInfo: {},
payDetail: [], payDetail: [],
// 订单退款列表 // 订单退款列表
orderRefundInfoList: [], orderRefundInfoList: [],
@@ -241,7 +399,12 @@ export default {
obj: {}, obj: {},
orderDetail: [], orderDetail: [],
pileIn: [], pileIn: [],
orderRealTimeInfo: null, orderRealTimeInfo: {
orderAmount: null,
chargedDegree: null,
chargingTime: null,
soc: null,
},
// 手动结算对话框Visible // 手动结算对话框Visible
dialogVisible: false, dialogVisible: false,
// 最后一次实时监测数据 // 最后一次实时监测数据
@@ -253,7 +416,7 @@ export default {
chargingAmount: null, chargingAmount: null,
chargingDegree: null, chargingDegree: null,
}, },
tableData: [] tableData: [],
}; };
}, },
created() { created() {
@@ -261,15 +424,19 @@ export default {
}, },
methods: { methods: {
getSummaries(param) { getSummaries(param) {
const {columns, data} = param; const { columns, data } = param;
const sums = []; const sums = [];
columns.forEach((column, index) => { columns.forEach((column, index) => {
if (index === 0) { if (index === 0) {
sums[index] = '合计'; sums[index] = "合计";
return; return;
} }
const values = data.map(item => Number(item[column.property])); const values = data.map((item) => Number(item[column.property]));
if (column.property === 'usedElectricity' || column.property === 'electricityAmount' || column.property === 'serviceAmount') { if (
column.property === "usedElectricity" ||
column.property === "electricityAmount" ||
column.property === "serviceAmount"
) {
sums[index] = values.reduce((prev, curr) => { sums[index] = values.reduce((prev, curr) => {
const value = Number(curr); const value = Number(curr);
if (!isNaN(value)) { if (!isNaN(value)) {
@@ -289,9 +456,9 @@ export default {
// 重试退款方法 // 重试退款方法
retryRefundOrder() { retryRefundOrder() {
const param = { const param = {
orderCode: this.orderCode orderCode: this.orderCode,
}; };
retryRefundOrder(param).then(response => { retryRefundOrder(param).then((response) => {
this.getOrderDetail(); this.getOrderDetail();
}); });
}, },
@@ -302,27 +469,26 @@ export default {
if (this.manualSettlementParam.chargingDegree == null) { if (this.manualSettlementParam.chargingDegree == null) {
return false; return false;
} }
this.manualSettlementParam.orderCode = this.orderInfo[0].orderCode; this.manualSettlementParam.orderCode = this.orderInfo.orderCode;
console.log("确认手动结算订单param:", this.manualSettlementParam); console.log("确认手动结算订单param:", this.manualSettlementParam);
manualSettlementOrder(this.manualSettlementParam).then(response => { manualSettlementOrder(this.manualSettlementParam).then((response) => {
this.dialogVisible = false; this.dialogVisible = false;
this.getOrderDetail(); this.getOrderDetail();
}) });
}, },
async getOrderDetail() { async getOrderDetail() {
const {data} = await getOrder(this.orderCode); const { data } = await getOrder(this.orderCode);
// console.log("getOrder", data); // console.log("getOrder", data);
this.obj = data; this.obj = data;
this.orderInfo = [data.orderInfo]; this.orderInfo = data.orderInfo;
// console.log("this.orderInfo", this.orderDetail);
this.payDetail = data.payRecordList; this.payDetail = data.payRecordList;
// console.log("this.payDetail", this.payDetail);
this.orderRefundInfoList = data.orderRefundInfoList; this.orderRefundInfoList = data.orderRefundInfoList;
this.userInfo = [data.memberInfo]; this.userInfo = [data.memberInfo];
// console.log("this.userInfo", this.userInfo); // console.log("this.userInfo", this.userInfo);
this.pileIn = [data.pileInfo]; this.pileIn = [data.pileInfo];
// console.log("this.pileIn", this.pileIn); // console.log("this.pileIn", this.pileIn);
this.orderRealTimeInfo = [data.orderRealTimeInfo]; this.orderRealTimeInfo = data.orderRealTimeInfo;
this.orderDetail = [data.billingDetails]; this.orderDetail = [data.billingDetails];
this.tableData = data.chargeDetails; this.tableData = data.chargeDetails;
this.lastMonitorData = data.lastMonitorData; this.lastMonitorData = data.lastMonitorData;
@@ -339,28 +505,31 @@ export default {
return [this.lastMonitorData]; return [this.lastMonitorData];
}, },
retryRefundFlag() { retryRefundFlag() {
if (this.orderInfo[0] == null || this.orderInfo[0].orderStatus !== '6') { if (this.orderInfo == null || this.orderInfo.orderStatus !== "6") {
return false; return false;
} }
if (this.payDetail[0] == null || this.payDetail[0].payMode !== '4') { if (this.payDetail[0] == null || this.payDetail.payMode[0] !== "4") {
return false; return false;
} }
if (this.payDetail[0].refundAmount == null || this.payDetail[0].refundAmount <= 0.00 ) { if (
this.payDetail[0].refundAmount == null ||
this.payDetail[0].refundAmount <= 0.0
) {
return false; return false;
} }
if (this.orderRefundInfoList.length === 0) { if (this.orderRefundInfoList.length === 0) {
return false; return false;
} }
return true; return true;
} },
} },
}; };
</script> </script>
<style>
<style lang="scss" scoped>
.cardStyle { .cardStyle {
margin-bottom: 10px; margin-bottom: 10px;
} }
.marginTop { .marginTop {
margin-top: 10px; margin-top: 10px;
} }