From 5c2decc75ac02ba4409375efc4f793b02c505296 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期一, 23 十月 2023 18:53:10 +0800
Subject: [PATCH] 司机注册增加图片字段 司机首页样式更改

---
 pages/public-page/forward/forward.vue | 1211 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 652 insertions(+), 559 deletions(-)

diff --git a/pages/public-page/forward/forward.vue b/pages/public-page/forward/forward.vue
index 03a6cd2..76265d2 100644
--- a/pages/public-page/forward/forward.vue
+++ b/pages/public-page/forward/forward.vue
@@ -3,80 +3,131 @@
 	<view class="forward">
 		<view class="forward-banner">
 			<view class="banner-block">
-				<view class="arrow-left" @click="back"><u-icon name="arrow-left" size="40" color="#ffffff"></u-icon></view>
+				<view class="arrow-left"
+					@click="back"><u-icon name="arrow-left"
+						size="40"
+						color="#ffffff"></u-icon></view>
 				<view class="forward-text">杞彂</view>
 			</view>
 		</view>
-		<view v-if="roleType == 1" class="notice-bar">
-			<u-notice-bar :text="text" :fontSize="30"></u-notice-bar>
-			<view
-				class="notice-icon"
-				style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/notice.png') no-repeat;background-size: cover; width: 42rpx;height: 42rpx;"
-			></view>
+		<view v-if="roleType == 1"
+			class="notice-bar">
+			<u-notice-bar :text="text"
+				:fontSize="30"></u-notice-bar>
+			<view class="notice-icon"
+				style="background: url('https://mx.jzeg.cn:9096/appimg/image/banner/notice.png') no-repeat;background-size: cover; width: 42rpx;height: 42rpx;">
+			</view>
 		</view>
-		<view v-else-if="roleType == 2" class="notice-bar"><u-notice-bar :text="text1" :fontSize="30"></u-notice-bar></view>
+		<view v-else-if="roleType == 2"
+			class="notice-bar"><u-notice-bar :text="text1"
+				:fontSize="30"></u-notice-bar></view>
 		<view class="card-main">
 			<view class="card-block">
-				<view class="forward-card" v-for="(val, index) in jhOrderPlanForwardList" :key="index">
-					<u-swipe-action>
-						<u-swipe-action-item :options="options1" @click="deleteGroup(index, val)">
+				<u-swipe-action>
+					<u-swipe-action-item :options="options1"
+						v-for="(val, index) in jhOrderPlanForwardList"
+						:key="val.vid"
+						:name="val.vid"
+						@click="deleteGroup(index, val)">
+						<view class="forward-card">
 							<view class="card-content">
-								<u--form labelPosition="left" :model="forwardForm" ref="form1">
-									<u-form-item label="杞彂瀵硅薄" labelWidth="21%" ref="item1" @click="forwardObjectClick(index)">
-										<u--input v-model="val.name" placeholder="鐐瑰嚮閫夋嫨杞彂瀵硅薄" :readonly="true" border="bottom"></u--input>
+								<u--form labelPosition="left"
+									:model="forwardForm"
+									ref="form1">
+									<u-form-item label="杞彂瀵硅薄"
+										labelWidth="21%"
+										ref="item1"
+										@click="forwardObjectClick(index,val.name)">
+										<u--input v-model="val.name"
+											placeholder="鐐瑰嚮閫夋嫨杞彂瀵硅薄"
+											:readonly="true"
+											border="bottom"></u--input>
 									</u-form-item>
-									<u-form-item label="杈撳叆鏁伴噺" ref="item2" labelWidth="21%">
+									<u-form-item label="杈撳叆鏁伴噺"
+										ref="item2"
+										labelWidth="21%">
 										<view class="forward-card-amount">
 											<view class="forward-card-amount-input">
-												<u--input
-													v-model="val.carNum"
+												<u--input v-model="val.carNum"
 													placeholder="璇疯緭鍏ヨ浆鍙戞暟閲�"
 													@input="debouncecarNumInput(index, val.carNum)"
 													@blur="blurInput(index, val.carNum)"
-													border="bottom"
-												></u--input>
+													border="bottom"></u--input>
 											</view>
-											<u-checkbox-group v-model="val.checkboxValue1" placement="column" @change="v => checkboxChange(v, index, val)">
-												<u-checkbox size="30" shape="circle" labelSize="30" label="鍏ㄩ儴杞彂" name="鍏ㄩ儴杞彂" :disabled="val.ischecked"></u-checkbox>
+											<u-checkbox-group v-model="val.checkboxValue1"
+												placement="column"
+												@change="v => checkboxChange(v, index, val)">
+												<u-checkbox size="30"
+													shape="circle"
+													labelSize="30"
+													label="鍏ㄩ儴杞彂"
+													name="鍏ㄩ儴杞彂"
+													:disabled="val.ischecked"
+													:checked="val.isSelected"></u-checkbox>
 											</u-checkbox-group>
 										</view>
 									</u-form-item>
