From 95f9ea7eb339c36cade6c67d0385c49ec2d81477 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Wed, 14 Apr 2021 19:39:45 +0800 Subject: [PATCH] Merge branch 'score_shop' into api_score_meger --- zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html | 183 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 137 insertions(+), 46 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..58db52c 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 @@ -307,16 +314,33 @@ prop="zkTotal" label="收款"> </el-table-column> + + <el-table-column + label="支付方式" + width="130"> + <template slot-scope="scope"> + <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 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 +349,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 +378,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 +477,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 +506,7 @@ activeName : "first", circleUrl : "https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png", userList : [], - achieveTypeList : [ - { - "key" : "现金业绩", - "value" : "现金业绩" - },{ - "key" : "划扣业绩", - "value" : "划扣业绩" - }, - ], + achieveTypeList : [], orderItems : [], achieveItems : [], flowItems : [], @@ -498,6 +514,13 @@ isRefund : false, isReturnAchieve : false, totalRefund : "", + itemSimplePayMethods:[{ + value: '现金', + label:'现金', + },{ + value: '划扣', + label:'划扣', + }], payMethods: [{ value: '现金支付', img: '/images/pay/cash.png', @@ -546,8 +569,24 @@ created : function() { let _this = this; this.orderParam = /*[[${orderParam}]]*/ - this.queryOrderDetailData(this.orderParam); + var orderId = /*[[${orderId}]]*/ + var orderNo = /*[[${orderNo}]]*/ + var param = {}; + if(orderId) { + param.id = orderId; + } else { + param.orderNo = orderNo; + } + this.queryOrderDetailData(param); + // 业绩类型 + AjaxProxy.requst({ + app: _this, + url: basePath + '/admin/customerDictionary/getListByParentCode/YJLX', + callback: function (data) { + _this.achieveTypeList = data.rows; + } + }); }, methods : { calRefund() { @@ -565,7 +604,7 @@ let _this = this; AjaxProxy.requst({ app: _this, - data: {id: param, orderNo:param}, + data: param, contentType: 'application/x-www-form-urlencoded', url: basePath + '/admin/order/findOrderDetailByIdOrNo', callback: function (data) { @@ -659,6 +698,10 @@ } _this.data.items = dataItems; + _this.data.zkTotal = _this.refundMoney; + _this.data.total = _this.total; + + AjaxProxy.requst({ app: _this, data: _this.data, @@ -667,7 +710,9 @@ callback: function (data) { _this.isRefund = false; _this.dialogSettleVisible = false; - _this.queryOrderDetailData(_this.data.oldOrderId); + var param = {}; + param.id = _this.data.oldOrderId; + _this.queryOrderDetailData(param); } }); @@ -712,6 +757,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 +773,8 @@ } _this.refundMoney += parseFloat(item.refundPrice * item.refundCount); + //记录一下未优惠之前的价格 + _this.total += parseFloat(item.price * item.refundCount); } } @@ -737,7 +785,7 @@ _this.dialogSettleVisible = true; }, calOrderTotalFormatter(row, column) { - return row.count * row.price; + return row.count * row.zkPrice; }, getVipMoneyCards() { let _this = this; @@ -855,34 +903,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