Helius
2022-05-27 4351e71d782741143a98f86f6648acd16689165f
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
@@ -112,10 +112,14 @@
             border: 3px solid;
             border-color: transparent #4884ff #4884ff transparent;
         }
        .el-dialog__body {
            padding-top: 10px !important;
        }
    </style>
</head>
<body>
<div class="ibox-content" id="app" v-cloak>
<body style="overflow: hidden">
<div  id="app" v-cloak>
    <el-row>
@@ -171,6 +175,15 @@
                </el-col>
            </el-row>
            <el-row class="vertical  ">
                 <el-select v-model="goodsType" placeholder="商品类型" style="width: 120px" >
                    <el-option
                            v-for="item in goodsTypeList"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value"
                    >
                    </el-option>
                </el-select>
                <el-input class="searchInput" @input="searchGoods()" v-model="queryKey"
                          placeholder="搜索添加产品"></el-input>
                <el-button @click="searchGoods()" type="primary">搜索</el-button>
@@ -233,6 +246,18 @@
                        </template>
                    </el-table-column>
                </el-table>
                <el-row style="text-align: center; margin-top: 10px;">
                    <el-pagination
                            @size-change="handleSizeChange"
                            @current-change="handleCurrentChange"
                            :current-page="page.currentPage"
                            :page-sizes="[10, 20, 30, 50]"
                            :page-size="page.pageSize"
                            layout="total, prev, pager, next, jumper"
                            :total="page.total">
                    </el-pagination>
                </el-row>
                <el-row class="btn-box">
                    <el-button size="mini" type="danger" @click="closeXm()">关闭</el-button>
                    <el-button size="mini" type="primary" @click="chouseGoods()">确认</el-button>
@@ -283,10 +308,11 @@
                            <el-input @change="calculationTotal" v-model="scope.row.zkPrice"></el-input>
                        </template>
                    </el-table-column>
                    <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>
@@ -316,9 +342,9 @@
<!--                    <el-table-column-->
<!--                            label="会员卡">-->
<!--                            label="储值卡">-->
<!--                        <template slot-scope="scope">-->
<!--                            <el-select :disabled="scope.row.payMethod!='会员卡'" v-model="scope.row.payMethodDetail"-->
<!--                            <el-select :disabled="scope.row.payMethod!='储值卡'" v-model="scope.row.payMethodDetail"-->
<!--                                       placeholder="请选择支付卡">-->
<!--                                <el-option-->
<!--                                        v-for="item in moneyCards"-->
@@ -342,7 +368,7 @@
                </el-table>
            </el-row>
            <el-row class="mt-20 vertical">
            <el-row class=" vertical">
                <el-col :span="10" class="money-box">
                    <div>
                        <ul>