-									<!-- <u-form-item><u-button text="鍒犻櫎鏈粍" :hairline="false" type="error" @click="deleteGroup(index, val)"></u-button></u-form-item> -->
 								</u--form>
 							</view>
-						</u-swipe-action-item>
-					</u-swipe-action>
-				</view>
+						</view>
+					</u-swipe-action-item>
+				</u-swipe-action>
 			</view>
 		</view>
 
 		<view class="utils-buttonGroup">
 			<!-- 娣诲姞鎸夐挳 -->
-			<view class="AdddBtn"><u-button text="娣诲姞" :hairline="false" @click.stop="addForm" :disabled="whetherClick"></u-button></view>
+			<view class="AdddBtn"><u-button text="娣诲姞"
+					:hairline="false"
+					@click.stop="addForm"
+					:disabled="whetherClick"></u-button></view>
 			<!-- 鎻愪氦鎸夐挳 -->
-			<view class="forwardBtn"><u-button text="鎻愪氦" :hairline="false" type="warning" @click.stop="submitForm" :disabled="whetherClick1"></u-button></view>
+			<view class="forwardBtn"><u-button text="鎻愪氦"
+					:hairline="false"
+					type="warning"
+					@click.stop="submitForm"
+					:disabled="whetherClick1"
+					:loading='loading'></u-button></view>
 		</view>
 		<!-- 澧炲姞鎸夐挳 -->
 
 		<!-- 閫夋嫨璐т唬鎴栬溅闃熷脊鍑烘 -->
 		<view class="selectHuoDaiOrFleet-container">
-			<u-popup :show="selectPopupShow" mode="bottom" @close="selectPopupClose" @open="selectPopupOpen">
+			<u-popup :show="selectPopupShow"
+				mode="bottom"
+				@close="selectPopupClose"
+				@open="selectPopupOpen">
 				<view class="selectHuoDaiOrFleet-container-box">
-					<u-tabs :list="list1" @click="tabClick"></u-tabs>
-					<view class="" v-if="!tabHuoDai">
+					<u-tabs :list="list1"
+						@click="tabClick"></u-tabs>
+					<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, index)" text="閫夋嫨" type="primary" size="mini"></u-button>
+							<u-cell v-for="(item, index) in fleetData"
+								:key="index"
+								:title="item.name">
+								<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">
+					<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, index)" text="閫夋嫨" type="primary" size="mini"></u-button>
+							<u-cell v-for="(item, index) in huoDaiData"
+								:key="index"
+								:title="item.name">
+								<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>
@@ -88,517 +139,554 @@
 </template>
 
 <script>
