From 1ddeee845f9c7e4917d5c991820ed4d1baddfeae Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期四, 06 四月 2023 08:12:17 +0800
Subject: [PATCH] 增加放空

---
 pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue |  209 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 178 insertions(+), 31 deletions(-)

diff --git a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue
index d27cf67..228ec16 100644
--- a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue
+++ b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue
@@ -8,34 +8,57 @@
 				<view class="top_right">
 					<view class="">
 						绉伴噸:
-						<u--text type="success" text="姝e父" size="34"></u--text>
+						<u--text :type="realTimeWeigh == 0 ? 'error' : 'success'" :text="realTimeWeigh == 0 ? '寮傚父' : '姝e父'" size="34"></u--text>
 					</view>
 					<view class="">
 						绾㈠:
-						<u--text type="success" text="姝e父" size="34"></u--text>
+						<u--text :type="infraredStatus ? 'error' : 'success'" :text="infraredStatus ? '寮傚父' : '姝e父'" size="34"></u--text>
 					</view>
-					<view class="">
+					<!-- <view class="">
 						闆疯揪:
 						<u--text type="success" text="姝e父" size="34"></u--text>
-					</view>
+					</view> -->
 				</view>
 			</view>
-			<view class="bottom"><text>TIP:褰撳墠鐘舵�佹甯稿彲浠ョО閲�</text></view>
+			<view class="bottom"><text>TIP:褰撳墠鐘舵�佷负姝e父鏃跺彲浠ョО閲�</text></view>
 		</view>
 		<view class="two">
 			<p>璁㈠崟缂栧彿锛歿{ weighList.code || '' }}</p>
 			<p>璁㈠崟绫诲瀷锛歿{ weighList.orderTye || '' }}</p>
-			<p>璁㈠崟浣欓噺锛歿{ weighList.allowance }}</p>
-			<p>鐨噸锛歿{ weighList.skin || '' }}</p>
-			<p>姣涢噸锛歿{ weighList.hair || '' }}</p>
-			<p>鍑�閲嶏細{{ weighList.clean || '' }}</p>
+			<p>璁㈠崟浣欓噺锛歿{ weighList.orderSurplus || 0 }}</p>
+			<p>鐨噸锛歿{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }}</p>
+			<p>姣涢噸锛歿{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }}</p>
+			<p>鍑�閲嶏細{{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean }}</p>
+			<p>鐓ょ鍚嶇О锛歿{ weighList.coalName || '' }}</p>
+			<p>鍗曚綅鍚嶇О锛歿{ weighList.deptName || '' }}</p>
+			<p>鐭垮満鍚嶇О锛歿{ weighList.filedName || '' }}</p>
 		</view>
 		<view class="three">
-			<!-- 澶栭攢璁㈠崟鎴愮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 -->
-			<u-button type="primary" text="纭畾绉伴噸" @click="confirmWeigh"></u-button>
-			<u-button type="primary" text="杩斿洖鍔犲噺鍚�"></u-button>
+			<!-- 鏀剧┖ -->
+			<u-button type="primary" text="鏀剧┖" plain @click="evacuation" throttleTime="500" :disabled="isEvacuation"></u-button>
+			<!-- 澶栭攢璁㈠崟绉扮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 -->
+			<u-button
+				type="primary"
+				text="纭畾绉伴噸"
+				:disabled="realTimeWeigh == 0 || infraredStatus"
+				:loading="isConfirmWeighLoading"
+				loadingText="鍔犺浇涓�"
+				@click="confirmWeigh"
+			></u-button>
+			<u-button type="primary" text="杩斿洖鍔犲噺鍚�" :disabled="addAndSubtractCoalDisabled" @click="addAndSubtractCoal" class="jiajian"></u-button>
 		</view>
-		<view class="four">濡傛偍闇�瑕佽皟鏁磋杞借揣鍝佸惃鏁帮紝璇风偣鍑昏繑鍥炲姞鍑忓惃</view>
+		<view class="four" v-if="weighList.orderTye == '澶栭攢'">濡傛偍闇�瑕佽皟鏁磋杞借揣鍝佸惃鏁帮紝璇风偣鍑昏繑鍥炲姞鍑忓惃</view>
+		<!-- 鏀剧┖寮圭獥 -->
+		<view class="evacuationModal">
+			<u-modal
+				:show="evacuationModalShow"
+				:title="evacuationTitle"
+				:content="evacuationContent"
+				:showCancelButton="true"
+				@confirm="evacuationConfirm"
+				@cancel="evacuationCancel"
+			></u-modal>
+		</view>
 	</view>
 </template>
 
