From 9c791d431038fe79a111805762ee2f42c96b51c5 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 08 Nov 2021 17:03:15 +0800
Subject: [PATCH] fix

---
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html |  211 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 169 insertions(+), 42 deletions(-)

diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html
index 5d05893..962a224 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html
@@ -62,7 +62,7 @@
 		<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;">
-				<el-input v-model="rechargeMoney" placeholder="0.1元起充"></el-input>
+				<el-input type="number" v-model="rechargeMoney" @change="changeRechargeMoney"  placeholder="可充负数退款"></el-input>
 			</el-col>
 		</el-row>
 
@@ -85,7 +85,6 @@
 				<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-row>
 			</el-col>
 		</el-row>
@@ -102,9 +101,22 @@
 							width="50">
 					</el-table-column>
 					<el-table-column
+							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="业绩" width="100">
 						<template slot-scope="scope">
-							<el-input v-model="scope.row.achieveMoney"></el-input>
+							<el-input @input="checkAchieveMoney" v-model="scope.row.goodsCash"></el-input>
 						</template>
 					</el-table-column>
 					<el-table-column
@@ -161,12 +173,16 @@
 <script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
 <script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
 <script type="text/javascript"  th:inline="javascript">
+	var vipId = $.query.get("vipId");
+
 	//<![CDATA[
 	var vue = new Vue({
 		el: '#app',
 		data : {
 			cardInfo : "",
-			rechargeMoney : "",
+			loginUser : "",
+			rechargeMoney : 0,
+			achieveTypeList : [],
 			payMethods: [{
 				value: '现金支付',
 				img: '/images/pay/cash.png',
@@ -216,10 +232,51 @@
 					_this.userList = data.rows;
 				}
 			});
+
+
+			// 业绩类型
+			AjaxProxy.requst({
+				app: _this,
+				url: basePath + '/admin/customerDictionary/getListByParentCode/YJLX',
+				callback: function (data) {
+					_this.achieveTypeList = data.rows;
+
+					//获取登录用户信息
+					AjaxProxy.requst({
+						app: _this,
+						url: basePath + '/admin/getLoginUser',
+						callback: function (data) {
+							_this.loginUser = data.mapInfo.user;
+
+							_this.achieveList.push({
+								saleId: _this.loginUser.suId,
+								goodsCash: 0,
+								achieveType : _this.achieveTypeList[0].value,
+								commission : 0,
+								isShare: false
+							});
+						}
+					});
+				}
+			});
+
 		},
 		methods : {
+			//修改充值金额同步修改业绩
+			changeRechargeMoney(){
+				let aMoeny=(this.rechargeMoney/this.achieveList.length).toFixed(2);
+				this.achieveList.forEach(item=>{
+					item.goodsCash=aMoeny;
+				});
+			},
 			submitRecharge() {
 				let _this = this;
+
+				if (!_this.rechargeMoney) {
+					this.$message.warning("请输入充值金额");
+					return;
+				}
+
 				if (_this.payMoneys.length > 0) {
 					let flows = []
 					var total = 0;
@@ -230,46 +287,59 @@
 							this.$message.warning("请输入" + item.type + "的付款金额");
 							return false;
 						}
-						flow.amount = item.money;
-						if (item.type == '储值卡'){
-							flow.isGift = item.isGift;
-							flow.cardId = item.id;
-						}
-						total += item.money;
-						flows.push(flow)
+						flow.amount = parseFloat(item.money);
+						total +=   parseFloat(item.money);
+						flows.push(flow);
 					})
-					if (total > _this.order.arrears) {
-						this.$message.warning("输入付款总金额大于应还金额");
+					debugger
+					if (total != _this.rechargeMoney) {
+						this.$message.warning("付款金额应等于充值金额");
 						return false;
 					}
-					_this.order.flows = flows;
+					_this.cardInfo.flows = flows;
 				} else {
 					this.$message.warning("请选择支付方式");
 					return false;
 				}
 
-				let url = basePath + "/admin/moneyCardUse/cz";
+				let achaeveList = [];
+				_this.achieveList.forEach(achieve => {
+					let achieveNew = {
+						beaultId: achieve.saleId,
+						goodsCash: achieve.goodsCash,
+						achieveType: achieve.achieveType,
+						projPercentage: achieve.commission,
+						payMethod:"现金",
+					};
+					achaeveList.push(achieveNew);
+				})
+				_this.cardInfo.bjmoney = _this.rechargeMoney;
+				_this.cardInfo.achaeveList = achaeveList;
+				if (_this.checkAchieveMoney()) {
+					let url = basePath + "/admin/moneyCardUse/cz";
 
-				AjaxProxy.requst({
-					app: _this,
-					data: _this.order,
-					url: url,
-					callback: function (data) {
-						if (_this.printPaper) {
-							_this.print();
+					console.log(_this.cardInfo);
+					AjaxProxy.requst({
+						app: _this,
+						data: _this.cardInfo,
+						url: url,
+						callback: function (data) {
+							if (_this.printPaper) {
+								_this.print();
+							}
+
+							if(parent.myGrid) {
+								parent.myGrid.serchData();
+							}
+
+							if (parent.app) {
+								parent.app.vipInfoFn();
+							}
+
+							_this.closeFrame();
 						}
-
-						if(parent.myGrid) {
-							parent.myGrid.serchData();
-						}
-
-						if (parent.app) {
-							parent.app.orderQuery();
-						}
-
-						_this.closeFrame();
-					}
-				});
+					});
+				}
 			},
 			cancelSubmit() {
 				this.closeFrame();
@@ -282,7 +352,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();
 						}
@@ -302,10 +372,7 @@
 					return;
 				}
 