-import { customerId } from '@/utils/status';
-import toast from '../../../uni_modules/uview-ui/libs/config/props/toast';
+	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.tempcarNumSurplus1 = this.carNumSurplus1 = Number(params.carNumSurplus1);
-		// 璐т唬
-		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 => {
-					return {
-						id: item.id,
-						orderPlanId: item.orderPlanId,
-						name: item.xsUserName === null ? item.fleetName : item.xsUserName,
-						carNum: item.carNum,
-						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 {
-						id: item.id,
-						orderPlanId: item.orderPlanId,
-						name: item.fleetName,
-						carNum: item.carNum,
-						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) {
+	export default {
+		onLoad(params) {
+			console.log(params, '杞彂椤甸潰鐨勫弬鏁�');
+			// 瀹㈡埛
+			this.cars2 = Number(params.cars2);
+			this.tempcarNumSurplus1 = this.carNumSurplus1 = Number(params.carNumSurplus1);
+			// 璐т唬
+			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, index) => {
 						return {
-							...v,
-							orderPlanId: params.orderPlanId
+							id: item.id,
+							orderPlanId: item.orderPlanId,
+							name: item.xsUserName === '' ? item.fleetName : item.xsUserName,
+							carNum: item.carNum,
+							xsUserId: item.xsUserId === '' ? 0 : item.xsUserId,
+							fleetId: item.fleetId === '' ? 0 : item.fleetId,
+							checkboxValue1: '',
+							vid: `${new Date().getTime()}${index}${item.id}`
 						};
-					}
-				});
-			}
-		});
-	},
-	data() {
-		return {
-			forwardSurplus: 0,
-			paramsName: {},
-			huoDaiData: [],
-			fleetData: [],
-			// 鏃ヨ鍒抜d
-			orderPlanId: '',
-			jhOrderPlanForwardList: [
-				{
+					});
+				} else if (res.data.length !== 0 && this.roleType == 2) {
+					this.jhOrderPlanForwardList = res.data.map((item, index) => {
+						return {
+							id: item.id,
+							orderPlanId: item.orderPlanId,
+							name: item.fleetName,
+							carNum: item.carNum,
+							xsUserId: item.xsUserId === '' ? 0 : item.xsUserId,
+							fleetId: item.fleetId === '' ? 0 : item.fleetId,
+							checkboxValue1: '',
+							vid: `${new Date().getTime()}${index}${item.id}`
+						};
+					});
+				} else {
+					this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map((item, index) => {
+						if (!item.orderPlanId) {
+							return {
+								...item,
+								orderPlanId: params.orderPlanId,
+								vid: `${new Date().getTime()}${index}${item.id}`
+							};
+						}
+					});
+				}
+			});
+		},
+		data() {
+			return {
+				forwardSurplus: 0,
+				paramsName: {},
+				huoDaiData: [],
+				fleetData: [],
+				// 鏃ヨ鍒抜d
+				orderPlanId: '',
+				jhOrderPlanForwardList: [{
 					orderPlanId: '',
 					name: '',
 					carNum: null,
 					xsUserId: 0,
 					fleetId: 0,
-					checkboxValue1: ''
-				}
-			],
-			// 绱㈠紩锛屽埄鐢ㄧ储寮曟纭樉绀�
-			index: '',
-			checkboxValue1: '',
-			selectPopupShow: false,
-			list1: [{ name: '杞﹂槦' }, { name: '璐т唬' }],
-			tabHuoDai: false,
-			carNumSurplus1: '',
-			tempcarNumSurplus1: '',
-			cars2: '',
-			carNum: '',
-			carNumSurplusHuodai: '',
-			formNum: 1,
-			// 涓汉杞彂鏁版嵁
-			personalForward: {},
-			whetherClick: false,
-			whetherClick1: false,
-			// 婊戝姩鍗曞厓鏍奸厤缃�
-			options1: [
-				{
+					checkboxValue1: '',
+					isSelected: false
+				}],
+				// 绱㈠紩锛屽埄鐢ㄧ储寮曟纭樉绀�
+				index: '',
+				checkboxValue1: '',
+				selectPopupShow: false,
+				list1: [{ name: '杞﹂槦' }, { name: '璐т唬' }],
+				tabHuoDai: false,
+				carNumSurplus1: '',
+				tempcarNumSurplus1: '',
+				cars2: '',
+				carNum: '',
+				carNumSurplusHuodai: '',
+				formNum: 1,
+				// 涓汉杞彂鏁版嵁
+				personalForward: {},
+				whetherClick: false,
+				whetherClick1: false,
+				// 婊戝姩鍗曞厓鏍奸厤缃�
+				options1: [{
 					text: '鍒犻櫎',
 					style: {
 						backgroundColor: '#FB0101'
 					}
-				}
-			]
-		};
-	},
-	onShow() {
-		this.init();
-		if (this.roleType == 2) {
-			this.list1.splice(1, 1);
-			this.tabHuoDai = false;
-		}
-	},
-	computed: {
-		roleType() {
-			return uni.getStorageSync('roleType');
+				}],
+				loading: false, //鎻愪氦loading
+				originForwardName: '', //鍘熻浆鍙戝璞�
+				laterForwardName: '', //鍚庤浆鍙戝璞�		
+			};
 		},
