|
|
@@ -63,10 +63,17 @@
|
|
|
<view class="flex">合计金额:{{selectTotalAmount}}</view>
|
|
|
<view class="flex">实付金额:<input @focus="modifyPrice = null" v-model="modifyPrice" type="digit"/></view>
|
|
|
<view class="flex">优惠金额:{{(selectTotalAmount - modifyPrice).toFixed(2)}}</view>
|
|
|
- <view class="flex">支付方式:
|
|
|
- <picker mode="selector" :value="payWay" :range="payWayList" range-key="name" @change="changePayWayFn" class="tui-input" >
|
|
|
- <div style="border:1upx solid #CCCCCC;width:300upx;height:70upx;line-height:70upx;">{{ payWayData.name }}</div>
|
|
|
- </picker>
|
|
|
+ <view class="pay-way-row">
|
|
|
+ <view class="pay-way-label">支付方式:</view>
|
|
|
+ <view class="pay-way-btns">
|
|
|
+ <button
|
|
|
+ v-for="item in payWayList"
|
|
|
+ :key="item.id"
|
|
|
+ class="admin-button-com middle pay-way-btn"
|
|
|
+ :class="payWay === item.id ? 'blue' : 'default'"
|
|
|
+ @click="selectPayWay(item)"
|
|
|
+ >{{ item.name }}</button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -101,7 +108,6 @@ export default {
|
|
|
searchTime:'',
|
|
|
startTime:'',
|
|
|
endTime:'',
|
|
|
- payWayData:{name:"线下微信",id:0},
|
|
|
payWayList:[{name:"线下微信",id:0},{name:"现金",id:4},{name:"线下支付宝",id:1},{name:"银行卡",id:5}],
|
|
|
payWay:0,
|
|
|
confirm:-1
|
|
|
@@ -138,7 +144,13 @@ export default {
|
|
|
if (this.detailsList) {
|
|
|
for (const item of this.detailsList) {
|
|
|
if (item.checked) {
|
|
|
- amount=amount+Number(item.realPrice);
|
|
|
+ // 结账合计用剩余待结;无字段时回落 actPrice/realPrice
|
|
|
+ const remain = Number(item.remainDebtPrice)
|
|
|
+ if (remain > 0) {
|
|
|
+ amount = amount + remain
|
|
|
+ } else {
|
|
|
+ amount = amount + Number(item.actPrice || item.realPrice || 0)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -168,10 +180,12 @@ export default {
|
|
|
init(){
|
|
|
|
|
|
},
|
|
|
- changePayWayFn(e) {
|
|
|
- let info = this.payWayList[e.detail.value]
|
|
|
- this.payWay = info.id
|
|
|
- this.payWayData = info
|
|
|
+ /** 结账弹窗:点选支付方式(替代原生 picker) */
|
|
|
+ selectPayWay(item) {
|
|
|
+ if (!item) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.payWay = item.id
|
|
|
},
|
|
|
selectDateFn(val){
|
|
|
this.searchTime = val.searchTime
|
|
|
@@ -426,9 +440,10 @@ export default {
|
|
|
.num_bx {
|
|
|
margin-top:30upx;
|
|
|
margin-bottom:50upx;
|
|
|
- margin-left:80upx;
|
|
|
+ margin-left:40upx;
|
|
|
+ margin-right:40upx;
|
|
|
view{
|
|
|
- height: 80upx;
|
|
|
+ min-height: 80upx;
|
|
|
font-size: 28upx;
|
|
|
}
|
|
|
input {
|
|
|
@@ -440,6 +455,32 @@ export default {
|
|
|
font-size: 35upx;
|
|
|
width:300upx;
|
|
|
}
|
|
|
+ .pay-way-row {
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-start;
|
|
|
+ min-height: auto;
|
|
|
+ margin-top: 10upx;
|
|
|
+ .pay-way-label {
|
|
|
+ flex-shrink: 0;
|
|
|
+ line-height: 70upx;
|
|
|
+ min-height: auto;
|
|
|
+ }
|
|
|
+ .pay-way-btns {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ align-items: center;
|
|
|
+ min-height: auto;
|
|
|
+ }
|
|
|
+ .pay-way-btn {
|
|
|
+ margin: 0 12upx 12upx 0;
|
|
|
+ padding: 0 20upx;
|
|
|
+ min-width: 140upx;
|
|
|
+ height: 64upx;
|
|
|
+ line-height: 64upx;
|
|
|
+ font-size: 26upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|