@@ -350,7 +376,7 @@
                            <li>订单总金额:{{order.total}}</li>
                            <li>整单折扣:<span class="arrears">{{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>
@@ -366,19 +392,19 @@
                    <el-button type="primary" @click="print()">打印</el-button>
                    <el-button type="primary" @click="drawer = true">业绩设置</el-button>
                    <!--                    <el-button type="success" @click="confirmSubmit()" class="bigbtn"> 结算</el-button>-->
                    <el-button type="success" @click="dialogSettleVisible = true" class="bigbtn">收款</el-button>
                    <el-button type="success" @click="openPayMoney" class="bigbtn">收款 ¥{{order.payMoney}}</el-button>
                </el-col>
            </el-row>
        </el-col>
    </el-row>
    <!-- 业绩设置 -->
    <el-drawer
            title="业绩设置"
            :visible.sync="drawer"
            :direction="direction"
            size="50%"
            size="90%"
    >
        <el-row>
            <el-col :span="24">
@@ -411,13 +437,49 @@
                                label="收款">
                        </el-table-column>
                        <el-table-column
                                label="业绩">
                                label="支付方式"
                                width="130">
                            <template slot-scope="scope">
                                <el-input v-model="scope.row.achieveMoney"></el-input>
                                <el-select  v-model="scope.row.payMethod"
                                            placeholder="请选择支付方式">
                                    <el-option
                                            v-for="item in itemSimplePayMethods"
                                            :key="item.value"
                                            :label="item.label"
                                            :value="item.value"
                                            :disabled="item.disabled">
                                    </el-option>
                                </el-select>
                            </template>
                        </el-table-column>
                        <el-table-column
                                label="员工">
                                label="业绩类型" width="150">
                            <template slot-scope="scope">
                                <el-select v-model="scope.row.achieveType" @change="calculationAchieve" placeholder="请选择业绩类型">
                                    <el-option
                                            v-for="item in achieveTypeList"
                                            :key="item.value"
                                            :label="item.value"
                                            :value="item.value">
                                    </el-option>
                                </el-select>
                            </template>
                        </el-table-column>
                        <el-table-column
                                label="业绩" >
                            <template slot-scope="scope">
                                <el-input @input="checkAchieveMoney" v-model="scope.row.goodsCash"></el-input>
                            </template>
                        </el-table-column>
                        <el-table-column width="100"
                                label="提成">
                            <template slot-scope="scope">
                                <el-input v-model="scope.row.commission"></el-input>
                            </template>
                        </el-table-column>
                        <el-table-column
                                label="员工" width="130">
                            <template slot-scope="scope">
                                <el-select v-model="scope.row.saleId" placeholder="请选择员工">
                                    <el-option
@@ -430,14 +492,14 @@
                            </template>
                        </el-table-column>
                        <el-table-column
                                width="200"
                                width="150"
                                label="操作">
                            <template slot-scope="scope">
                                <el-button type="primary" v-if="scope.row.isShare"
                                           size="mini"
                                           @click="delAchieve(scope.$index, scope.row)">删除
                                </el-button>
                                <el-tooltip content="分享业绩" placement="top">
                                <el-tooltip content="分享业绩" placement="top" v-if="!scope.row.isShare">
                                    <el-button @click="shareAchieve(scope.$index, scope.row)" icon="el-icon-share"
                                               size="mini" type="primary"></el-button>
                                </el-tooltip>
@@ -450,50 +512,60 @@
        </el-row>
    </el-drawer>
    <!-- 收款 -->
    <el-dialog title="收款" :visible.sync="dialogSettleVisible">
        <el-row type="flex" align="middle" style="padding: 10px 0;">
        <el-row type="flex" align="middle" style="padding: 0 0 10px 0;">
            <el-col :span="5" style="text-align: center;">应收</el-col>
            <el-col :span="10" style="text-align: center; line-height: 50px;"><span style="color: red;">¥ 80</span></el-col>
            <el-col :span="10" style="text-align: center; line-height: 50px;"><span style="color: red; font-size: 20px;">¥ {{order.payMoney}}</span></el-col>
        </el-row>
        <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-row>
                    <ul style="border: #0c7cb5 1px dashed;">
                        <li class="active">现金支付</li>
                        <li>微信</li>
                        <li>支付宝</li>
                        <li>银行卡支付</li>
                        <li>团购</li>
                    </ul>
                </el-row>
            <el-col class="paymethod" :span="18">
                <el-row>
                    <ul>
                        <li>会员储值卡</li>
                        <li>欠款</li>
                        <span v-for="(item, index) in payMethods">
                            <el-popover
                                    :disabled="item.type != '储值卡'"
                                    placement="bottom"
                                    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"
                                         check-strictly
                                         highlight-current
                                         @check="(click, checked,$item)=>{handleCheckChange(click, checked,$item)}"
                                         :props="defaultProps">
                                </el-tree>
                                <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>
                </el-row>
            </el-col>
        </el-row>
        <el-row type="flex" align="middle" style="padding: 10px 0;">
        <el-row type="flex" align="middle" style="padding: 10px 0 50px 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="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="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>
        <el-row style="text-align: center; margin: 20px 0 10px 0">
            <el-checkbox v-model="printPaper">打印小票</el-checkbox>
        </el-row>
        <el-row style="text-align: center; margin: 10px 0 0 0">
            <el-button type="primary" @click="confirmSubmit">确认收款</el-button>
        </el-row>
    </el-dialog>
@@ -519,12 +591,14 @@
    var app = new Vue({
        el: '#app',
        data: {
            goodsType:"",
            goodsTypeList:[{value:"",label:"全部"},{value:"套餐",label:"套餐"},{value:"项目",label:"项目"},{value:"充值卡",label:"充值卡"}],
            //业绩设置框
            drawer: false,
            direction: 'rtl',
            //当前登录用户
            loginUser: {},
            staffUser:{},
            //业绩用户列表
            userList: [],
            order: {
@@ -540,34 +614,63 @@
            vipList: [],
            currentVipInfo: {},
            vipLoading: false,
            payMethods: [{
            itemSimplePayMethods:[{
                value: '现金',
                label: '现金'
                label:'现金',
            },{
                value: '划扣',
                label:'划扣',
            }],
            payMethods: [{
                value: '现金支付',
                img: '/images/pay/cash.png',
                isActive: false,
                type: '现金支付'
            }, {
                value: '微信',
                label: '微信'
                img: '/images/pay/wechat.png',
                isActive: false,
                type: '微信'
            }, {
                value: '支付宝',
                label: '支付宝'
                img: '/images/pay/zhifubao.png',
                isActive: false,
                type: '支付宝'
            }, {
                value: '银行卡',
                label: '银行卡'
                img: '/images/pay/yinlian.png',
                isActive: false,
                type: '银行卡'
            }, {
                value: '美团',
                label: '美团'
                value: '团购',
                img: '/images/pay/tuan.png',
                isActive: false,
                type: '团购'
            }, {
                value: '会员卡',
                label: '会员卡',
                disabled: true,
                value: '储值卡',
                img: '/images/pay/card.png',
                isActive: false,
                type: '储值卡'
            },{
                value: '欠款',
                img: '/images/pay/qian.png',
                isActive: false,
                type: '欠款'
            },],
            achieveList: [],
            //业绩岗位
            achievePostList : [
            ],
            //业绩类型
            achieveTypeList : [
            ],
            //会员可用的充值卡
            moneyCards: [],
            //门店信息
            shopInfo: {},
            tableHeight: 500,
            tableHeight:  'calc(100vh - 300px)',
            /*****搜索表格数据*********/
            //搜索关键词
@@ -578,9 +681,21 @@
            searchTableData: [],
            //表格加载效果
            loading: false,
            page : {
                currentPage : 1,
                pageSize : 10,
                total : 0
            },
            /******搜索表格数据END********/
            dialogSettleVisible : true,
            dialogSettleVisible : false,
            defaultProps: {
                children: 'children',
                label: 'showLable'
            },
            treeSelect : [],
            payMoneys : [],
            printPaper : true,
        },
@@ -590,66 +705,11 @@
        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,
                                        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);
            }
            //获取用户列表
            //获取业绩用户列表
            AjaxProxy.requst({
                app: _this,
                url: basePath + '/admin/shopAll',
@@ -659,9 +719,89 @@
            });
            // 业绩类型
            AjaxProxy.requst({
                app: _this,
                url: basePath + '/admin/customerDictionary/getListByParentCode/YJLX',
                callback: function (data) {
                    _this.achieveTypeList = data.rows;
                }
            });
        },
        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,
                                                    goodsCash: item.payMoney,
                                                    commission : 0,
                                                    achieveType : _this.achieveTypeList[0].value,
                                                    isShare: false,
                                                    payMethod:"现金",
                                                });
                                            });
                                            _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() {
@@ -670,7 +810,7 @@
            changePayMethod(item) {
                console.log("changePayMethod", item);
                if (item.payMethod != '会员卡') {
                if (item.payMethod != '储值卡') {
                    item.payMethodDetail = '';
                }
            },
@@ -684,17 +824,25 @@
                        contentType: 'application/x-www-form-urlencoded',
                        url: basePath + '/admin/moneyCardUse/getUseMoneyCard',
                        callback: function (data) {
                            console.log(_this.moneyCards)
                            if (data.rows.length > 0) {
                                data.rows.forEach(function (item, index, input) {
                                    item.showLable = item.cardName + "-余额:" + (item.realMoney + item.giftMoney)
                                    item.showLable = item.cardName + "-余额:" + (item.realMoney)
                                    item.uuid = MTools.uuid();
                                    if (item.giftMoney != 0) {
                                        var children = [];
                                        var gift = {};
                                        gift.id = item.id;
                                        gift.giftMoney = item.giftMoney;
                                        gift.showLable = item.cardName + '-赠送金额' + item.giftMoney;
                                        gift.cardName = item.cardName;
                                        gift.isGift = 1;
                                        gift.uuid = MTools.uuid();
                                        children.push(gift);
                                        item.children = children;
                                    }
                                });
                                console.log(data.rows)
                                _this.moneyCards = data.rows;
                                //启用会员卡支付方式
                                _this.payMethods[5].disabled = false;
                            } else {
                                //禁用会员卡支付方式
                                _this.payMethods[5].disabled = true;
                            }
                        }
@@ -713,7 +861,7 @@
             * @param{type} 1 = 购买 2=赠送
             * */
            pushToSelectGoods(goods, type) {
                let _this=this;
                //判断是否被选中
                let selected = false;
                this.order.items.forEach(item => {
@@ -734,7 +882,6 @@
                    item.price = goods.sealPice;
                    item.goodsId = goods.id;
                    item.isFree = '否';
                    item.payMethod = '现金';
                    if (type == BUY_TYPE_NOT_FREE) {
                        //购买
                        item.zkPrice = goods.sealPice;
@@ -747,15 +894,31 @@
                    }
                    item.count = 1;
                    //加入业绩
                    this.achieveList.push({
                        orderItem: item,
                        staff: this.loginUser,
                        saleId: this.loginUser.suId,
                        achieveMoney: item.payMoney,
                        isShare: false,
                    });
                    if (this.staffUser.suId) {
                        //加入业绩
                        this.achieveList.push({
                            orderItem: item,
                            staff: this.staffUser,
                            saleId: this.staffUser.suId,
                            goodsCash: item.payMoney,
                            achieveType : _this.achieveTypeList[0].value,
                            commission: 0,
                            isShare: false,
                            payMethod:'现金',
                        });
                    } else {
                        //加入业绩
                        this.achieveList.push({
                            orderItem: item,
                            staff: this.loginUser,
                            saleId: _this.loginUser.suUserType === 'admin' ? '' : this.loginUser.suId,
                            goodsCash: item.payMoney,
                            achieveType : _this.achieveTypeList[0].value,
                            commission: 0,
                            isShare: false,
                            payMethod:'现金',
                        });
                    }
                    this.order.items.push(item);
                }
@@ -784,25 +947,36 @@
                        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;
                                }
                                    item.payMoney = (zkPrice * count).toFixed(2);
                                // }
                                _this.order.payMoney += parseFloat(item.payMoney);
                                //重新计算业绩金额
                                _this.achieveList.forEach(achieve=>{
                                    if(achieve.orderItem.uuid==item.uuid){
                                        achieve.orderItem.payMoney=item.payMoney;
                                    }
                                })
                                _this.calculationAchieve();
                            });
                            _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("支付金额不能大于应收金额");
                            // }
                        }
                    })
                }
