From 8551a4c23b0a6f368dcfa5607f6508a4503174cd Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 07 Jan 2021 15:47:07 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html |  180 ++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 108 insertions(+), 72 deletions(-)

diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
index 2e32d03..bd53d6f 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
@@ -461,23 +461,26 @@
             <el-col class="paymethod" :span="15">
                 <el-row>
                     <ul>
-                        <div v-for="(item, index) in payMethods">
+                        <span v-for="(item, index) in payMethods">
                             <el-popover
-                                    :disabled="item.type != 1"
+                                    :disabled="item.type != 6"
                                     placement="bottom"
-                                    width="200"
-                                    trigger="click">
+                                    trigger="hover"
+                                    @hide="popoverHide(item)">
+                                <el-row style="text-align: center;"><span style="padding: 0 0 10px 0; display: block; font-size: 12px;">选择会员卡支付方式</span></el-row>
                                 <el-tree :data="moneyCards"
                                         show-checkbox
                                         default-expand-all
                                         node-key="id"
                                         ref="tree"
-                                        highlight-current
-                                        :props="defaultProps">
+                                         check-strictly
+                                         highlight-current
+                                         @check="(click, checked,$item)=>{handleCheckChange(click, checked,$item)}"
+                                         :props="defaultProps">
                                 </el-tree>
-                                <li :class="{active : item.isActive}" @click="payMethodSelect(item, index)" slot="reference">{{item.value}}</li>
+                                <li :class="{active : item.isActive}" slot="reference" @click="payMethodSelect(item, index)">{{item.value}}</li>
                             </el-popover>
-                        </div>
+                        </span>
                     </ul>
                 </el-row>
             </el-col>
@@ -486,18 +489,10 @@
         <el-row type="flex" align="middle" style="padding: 10px 0;">
             <el-col :span="5" style="text-align: center;">支付金额</el-col>
             <el-col :span="15">
-                <el-row style="line-height: 50px;">
-                    <el-col :span="5" style="text-align: right; padding-right: 10px;">微信支付</el-col>
-                    <el-col :span="8"><el-input></el-input></el-col>
-                </el-row>
-                <el-row style="line-height: 50px;">
-                    <el-col :span="5" style="text-align: right; padding-right: 10px;">储值卡</el-col>
-                    <el-col :span="8"><el-input></el-input></el-col>
-                    <el-col :span="5" style="margin-left: 10px;">余额:<span class="arrears">¥ 1000</span></el-col>
-                </el-row>
-                <el-row style="line-height: 50px;">
-                    <el-col :span="5" style="text-align: right; padding-right: 10px;">欠款</el-col>
-                    <el-col :span="8"><el-input></el-input></el-col>
+                <el-row style="line-height: 50px;" v-for="(item, index) in payMoneys">
+                    <el-col :span="5" style="text-align: right; padding-right: 10px; font-size: 12px;">{{item.value}}</el-col>
+                    <el-col :span="8"><el-input v-model="item.money"></el-input></el-col>
+                    <el-col :span="5" style="margin-left: 10px;" v-if="item.type == 6">余额:<span class="arrears">¥ {{item.balance}}</span></el-col>
                 </el-row>
             </el-col>
         </el-row>
@@ -507,7 +502,7 @@
         </el-row>
 
         <el-row style="text-align: center; margin: 10px 0 0 0">
-            <el-button type="primary">确认收款</el-button>
+            <el-button type="primary" @click="submitPay">确认收款</el-button>
         </el-row>
     </el-dialog>
 
@@ -556,49 +551,36 @@
             vipLoading: false,
             payMethods: [{
                 value: '现金支付',
-                isActive: false
-            }, {
-                value: '微信',
-                isActive: false
-            }, {
-                value: '支付宝',
-                isActive: false
-            }, {
-                value: '银行卡',
-                isActive: false
-            }, {
-                value: '团购',
-                isActive: false
-            }, {
-                value: '会员卡',
                 isActive: false,
                 type: 1
             }, {
+                value: '微信',
+                isActive: false,
+                type: 2
+            }, {
+                value: '支付宝',
+                isActive: false,
+                type: 3
+            }, {
+                value: '银行卡',
+                isActive: false,
+                type: 4
+            }, {
+                value: '团购',
+                isActive: false,
+                type: 5
+            }, {
+                value: '会员卡',
+                isActive: false,
+                type: 6
+            }, {
                 value: '欠款',
-                isActive: false
+                isActive: false,
+                type: 7
             },],
             achieveList: [],
             //会员可用的充值卡
