From 14df401b50272890dc910bbd95d98a8b6caf48d3 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期三, 10 五月 2023 20:32:44 +0800
Subject: [PATCH] 样式修改,引入字体,修改逻辑

---
 pages/public-page/forward/forward.vue |  131 +++++++++++++++++++++++++++++++------------
 1 files changed, 95 insertions(+), 36 deletions(-)

diff --git a/pages/public-page/forward/forward.vue b/pages/public-page/forward/forward.vue
index 57a8e42..40d8611 100644
--- a/pages/public-page/forward/forward.vue
+++ b/pages/public-page/forward/forward.vue
@@ -10,8 +10,15 @@
 				</u-form-item>
 				<u-form-item label="杈撳叆鏁伴噺" labelWidth="20%" ref="item1">
 					<view class="forward-card-amount">
-						<view class="forward-card-amount-input"><u--input v-model="val.carNum" placeholder="璇疯緭鍏ヨ浆鍙戞暟閲�"></u--input></view>
-						<u-checkbox-group v-model="val.checkboxValue1" placement="column" @change="v => checkboxChange(v, index)">
+						<view class="forward-card-amount-input">
+							<u--input
+								v-model="val.carNum"
+								placeholder="璇疯緭鍏ヨ浆鍙戞暟閲�"
+								@input="debouncecarNumInput(index, val.carNum)"
+								@blur="blurInput(index, val.carNum)"
+							></u--input>
+						</view>
+						<u-checkbox-group v-model="val.checkboxValue1" placement="column" @change="v => checkboxChange(v, index, val)">
 							<u-checkbox :customStyle="{ marginBottom: '8px' }" size="30" labelSize="30" label="鍏ㄩ儴杞彂" name="鍏ㄩ儴杞彂" :disabled="val.ischecked"></u-checkbox>
 						</u-checkbox-group>
 					</view>
@@ -20,9 +27,11 @@
 			</u--form>
 		</view>
 		<!-- 澧炲姞鎸夐挳 -->
-		<view class="AdddBtn"><u-button text="娣诲姞" :hairline="false" type="primary" :customStyle="{ marginBottom: '8px' }" @click="addForm"></u-button></view>
+		<view class="AdddBtn">
+			<u-button text="娣诲姞" :hairline="false" type="primary" :customStyle="{ marginBottom: '8px' }" @click="addForm" :disabled="whetherClick"></u-button>
+		</view>
 		<!-- 鎸夐挳 -->
-		<view class="forwardBtn"><u-button text="鎻愪氦" :hairline="false" type="warning" @click="submitForm"></u-button></view>
+		<view class="forwardBtn"><u-button text="鎻愪氦" :hairline="false" type="warning" @click="submitForm" :disabled="whetherClick1"></u-button></view>
 
 		<!-- 閫夋嫨璐т唬鎴栬溅闃熷脊鍑烘 -->
 		<view class="selectHuoDaiOrFleet-container">
@@ -55,13 +64,14 @@
 
 <script>
 import { customerId } from '@/utils/status';