-		text() {
-			return `宸查鍙�${this.cars2}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplus1}寮犳彁鐓ゅ崟`;
-		},
-		text1() {
-			return `宸叉嫢鏈�${this.carNum}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplusHuodai}寮犳彁鐓ゅ崟`;
-		}
-	},
-	methods: {
-		// 杩斿洖涓婁竴椤�
-		back() {
-			uni.navigateBack({
-				delta: 1
-			});
-		},
-		init() {
-			switch (this.roleType) {
-				case 1:
-					this.getAllHuoDaiByCustomerId();
-					this.getFleet();
-					break;
-				case 2:
-					this.getFleet();
-					break;
-				default:
-					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, v) {
-			this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map(v => {
-				return {
-					...v,
-					ischecked: false
-				};
-			});
-			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.carNumSurplus1, this.jhOrderPlanForwardList[index].carNum);
-					this.calculate(this.jhOrderPlanForwardList);
-				}
-				if (this.roleType == 2) {
-					this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.carNumSurplusHuodai, this.jhOrderPlanForwardList[index].carNum);
-					this.calculate(this.jhOrderPlanForwardList);
-				}
-				// 閫夋嫨涓�涓悗鍏朵綑绂佹澶嶉��
-				this.jhOrderPlanForwardList.forEach((v, i) => {
-					if (i !== index) {
-						v.ischecked = true;
-					}
-				});
-				this.whetherClick = true;
-			} else {
-				this.jhOrderPlanForwardList[index].carNum = 0;
-				this.calculate(this.jhOrderPlanForwardList);
-			}
-		},
-		// 鑾峰彇璐т唬鍒楄〃
-		getAllHuoDaiByCustomerId() {
-			this.$reqGet('getAllHuoDaiByCustomerId').then(res => {
-				this.huoDaiData = res.data;
-			});
-		},
-		// 鑾峰彇杞﹂槦鍒楄〃
-		getFleet() {
-			this.$reqGet('getFleet').then(res => {
-				this.fleetData = res.data;
-			});
-		},
-		// 杞彂
-		forwardObjectClick(index) {
-			this.selectPopupShow = true;
-			this.index = index;
-		},
-		selectPopupClose() {
-			this.selectPopupShow = false;
-		},
-		selectPopupOpen() {},
-		// 杞彂閫夋嫨璐т唬
-		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, 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;
-				}
-			});
-		},
-		// 璁$畻鎻愮叅鍗曟暟閲忥紝娣诲姞鎴栧垹闄ゆ椂璋冪敤
-		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;
-				}
-			}
+		onShow() {
+			this.init();
 			if (this.roleType == 2) {
-				if (this.carNum >= total) {
-					this.carNumSurplusHuodai = this.carNum - total;
-					this.whetherClick = false;
-					this.whetherClick1 = false;
-				} else {
-					this.carNumSurplusHuodai = 0;
-					this.$u.toast('鍓╀綑鎻愮叅鍗曟暟閲忎笉瓒�');
-					this.whetherClick = true;
-					this.whetherClick1 = true;
-				}
-			}
-		},
-		debouncecarNumInput(index, value) {
-			let time;
-			let that = this;
-			that.$set(that.jhOrderPlanForwardList[index], 'carNum', Number(value));
-			return (function() {
-				if (!time) {
-					time = setTimeout(() => {
-						that.calculate(that.jhOrderPlanForwardList);
-						time = null;
-					}, 800);
-				}
-			})();
-		},
-		blurInput(index, value) {
-			this.$set(this.jhOrderPlanForwardList[index], 'carNum', Number(value));
-			this.calculate(this.jhOrderPlanForwardList);
-		},
-		// 娣诲姞涓�缁勮〃鍗�
-		addForm() {
-			// 鍒ゆ柇鏄惁鏈変竴涓閫夛紝濡傛灉鏈夊垯绂佹鏂板姞鐨勫閫夛紝娌℃湁鍒欎笉绂佹
-			let ischeck = this.jhOrderPlanForwardList.some(v => v.ischecked == true);
-			if (!ischeck) {
-				this.jhOrderPlanForwardList.push({
-					orderPlanId: this.orderPlanId,
-					name: '',
-					carNum: null,
-					xsUserId: 0,
-					fleetId: 0,
-					checkboxValue1: '',
-					ischecked: false
-				});
-			} else {
-				this.jhOrderPlanForwardList.push({
-					orderPlanId: this.orderPlanId,
-					name: '',
-					carNum: null,
-					xsUserId: 0,
-					fleetId: 0,
-					checkboxValue1: '',
-					ischecked: true
-				});
-			}
-			this.calculate(this.jhOrderPlanForwardList);
-		},
-		// 鍒犻櫎涓�缁勮〃鍗�
-		deleteGroup(index, v) {
-			let tempcarNum = v.carNum;
-			if (v.id) {
-				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);
-					}
-				});
-			} else {
-				this.jhOrderPlanForwardList.splice(index, 1);
-				this.calculate(this.jhOrderPlanForwardList);
-				this.$u.toast('鍒犻櫎鎴愬姛');
-			}
-		},
-		// 鎻愪氦
-		submitForm() {
-			let isPass = false;
-			if (this.jhOrderPlanForwardList.length === 0) {
-				this.$u.toast('璇疯嚦灏戦�夋嫨涓�缁勮浆鍙戝璞�');
-			}
-			let reg = /^[1-9]\d*$/;
-			this.jhOrderPlanForwardList.forEach(v => {
-				if (!reg.test(v.carNum) || Number(v.carNum) <= 0) {
-					this.$u.toast('璇疯緭鍏ュ悎娉曟暟瀛�');
-					isPass = false;
-					return isPass;
-				}
-				// else if (Number(v.carNum) > Number(this.forwardSurplus)) {
-				// 	this.$u.toast('瓒呰繃鏈�澶ц鍗曞墿浣欓噺');
-				// 	isPass = false;
-				// 	return isPass;
-				// }
-				else {
-					isPass = true;
-					return isPass;
-				}
-			});
-			if (isPass) {
-				this.$reqPost('forward', this.jhOrderPlanForwardList, 'json').then(res => {
-					console.log(res, 'zh');
-					if (res.code == 0) {
-						this.$u.toast('鎻愪氦鎴愬姛');
-						setTimeout(() => {
-							uni.navigateBack({ delta: 1 });
-						}, 1000);
-					} else {
-						this.$u.toast(res.msg);
-					}
-				});
-			}
-		},
-		tabClick(item) {
-			if (item.name == '璐т唬') {
-				this.tabHuoDai = true;
-			} else {
+				this.list1.splice(1, 1);
 				this.tabHuoDai = false;
 			}
+		},
+		computed: {
+			roleType() {
+				return uni.getStorageSync('roleType');
+			},
+			text() {
+				return `宸查鍙�${this.cars2}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplus1}寮犳彁鐓ゅ崟`;
+			},
+			text1() {
+				return `宸叉嫢鏈�${this.carNum}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplusHuodai}寮犳彁鐓ゅ崟`;
+			}
+		},
+		methods: {
+			// 杩斿洖涓婁竴椤�
+			back() {
+				uni.navigateBack({
+					delta: 1
+				});
+			},
+			init() {
+				switch (this.roleType) {
+					case 1:
+						this.getAllHuoDaiByCustomerId();
+						this.getFleet();
+						break;
+					case 2:
+						this.getFleet();
+						break;
+					default:
+						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, v) {
+				this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map(v => {
+					return {
+						...v,
+						ischecked: false
+					};
+				});
+				if (value.length != 0) {
+					if (this.roleType == 1) {
+						this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.carNumSurplus1, this
+							.jhOrderPlanForwardList[index].carNum);
+						this.calculate(this.jhOrderPlanForwardList);
+					}
+					if (this.roleType == 2) {
+						this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.carNumSurplusHuodai, this
+							.jhOrderPlanForwardList[index].carNum);
+						this.calculate(this.jhOrderPlanForwardList);
+					}
+					// 閫夋嫨涓�涓悗鍏朵綑绂佹澶嶉��
+					this.jhOrderPlanForwardList.forEach((v, i) => {
+						if (i !== index) {
+							v.ischecked = true;
+						}
+					});
+					this.whetherClick = true;
+				} else {
+					this.jhOrderPlanForwardList[index].carNum = null;
+					this.calculate(this.jhOrderPlanForwardList);
+				}
+			},
+			// 鑾峰彇璐т唬鍒楄〃
+			getAllHuoDaiByCustomerId() {
+				this.$reqGet('getAllHuoDaiByCustomerId').then(res => {
+					this.huoDaiData = res.data;
+				});
+			},
+			// 鑾峰彇杞﹂槦鍒楄〃
+			getFleet() {
+				this.$reqGet('getFleet').then(res => {
+					this.fleetData = res.data;
+				});
+			},
+			// 杞彂
+			forwardObjectClick(index, name) {
+				this.selectPopupShow = true;
+				this.index = index;
+				this.originForwardName = name || ''
+			},
+			selectPopupClose() {
+				this.selectPopupShow = false;
+			},
+			selectPopupOpen() {},
+			// 杞彂閫夋嫨璐т唬
+			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;
+						if (this.originForwardName) {
+							this.addForm(item.name)
+						}
+					}
+				});
+			},
+			// 杞彂閫夋嫨杞﹂槦
+			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;
+						if (this.originForwardName) {
+							this.addForm(item.name)
+						}
+					}
+				});
+			},
+			// 璁$畻鎻愮叅鍗曟暟閲忥紝娣诲姞鎴栧垹闄ゆ椂璋冪敤
+			calculate(arr) {
+				let total = arr.reduce((prev, cur) => {
+					return cur.carNum + prev;
+				}, 0);
+				console.log(total, '鎻愮叅鍗曚竴鍏辩殑鏁版嵁');
+				if (this.roleType == 1) {
+					if (Number(this.cars2) > total) {
+						this.carNumSurplus1 = Number(this.cars2) - total;
+						this.whetherClick = false;
+						this.whetherClick1 = false;
+					} else if (Number(this.cars2) == total) {
+						this.whetherClick = true;
+					} else {
+						this.carNumSurplus1 = 0;
+						this.$u.toast('鍓╀綑鎻愮叅鍗曟暟閲忎笉瓒�');
+						this.whetherClick = true;
+						this.whetherClick1 = true;
+					}
+				}
+				if (this.roleType == 2) {
+					if (Number(this.carNum) > total) {
+						this.carNumSurplusHuodai = Number(this.carNum) - total;
+						this.whetherClick = false;
+						this.whetherClick1 = false;
+					} else if (Number(this.carNum) == total) {
+						this.whetherClick = true;
+					} else {
+						this.carNumSurplusHuodai = 0;
+						this.$u.toast('鍓╀綑鎻愮叅鍗曟暟閲忎笉瓒�');
+						this.whetherClick = true;
+						this.whetherClick1 = true;
+					}
+				}
+			},
+			debouncecarNumInput(index, value) {
+				let time;
+				let that = this;
+				that.$set(that.jhOrderPlanForwardList[index], 'carNum', Number(value));
+				return (function() {
+					if (!time) {
+						time = setTimeout(() => {
+							that.calculate(that.jhOrderPlanForwardList);
+							if (that.roleType == 1) {
+								if (that.jhOrderPlanForwardList[index].carNum < Number(that
+										.carNumSurplus1)) {
+									that.$set(that.jhOrderPlanForwardList[index], 'checkboxValue1', '');
+									that.jhOrderPlanForwardList.forEach((v, i) => {
+										if (index != i) {
+											v.ischecked = false;
+										}
+									});
+								}
+							}
+
+							if (that.roleType == 2) {
+								if (that.jhOrderPlanForwardList[index].carNum < Number(that
+										.carNumSurplusHuodai)) {
+									that.$set(that.jhOrderPlanForwardList[index], 'checkboxValue1', '');
+									that.jhOrderPlanForwardList.forEach((v, i) => {
+										if (index != i) {
+											v.ischecked = false;
+										}
+									});
+								}
+							}
+							time = null;
+						}, 800);
+					}
+				})();
+			},
+			blurInput(index, value) {
+				this.$set(this.jhOrderPlanForwardList[index], 'carNum', Number(value));
+				this.calculate(this.jhOrderPlanForwardList);
+			},
+			// 娣诲姞涓�缁勮〃鍗�
+			addForm(name) {
+				// 鍒ゆ柇鏄惁鏈変竴涓閫夛紝濡傛灉鏈夊垯绂佹鏂板姞鐨勫閫夛紝娌℃湁鍒欎笉绂佹
+				let ischeck = this.jhOrderPlanForwardList.some(v => v.ischecked == true);
+				if (!ischeck) {
+					this.jhOrderPlanForwardList.push({
+						orderPlanId: this.orderPlanId,
+						name: name || '',
+						carNum: null,
+						xsUserId: 0,
+						fleetId: 0,
+						checkboxValue1: '',
+						ischecked: false,
+						vid: new Date().getTime(),
+						isSelected: false
+					});
+				} else {
+					this.jhOrderPlanForwardList.push({
+						orderPlanId: this.orderPlanId,
+						name: name || '',
+						carNum: null,
+						xsUserId: 0,
+						fleetId: 0,
+						checkboxValue1: '',
+						ischecked: true,
+						vid: new Date().getTime(),
+						isSelected: false
+					});
+				}
+				this.calculate(this.jhOrderPlanForwardList);
+			},
+			// 鍒犻櫎涓�缁勮〃鍗�
+			deleteGroup(index, v) {
+				let tempcarNum = v.carNum;
+				if (v.id) {
+					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);
+						}
+					});
+				} else {
+					this.jhOrderPlanForwardList.splice(index, 1);
+					this.calculate(this.jhOrderPlanForwardList);
+					this.$u.toast('鍒犻櫎鎴愬姛');
+				}
+			},
+			// 鎻愪氦
+			submitForm() {
+				let isPass = false;
+				if (this.jhOrderPlanForwardList.length === 0) {
+					this.$u.toast('璇疯嚦灏戦�夋嫨涓�缁勮浆鍙戝璞�');
+				}
+				let reg = /^[1-9]\d*$/;
+				this.jhOrderPlanForwardList.forEach(v => {
+					if (!reg.test(v.carNum) || Number(v.carNum) <= 0) {
+						this.$u.toast('璇疯緭鍏ュ悎娉曟暟瀛�');
+						isPass = false;
+						return isPass;
+					} else {
+						isPass = true;
+						return isPass;
+					}
+				});
+				if (isPass) {
+					this.loading = true;
+					this.$reqPost('forward', this.jhOrderPlanForwardList, 'json').then(res => {
+						console.log(res, 'zh');
+						if (res.code == 0) {
+							this.loading = false
+							this.$u.toast('鎻愪氦鎴愬姛');
+							setTimeout(() => {
+								uni.navigateBack({ delta: 1 });
+							}, 1000);
+						} else {
+							this.loading = false
+							this.$u.toast(res.msg);
+						}
+					});
+				}
+			},
+			tabClick(item) {
+				if (item.name == '璐т唬') {
+					this.tabHuoDai = true;
+				} else {
+					this.tabHuoDai = false;
+				}
+			}
 		}
