Helius
2021-04-07 5a9edd419172c5d4072d7d945a34b1bddfcbc604
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
@@ -290,7 +290,7 @@
                    <el-table-column
                            label="小计">
                        <template slot-scope="scope">
                            {{scope.row.zkPrice * scope.row.count }}
                            {{(scope.row.zkPrice * scope.row.count).toFixed(2) }}
                        </template>
                    </el-table-column>
@@ -354,7 +354,7 @@
                            <li>订单总金额:{{order.total}}</li>
                            <li>整单折扣:<span class="arrears" v-if="order.zkTotal != null">{{order.total - order.zkTotal}}</span></li>
                            <li>整单折扣:<span class="arrears" v-if="order.zkTotal != null">{{(order.total - order.zkTotal).toFixed(2)}}</span></li>
<!--                            <li v-if="order.arrears>0">订单欠款:<span class="arrears">{{order.arrears}}</span></li>-->
<!--                            <li v-if="order.arrears<0">找零:<span class="arrears">{{order.arrears}}</span></li>-->
                        </ul>
@@ -382,7 +382,7 @@
            title="业绩设置"
            :visible.sync="drawer"
            :direction="direction"
            size="50%"
            size="90%"
    >
        <el-row>
            <el-col :span="24">
@@ -482,7 +482,7 @@
        <el-row type="flex" align="middle" style="padding: 10px 0;">
            <el-col :span="5" style="text-align: center;">收款方式</el-col>
            <el-col class="paymethod" :span="15">
            <el-col class="paymethod" :span="18">
                <el-row>
                    <ul>
                        <span v-for="(item, index) in payMethods">
@@ -502,7 +502,7 @@
                                         @check="(click, checked,$item)=>{handleCheckChange(click, checked,$item)}"
                                         :props="defaultProps">
                                </el-tree>
                                <li :class="{active : item.isActive}" slot="reference" @click="payMethodSelect(item, index)">{{item.value}}</li>
                                <li :class="{active : item.isActive}" slot="reference" @click="payMethodSelect(item, index)"><div style=" height:30px; line-height: 30px; display: flex; align-items: center"><img style="width: 25px; height: 25px; align-items: center;" :src="item.img"><span style="margin-left: 5px;">{{item.value}}</span></div></li>
                            </el-popover>
                        </span>
                    </ul>
@@ -516,7 +516,7 @@
                <el-row style="line-height: 50px;" v-for="(item, index) in payMoneys">
                    <el-col :span="6" 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="6" style="margin-left: 10px;" v-if="item.type == '储值卡'">{{item.isGift == 1 ? '赠送余额' : '余额' }}:<span class="arrears">¥ {{item.balance}}</span></el-col>
                    <el-col :span="8" style="margin-left: 10px;" v-if="item.type == '储值卡'">{{item.isGift == 1 ? '赠送余额' : '余额' }}:<span class="arrears">¥ {{item.balance}}</span></el-col>
                </el-row>
            </el-col>
        </el-row>