@@ -44,14 +67,17 @@
 import { webSocketUrl } from '@/api/request.js';
 export default {
 	onLoad(params) {
+		console.log(params, '绗簩娆℃斁绌哄弬鏁�');
 		this.takeCoalId = params.takeCoalId;
 		this.weighData.sceneId = params.sceneId;
 		this.weighData.gateCameraId = params.gateCameraId;
 		this.weighData.equipmentCode = params.gateCameraCode;
-		this.weighCode = params.weighCode;
+		this.weighHouseCode = params.weighHouseCode;
 	},
 	data() {
 		return {
+			// 鏄惁鍙偣鍑绘斁绌�
+			isEvacuation: false,
 			weighData: {
 				//纭绉伴噸鎺ュ彛鍙傛暟
 				deptId: '',
@@ -60,14 +86,15 @@
 				carNo: '',
 				gateCameraId: '',
 				equipmentCode: '',
-				weigh: '',
+				weigh: 0,
 				tmCode: ''
 			},
 			takeCoalId: null,
-			weighCode: '',
+			weighHouseCode: '',
+			isConfirmWeighLoading: false, //纭畾绉伴噸鎸夐挳
 			realTimeWeigh: '',
 			weighList: {},
-			webSocket: null // webSocket瀹炰緥
+			webSocket: null, // webSocket瀹炰緥
 			// lockReconnect: false, // 閲嶈繛閿侊紝閬垮厤澶氭閲嶈繛
 			// maxReconnect: 6, // 鏈�澶ч噸杩炴鏁帮紝 -1 鏍囪瘑鏃犻檺閲嶈繛
 			// reconnectTime: 0, // 閲嶈繛灏濊瘯娆℃暟
@@ -78,7 +105,37 @@
 			// 	pongTimeoutObj: null, // 鎺ユ敹蹇冭烦鍝嶅簲鐨勫畾鏃跺櫒
 			// 	pingMessage: JSON.stringify({ type: 'ping' }) // 蹇冭烦璇锋眰淇℃伅
 			// }
+			// 涓存椂绉伴噸瀵硅薄
+			temporaryWeighObj: {
+				skin: 0,
+				hair: 0,
+				clean: 0
+			},
+			infraredStatus: false, // 绾㈠鐘舵�侊紝
+			// 鏀剧┖鎺у埗
+			evacuationModalShow: false,
+			evacuationTitle: '绗簩娆℃斁绌虹‘璁�',
+			evacuationContent: '鏄惁纭鏀剧┖'
 		};
+	},
+	watch: {
+		realTimeWeigh(newV, oldV) {
+			if (this.weighList.orderTye == '澶栭攢') {
+				if (this.weighList.skin == 0) {
+					this.temporaryWeighObj.skin = this.realTimeWeigh;
+				} else {
+					this.temporaryWeighObj.hair = this.realTimeWeigh;
+					this.temporaryWeighObj.clean = (this.temporaryWeighObj.hair - this.weighList.skin).toFixed(2);
+				}
+			} else if (this.weighList.orderTye == '澶栬喘') {
+				if (this.weighList.hair == 0) {
+					this.temporaryWeighObj.hair = this.realTimeWeigh;
+				} else {
+					this.temporaryWeighObj.skin = this.realTimeWeigh;
+					this.temporaryWeighObj = this.weighList.hair - this.temporaryWeighObj.skin;
+				}
+			}
+		}
 	},
 	onShow() {
 		this.init();
@@ -87,6 +144,23 @@
 	computed: {
 		token() {
 			return uni.getStorageSync('token');
+		},
+		// 鍔犲噺鐓ゆ寜閽鐢ㄤ笌鍚�
+		addAndSubtractCoalDisabled() {
+			if (this.weighList.orderTye == '澶栭攢') {
+				if (this.weighList.skin == 0) {
+					return true;
+				} else if (this.weighList.skin != 0) {
+					return false;
+				}
+			}
+		},
+		isEvacuation() {
+			if (this.weighList.hair == this.weighList.skin || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair) {
+				return false;
+			} else {
+				return true;
+			}
 		}
 	},
 	methods: {
@@ -107,16 +181,63 @@
 		 * @纭绉伴噸绛夊緟鍚庣鎻愪緵瀹炴椂绉伴噸鎺ュ彛锛岃幏鍙栫毊閲嶏紝姣涢噸
 		 */
 		confirmWeigh() {
-			console.log('纭绉伴噸', this.weighData);
-			this.$reqPost('saveWeigh',this.weighData,'json').then(res=>{
-				console.log(res,"纭绉伴噸");
-			})
+			if (this.isConfirmWeighLoading == false) {
+				this.isConfirmWeighLoading = true;
+				if (this.weighData.weigh != 0) {
+					if (this.weighList.orderTye == '澶栭攢') {
+						if (this.weighList.skin ? (this.weighList.skin < this.realTimeWeigh ? true : false) : true) {
+							this.saveWeigh();
+						} else {
+							this.$u.toast('姣涢噸涓峲鑳藉皬浜庣毊閲�');
+							this.isConfirmWeighLoading = false;
+						}
+					} else {
+						this.saveWeigh();
+					}
+				} else {
+					this.$u.toast('鏈兘鑾峰彇鍦扮閲嶉噺');
+					this.isConfirmWeighLoading = false;
+				}
+			}
+		},
+		// 纭绉伴噸鎺ュ彛
+		saveWeigh() {
+			this.$reqPost('saveWeigh', this.weighData, 'json')
+				.then(res => {
+					if (res.code == 0) {
+						this.$u.toast('绉伴噸鎴愬姛');
+						setTimeout(() => {
+							uni.navigateBack({
+								delta: 1
+							});
+							this.isConfirmWeighLoading = false;
+						}, 1000);
+					}
+				})
+				.catch(err => {
+					this.isConfirmWeighLoading = false;
+					console.log(err);
+				});
+		},
+		// 鍔犲噺鐓�
+		addAndSubtractCoal() {
+			this.$reqPost('addAndSubtractCoal', { deptId: this.weighData.deptId, sceneId: this.weighData.sceneId, carNo: this.weighData.carNo }, 'json').then(res => {
+				if (res.code == 0) {
+					this.$u.toast('鎿嶄綔鎴愬姛锛屽嵆灏嗚繑鍥炰笂涓�椤�');
+					setTimeout(() => {
+						uni.navigateBack({
+							delta: 1
+						});
+						this.isConfirmWeighLoading = false;
+					}, 1000);
+					console.log(res, '鍔犲噺鐓�');
+				}
+			});
 		},
 		/**
 		 * 鍒濆鍖� weoSocket
 		 */
 		initWebSocket() {
-			// let wsUrl = `wss://192.168.0.120:9997/wrzs/ws/info?access_token=${this.token}`;
 			let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`;
 			socket = uni.connectSocket({
 				url: wsUrl,
@@ -130,20 +251,43 @@
 			socket.onOpen(() => {
 				console.log('onOpen');
 			});
+			// 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊
 			socket.onMessage(res => {
 				console.log('socketWeigh', res);
-				let nowWeigh = JSON.parse(res.data.slice(7)).weigh;
-				// if (nowWeigh.eqCode == this.weighCode) {
-				// 	this.weighData.weigh = this.realTimeWeigh = nowWeigh;
-				// }
-				this.weighData.weigh = this.realTimeWeigh = nowWeigh;
-			}); // 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊
+				let nowWeighObj = JSON.parse(res.data.slice(7));
+				if (nowWeighObj.eqCode == this.weighHouseCode) {
+					if (nowWeighObj.eqInfraredStatus) {
+						this.infraredStatus = true;
+						this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh;
+					} else {
+						this.infraredStatus = false;
+						this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh;
+					}
+				}
+			});
 			socket.onClose(() => {
-				console.log('close');
+				console.log('webSocketClose');
+				this.$u.toast('纾呮埧鎺ュ彛缁堢');
 			});
 			socket.onError(err => {
 				console.log('socket鎶ラ敊', err);
+				this.$u.toast('纾呮埧鎺ュ彛鏆傛椂涓嶈兘浣跨敤锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒');
 			});
+		},
+		// 鏀剧┖
+		evacuation() {
+			this.evacuationModalShow = true;
+		},
+		// 鏀剧┖寮圭獥纭
+		evacuationConfirm() {
+			this.$reqPost('getTwoEvacuation', this.weighData, 'json').then(res => {
+				console.log(res, '绗簩娆℃斁绌�');
+				this.evacuationModalShow = false;
+			});
+		},
+		// 鏀剧┖寮圭獥鍙栨秷
+		evacuationCancel() {
+			this.evacuationModalShow = false;
 		}
 	}
 };
@@ -157,7 +301,7 @@
 	flex-direction: column;
 	.one {
 		flex: 2;
-		border: vww(1) solid #dddddd;
+		border: vww(2) solid #dddddd;
 		margin: vww(20) vww(20) 0 vww(20);
 		border-radius: vww(15);
 		.top {
@@ -186,7 +330,7 @@
 	}
 	.two {
 		flex: 4;
-		border: vww(1) solid #dddddd;
+		border: vww(2) solid #dddddd;
 		margin: vww(20);
 		border-radius: vww(10);
 		padding: vww(20);
@@ -206,6 +350,9 @@
 			&:nth-of-type(2) {
 				margin-left: vww(10);
 			}
+			&:nth-of-type(3) {
+				margin-left: vww(10);
+			}
 		}
 	}
 	.four {

--
Gitblit v1.9.1