+import toast from '../../../uni_modules/uview-ui/libs/config/props/toast';
 
 export default {
 	onLoad(params) {
 		console.log(params, '杞彂椤甸潰鐨勫弬鏁�');
 		// 瀹㈡埛
 		this.cars2 = Number(params.cars2);
-		this.carNumSurplus1 = Number(params.carNumSurplus1);
+		this.tempcarNumSurplus1 = this.carNumSurplus1 = Number(params.carNumSurplus1);
 		// 璐т唬
 		this.carNum = Number(params.carNum);
 		this.carNumSurplusHuodai = this.forwardSurplus = Number(params.carNumSurplusHuodai);
@@ -128,10 +138,15 @@
 			list1: [{ name: '杞﹂槦' }, { name: '璐т唬' }],
 			tabHuoDai: false,
 			carNumSurplus1: '',
+			tempcarNumSurplus1: '',
 			cars2: '',
 			carNum: '',
 			carNumSurplusHuodai: '',
-			formNum: 1
+			formNum: 1,
+			// 涓汉杞彂鏁版嵁
+			personalForward: {},
+			whetherClick: false,
+			whetherClick1: false
 		};
 	},
 	onShow() {
@@ -154,7 +169,6 @@
 	},
 	methods: {
 		init() {
-			console.log('roleType', this.roleType);
 			switch (this.roleType) {
 				case 1:
 					this.getAllHuoDaiByCustomerId();
@@ -185,9 +199,8 @@
 				return Number(x);
 			}
 		},
-		checkboxChange(value, index) {
-			uni.setStorageSync('allrelay', this.jhOrderPlanForwardList[index].carNum);
-			this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map((v, i) => {
+		checkboxChange(value, index, v) {
+			this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map(v => {
 				return {
 					...v,
 					ischecked: false
@@ -196,40 +209,45 @@
 			if (value.length != 0) {
 				let tempforwardSurplus = this.forwardSurplus;
 				let tempcarNumSurplus1 = this.carNumSurplus1;
-				// 璁$畻鍏ㄩ儴杞彂鏁�
-				// 瀹㈡埛
+				// if (v.id) {
+				// 	this.$reqGet('jhorderplanforward', { forwardId: v.id }).then(res => {
+				// 		this.personalForward = res.data;
+				// 		// 璁$畻鍏ㄩ儴杞彂鏁�
+				// 		// 瀹㈡埛
+				// 		if (this.roleType == 1) {
+				// 			this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.personalForward.carNum, tempcarNumSurplus1);
+				// 			this.calculate(this.jhOrderPlanForwardList);
+				// 			if (tempcarNumSurplus1 == 0) {
+				// 				this.jhOrderPlanForwardList[index].carNum = this.allrelay(0, this.carNumSurplus1);
+				// 			}
+				// 		}
+				// 		tempcarNumSurplus1 = 0;
+				// 		// 璐т唬
+				// 		if (this.roleType == 2) {
+				// 			this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.personalForward.carNum, tempforwardSurplus);
+				// 		}
+				// 		tempforwardSurplus = 0;
+				// 	});
+				// } else { }
+
 				if (this.roleType == 1) {
-					this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.jhOrderPlanForwardList[index].carNum, tempcarNumSurplus1);
+					this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.carNumSurplus1, this.jhOrderPlanForwardList[index].carNum);
+					this.calculate(this.jhOrderPlanForwardList);
 				}
-				tempcarNumSurplus1 = 0;
-				// 璐т唬
 				if (this.roleType == 2) {
-					this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.jhOrderPlanForwardList[index].carNum, tempforwardSurplus);
+					this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.forwardSurplus, this.jhOrderPlanForwardList[index].carNum);
+					this.calculate(this.jhOrderPlanForwardList);
 				}
-				tempforwardSurplus = 0;
 				// 閫夋嫨涓�涓悗鍏朵綑绂佹澶嶉��
 				this.jhOrderPlanForwardList.forEach((v, i) => {
 					if (i !== index) {
 						v.ischecked = true;
 					}
 				});
+				this.whetherClick = true;
 			} else {
-				let tempforwardSurplus = this.forwardSurplus;
-				let tempcarNumSurplus1 = this.carNumSurplus1;
-				// 璐т唬
-				if (this.roleType == 2) {
-					this.jhOrderPlanForwardList[index].carNum = this.allrelayto(this.jhOrderPlanForwardList[index].carNum, this.forwardSurplus);
-					if (this.jhOrderPlanForwardList[index].carNum <= 0) {
-						this.jhOrderPlanForwardList[index].carNum = 0;
-					}
-				}
-				// 瀹㈡埛
-				if (this.roleType == 1) {
-					this.jhOrderPlanForwardList[index].carNum = this.allrelayto(this.jhOrderPlanForwardList[index].carNum, this.carNumSurplus1);
-					if (this.jhOrderPlanForwardList[index].carNum <= 0) {
-						this.jhOrderPlanForwardList[index].carNum = 0;
-					}
-				}
+				this.jhOrderPlanForwardList[index].carNum = 0;
+				this.calculate(this.jhOrderPlanForwardList);
 			}
 		},
 		// 鑾峰彇璐т唬鍒楄〃
@@ -283,6 +301,43 @@
 				}
 			});
 		},
