From 7406be32979e90a730b5a2ac8d392892f71835d2 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期一, 10 四月 2023 14:53:17 +0800
Subject: [PATCH] 修复称重不显示问题,优化信息提示

---
 pages/public-page/forward/forward.vue |  283 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 176 insertions(+), 107 deletions(-)

diff --git a/pages/public-page/forward/forward.vue b/pages/public-page/forward/forward.vue
index e57f01f..885473b 100644
--- a/pages/public-page/forward/forward.vue
+++ b/pages/public-page/forward/forward.vue
@@ -3,16 +3,16 @@
 	<view class="forward">
 		<view v-if="roleType == 1"><u-notice-bar :text="text" :fontSize="30" mode="link"></u-notice-bar></view>
 		<view v-else-if="roleType == 2"><u-notice-bar :text="text1" :fontSize="30" mode="link"></u-notice-bar></view>
-		<view class="forward-card" v-for="(val, index) in jhOrderPlanForwardList">
+		<view class="forward-card" v-for="(val, index) in jhOrderPlanForwardList" :key="index">
 			<u--form labelPosition="top" :model="forwardForm" ref="form1">
 				<u-form-item label="杞彂瀵硅薄" labelWidth="20%" ref="item1" @click="forwardObjectClick(index)">
-					<u--input v-model="val.name" placeholder="鐐瑰嚮閫夋嫨杞彂瀵硅薄"></u--input>
+					<u--input v-model="val.name" placeholder="鐐瑰嚮閫夋嫨杞彂瀵硅薄" :readonly="true"></u--input>
 				</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)">
-							<u-checkbox :customStyle="{ marginBottom: '8px' }" size="30" labelSize="30" label="鍏ㄩ儴杞彂" name="鍏ㄩ儴杞彂"></u-checkbox>
+							<u-checkbox :customStyle="{ marginBottom: '8px' }" size="30" labelSize="30" label="鍏ㄩ儴杞彂" name="鍏ㄩ儴杞彂" :disabled="val.ischecked"></u-checkbox>
 						</u-checkbox-group>
 					</view>
 				</u-form-item>
@@ -32,14 +32,18 @@
 					<view class="" v-if="!tabHuoDai">
 						<u-cell-group>
 							<u-cell v-for="(item, index) in fleetData" :key="index" :title="item.name">
-								<view class="cell-util" slot="value"><u-button @click="forwardFleetObjectSelect(item)" text="閫夋嫨" type="primary" size="mini"></u-button></view>
+								<view class="cell-util" slot="value">
+									<u-button @click="forwardFleetObjectSelect(item, index)" text="閫夋嫨" type="primary" size="mini"></u-button>
+								</view>
 							</u-cell>
 						</u-cell-group>
 					</view>
 					<view class="" v-else-if="tabHuoDai">
 						<u-cell-group>
 							<u-cell v-for="(item, index) in huoDaiData" :key="index" :title="item.name">
-								<view class="cell-util" slot="value"><u-button @click="forwardHuoDaiObjectSelect(item)" text="閫夋嫨" type="primary" size="mini"></u-button></view>
+								<view class="cell-util" slot="value">
+									<u-button @click="forwardHuoDaiObjectSelect(item, index)" text="閫夋嫨" type="primary" size="mini"></u-button>
+								</view>
 							</u-cell>
 						</u-cell-group>
 					</view>
@@ -50,24 +54,18 @@
 </template>
 
 <script>
