From 1a879b76332fa56ad39a284746bee1cbdc6a578f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 12 Mar 2021 10:57:26 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html |  150 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 105 insertions(+), 45 deletions(-)

diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html
index bd63766..be177b0 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html
@@ -108,7 +108,8 @@
                         </el-col>
                         <el-col :span="14" style="text-align: right;">
                             <label>¥ {{order.total}}</label>
-                            <label>¥ {{(order.zkTotal - order.total).toFixed(2)}}</label>
+                            <!-- 退款订单不能显示为负数 -->
+                            <label>¥ {{(order.zkTotal - order.total>0?order.zkTotal - order.total:0).toFixed(2)}}</label>
                             <label>¥ {{order.zkTotal}}</label>
                             <label>¥ {{order.arrears}}</label>
                             <label>¥ {{order.repay}}</label>
@@ -179,6 +180,8 @@
                                     label="折扣单价">
                             </el-table-column>
                             <el-table-column  label="小计" :formatter="calOrderTotalFormatter">
+                            </el-table-column>
+                            <el-table-column  label="支付方式"  prop="payMethod">
                             </el-table-column>
                         </el-table>
                     </el-row>
@@ -254,11 +257,15 @@
                                         label="收款">
                                 </el-table-column>
                                 <el-table-column
-                                        prop="t3"
+                                        prop="payMethod"
+                                        label="支付方式">
+                                </el-table-column>
+                                <el-table-column
+                                        prop="achieveType"
                                         label="业绩类型">
                                 </el-table-column>
                                 <el-table-column
-                                        prop="t1"
+                                        prop="goodsCash"
                                         label="原业绩">
                                 </el-table-column>
                                 <el-table-column
@@ -308,15 +315,19 @@
                                 label="收款">
                         </el-table-column>
                         <el-table-column
+                                prop="payMethod"
+                                label="支付方式">
+                        </el-table-column>
+                        <el-table-column
                                 prop="t3"
                                 label="业绩类型">
                             <template slot-scope="scope">
-                                <el-select v-model="scope.row.t3" placeholder="请选择业绩类型">
+                                <el-select v-model="scope.row.achieveType" placeholder="请选择业绩类型">
                                     <el-option
                                             v-for="item in achieveTypeList"
-                                            :key="item.key"
+                                            :key="item.value"
                                             :label="item.value"
-                                            :value="item.key">
+                                            :value="item.value">
                                     </el-option>
                                 </el-select>
                             </template>
@@ -325,7 +336,7 @@
                                 prop="achieve"
                                 label="业绩">
                             <template slot-scope="scope">
-                                <el-input v-model="scope.row.t1"></el-input>
+                                <el-input  @input="checkAchieveMoney" v-model="scope.row.goodsCash"></el-input>
                             </template>
                         </el-table-column>
                         <el-table-column
@@ -354,9 +365,9 @@
                                            size="mini"
                                            @click="delAchieve(scope.$index, scope.row)">删除
                                 </el-button>
-                                <el-tooltip content="分享业绩" placement="top">
-                                    <el-button @click="shareAchieve(scope.$index, scope.row)" icon="el-icon-share"
-                                               size="mini" type="primary"></el-button>
+                                <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>
                             </template>
                         </el-table-column>
@@ -453,9 +464,9 @@
             </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: 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>
@@ -482,15 +493,7 @@
             activeName : "first",
             circleUrl : "https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png",
             userList : [],
-            achieveTypeList : [
-                {
-                    "key" : "现金业绩",
-                    "value" : "现金业绩"
-                },{
-                    "key" : "划扣业绩",
-                    "value" : "划扣业绩"
-                },
-            ],
+            achieveTypeList : [],
             orderItems : [],
             achieveItems : [],
             flowItems : [],