+		// 璁$畻鎻愮叅鍗曟暟閲忥紝娣诲姞鎴栧垹闄ゆ椂璋冪敤
+		calculate(arr) {
+			let total = arr.reduce((prev, cur) => {
+				return cur.carNum + prev;
+			}, 0);
+			console.log(total, '鎻愮叅鍗曚竴鍏辩殑鏁版嵁');
+			if (this.roleType == 1) {
+				if (this.cars2 >= total) {
+					this.carNumSurplus1 = this.cars2 - total;
+					this.whetherClick = false;
+					this.whetherClick1 = false;
+				} else {
+					this.carNumSurplus1 = 0;
+					this.$u.toast('鍓╀綑鎻愮叅鍗曟暟閲忎笉瓒�');
+					this.whetherClick = true;
+					this.whetherClick1 = true;
+				}
+			}
+			return total;
+		},
+		debouncecarNumInput(index, value) {
+			let time;
+			let that = this;
+			return (function() {
+				if (!time) {
+					time = setTimeout(() => {
+						that.$set(that.jhOrderPlanForwardList[index], 'carNum', Number(value));
+						that.calculate(that.jhOrderPlanForwardList);
+						time = null;
+					}, 800);
+				}
+			})();
+		},
+		blurInput(index, value) {
+			this.$set(this.jhOrderPlanForwardList[index], 'carNum', Number(value));
+			this.calculate(this.jhOrderPlanForwardList);
+		},
 		// 娣诲姞涓�缁勮〃鍗�
 		addForm() {
 			// 鍒ゆ柇鏄惁鏈変竴涓閫夛紝濡傛灉鏈夊垯绂佹鏂板姞鐨勫閫夛紝娌℃湁鍒欎笉绂佹
@@ -291,7 +346,7 @@
 				this.jhOrderPlanForwardList.push({
 					orderPlanId: this.orderPlanId,
 					name: '',
-					carNum: 0,
+					carNum: null,
 					xsUserId: 0,
 					fleetId: 0,
 					checkboxValue1: '',
@@ -301,13 +356,14 @@
 				this.jhOrderPlanForwardList.push({
 					orderPlanId: this.orderPlanId,
 					name: '',
-					carNum: 0,
+					carNum: null,
 					xsUserId: 0,
 					fleetId: 0,
 					checkboxValue1: '',
 					ischecked: true
 				});
 			}
+			this.calculate(this.jhOrderPlanForwardList);
 		},
 		// 鍒犻櫎涓�缁勮〃鍗�
 		deleteGroup(index, v) {
@@ -316,6 +372,7 @@
 				this.$reqPost('deleteForward', { id: v.id }, 'params').then(res => {
 					if (res.code === 0) {
 						this.jhOrderPlanForwardList.splice(index, 1);
+						this.calculate(this.jhOrderPlanForwardList);
 						this.$u.toast('鍒犻櫎鎴愬姛');
 					} else if (res.code === 1) {
 						this.$u.toast(res.msg);
@@ -323,6 +380,7 @@
 				});
 			} else {
 				this.jhOrderPlanForwardList.splice(index, 1);
+				this.calculate(this.jhOrderPlanForwardList);
 				this.$u.toast('鍒犻櫎鎴愬姛');
 			}
 		},
@@ -332,8 +390,9 @@
 			if (this.jhOrderPlanForwardList.length === 0) {
 				this.$u.toast('璇疯嚦灏戦�夋嫨涓�缁勮浆鍙戝璞�');
 			}
+			let reg = /^[1-9]\d*$/;
 			this.jhOrderPlanForwardList.forEach(v => {
-				if (isNaN(Number(v.carNum)) || Number(v.carNum) <= 0) {
+				if (!reg.test(v.carNum) || Number(v.carNum) <= 0) {
 					this.$u.toast('璇疯緭鍏ュ悎娉曟暟瀛�');
 					isPass = false;
 					return isPass;

--
Gitblit v1.9.1