-import { customerId } from '@/utils/status';
+import { customerId } from '@/utils/status'
 
 export default {
 	onLoad(params) {
+		console.log(params, '杞彂椤甸潰鐨勫弬鏁�')
 		// 瀹㈡埛
-		this.cars2 = Number(params.cars2);
-		this.carNumSurplus1 = Number(params.carNumSurplus1);
+		this.cars2 = Number(params.cars2)
+		this.carNumSurplus1 = Number(params.carNumSurplus1)
 		// 璐т唬
-		this.carNum = Number(params.carNum);
-		this.carNumSurplusHuodai = Number(params.carNumSurplusHuodai);
-		if (params.carNumSurplus1 || params.carNumSurplusHuodai) {
-			if (params.carNumSurplus1 != 0) {
-				this.forwardSurplus = params.carNumSurplus1;
-			} else if (params.carNumSurplusHuodai != 0) {
-				this.forwardSurplus = params.carNumSurplusHuodai;
-			}
-		}
-		this.orderPlanId = params.orderPlanId;
+		this.carNum = Number(params.carNum)
+		this.carNumSurplusHuodai = this.forwardSurplus = Number(params.carNumSurplusHuodai)
+		this.orderPlanId = params.orderPlanId
 		this.$reqGet('forwardList', { OrderPlanId: params.orderPlanId }).then(res => {
 			if (res.data.length !== 0 && this.roleType == 1) {
 				this.jhOrderPlanForwardList = res.data.map(item => {
@@ -79,8 +77,8 @@
 						xsUserId: item.xsUserId === null ? 0 : item.xsUserId,
 						fleetId: item.fleetId === null ? 0 : item.fleetId,
 						checkboxValue1: ''
-					};
-				});
+					}
+				})
 			} else if (res.data.length !== 0 && this.roleType == 2) {
 				this.jhOrderPlanForwardList = res.data.map(item => {
 					return {
@@ -91,19 +89,19 @@
 						xsUserId: item.xsUserId === null ? 0 : item.xsUserId,
 						fleetId: item.fleetId === null ? 0 : item.fleetId,
 						checkboxValue1: ''
-					};
-				});
+					}
+				})
 			} else {
 				this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map(v => {
 					if (!v.orderPlanId) {
 						return {
 							...v,
 							orderPlanId: params.orderPlanId
-						};
+						}
 					}
-				});
+				})
 			}
-		});
+		})
 	},
 	data() {
 		return {
@@ -127,140 +125,212 @@
 			index: '',
 			checkboxValue1: '',
 			selectPopupShow: false,
-			list1: [
-				{
-					name: '杞﹂槦'
-				},
-				{
-					name: '璐т唬'
-				}
-			],
+			list1: [{ name: '杞﹂槦' }, { name: '璐т唬' }],
 			tabHuoDai: false,
 			carNumSurplus1: '',
 			cars2: '',
 			carNum: '',
 			carNumSurplusHuodai: '',
 			formNum: 1
-		};
+		}
 	},
 	onShow() {
-		this.init();
+		this.init()
 		if (this.roleType == 2) {
-			this.list1.splice(1, 1);
-			this.tabHuoDai = false;
+			this.list1.splice(1, 1)
+			this.tabHuoDai = false
 		}
 	},
 	computed: {
 		roleType() {
-			return uni.getStorageSync('roleType');
+			return uni.getStorageSync('roleType')
 		},
 		text() {
-			return `宸查鍙�${this.cars2}寮犳棩璁″垝鍗�,鍓╀綑${this.carNumSurplus1}寮犳棩璁″垝鍗昤;
+			return `宸查鍙�${this.cars2}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplus1}寮犳彁鐓ゅ崟`
 		},
 		text1() {
-			return `宸叉嫢鏈�${this.carNum}寮犳棩璁″垝鍗�,鍓╀綑${this.carNumSurplusHuodai}寮犳棩璁″垝鍗昤;
+			return `宸叉嫢鏈�${this.carNum}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplusHuodai}寮犳彁鐓ゅ崟`
 		}
 	},
 	methods: {
 		init() {
-			console.log('roleType', this.roleType);
+			console.log('roleType', this.roleType)
 			switch (this.roleType) {
 				case 1:
-					this.getAllHuoDaiByCustomerId();
-					this.getFleet();
-					break;
+					this.getAllHuoDaiByCustomerId()
+					this.getFleet()
+					break
 				case 2:
-					this.getFleet();
-					break;
+					this.getFleet()
+					break
 				default:
-					break;
+					break
+			}
+		},
+		allrelay(x, y) {
+			let a = 0
+			if (y != 0) {
+				a = Number(x) + Number(y)
+				return a
+			} else {
+				return Number(x)
+			}
+		},
+		allrelayto(x, y) {
+			let a = 0
+			if (y != 0) {
+				a = Number(x) - Number(y)
+				return a
+			} else {
+				return Number(x)
 			}
 		},
 		checkboxChange(value, index) {
-			console.log('澶嶉�夋鍙樺寲', value, index);
+			uni.setStorageSync('allrelay', this.jhOrderPlanForwardList[index].carNum)
+			this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map((v, i) => {
+				return {
+					...v,
+					ischecked: false
+				}
+			})
 			if (value.length != 0) {
-				this.jhOrderPlanForwardList[index].carNum = this.forwardSurplus;
+				let tempforwardSurplus = this.forwardSurplus
+				let tempcarNumSurplus1 = this.carNumSurplus1
+				// 璁$畻鍏ㄩ儴杞彂鏁�
+				// 瀹㈡埛
+				if (this.roleType == 1) {
+					this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.jhOrderPlanForwardList[index].carNum, tempcarNumSurplus1)
+				}
+				tempcarNumSurplus1 = 0
+				// 璐т唬
+				if (this.roleType == 2) {
+					this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.jhOrderPlanForwardList[index].carNum, tempforwardSurplus)
+				}
+				tempforwardSurplus = 0
+				// 閫夋嫨涓�涓悗鍏朵綑绂佹澶嶉��
+				this.jhOrderPlanForwardList.forEach((v, i) => {
+					if (i !== index) {
+						v.ischecked = true
+					}
+				})
 			} else {
-				this.jhOrderPlanForwardList[index].carNum = null;
+				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.roleType == 1) {
+					this.jhOrderPlanForwardList[index].carNum = this.allrelayto(this.jhOrderPlanForwardList[index].carNum, this.carNumSurplus1)
+				}
 			}
 		},
 		// 鑾峰彇璐т唬鍒楄〃
 		getAllHuoDaiByCustomerId() {
 			this.$reqGet('getAllHuoDaiByCustomerId').then(res => {
-				this.huoDaiData = res.data;
-				console.log('璐т唬鍒楄〃', res);
-			});
+				this.huoDaiData = res.data
+			})
 		},
 		// 鑾峰彇杞﹂槦鍒楄〃
 		getFleet() {
 			this.$reqGet('getFleet').then(res => {
-				this.fleetData = res.data;
-				console.log('杞﹂槦鍒楄〃', res);
-			});
+				this.fleetData = res.data
+			})
 		},
 		// 杞彂
 		forwardObjectClick(index) {
-			this.selectPopupShow = true;
-			this.index = index;
-			console.log(this.huoDaiData, this.fleetData, '杞彂');
+			this.selectPopupShow = true
+			this.index = index
 		},
 		selectPopupClose() {
-			this.selectPopupShow = false;
+			this.selectPopupShow = false
 		},