-				if (rechargeMoney < 0.1) {
-					this.$message.warning("0.1元起充");
-					return;
-				}
+
 				if (item.type != '储值卡') {
 					this.$nextTick(function () {
 						if (item.isActive) {
@@ -328,9 +395,7 @@
 							for(var i = 0; i < payMoneys.length; i++) {
 								hasAmount += parseFloat(payMoneys[i].money);
 							}
-							if (_this.order.arrears - hasAmount > 0) {
-								Vue.set(item, 'money', _this.rechargeMoney - hasAmount);
-							}
+							Vue.set(item, 'money', _this.rechargeMoney - hasAmount);
 							_this.payMoneys.push(item);
 						}
 					});
@@ -339,6 +404,68 @@
 			closeFrame() {
 				parent.layer.close(parent.layer.getFrameIndex(window.name));
 			},
+			shareAchieve(index, row) {
+				row2 = JSON.parse(JSON.stringify(row));
+				row2.isShare = true;
+				this.achieveList.push(row2);
+				this.calculationAchieve();
+			},
+			calculationAchieve() {
+				let _this = this;
+				let jsqMap = {};
+				this.achieveList.forEach(achieve=>{
+					key=achieve.achieveType;
+					if(!jsqMap[key]) {
+						jsqMap[key]=1;
+					} else {
+						jsqMap[key]++;
+					}
+				});
+				this.achieveList.forEach(achieve=>{
+					key = achieve.achieveType;
+					achieve.goodsCash=(_this.rechargeMoney/jsqMap[key]).toFixed(2);
+				});
+			},
+			//删除业绩
+			delAchieve(index, row) {
+				this.achieveList.splice(index, 1);
+				this.calculationAchieve();
+			},
+			checkAchieveMoney(){
+				console.log("校验业绩是否大于订单收款金额");
+				let _this = this;
+				let jsqMap={};
+				let isOk=true;
+				console.log(this.achieveList);
+				let rechargeMoney=parseFloat(_this.rechargeMoney);
+				for(let i=0 ; i< this.achieveList.length; i++){
+					let achieve=this.achieveList[i];
+
+					if(!isNaN(achieve.goodsCash)  ){
+						key=achieve.achieveType;
+						if(!jsqMap[key]){
+							jsqMap[key]=parseFloat(achieve.goodsCash);
+						}else{
+							jsqMap[key]=jsqMap[key]+parseFloat(achieve.goodsCash);
+						}
+					}else{
+						this.$message.error("业绩分配金额请填写数字");
+						isOk=false;
+						return;
+					}
+				};
+				for(money in jsqMap ){
+					if(money > rechargeMoney) {
+						this.$message.error("业绩分配金额大于支付金额");
+						isOk = false;
+						return;
+					}
+				}
+
+
+				console.log("isOk",isOk);
+				return isOk;
+			},
 		}
 	});
 	//]]>

--
Gitblit v1.9.1