|
|
@@ -19,7 +19,8 @@
|
|
|
:wrapperCol="wrapperCol"
|
|
|
prop="money"
|
|
|
> -->
|
|
|
- <span>{{ "应" + (model.money < 0 ? "退" : "收") }}: {{ Math.abs(model.money.toFixed(2)) }}元</span>
|
|
|
+ <!-- {{ Math.abs(model.money.toFixed(2)) }}元 -->
|
|
|
+ <span>{{ "应" + (model.money < 0 ? "退" : "收") }}: {{ realityAmount.toFixed(2) }}元</span>
|
|
|
<!-- </a-form-model-item> -->
|
|
|
</a-col>
|
|
|
<a-col :span="16">
|
|
|
@@ -49,33 +50,36 @@
|
|
|
style="width: 50px"
|
|
|
v-model="model.discount"
|
|
|
:min="1"
|
|
|
- :max="9"
|
|
|
+ :max="99"
|
|
|
></a-input-number
|
|
|
>折
|
|
|
</template>
|
|
|
- </a-form-model-item>
|
|
|
- <!-- <a-col :span="24" v-if="model.preferentialType == 2"> -->
|
|
|
- <div v-if="model.preferentialType == 2">
|
|
|
- <a-form-model-item
|
|
|
+ <template v-if="model.preferentialType == 2">
|
|
|
+ 优惠金额: <a-input-number
|
|
|
+ style="width: 100px"
|
|
|
+ :min="0"
|
|
|
+ v-model="model.couponFirstAmount"
|
|
|
+ placeholder="请输入优惠金额"
|
|
|
+ ></a-input-number
|
|
|
+ >元
|
|
|
+ <!-- <a-form-model-item
|
|
|
label="优惠金额"
|
|
|
:labelCol="labelCol"
|
|
|
:wrapperCol="wrapperCol"
|
|
|
prop="couponFirstAmount"
|
|
|
>
|
|
|
- <a-input-number
|
|
|
- style="width: 100px"
|
|
|
- :min="0"
|
|
|
- v-model="model.couponFirstAmount"
|
|
|
- placeholder="请输入优惠金额"
|
|
|
- ></a-input-number
|
|
|
- >元
|
|
|
- </a-form-model-item>
|
|
|
- </div>
|
|
|
+
|
|
|
+ </a-form-model-item> -->
|
|
|
+ </template>
|
|
|
+ </a-form-model-item>
|
|
|
+ <!-- <a-col :span="24" v-if="model.preferentialType == 2"> -->
|
|
|
+
|
|
|
<a-form-model-item
|
|
|
label="优惠券"
|
|
|
:labelCol="labelCol"
|
|
|
:wrapperCol="wrapperCol"
|
|
|
prop="refund"
|
|
|
+ v-if='model.coupon'
|
|
|
>
|
|
|
<a-select
|
|
|
v-if="model.couponCard"
|
|
|
@@ -94,6 +98,7 @@
|
|
|
<a-switch v-model="model.couponCard" />使用优惠券
|
|
|
</a-form-model-item>
|
|
|
<a-form-model-item
|
|
|
+ v-if='model.coupon'
|
|
|
label="惠后金额"
|
|
|
:labelCol="labelCol"
|
|
|
:wrapperCol="wrapperCol"
|
|
|
@@ -237,7 +242,9 @@
|
|
|
{{ Math.abs(sumAmount.toFixed(2)) }}元
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
- <div class="presentation_style_two" v-if="model.money < 0">退款:</div>
|
|
|
+ <div class="presentation_style_two" v-if="model.money < 0">退款:
|
|
|
+ <a-button danger type="link" @click="addCustomRefund">新增自定义退款</a-button>
|
|
|
+ </div>
|
|
|
<a-col :span="24" v-if="model.money < 0">
|
|
|
<a-table :columns="columns" :data-source="feeList" bordered>
|
|
|
<template slot="payType" slot-scope="text, record, index">
|
|
|
@@ -250,12 +257,27 @@
|
|
|
{{ getRoomName(text) }}
|
|
|
</template>
|
|
|
<template slot="payType" slot-scope="text, record, index">
|
|
|
- <a-select style="width: 100px" v-model="record.payType">
|
|
|
+ <a-select style="width: 100px" v-model="record.payType" :disabled="record.createTime !== '自定义退款'">
|
|
|
<a-select-option v-for="(item, key) in payTypeList" :key="key" :value="item.id" :disabled="item.disable">{{ item.name }}</a-select-option>
|
|
|
</a-select>
|
|
|
</template>
|
|
|
<template slot="prerefund" slot-scope="text, record, index">
|
|
|
- <a-input-number :max="record.money - record.returnMoney" v-model="record.prerefund"></a-input-number>
|
|
|
+ <a-input-number :min="1" :max="record.money - record.returnMoney" v-model="record.prerefund"></a-input-number>
|
|
|
+ </template>
|
|
|
+ <template slot="operation" slot-scope="text, record, index">
|
|
|
+ <!-- <a-popconfirm
|
|
|
+ title="Sure to delete?"
|
|
|
+ :disable="record.createTime == '自定义退款'"
|
|
|
+ >
|
|
|
+ <a>删除</a>
|
|
|
+ </a-popconfirm> -->
|
|
|
+ <a-button danger v-if="record.createTime === '自定义退款'" type="link" @click="reduceCustomization(record)">删除</a-button>
|
|
|
+ <!-- <a-button
|
|
|
+ v-if="record.returnMoney"
|
|
|
+ @click="reduceCustomization"
|
|
|
+ ><a-icon type="exception" /></a-button
|
|
|
+ >
|
|
|
+ <span v-else>{{ record.returnMoney }}</span> -->
|
|
|
</template>
|
|
|
</a-table>
|
|
|
</a-col>
|
|
|
@@ -273,7 +295,6 @@
|
|
|
import { httpAction, getAction,postAction } from '@/api/manage'
|
|
|
import { validateDuplicateValue } from '@/utils/util'
|
|
|
import moment from 'moment/moment'
|
|
|
-
|
|
|
export default {
|
|
|
name: 'PayOrRefund',
|
|
|
components: {},
|
|
|
@@ -378,6 +399,13 @@ export default {
|
|
|
{
|
|
|
title: '已退金额(元)',
|
|
|
dataIndex: 'returnMoney',
|
|
|
+ scopedSlots: { customRender: 'returnMoney' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ width: '100px',
|
|
|
+ scopedSlots: { customRender: 'operation' },
|
|
|
+ // dataIndex: 'operation',
|
|
|
},
|
|
|
],
|
|
|
// [
|
|
|
@@ -442,15 +470,33 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
+ discount() {
|
|
|
+ return 1
|
|
|
+ },
|
|
|
formDisabled() {
|
|
|
return this.disabled
|
|
|
},
|
|
|
sumAmount() {
|
|
|
- var sum = this.payList.reduce(function (total, item) {
|
|
|
- return total + item.money
|
|
|
- }, 0)
|
|
|
- return sum
|
|
|
+ // console.log(this.isRefund);
|
|
|
+ if (this.isRefund) {
|
|
|
+ var sum = this.feeList.reduce(function (total, item) {
|
|
|
+ return total + item.prerefund
|
|
|
+ }, 0)
|
|
|
+ return sum
|
|
|
+ } else {
|
|
|
+ var sum = this.payList.reduce(function (total, item) {
|
|
|
+ return total + item.money
|
|
|
+ }, 0)
|
|
|
+ return sum
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
+ // sumAmount() {
|
|
|
+ // var sum = this.payList.reduce(function (total, item) {
|
|
|
+ // return total + item.money
|
|
|
+ // }, 0)
|
|
|
+ // return sum
|
|
|
+ // },
|
|
|
couponAmount() {
|
|
|
var sum = 0
|
|
|
if (this.model.coupon) {
|
|
|
@@ -459,9 +505,22 @@ export default {
|
|
|
} else if (this.model.preferentialType == 2) {
|
|
|
sum = this.model.consumption - (this.model.couponFirstAmount || 0)
|
|
|
} else if (this.model.preferentialType == 3) {
|
|
|
- sum = parseFloat(
|
|
|
+ if (this.model.discount > 10) {
|
|
|
+ // console.log(this.model.consumption);
|
|
|
+ // console.log(this.model.discount);
|
|
|
+ sum = parseFloat(
|
|
|
+ ((this.model.consumption * this.model.discount) / 100).toFixed(2)
|
|
|
+ )
|
|
|
+ } else if(this.model.discount == 10){
|
|
|
+ sum = parseFloat(
|
|
|
((this.model.consumption * this.model.discount) / 10).toFixed(2)
|
|
|
- )
|
|
|
+ )
|
|
|
+ } else if (this.model.discount < 10){
|
|
|
+ sum = parseFloat(
|
|
|
+ ((this.model.consumption * this.model.discount) / 10).toFixed(2)
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
} else {
|
|
|
sum = this.model.consumption
|
|
|
@@ -469,6 +528,7 @@ export default {
|
|
|
return sum
|
|
|
},
|
|
|
realityAmount() {
|
|
|
+ console.log(this.model);
|
|
|
// 实际要收的钱,为负表示要退的钱
|
|
|
let relMoney = this.couponAmount.toFixed(2) - this.model.collection
|
|
|
this.isRefund = relMoney < 0
|
|
|
@@ -725,9 +785,24 @@ export default {
|
|
|
// preferentialMoney: this.model.preferentialMoney
|
|
|
// })
|
|
|
// })
|
|
|
+ console.log(this.feeList);
|
|
|
+ console.log(this.realityAmount);
|
|
|
+ console.log(this.sumAmount);
|
|
|
+ let tempbreak = false
|
|
|
+ this.feeList.forEach(index => {
|
|
|
+ if (index.payType == null && this.isRefund) {
|
|
|
+ this.$message.warning('请选择自定义退款退款方式')
|
|
|
+ tempbreak = true
|
|
|
+ return
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (tempbreak) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // return
|
|
|
if (this.isRefund) {
|
|
|
this.feeList.forEach((item) => {
|
|
|
- let remark =
|
|
|
+ // let remark =
|
|
|
// let money = -money
|
|
|
fees.push({
|
|
|
feeType: this.model.feeType,
|
|
|
@@ -821,8 +896,8 @@ export default {
|
|
|
returnFeeList.push(e)
|
|
|
}
|
|
|
})
|
|
|
- console.log(templist);
|
|
|
- console.log(returnFeeList);
|
|
|
+ // console.log(templist);
|
|
|
+ // console.log(returnFeeList);
|
|
|
|
|
|
templist.forEach(e => {
|
|
|
let returnMoney = returnFeeList.filter(ele => e.id === ele.returnFeeId).reduce((accumulator, ele) => accumulator + ele.money, 0)
|
|
|
@@ -894,7 +969,22 @@ export default {
|
|
|
}
|
|
|
|
|
|
},
|
|
|
-
|
|
|
+ // 新增自定义退款
|
|
|
+ addCustomRefund() {
|
|
|
+ this.feeList.push({
|
|
|
+ createTime: '自定义退款',
|
|
|
+ payType: null,
|
|
|
+ prerefund: null,
|
|
|
+ // pullDown: false
|
|
|
+ })
|
|
|
+ console.log(this.feeList);
|
|
|
+ },
|
|
|
+ // 减少自定义退款
|
|
|
+ reduceCustomization(val) {
|
|
|
+ console.log(val);
|
|
|
+ let tempindex = this.feeList.findIndex(index => index == val)
|
|
|
+ this.feeList.splice(tempindex,1)
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -919,7 +1009,7 @@ export default {
|
|
|
font-size: 32px;
|
|
|
color: red;
|
|
|
text-align: center;
|
|
|
- padding-top: 7%;
|
|
|
+ padding-top: 3%;
|
|
|
/* margin: 0 auto; */
|
|
|
/* display: inline-block; */
|
|
|
/* margin-top: 60px; */
|