-		selectPopupOpen() {
-			console.log('寮瑰嚭妗嗘墦寮�浜�');
-		},
+		selectPopupOpen() {},
 		// 杞彂閫夋嫨璐т唬
-		forwardHuoDaiObjectSelect(item) {
-			this.selectPopupShow = false;
-			this.jhOrderPlanForwardList[this.index].xsUserId = item.userId;
-			this.jhOrderPlanForwardList[this.index].name = item.name;
-			this.jhOrderPlanForwardList[this.index].fleetId = 0;
-			console.log('璐т唬閫夋嫨', this.jhOrderPlanForwardList[this.index]);
+		forwardHuoDaiObjectSelect(item, index) {
+			this.$nextTick(() => {
+				let isableAdd = this.jhOrderPlanForwardList.filter(v => item.name === v.name)
+				if (isableAdd.length > 0) {
+					this.$u.toast('瀛樺湪閲嶅娣诲姞')
+					this.selectPopupShow = true
+				} else {
+					this.selectPopupShow = false
+					this.jhOrderPlanForwardList[this.index].xsUserId = item.userId
+					this.jhOrderPlanForwardList[this.index].name = item.name
+					this.jhOrderPlanForwardList[this.index].fleetId = 0
+				}
+			})
 		},
 		// 杞彂閫夋嫨杞﹂槦
-		forwardFleetObjectSelect(item) {
-			this.selectPopupShow = false;
-			this.jhOrderPlanForwardList[this.index].fleetId = item.id;
-			this.jhOrderPlanForwardList[this.index].name = item.name;
-			this.jhOrderPlanForwardList[this.index].xsUserId = 0;
-			console.log('杞﹂槦閫夋嫨', this.jhOrderPlanForwardList[this.index]);
+		forwardFleetObjectSelect(item, index) {
+			this.$nextTick(() => {
+				let isableAdd = this.jhOrderPlanForwardList.filter(v => item.name === v.name)
+				if (isableAdd.length > 0) {
+					this.$u.toast('瀛樺湪閲嶅娣诲姞')
+					this.selectPopupShow = true
+				} else {
+					this.selectPopupShow = false
+					this.jhOrderPlanForwardList[this.index].fleetId = item.id
+					this.jhOrderPlanForwardList[this.index].name = item.name
+					this.jhOrderPlanForwardList[this.index].xsUserId = 0
+				}
+			})
 		},
+		// 娣诲姞涓�缁勮〃鍗�
 		addForm() {
-			this.jhOrderPlanForwardList.push({
-				orderPlanId: this.orderPlanId,
-				name: '',
-				carNum: 0,
-				xsUserId: 0,
-				fleetId: 0,
-				checkboxValue1: ''
-			});
+			// 鍒ゆ柇鏄惁鏈変竴涓閫夛紝濡傛灉鏈夊垯绂佹鏂板姞鐨勫閫夛紝娌℃湁鍒欎笉绂佹
+			let ischeck = this.jhOrderPlanForwardList.some(v => v.ischecked == true)
+			if (!ischeck) {
+				this.jhOrderPlanForwardList.push({
+					orderPlanId: this.orderPlanId,
+					name: '',
+					carNum: 0,
+					xsUserId: 0,
+					fleetId: 0,
+					checkboxValue1: '',
+					ischecked: false
+				})
+			} else {
+				this.jhOrderPlanForwardList.push({
+					orderPlanId: this.orderPlanId,
+					name: '',
+					carNum: 0,
+					xsUserId: 0,
+					fleetId: 0,
+					checkboxValue1: '',
+					ischecked: true
+				})
+			}
 		},
 		// 鍒犻櫎涓�缁勮〃鍗�
 		deleteGroup(index, v) {
-			let tempcarNum = v.carNum;
+			let tempcarNum = v.carNum
 			if (v.id && this.jhOrderPlanForwardList[index].carNum !== tempcarNum) {
 				this.$reqPost('deleteForward', { id: v.id }, 'params').then(res => {
 					if (res.code === 0) {
-						this.jhOrderPlanForwardList.splice(index, 1);
-						this.$u.toast('鍒犻櫎鎴愬姛');
+						this.jhOrderPlanForwardList.splice(index, 1)
+						this.$u.toast('鍒犻櫎鎴愬姛')
 					} else if (res.code === 1) {
-						this.$u.toast(res.msg);
+						this.$u.toast(res.msg)
 					}
-				});
+				})
 			} else {
-				this.jhOrderPlanForwardList.splice(index, 1);
-				this.$u.toast('鍒犻櫎鎴愬姛');
+				this.jhOrderPlanForwardList.splice(index, 1)
+				this.$u.toast('鍒犻櫎鎴愬姛')
 			}
 		},
 		// 鎻愪氦
 		submitForm() {
-			let isPass = false;
+			let isPass = false
+			if (this.jhOrderPlanForwardList.length === 0) {
+				this.$u.toast('璇疯嚦灏戦�夋嫨涓�缁勮浆鍙戝璞�')
+			}
 			this.jhOrderPlanForwardList.forEach(v => {
 				if (isNaN(Number(v.carNum)) || Number(v.carNum) <= 0) {
-					this.$u.toast('璇疯緭鍏ュ悎娉曟暟瀛�');
-					isPass = false;
-					return isPass;
+					this.$u.toast('璇疯緭鍏ュ悎娉曟暟瀛�')
+					isPass = false
+					return isPass
 				}
 				// else if (Number(v.carNum) > Number(this.forwardSurplus)) {
 				// 	this.$u.toast('瓒呰繃鏈�澶ц鍗曞墿浣欓噺');
@@ -268,34 +338,33 @@
 				// 	return isPass;
 				// }
 				else {
-					isPass = true;
-					return isPass;
+					isPass = true
+					return isPass
 				}
-			});
+			})
 			if (isPass) {
 				this.$reqPost('forward', this.jhOrderPlanForwardList, 'json').then(res => {
-					console.log(res, 'zh');
+					console.log(res, 'zh')
 					if (res.code == 0) {
-						this.$u.toast('鎻愪氦鎴愬姛');
+						this.$u.toast('鎻愪氦鎴愬姛')
 						setTimeout(() => {
-							uni.navigateBack({ delta: 1 });
-						}, 1000);
+							uni.navigateBack({ delta: 1 })
+						}, 1000)
 					} else {
-						this.$u.toast(res.msg);
+						this.$u.toast(res.msg)
 					}
-				});
+				})
 			}
 		},
 		tabClick(item) {
-			console.log('tab鐐瑰嚮', item);
 			if (item.name == '璐т唬') {
-				this.tabHuoDai = true;
+				this.tabHuoDai = true
 			} else {
-				this.tabHuoDai = false;
+				this.tabHuoDai = false
 			}
 		}
 	}
-};
+}
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.1