@@ -546,8 +549,15 @@
         created : function() {
             let _this = this;
             this.orderParam = /*[[${orderParam}]]*/
-            this.queryOrderDetailData(this.orderParam);
-
+                this.queryOrderDetailData(this.orderParam);
+            // 业绩类型
+            AjaxProxy.requst({
+                app: _this,
+                url: basePath + '/admin/customerDictionary/getListByParentCode/YJLX',
+                callback: function (data) {
+                    _this.achieveTypeList = data.rows;
+                }
+            });
         },
         methods : {
             calRefund() {
@@ -659,6 +669,10 @@
                 }
 
                 _this.data.items = dataItems;
+                _this.data.zkTotal =  _this.refundMoney;
+                _this.data.total =  _this.total;
+
+
                 AjaxProxy.requst({
                     app: _this,
                     data: _this.data,
@@ -712,6 +726,7 @@
                 let _this = this;
                 let items = this.orderItems;
                 _this.refundMoney = 0;
+                _this.total = 0;
 
                 for(var i = 0; i < items.length; i++) {
                     let item = items[i]
@@ -727,6 +742,8 @@
                         }
 
                         _this.refundMoney += parseFloat(item.refundPrice * item.refundCount);
+                        //记录一下未优惠之前的价格
+                        _this.total += parseFloat(item.price * item.refundCount);
                     }
                 }
 
@@ -737,7 +754,7 @@
                 _this.dialogSettleVisible = true;
             },
             calOrderTotalFormatter(row, column) {
-                return row.count * row.price;
+                return row.count * row.zkPrice;
             },
             getVipMoneyCards() {
                 let _this = this;
@@ -855,34 +872,77 @@
             },
             saveAchieve() {
                 let _this = this;
-                AjaxProxy.requst({
-                    app: _this,
-                    data: _this.achieveItems,
-                    contentType: 'application/json',
-                    url: basePath + '/admin/achieve/add',
-                    callback: function (data) {
-                        _this.$message.success(data.info);
-                    }
-                });
-            },
-            shareAchieve(index, row) {
-                var row2 = JSON.parse(JSON.stringify(row));
-                row2.id = null;
-                row2.isShare = true;
-                this.achieveItems.push(row2);
-            },
-            delAchieve(index, row) {
-                let _this = this;
-                if (row.id) {
+                if(_this.checkAchieveMoney()){
                     AjaxProxy.requst({
                         app: _this,
-                        url: basePath + '/admin/achieve/del?id=' + row.id,
+                        data: _this.achieveItems,
+                        contentType: 'application/json',
+                        url: basePath + '/admin/achieve/add',
                         callback: function (data) {
+                            _this.$message.success(data.info);
                         }
                     });
                 }
 
+            },
+
+            shareAchieve(index, row) {
+                var row2 = JSON.parse(JSON.stringify(row));
+                row2.id = null;
+                row2.isShare = true;
+                this.achieveItems.splice(index+1,0,row2);
+                this.calculationAchieve();
+            },
+            //业绩均分订单金额
+            calculationAchieve(){
+                console.log("计算业绩");
+                let jsqMap={};
+                this.achieveItems.forEach(achieve=>{
+                    key=achieve.achieveType+achieve.orderItemId;
+                    if(!jsqMap[key]){
+                        jsqMap[key]=1;
+                    }else{
+                        jsqMap[key]++;
+                    }
+                });
+                this.achieveItems.forEach(achieve=>{
+                    key=achieve.achieveType+achieve.orderItemId;
+                    achieve.goodsCash=(achieve.zkTotal/jsqMap[key]).toFixed(2);
+                });
+            },
+            //校验业绩是否大于订单收款金额
+            checkAchieveMoney(){
+                console.log("校验业绩是否大于订单收款金额");
+                let jsqMap={};
+                let isOk=true;
+                for(let i=0 ; i< this.achieveItems.length; i++){
+                    let achieve=this.achieveItems[i];
+                    if(!isNaN(achieve.goodsCash)  ){
+                        key=achieve.achieveType+achieve.orderItemId;
+                        if(!jsqMap[key]){
+                            jsqMap[key]=parseFloat(achieve.goodsCash);
+                        }else{
+                            jsqMap[key]=jsqMap[key]+parseFloat(achieve.goodsCash);
+                        }
+                        if(jsqMap[key]>achieve.zkTotal) {
+                            this.$message.error("【"+achieve.goodsName + "】业绩分配金额大于支付金额");
+                            isOk = false;
+                            break;
+                        }
+                    }else{
+                        this.$message.error("【"+achieve.goodsName + "】业绩分配金额请填写数字");
+                        isOk=false;
+                        break;
+                    }
+                }
+                console.log("isOk",isOk);
+                return isOk;
+            },
+            //删除业绩
+            delAchieve(index, row) {
+                let _this = this;
                 _this.achieveItems.splice(index, 1);
+                this.calculationAchieve();
             },
             checkAchieveIsDel(items) {
                 var achieveIds = [];

--
Gitblit v1.9.1