From e193d75257a21568a15f99b27a2a48bd7fd815f9 Mon Sep 17 00:00:00 2001
From: 付延余 <f-yanyu@outlook.com>
Date: 星期三, 22 三月 2023 17:59:06 +0800
Subject: [PATCH] 1.磅房详情(完成) 2.入场申请报错(完成) 3.签到(完成) 4.日志(完成) 5.发运计划详情(完成)

---
 pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue |  188 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 168 insertions(+), 20 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 060f670..8dee72c 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
@@ -2,11 +2,22 @@
 	<view class="weighingDevice">
 		<view class="one">
 			<view class="top">
-				<view class="top_left"><text>41.5</text></view>
+				<view class="top_left">
+					<text>{{ realTimeWeigh }}</text>
+				</view>
 				<view class="top_right">
-					<view class="">绉伴噸: <u--text type="success" text="姝e父" size="34"></u--text></view>
-					<view class="">绾㈠: <u--text type="success" text="姝e父" size="34"></u--text></view>
-					<view class="">闆疯揪: <u--text type="success" text="姝e父" size="34"></u--text></view>
+					<view class="">
+						绉伴噸:
+						<u--text type="success" text="姝e父" size="34"></u--text>
+					</view>
+					<view class="">
+						绾㈠:
+						<u--text type="success" text="姝e父" size="34"></u--text>
+					</view>
+					<view class="">
+						闆疯揪:
+						<u--text type="success" text="姝e父" size="34"></u--text>
+					</view>
 				</view>
 			</view>
 			<view class="bottom"><text>TIP:褰撳墠鐘舵�佹甯稿彲浠ョО閲�</text></view>
@@ -14,34 +25,82 @@
 		<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>鐨噸锛歿{ weighList.skin || 0 }}</p>
+			<p>姣涢噸锛歿{ weighList.hair || 0 }}</p>
+			<p>鍑�閲嶏細{{ weighList.skin == 0 && weighList.hair == 0 ? weighList.clean : weighList.skin != 0 ? realTimeWeigh - weighList.skin : weighList.hair - realTimeWeigh }}</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="纭畾绉伴噸" :loading="isConfirmWeighLoading" loadingText="鍔犺浇涓�" @click="confirmWeigh"></u-button>
+			<u-button type="primary" text="杩斿洖鍔犲噺鍚�" :disabled="addAndSubtractCoalDisabled" v-if="weighList.orderTye == '澶栭攢'" @click="addAndSubtractCoal"></u-button>
 		</view>
 		<view class="four">濡傛偍闇�瑕佽皟鏁磋杞借揣鍝佸惃鏁帮紝璇风偣鍑昏繑鍥炲姞鍑忓惃</view>
 	</view>
 </template>
 
 <script>
+let socket = null;
+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.weighHouseCode = params.weighHouseCode;
 	},
 	data() {
 		return {
+			weighData: {
+				//纭绉伴噸鎺ュ彛鍙傛暟
+				deptId: '',
+				tmId: '',
+				sceneId: '',
+				carNo: '',
+				gateCameraId: '',
+				equipmentCode: '',
+				weigh: 0,
+				tmCode: ''
+			},
 			takeCoalId: null,
-			weighList: {}
+			weighHouseCode: '',
+			isConfirmWeighLoading: false, //纭畾绉伴噸鎸夐挳
+			realTimeWeigh: '',
+			weighList: {},
+			webSocket: null // webSocket瀹炰緥
+			// lockReconnect: false, // 閲嶈繛閿侊紝閬垮厤澶氭閲嶈繛
+			// maxReconnect: 6, // 鏈�澶ч噸杩炴鏁帮紝 -1 鏍囪瘑鏃犻檺閲嶈繛
+			// reconnectTime: 0, // 閲嶈繛灏濊瘯娆℃暟
+			// heartbeat: {
+			// 	interval: 30 * 1000, // 蹇冭烦闂撮殧鏃堕棿
+			// 	timeout: 10 * 1000, // 鍝嶅簲瓒呮椂鏃堕棿
+			// 	pingTimeoutObj: null, // 寤舵椂鍙戦�佸績璺崇殑瀹氭椂鍣�
+			// 	pongTimeoutObj: null, // 鎺ユ敹蹇冭烦鍝嶅簲鐨勫畾鏃跺櫒
+			// 	pingMessage: JSON.stringify({ type: 'ping' }) // 蹇冭烦璇锋眰淇℃伅
+			// }
 		};
 	},
 	onShow() {
 		this.init();
+		this.initWebSocket();
+	},
+	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;
+				}
+			}
+		}
 	},
 	methods: {
 		init() {
@@ -50,16 +109,105 @@
 				console.log(res, '鑾峰彇绉伴噸淇℃伅');
 				if (res.code == 0) {
 					this.weighList = res.data;
+					this.weighData.deptId = res.data.deptId;
+					this.weighData.tmId = res.data.id;
+					this.weighData.carNo = res.data.carNo;
+					this.weighData.tmCode = res.data.code;
 				}
 			});
 		},
 		/**
 		 * @纭绉伴噸绛夊緟鍚庣鎻愪緵瀹炴椂绉伴噸鎺ュ彛锛岃幏鍙栫毊閲嶏紝姣涢噸
-		 */ 
-		confirmWeigh(){
-			// this.$reqPost('saveWeigh',{id:this.takeCoalId,skin:'',hair:''}).then(res=>{
-			// 	console.log(res,"纭绉伴噸");
-			// })
+		 */
+		confirmWeigh() {
+			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,
+				header: {
+					CLIENT_TOC: 'Y'
+				},
+				complete: res => {
+					console.log(res, 'socket缁撴灉');
+				}
+			});
+			socket.onOpen(() => {
+				console.log('onOpen');
+			});
+			socket.onMessage(res => {
+				// 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊
+				console.log('socketWeigh', res);
+				let nowWeigh = JSON.parse(res.data.slice(7)).weigh;
+				let nowWeighHouseCode = JSON.parse(res.data.slice(7)).eqCode;
+				if (nowWeighHouseCode == this.weighHouseCode) {
+					this.weighData.weigh = this.realTimeWeigh = nowWeigh;
+				}
+			});
+			socket.onClose(() => {
+				console.log('webSocketClose');
+				this.$u.toast('纾呮埧鎺ュ彛缁堢');
+			});
+			socket.onError(err => {
+				console.log('socket鎶ラ敊', err);
+				this.$u.toast('纾呮埧鎺ュ彛鏆傛椂涓嶈兘浣跨敤锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒');
+			});
 		}
 	}
 };
@@ -82,16 +230,16 @@
 			.top_left {
 				flex: 3;
 				font-size: vww(50);
-				display:flex;
+				display: flex;
 				align-items: center;
 				justify-content: center;
 			}
 			.top_right {
-				display:flex;
+				display: flex;
 				flex-direction: column;
 				justify-content: center;
 				flex: 2;
-				view{
+				view {
 					display: flex;
 				}
 			}

--
Gitblit v1.9.1