@@ -833,51 +1007,86 @@
             */
            submitOrder(submitType) {
                if (this.checkSubmitOrder()) {
                    let _this = this;
                    //是否全部为储值卡支付
                    let isCardPay=true;
                    if(submitType == 1) {
                        //校验支付方式
                    //检查支付方式
                    let hasPayMethod=true;
                    _this.order.items.forEach(item=>{
                        if(!item.payMethod){
                            hasPayMethod=false;
                            return;
                        if (_this.payMoneys.length > 0) {
                            let flows = []
                            var total = 0;
                            let isPayMethodOk=true;
                            for(let i=0; i<_this.payMoneys.length;i++){
                                let item = _this.payMoneys[i];
                                let flow = {};
                                flow.payMethod = item.type;
                                if (!item.money) {
                                    _this.$message.warning("请输入" + item.type + "的付款金额");
                                    isPayMethodOk=false;
                                    return false;
                                }
                                flow.amount = parseFloat(item.money);
                                if (item.type == '储值卡'){
                                    flow.isGift = item.isGift;
                                    flow.cardId = item.id;
                                }else{
                                    isCardPay=false;
                                }
                                total += parseFloat(item.money);
                                flows.push(flow)
                            }
                            if (total != _this.order.payMoney) {
                                this.$message.warning("输入付款总金额与应付金额不符");
                                return false;
                            }
                            _this.order.flows = flows;
                        } else {
                            this.$message.warning("请选择支付方式");
                            return false;
                        }
                    });
                    if(!hasPayMethod){
                        this.$message.warning("请选择支付方式");
                        return false;
                    }
                    console.log("isCardPay",isCardPay);
                    //匹配业绩
                    _this.order.items.forEach(item=>{
                        item.achieveList = [];
                    })
                    _this.achieveList.forEach(achieve => {
                        for (let i = 0; i < _this.order.items.length; i++) {
                            let item = _this.order.items[i];
                            if (!item.achaeveList){
                                item.achaeveList = [];
                            }
                            if (item.uuid == achieve.orderItem.uuid) {
                                let payMethod=achieve.payMethod;
                                    if(isCardPay){
                                    //如果是储值卡支付,则业绩自动切换到划扣金额
                                        payMethod="划扣";
                                    }
                                let achieveNew = {
                                    uuid:item.uuid,
                                    beaultId: achieve.saleId,
                                    t1: achieve.achieveMoney
                                    projPercentage: achieve.commission,
                                    achieveType: achieve.achieveType,
                                    goodsCash: achieve.goodsCash,
                                    payMethod: payMethod,
                                };
                                item.achaeveList.push(achieveNew);
                               item.achieveList.push(achieveNew);
                                break;
                            }
                        }
                    })
                    console.log(_this.order);
                    //校验业绩金额
                    if (_this.checkAchieve()) {
                    if (_this.checkAchieveMoney()) {
                        let url = basePath + "/admin/order/payOrder";
                        if (submitType == 2) {
                            url = basePath + "/admin/order/saveOrder";
@@ -893,19 +1102,33 @@
                                _this.order.orderNo = order.orderNo;
                                //结算打印提示
                                if (submitType == 1) {
                                    _this.$confirm('结算成功,是否立刻打印小票?', '提示', {
                                        confirmButtonText: '打印',
                                        cancelButtonText: '取消',
                                        type: 'warning'
                                    }).then(() => {
                                    if (_this.printPaper) {
                                        _this.$message.success(data.info);
                                        _this.print();
                                    } else {
                                        _this.$message.success({
                                            message : data.info,
                                            duration : 1000,
                                            onClose() {
                                                _this.closeFram();
                                            }
                                        });
                                    }
                                    }).catch(() => {
                                        _this.closeFram();
                                    });
                                    // _this.$confirm('结算成功,是否立刻打印小票?', '提示', {
                                    //     confirmButtonText: '打印',
                                    //     cancelButtonText: '取消',
                                    //     type: 'warning'
                                    // }).then(() => {
                                    //     _this.print();
                                    //
                                    // }).catch(() => {
                                    //     _this.closeFram();
                                    // });
                                } else {
                                    _this.$message.success(data.info);
                                }
                                if(parent.myGrid) {
                                    parent.myGrid.serchData();
                                }
@@ -920,29 +1143,7 @@
                }
            },
            /**
             * 校验订单业绩设置是否合理
             */
            checkAchieve() {
               /*
               //TODO 前端展示不检测,因为考虑到会员卡支付问题
               let _this = this;
                for (let i = 0; i < _this.order.items.length; i++) {
                    if (_this.achieveList.length > 0) {
                        let item = _this.order.items[i];
                        let sum = 0;
                        item.achieveList.forEach(achieve => {
                            console.log(sum, achieve);
                            sum += parseFloat(achieve.t1);
                        });
                        if (sum > item.payMoney) {
                            this.$message.warning("业绩金额不能大于支付金额【" + item.shoppingGoods.name + "】");
                            return false;
                        }
                    }
                }*/
                return true;
            },
            /**
             * 检查订单是否能够提交
@@ -964,10 +1165,10 @@
                            this.$message.warning("折扣单价填写不正确");
                            return false;
                        }
                        if (!(MTools.isRealNum(item.payMoney) && item.payMoney >= 0)) {
                            this.$message.warning("实付金额填写不正确");
                            return false;
                        }
                        // if (!(MTools.isRealNum(item.payMoney) && item.payMoney >= 0)) {
                        //     this.$message.warning("实付金额填写不正确");
                        //     return false;
                        // }
                    })
                } else {
                    this.$message.warning("请选择要购买的产品");
@@ -982,9 +1183,9 @@
             */
            chouseGoods() {
                let _this = this;
                // this.multipleSelection.forEach(item => {
                //     _this.pushToSelectGoods(item, BUY_TYPE_NOT_FREE);
                // });
                _this.multipleSelection.forEach(item => {
                    _this.pushToSelectGoods(item, BUY_TYPE_NOT_FREE);
                });
                this.closeXm();
                this.calculationTotal();
            },
@@ -1007,6 +1208,9 @@
                    }
                });
                this.achieveList = achieveListNew;
                this.order.zkTotal = 0;
                this.order.total = 0;
                this.order.payMoney = 0;
                this.calculationTotal();
            },
@@ -1016,6 +1220,9 @@
             */
            searchGoods() {
                let _this = this;
                var currentPage = this.page.currentPage;
                var pageSize = this.page.pageSize;
                var offset = (currentPage - 1) * pageSize;
                if (this.queryKey && this.queryKey.trim().length > 0) {
                    this.showSearchTable = true;
                    this.loading = true;
@@ -1023,10 +1230,11 @@
                        app: _this,
                        contentType: 'application/x-www-form-urlencoded',
                        //TODO 优化下拉加载
                        data: {name: _this.queryKey, limit: 10000},
                        data: {name: _this.queryKey,goodType:_this.goodsType , limit: pageSize, offset : offset},
                        url: basePath + "/admin/shoppinggoods/showList",
                        callback: function (data) {
                            _this.searchTableData = data.rows;
                            _this.page.total = data.total;
                            _this.loading = false;
                        }
                    });
@@ -1034,8 +1242,14 @@
                    this.showSearchTable = false;
                }
            },
            handleSizeChange(val) {
                this.page.pageSize = val;
                this.searchGoods();
            },
            handleCurrentChange(val) {
                this.page.currentPage = val;
                this.searchGoods();
            },
            remoteMethod(query) {
                if (query !== '') {
                    this.vipLoading = true;
@@ -1083,11 +1297,61 @@
            shareAchieve(index, row) {
                row2 = JSON.parse(JSON.stringify(row));
                row2.isShare = true;
                this.achieveList.push(row2);
                this.achieveList.splice(index+1,0,row2);
                //this.achieveList=;
                this.calculationAchieve();
            },
            //业绩均分订单金额
            calculationAchieve(){
                console.log("计算业绩");
                let jsqMap={};
                this.achieveList.forEach(achieve=>{
                    key=achieve.achieveType+achieve.orderItem.uuid;
                    if(!jsqMap[key]){
                        jsqMap[key]=1;
                    }else{
                        jsqMap[key]++;
                    }
                });
                this.achieveList.forEach(achieve=>{
                    key=achieve.achieveType+achieve.orderItem.uuid;
                    achieve.goodsCash=(achieve.orderItem.payMoney/jsqMap[key]).toFixed(2);
                });
            },
            //校验业绩是否大于订单收款金额
            checkAchieveMoney(){
                console.log("校验业绩是否大于订单收款金额");
                let jsqMap={};
                let isOk=true;
                for(let i=0 ; i< this.achieveList.length; i++){
                    let achieve=this.achieveList[i];
                    if(!isNaN(achieve.goodsCash)  ){
                        key=achieve.achieveType+achieve.orderItem.uuid;
                        if(!jsqMap[key]){
                            jsqMap[key]=parseFloat(achieve.goodsCash);
                        }else{
                            jsqMap[key]=jsqMap[key]+parseFloat(achieve.goodsCash);
                        }
                        if(jsqMap[key]>achieve.orderItem.payMoney) {
                            this.$message.error("【"+achieve.orderItem.shoppingGoods.name + "】业绩分配金额大于支付金额");
                            isOk = false;
                            return;
                        }
                    }else{
                        this.$message.error("【"+achieve.orderItem.shoppingGoods.name + "】业绩分配金额请填写数字");
                        isOk=false;
                        return;
                    }
                };
                console.log("isOk",isOk);
                return isOk;
            },
            //删除业绩
            delAchieve(index, row) {
                this.achieveList.splice(index, 1);
                this.calculationAchieve();
            },
            print() {
                let _this = this;
@@ -1097,7 +1361,7 @@
                        title: "打印订单",
                        area: ['250px', '550px'],
                        maxmin: true,
                        content: [basePath + '/admin/redirect/hive/beautySalon/print-order?id=' + this.order.id],
                        content: [basePath + '/admin/order/printOrder?id=' + this.order.id],
                        cancel: function (index, layero) {
                            _this.closeFram();
                        }
@@ -1108,6 +1372,98 @@
            },
            payMethodSelect(item, index) {
                let _this = this;
                let payMoneys = _this.payMoneys;
                if (item.type != '储值卡') {
                    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);
                            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);
                        }
                    });
                }
            },
            popoverHide(item) {
                if(this.treeSelect.length <= 0) {
                    Vue.set(item, 'isActive', false)
                } else {
                    Vue.set(item, 'isActive', true)
                }
            },
            handleCheckChange(clickNode, checked) {
                let _this = this;
                let nodes = checked.checkedNodes;
                _this.treeSelect = nodes;
                var index = -1;
                // 判断点击节点是否在已展示支付方式中
                for(var i = 0; i < _this.payMoneys.length; i++) {
                    let node = _this.payMoneys[i];
                    if (node.uuid === clickNode.uuid) {
                        index = i;
                        break;
                    }
                }
                // 若点击节点在选中节点中,且已展示支付方式不存在,则添加
                if (nodes.indexOf(clickNode) > -1 && index === -1) {
                    var node = clickNode;
                    var item = {};
                    if (node.isGift) {
                        item.value = node.cardName;
                        item.balance = node.giftMoney;
                        item.isGift = 'Y';
                    } else {
                        item.value = node.cardName;
                        item.balance = node.realMoney;
                        item.isGift = 'N';
                    }
                    item.type = '储值卡';
                    item.id = node.id;
                    item.uuid = clickNode.uuid;
                    _this.payMoneys.push(item);
                }
                // 若点击节点不存在选中节点中,且已展示支付方式中存在,则移除
                if (nodes.indexOf(clickNode) === -1 && index > -1) {
                    _this.payMoneys.splice(index, 1);
                }
            },
            openPayMoney() {
                let _this = this;
                if (!_this.order.items.length > 0) {
                    this.$message.warning("请选择要购买的产品");
                    return false;
                }
                if(!this.checkAchieveMoney()){
                    return ;
                }
                _this.dialogSettleVisible = true;
            }
        }
    })