@@ -558,6 +558,7 @@
            direction: 'rtl',
            //当前登录用户
            loginUser: {},
            staffUser:{},
            //业绩用户列表
            userList: [],
            order: {
@@ -575,30 +576,37 @@
            vipLoading: false,
            payMethods: [{
                value: '现金支付',
                img: '/images/pay/cash.png',
                isActive: false,
                type: '现金支付'
            }, {
                value: '微信',
                img: '/images/pay/wechat.png',
                isActive: false,
                type: '微信'
            }, {
                value: '支付宝',
                img: '/images/pay/zhifubao.png',
                isActive: false,
                type: '支付宝'
            }, {
                value: '银行卡',
                img: '/images/pay/yinlian.png',
                isActive: false,
                type: '银行卡'
            }, {
                value: '团购',
                img: '/images/pay/tuan.png',
                isActive: false,
                type: '团购'
            }, {
                value: '储值卡',
                img: '/images/pay/card.png',
                isActive: false,
                type: '储值卡'
            }, {
            },{
                value: '欠款',
                img: '/images/pay/qian.png',
                isActive: false,
                type: '欠款'
            },],
@@ -648,64 +656,7 @@
        created: function () {
            let _this = this;
            //获取登录用户信息
            AjaxProxy.requst({
                app: _this,
                url: basePath + '/admin/getLoginUser',
                callback: function (data) {
                    _this.loginUser = data.mapInfo.user;
                    if (id) {
                        //加载订单信息
                        AjaxProxy.requst({
                            app: _this,
                            url: basePath + '/admin/order/findOrderById/' + id,
                            callback: function (data) {
                                _this.order = data.rows[0];
                                //修改支付金额
                                _this.changeVip(_this.order.vipId);
                                let items = _this.order.items;
                                let orderPayMoney = 0;
                                //设置欠款订单设置欠款金额等于支付金额,非欠款订单设置折扣金额等于支付金额
                                items.forEach(item => {
                                    if (item.arrears > 0) {
                                        item.payMoney = item.arrears;
                                    } else {
                                        item.payMoney = item.zkPrice;
                                    }
                                    orderPayMoney += item.payMoney;
                                    //业绩设置
                                    _this.achieveList.push({
                                        orderItem: item,
                                        staff: _this.loginUser,
                                        saleId: _this.loginUser.suId,
                                        achieveMoney: item.payMoney,
                                        commission : 0,
                                        t3 : '现金业绩',
                                        isShare: false,
                                    });
                                });
                                _this.order.payMoney = orderPayMoney;
                            }
                        });
                    } else {
                        //获取门店信息
                        AjaxProxy.requst({
                            app: _this,
                            url: basePath + '/admin/shopInfo/findUserShop',
                            callback: function (data) {
                                _this.order.shopName = data.rows[0].shopName;
                            }
                        });
                    }
                }
            });
            _this.initMethod()
            if (vipId) {
                _this.changeVip(vipId);
            }
@@ -721,6 +672,76 @@
        },
        methods: {
            initMethod() {
                let _this = this;
                //获取登录用户信息
                AjaxProxy.requst({
                    app: _this,
                    url: basePath +  '/admin/getLoginUser',
                    callback: function (data) {
                        _this.loginUser = data.mapInfo.user;
                        if (id) {
                            //加载订单信息
                            AjaxProxy.requst({
                                app: _this,
                                url: basePath + '/admin/order/findOrderById/' + id,
                                callback: function (data) {
                                    _this.order = data.rows[0];
                                    //修改支付金额
                                    _this.changeVip(_this.order.vipId);
                                    AjaxProxy.requst({
                                        app: _this,
                                        url: basePath + '/admin/getUserById?id='+_this.order.staffId,
                                        callback: function (data) {
                                            _this.staffUser = data.mapInfo.user;
                                            let items = _this.order.items;
                                            let orderPayMoney = 0;
                                            //设置欠款订单设置欠款金额等于支付金额,非欠款订单设置折扣金额等于支付金额
                                            items.forEach(item => {
                                                if (item.arrears > 0) {
                                                    item.payMoney = item.arrears;
                                                } else {
                                                    item.payMoney = item.zkPrice;
                                                }
                                                orderPayMoney += item.payMoney;
                                                item.uuid = MTools.uuid();
                                                //业绩设置
                                                _this.achieveList.push({
                                                    orderItem: item,
                                                    staff: _this.staffUser,
                                                    saleId: _this.staffUser.suId,
                                                    achieveMoney: item.payMoney,
                                                    commission : 0,
                                                    t3 : '现金业绩',
                                                    isShare: false,
                                                });
                                            });
                                            _this.order.payMoney = orderPayMoney;
                                        }
                                    });
                                }
                            });
                        } else {
                            //获取门店信息
                            AjaxProxy.requst({
                                app: _this,
                                url: basePath + '/admin/shopInfo/findUserShop',
                                callback: function (data) {
                                    _this.order.shopName = data.rows[0].shopName;
                                }
                            });
                        }
                    }
                });
            },
            //取消订单
            closeFram() {
@@ -814,17 +835,29 @@
                    }
                    item.count = 1;
                    //加入业绩
                    this.achieveList.push({
                        orderItem: item,
                        staff: this.loginUser,
                        saleId: this.loginUser.suId,
                        achieveMoney: item.payMoney,
                        t3 : '现金业绩',
                        commission : 0,
                        isShare: false,
                    });
                    if (this.staffUser.suId) {
                        //加入业绩
                        this.achieveList.push({
                            orderItem: item,
                            staff: this.staffUser,
                            saleId: this.staffUser.suId,
                            achieveMoney: item.payMoney,
                            t3: '现金业绩',
                            commission: 0,
                            isShare: false,
                        });
                    } else {
                        //加入业绩
                        this.achieveList.push({
                            orderItem: item,
                            staff: this.loginUser,
                            saleId: this.loginUser.suId,
                            achieveMoney: item.payMoney,
                            t3: '现金业绩',
                            commission: 0,
                            isShare: false,
                        });
                    }
                    this.order.items.push(item);
                }
@@ -853,25 +886,32 @@
                        callback: function (data) {
                            let order = data.rows[0];
                            console.log("order", order);
                            _this.order.zkTotal = order.zkTotal;
                            _this.order.total = order.total;
                            _this.order.zkTotal = order.zkTotal.toFixed(2);
                            _this.order.total = order.total.toFixed(2);
                            //支付金额计算
                            _this.order.items.forEach(item => {
                                let count = parseFloat(item.count);
                                let zkPrice = parseFloat(item.zkPrice);
                                if (optionType != 1) {
                                // if (optionType != 1) {
                                    //直接修改支付金额不重置支付金额
                                    item.payMoney = zkPrice * count;
                                }
                                // }
                                _this.order.payMoney += parseFloat(item.payMoney);
                                _this.achieveList.forEach(achieve=>{
                                    if(achieve.orderItem==item){
                                        achieve.achieveMoney=item.payMoney;
                                    }
                                })
                            });
                            _this.order.payMoney = _this.order.payMoney.toFixed(2);
                            //计算欠款
                            _this.order.arrears = _this.order.zkTotal - _this.order.payMoney;
                            if (_this.order.arrears < 0) {
                                _this.$message.error("支付金额不能大于应收金额");
                            }
                            // _this.order.arrears = _this.order.zkTotal - _this.order.payMoney;
                            // if (_this.order.arrears < 0) {
                            //     _this.$message.error("支付金额不能大于应收金额");
                            // }
                        }
                    })
                }
