套餐低功率关闭

This commit is contained in:
墨大叔 2024-09-19 16:10:19 +08:00
parent 7b74f7854a
commit 9cf598aa9c
2 changed files with 47 additions and 19 deletions

View File

@ -181,7 +181,7 @@
</template>
</el-input>
</form-col>
<form-col :span="span" label="度数" prop="value" v-else-if="form.feeType === SuitFeeType.COUNT">
<form-col :span="span" label="电量" prop="value" v-else-if="form.feeType === SuitFeeType.COUNT">
<el-input v-model="form.value" placeholder="请输入度数" type="number">
<template #append></template>
</el-input>
@ -208,6 +208,12 @@
</el-col>
</el-row>
</form-col>
<form-col :span="10" label="低功率关闭并结束订单" prop="enabledLowPowerClose" label-width="11em">
<el-switch v-model="form.enabledLowPowerClose" active-text="启用" inactive-text="未启用"/>
</form-col>
<form-col :span="14" label="关闭订单功率阈值" prop="lowPower" label-width="10em" v-if="form.enabledLowPowerClose">
<el-input-number v-model="form.lowPower" placeholder="请输入功率阈值" :min="0" controls-position="right" style="width: calc(100% - 2em)"/>
</form-col>
<form-col :span="span * 2" label="应用设备" prop="deviceIds">
<device-input v-model="form.deviceIds" multiple :before-open="beforeOpenDevice" :query="deviceQuery"/>
</form-col>
@ -341,6 +347,9 @@ export default {
],
feeType: [
{ required: true, message: "收费类型不能为空", trigger: "change" }
],
lowPower: [
{ required: true, message: "低功率关闭并结束订单阈值不能为空", trigger: "blur" }
]
}
};
@ -432,6 +441,8 @@ export default {
feeMode: "1",
gearAmount: [0,0,0,0],
gearTime: [],
enabledLowPowerClose: false,
lowPower: 0,
};
if (this.$refs.form) {
this.$refs.form.clearValidate();

View File

@ -9,21 +9,39 @@
<el-descriptions-item label="交易状态">
<dict-tag :value="detail.status" :options="dict.type.sm_transaction_bill_status" size="small"/>
</el-descriptions-item>
<el-descriptions-item label="交易金额">{{detail.money | money | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="到账金额">{{detail.arrivalAmount | money | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="手续费">{{detail.serviceCharge | money | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="退款金额">{{detail.refundAmount | money | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="商户退款金额">{{detail.refundMchAmount | money | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="服务费退款金额">{{detail.refundServiceAmount | money | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="交易金额">
{{detail.money | money | defaultValue}}
<template v-show="detail.refundAmount">退款{{detail.refundAmount | money | defaultValue}} </template>
</el-descriptions-item>
<el-descriptions-item label="商户到账">
{{detail.arrivalAmount | money | defaultValue}}
<template v-show="detail.refundMchAmount">退款{{detail.refundMchAmount | money | defaultValue}} </template>
</el-descriptions-item>
<el-descriptions-item label="服务费">
{{detail.serviceCharge | money | defaultValue}}
<template v-show="detail.refundServiceAmount">退款{{detail.refundServiceAmount | money | defaultValue}} </template>
</el-descriptions-item>
<el-descriptions-item label="平台渠道成本">{{detail.channelCost | money | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="平台利润">{{detail.serviceCharge - detail.channelCost | money | defaultValue}} </el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="box-card">
<el-descriptions title="设备套餐信息" :column="4">
<el-descriptions-item label="设备">
<el-descriptions-item label="设备名称">
<device-link :id="detail.deviceId" :text="detail.deviceName"/>
(<device-link :id="detail.deviceId" :text="detail.deviceNo"/>)
</el-descriptions-item>
<el-descriptions-item label="设备SN">
<device-link :id="detail.deviceId" :text="detail.deviceNo"/>
</el-descriptions-item>
<el-descriptions-item label="设备充值状态" v-if="[SuitFeeType.TIMING, SuitFeeType.COUNT].includes(detail.suitFeeType)">
<dict-tag :value="detail.deviceRechargeStatus"
:options="dict.type.sm_transaction_bill_device_recharge_status"
size="small"/>
</el-descriptions-item>
<el-descriptions-item label="使用状态">
<el-tag type="warning" v-if="detail.isUsing" size="small">使用中</el-tag>
<el-tag type="success" v-else-if="detail.isFinished" size="small">已结束</el-tag>
<el-tag type="info" v-else size="small">未开始</el-tag>
</el-descriptions-item>
<el-descriptions-item label="套餐名称">{{detail.suitName | defaultValue}}</el-descriptions-item>
<el-descriptions-item label="套餐计费模式">
@ -32,16 +50,6 @@
<el-descriptions-item label="套餐计费类型">
<dict-tag :value="detail.suitFeeType" :options="dict.type.suit_fee_type" size="small"/>
</el-descriptions-item>
<el-descriptions-item label="使用状态">
<el-tag type="warning" v-if="detail.isUsing" size="small">使用中</el-tag>
<el-tag type="success" v-else-if="detail.isFinished" size="small">已结束</el-tag>
<el-tag type="info" v-else size="small">未开始</el-tag>
</el-descriptions-item>
<el-descriptions-item label="设备充值状态" v-if="[SuitFeeType.TIMING, SuitFeeType.COUNT].includes(detail.suitFeeType)">
<dict-tag :value="detail.deviceRechargeStatus"
:options="dict.type.sm_transaction_bill_device_recharge_status"
size="small"/>
</el-descriptions-item>
<el-descriptions-item label="套餐时长" v-if="detail.suitFeeType === SuitFeeType.TIMING">{{detail.suitTime | defaultValue}} {{suitTimeUnit(detail.suitTimeUnit)}}</el-descriptions-item>
<el-descriptions-item label="套餐电量" v-if="detail.suitFeeType === SuitFeeType.COUNT">{{detail.suitTime | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="开始时间">{{detail.suitStartTime | defaultValue}}</el-descriptions-item>
@ -49,6 +57,15 @@
<el-descriptions-item label="失效时间">{{detail.suitExpireTime | defaultValue}}</el-descriptions-item>
<el-descriptions-item label="开始总用电量">{{detail.suitStartEle | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="结束总用电量">{{detail.suitEndEle | defaultValue}} </el-descriptions-item>
<el-descriptions-item label="低功率自动关闭" :span="2">
<template v-if="detail.suitEnableLowPowerClose">
<span style="color: green;margin-right: 0.5em;">已开启<i class="el-icon-check"/></span>
设备功率低于 {{detail.suitLowPower | money | defaultValue}} 瓦将自动关闭设备并结束订单
</template>
<template v-else>
<span style="color: red">未启用<i class="el-icon-close"/></span>
</template>
</el-descriptions-item>
</el-descriptions>
</el-card>
</el-col>