-            moneyCards: [
-                {
-                    id: 1,
-                    label: '一级 1',
-                    children: [{
-                        id: 4,
-                        label: '二级 1-1',
-                        children: []
-                    }]
-                },
-                {
-                    id: 2,
-                    label: '一级 2',
-                    children: [{
-                        id: 3,
-                        label: '二级 2-1',
-                        children: []
-                    }]
-                }
-            ],
+            moneyCards: [],
             //门店信息
             shopInfo: {},
 
@@ -619,8 +601,10 @@
             dialogSettleVisible : true,
             defaultProps: {
                 children: 'children',
-                label: 'label'
-            }
+                label: 'showLable'
+            },
+            treeSelect : [],
+            payMoneys : []
 
         },
 
@@ -698,7 +682,6 @@
                 }
             });
 
-
         },
 
         methods: {
@@ -730,11 +713,6 @@
                                     item.showLable = item.cardName + "-余额:" + (item.realMoney + item.giftMoney)
                                 });
                                 _this.moneyCards = data.rows;
-                                //启用会员卡支付方式
-                                _this.payMethods[5].disabled = false;
-                            } else {
-                                //禁用会员卡支付方式
-                                _this.payMethods[5].disabled = true;
                             }
 
                         }
@@ -1110,7 +1088,7 @@
                     callback: function (data) {
                         _this.currentVipInfo = data.rows[0];
                         _this.order.vipId = _this.currentVipInfo.id;
-                        // _this.getVipMoneyCards();
+                        _this.getVipMoneyCards();
 
                     }
                 });
@@ -1149,13 +1127,71 @@
 
             },
             payMethodSelect(item, index) {
-                this.$nextTick(function () {
-                    if (item.isActive) {
-                        Vue.set(item,'isActive',false);
-                    } else {
-                        Vue.set(item,'isActive',true);
+                let _this = this;
+                let payMoneys = _this.payMoneys;
+                if (item.type != 6) {
+                    this.$nextTick(function () {
+                        if (item.isActive) {
+                            Vue.set(item,'isActive',false);
+                            var index = -1;
+                            for (var i = 0; i < payMoneys.length; i++) {
+                                let payMoney = payMoneys[i];
+                                if (payMoney.value == item.value) {
+                                    index = i;
+                                    break;
+                                }
+                            }
+
+                            if (index > -1) {
+                                _this.payMoneys.splice(index, 1)
+                            }
+                        } else {
+                            Vue.set(item,'isActive',true);
+                            _this.payMoneys.push(item);
+                        }
+                    });
+                }
+            },
+            popoverHide(item) {
+                if(this.treeSelect.length <= 0) {
+                    Vue.set(item, 'isActive', false)
+                } else {
+                    Vue.set(item, 'isActive', true)
+                }
+            },
+            handleCheckChange(click, checked) {
+                let _this = this;
+                let selectNodes = checked.checkedNodes;
+                this.treeSelect = selectNodes;
+
+                let payMoneys = this.payMoneys;
+                for(var i = 0; i < payMoneys.length; i++) {
+                    if(payMoneys[i].type == 6) {
+                        _this.payMoneys.splice(i, 1);
                     }
-                });
+                }
+
+                for(var i = 0; i < selectNodes.length; i++) {
+                    var node = selectNodes[i];
+                    var item = {};
+                    item.value = node.cardName;
+                    item.balance = node.money;
+                    item.isGift = 0;
+                    item.type = 6;
+                    item.id = node.id;
+                    if (node.giftMoney != 0) {
+                        var giftItem = {};
+                        giftItem.value = node.cardName + "赠送金额";
+                        giftItem.id = node.id;
+                        giftItem.balance = node.giftMoney;
+                        giftItem.isGift = 1;
+                        giftItem.type = 6;
+                        _this.payMoneys.push(giftItem);
+                    }
+                    _this.payMoneys.push(item);
+                }
+            },
+            submitPay() {
             }
         }
 

--
Gitblit v1.9.1