@@ -916,12 +956,12 @@
                                    this.$message.warning("请输入" + item.type + "的付款金额");
                                    return false;
                                }
                                flow.amount = item.money;
                                flow.amount = parseFloat(item.money);
                                if (item.type == '储值卡'){
                                    flow.isGift = item.isGift;
                                    flow.cardId = item.id;
                                }
                                total += item.money;
                                total += parseFloat(item.money);
                                flows.push(flow)
                            })
                            if (total != _this.order.payMoney) {
@@ -944,17 +984,30 @@
                            }
                            if (item.uuid == achieve.orderItem.uuid) {
                                let achieveNew = {
                                    uuid:item.uuid,
                                    beaultId: achieve.saleId,
                                    t1: achieve.achieveMoney,
                                    t3: achieve.t3,
                                    projPercentage: achieve.commission,
                                };
                                item.achaeveList.push(achieveNew);
                                var flag = true;
                                for(var j = 0; j < item.achaeveList.length; j++) {
                                    if(item.achaeveList[j].uuid == achieveNew.uuid && item.achaeveList[j].beaultId == achieveNew.beaultId) {
                                        flag = false;
                                        break;
                                    }
                                }
                                if (flag) {
                                    item.achaeveList.push(achieveNew);
                                }
                                break;
                            }
                        }
                    })
                    console.log(_this.order);
                    //校验业绩金额
                    if (_this.checkAchieve()) {
                        let url = basePath + "/admin/order/payOrder";
@@ -974,8 +1027,16 @@
                                if (submitType == 1) {
                                    if (_this.printPaper) {
                                        _this.print();
                                    } else {
                                        _this.$message.success({
                                            message : data.info,
                                            duration : 1000,
                                            onClose() {
                                                _this.closeFram();
                                            }
                                        });
                                    }
                                    _this.closeFram();
                                    // _this.$confirm('结算成功,是否立刻打印小票?', '提示', {
                                    //     confirmButtonText: '打印',
                                    //     cancelButtonText: '取消',
@@ -989,6 +1050,7 @@
                                } else {
                                    _this.$message.success(data.info);
                                }
                                if(parent.myGrid) {
                                    parent.myGrid.serchData();
                                }
@@ -1215,6 +1277,13 @@
                            }
                        } else {
                            Vue.set(item,'isActive',true);
                            var hasAmount = 0;
                            for(var i = 0; i < payMoneys.length; i++) {
                                hasAmount += parseFloat(payMoneys[i].money);
                            }
                            if (_this.order.payMoney - hasAmount > 0) {
                                Vue.set(item, 'money', _this.order.payMoney - hasAmount);
                            }
                            _this.payMoneys.push(item);
                        }
                    });