-	}
-};
+	};
 </script>
 
-<style lang="scss" scoped>
-@mixin flex {
-	display: flex;
-	justify-content: space-between;
-	align-items: center;
-}
-/deep/ .u-notice-bar {
-	background: rgba(255, 255, 255, 0.3) !important;
-	box-shadow: 0rpx 0rpx 5rpx 0rpx rgba(27, 103, 255, 0);
-	border-radius: 28rpx;
-	.u-notice__content {
-		text {
-			text-shadow: 3rpx 3rpx 8rpx #4784fe;
-			font-size: 24rpx;
-			color: #fd1446 !important;
-			font-weight: 400;
-		}
+<style lang="scss"
+	scoped>
+	@mixin flex {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
 	}
-}
-/deep/ .u-input {
-	border-bottom: 1px solid #c4c4c4;
-	width: 458rpx;
-}
-::v-deep.forward {
-	width: 100%;
-	margin: 0 auto;
-	.forward-banner {
-		width: 100%;
-		height: 430rpx;
-		background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%);
-		@include flex;
-		justify-content: flex-start;
-		overflow: hidden;
-		.banner-block {
-			width: 50%;
-			@include flex;
-			position: relative;
-			top: -75rpx;
-			left: 32rpx;
-			.forward-text {
-				width: 80rpx;
-				font-size: 40rpx;
+
+	/deep/ .u-notice-bar {
+		background: rgba(255, 255, 255, 0.3) !important;
+		box-shadow: 0rpx 0rpx 5rpx 0rpx rgba(27, 103, 255, 0);
+		border-radius: 28rpx;
+
+		.u-notice__content {
+			text {
+				text-shadow: 3rpx 3rpx 8rpx #4784fe;
+				font-size: 24rpx;
+				color: #fd1446 !important;
 				font-weight: 400;
-				color: #ffffff;
-				line-height: 69rpx;
 			}
 		}
 	}
-	.notice-bar {
-		width: 688rpx;
-		height: 56rpx;
-		margin: 0 auto;
-		position: relative;
-		top: -200rpx;
-		background: transparent;
-		.notice-icon {
-			position: absolute;
-			top: 21rpx;
-			left: 7rpx;
-		}
+
+	/deep/ .u-input {
+		border-bottom: 1px solid #c4c4c4;
+		width: 458rpx;
 	}
-	.card-main {
+
+	::v-deep.forward {
 		width: 100%;
-		@include flex;
-		justify-content: center;
-		position: relative;
-		top: -100rpx;
-		z-index: 1;
-		margin-bottom: vww(40);
-		.card-block {
-			width: 690rpx;
+		margin: 0 auto;
+
+		.forward-banner {
+			width: 100%;
+			height: 430rpx;
+			background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%);
 			@include flex;
-			flex-direction: column;
-			.forward-card {
-				margin-top: vww(10);
+			justify-content: flex-start;
+			overflow: hidden;
+
+			.banner-block {
+				width: 50%;
+				@include flex;
+				position: relative;
+				top: -75rpx;
+				left: 32rpx;
+
+				.forward-text {
+					width: 80rpx;
+					font-size: 40rpx;
+					font-weight: 400;
+					color: #ffffff;
+					line-height: 69rpx;
+				}
+			}
+		}
+
+		.notice-bar {
+			width: 688rpx;
+			height: 56rpx;
+			margin: 0 auto;
+			position: relative;
+			top: -200rpx;
+			background: transparent;
+
+			.notice-icon {
+				position: absolute;
+				top: 21rpx;
+				left: 7rpx;
+			}
+		}
+
+		.card-main {
+			width: 100%;
+			@include flex;
+			justify-content: center;
+			position: relative;
+			top: -100rpx;
+			z-index: 1;
+			margin-bottom: vww(40);
+
+			.card-block {
 				width: 690rpx;
-				height: 275rpx;
-				background: #ffffff;
-				box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15);
-				border-radius: 20rpx;
-				.card-content {
-					width: 612rpx;
-					margin-left: 48rpx;
-					margin-top: 24rpx;
-					// margin: 56rpx 30rpx 70rpx 48rpx;
-					.u-form {
-						.u-form-item {
-							.u-form-item__body {
-								.u-form-item__body__left {
-									.u-form-item__body__left__content {
-										.u-form-item__body__left__content__label {
-											font-weight: 400 !important;
-											color: #898989 !important;
-											font-size: 30rpx !important;
+				@include flex;
+				flex-direction: column;
+
+				.forward-card {
+					margin-top: vww(10);
+					width: 690rpx;
+					height: 275rpx;
+					background: #ffffff;
+					box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15);
+					border-radius: 20rpx;
+
+					.card-content {
+						width: 612rpx;
+						margin-left: 48rpx;
+						margin-top: 24rpx;
+
+						// margin: 56rpx 30rpx 70rpx 48rpx;
+						.u-form {
+							.u-form-item {
+								.u-form-item__body {
+									.u-form-item__body__left {
+										.u-form-item__body__left__content {
+											.u-form-item__body__left__content__label {
+												font-weight: 400 !important;
+												color: #898989 !important;
+												font-size: 30rpx !important;
+											}
 										}
 									}
-								}
-								.u-form-item__body__right {
-									.u-form-item__body__right__content {
-										.u-form-item__body__right__content__slot {
-											.forward-card-amount {
-												display: flex;
-												justify-content: space-between;
-												align-items: flex-end;
-												.forward-card-amount-input {
-													.u-input {
-														width: 263rpx;
+
+									.u-form-item__body__right {
+										.u-form-item__body__right__content {
+											.u-form-item__body__right__content__slot {
+												.forward-card-amount {
+													display: flex;
+													justify-content: space-between;
+													align-items: flex-end;
+
+													.forward-card-amount-input {
+														.u-input {
+															width: 263rpx;
+														}
 													}
-												}
-												.u-checkbox-group {
-													position: relative;
-													top: vww(8);
-													left: vww(4);
-													.u-checkbox {
-														.u-checkbox__icon-wrap {
-															border-color: rgba(42, 97, 255, 1) !important;
+
+													.u-checkbox-group {
+														position: relative;
+														top: vww(8);
+														left: vww(4);
+
+														.u-checkbox {
+															.u-checkbox__icon-wrap {
+																border-color: rgba(42, 97, 255, 1) !important;
+															}
 														}
 													}
 												}
@@ -612,51 +700,56 @@
 				}
 			}
 		}
-	}
-	.utils-buttonGroup {
-		width: 610rpx;
-		@include flex;
-		position: fixed;
-		bottom: vww(30);
-		left: vww(30);
-		z-index: 3;
-		.AdddBtn,
-		.forwardBtn {
-			width: 290rpx;
-		}
-		.AdddBtn {
-			.u-button {
-				height: 74rpx;
-				border: 1px solid #3b56eb;
-				border-radius: 37rpx 37rpx 37rpx 37rpx;
-				background: transparent;
-				color: #3b56eb;
-			}
-		}
-		.forwardBtn {
-			.u-button {
-				height: 74rpx;
-				color: #ffffff;
-				background: rgba(73, 123, 251, 1);
-				border: 0;
-				border-radius: 37rpx 37rpx 37rpx 37rpx;
-			}
-		}
-	}
-	.selectHuoDaiOrFleet-container {
-		.u-popup {
-			.u-transition {
-				height: 80%;
 
-				.u-popup__content {
-					overflow: scroll !important;
-					.selectHuoDaiOrFleet-container-box {
-						width: 90%;
-						margin: 0 auto;
+		.utils-buttonGroup {
+			width: 610rpx;
+			@include flex;
+			position: fixed;
+			bottom: vww(30);
+			left: vww(30);
+			z-index: 3;
+
+			.AdddBtn,
+			.forwardBtn {
+				width: 290rpx;
+			}
+
+			.AdddBtn {
+				.u-button {
+					height: 74rpx;
+					border: 1px solid #3b56eb;
+					border-radius: 37rpx 37rpx 37rpx 37rpx;
+					background: transparent;
+					color: #3b56eb;
+				}
+			}
+
+			.forwardBtn {
+				.u-button {
+					height: 74rpx;
+					color: #ffffff;
+					background: rgba(73, 123, 251, 1);
+					border: 0;
+					border-radius: 37rpx 37rpx 37rpx 37rpx;
+				}
+			}
+		}
+
+		.selectHuoDaiOrFleet-container {
+			.u-popup {
+				.u-transition {
+					height: 80%;
+
+					.u-popup__content {
+						overflow: scroll !important;
+
+						.selectHuoDaiOrFleet-container-box {
+							width: 90%;
+							margin: 0 auto;
+						}
 					}
 				}
 			}
 		}
 	}
-}
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.9.1