From 0becab45282781f281ad5aa04202b83039ab275e Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期五, 14 四月 2023 17:42:08 +0800
Subject: [PATCH] 增加发运统计页面,修改websocket,增加消息推送

---
 pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue |  141 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 101 insertions(+), 40 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 b33e955..cea97c8 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
@@ -12,7 +12,7 @@
 					</view>
 					<view class="">
 						绾㈠:
-						<u--text :type="infraredStatus ? 'error' : 'success'" :text="infraredStatus ? '寮傚父' : '姝e父'" size="34"></u--text>
+						<u--text :type="globalinfraredStatus ? 'error' : 'success'" :text="globalinfraredStatus ? '寮傚父' : '姝e父'" size="34"></u--text>
 					</view>
 					<!-- <view class="">
 						闆疯揪:
@@ -20,11 +20,11 @@
 					</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.orderType || '' }}</p>
 			<p>璁㈠崟浣欓噺锛歿{ weighList.orderSurplus || 0 }}</p>
 			<p>鐨噸锛歿{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }}</p>
 			<p>姣涢噸锛歿{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }}</p>
@@ -34,24 +34,39 @@
 			<p>鐭垮満鍚嶇О锛歿{ weighList.filedName || '' }}</p>
 		</view>
 		<view class="three">
-			<!-- 澶栭攢璁㈠崟鎴愮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 -->
+			<!-- 鏀剧┖ -->
+			<u-button type="primary" text="鏀剧┖" plain @click="evacuation" throttleTime="500" :disabled="isEvacuation"></u-button>
+			<!-- 澶栭攢璁㈠崟绉扮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 -->
 			<u-button
 				type="primary"
 				text="纭畾绉伴噸"
-				:disabled="realTimeWeigh == 0 || infraredStatus"
+				:disabled="realTimeWeigh == 0 || globalinfraredStatus"
 				:loading="isConfirmWeighLoading"
-				loadingText="鍔犺浇涓�"
+				loadingText="纭"
 				@click="confirmWeigh"
 			></u-button>
-			<u-button type="primary" text="杩斿洖鍔犲噺鍚�" :disabled="addAndSubtractCoalDisabled" v-if="weighList.orderTye == '澶栭攢'" @click="addAndSubtractCoal"></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.orderType !== '澶栬喘'">濡傛偍闇�瑕佽皟鏁磋杞借揣鍝佸惃鏁帮紝璇风偣鍑昏繑鍥炲姞鍑忓惃</view>
+		<!-- 鏀剧┖寮圭獥 -->
+		<view class="evacuationModal">
+			<u-modal
+				:show="evacuationModalShow"
+				:title="evacuationTitle"
+				:content="evacuationContent"
+				:showCancelButton="true"
+				@confirm="evacuationConfirm"
+				@cancel="evacuationCancel"
+			></u-modal>
+		</view>
 	</view>
 </template>
 
 <script>
 let socket = null;
 import { webSocketUrl } from '@/api/request.js';
+import { mapState, mapMutations } from 'vuex';
+import toast from '../../../../../uni_modules/uview-ui/libs/config/props/toast';
 export default {
 	onLoad(params) {
 		this.takeCoalId = params.takeCoalId;
@@ -59,6 +74,7 @@
 		this.weighData.gateCameraId = params.gateCameraId;
 		this.weighData.equipmentCode = params.gateCameraCode;
 		this.weighHouseCode = params.weighHouseCode;
+		this.changeweighHouseCode(params.weighHouseCode);
 	},
 	data() {
 		return {
@@ -90,53 +106,76 @@
 			// 	pingMessage: JSON.stringify({ type: 'ping' }) // 蹇冭烦璇锋眰淇℃伅
 			// }
 			// 涓存椂绉伴噸瀵硅薄
-			temporaryWeighObj:{
-				skin:0,
-				hair:0,
-				clean:0
+			temporaryWeighObj: {
+				skin: 0,
+				hair: 0,
+				clean: 0
 			},
-			infraredStatus:false// 绾㈠鐘舵��
+			infraredStatus: false, // 绾㈠鐘舵�侊紝
+			// 鏀剧┖鎺у埗
+			evacuationModalShow: false,
+			evacuationTitle: '鏀剧┖纭',
+			evacuationContent: '鏄惁纭鏀剧┖'
 		};
 	},
-	watch:{
-		realTimeWeigh(newV,oldV){
-			if(this.weighList.orderTye == '澶栭攢'){
-				if(this.weighList.skin == 0){
-					this.temporaryWeighObj.skin = this.realTimeWeigh
+	watch: {
+		realTimeWeigh(newV, oldV) {
+			console.log(newV);
+			if (this.weighList.orderType == '澶栭攢' || this.weighList.orderType == '鍐呴攢') {
+				if (this.weighList.skin == 0) {
+					// this.temporaryWeighObj.skin = this.realTimeWeigh;
+					this.temporaryWeighObj.skin = newV;
 				} else {
-					this.temporaryWeighObj.hair = this.realTimeWeigh
-					this.temporaryWeighObj.clean = this.temporaryWeighObj.hair - this.weighList.skin
+					// this.temporaryWeighObj.hair = this.realTimeWeigh;
+					this.temporaryWeighObj.hair = newV;
+					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 if (this.weighList.orderType == '澶栬喘' || this.weighList.orderType == '杞嚭') {
+				if (this.weighList.hair == 0) {
+					// this.temporaryWeighObj.hair = this.realTimeWeigh;
+					this.temporaryWeighObj.hair = newV;
 				} else {
-					this.temporaryWeighObj.skin = this.realTimeWeigh
-					this.temporaryWeighObj = this.weighList.hair - this.temporaryWeighObj.skin
+					// this.temporaryWeighObj.skin = this.realTimeWeigh;
+					this.temporaryWeighObj.skin = newV;
+					this.temporaryWeighObj.clean = (this.weighList.hair - this.temporaryWeighObj.skin).toFixed(2);
 				}
 			}
+		},
+		// 鐩戝惉閲嶉噺鍙樺寲
+		globalweigh(v) {
+			this.weighData.weigh = this.realTimeWeigh = v;
 		}
 	},
 	onShow() {
 		this.init();
-		this.initWebSocket();
+		// this.initWebSocket();
 	},
 	computed: {
+		...mapState(['globalweigh', 'globalinfraredStatus']),
 		token() {
 			return uni.getStorageSync('token');
 		},
 		// 鍔犲噺鐓ゆ寜閽鐢ㄤ笌鍚�
 		addAndSubtractCoalDisabled() {
-			if (this.weighList.orderTye == '澶栭攢') {
-				if (this.weighList.skin == 0) {
+			if (this.weighList.orderType == '澶栭攢' || this.weighList.orderType == '鍐呴攢' || this.weighList.orderType == '杞嚭') {
+				if (this.weighList.hair == 0) {
 					return true;
-				} else if (this.weighList.skin != 0) {
+				} else if (this.weighList.hair != 0) {
 					return false;
 				}
 			}
 		},
+		// 鏄惁鏀剧┖鎸夐挳绂佺敤
+		isEvacuation() {
+			if (this.weighList.hair == this.weighList.skin || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair) {
+				return false;
+			} else {
+				return true;
+			}
+		}
 	},
 	methods: {
+		...mapMutations(['changeweighHouseCode']),
 		init() {
 			// 鑾峰彇绉伴噸淇℃伅
 			this.$reqGet('weighList', { id: this.takeCoalId }).then(res => {
@@ -157,7 +196,7 @@
 			if (this.isConfirmWeighLoading == false) {
 				this.isConfirmWeighLoading = true;
 				if (this.weighData.weigh != 0) {
-					if (this.weighList.orderTye == '澶栭攢') {
+					if (this.weighList.orderType == '澶栭攢') {
 						if (this.weighList.skin ? (this.weighList.skin < this.realTimeWeigh ? true : false) : true) {
 							this.saveWeigh();
 						} else {
@@ -177,6 +216,7 @@
 		saveWeigh() {
 			this.$reqPost('saveWeigh', this.weighData, 'json')
 				.then(res => {
+					console.log(res, '绉伴噸鎺ュ彛');
 					if (res.code == 0) {
 						this.$u.toast('绉伴噸鎴愬姛');
 						setTimeout(() => {
@@ -185,6 +225,8 @@
 							});
 							this.isConfirmWeighLoading = false;
 						}, 1000);
+					} else {
+						this.$u.toast('绉伴噸澶辫触锛岃绋嶅悗閲嶈瘯');
 					}
 				})
 				.catch(err => {
@@ -212,7 +254,7 @@
 		 */
 		initWebSocket() {
 			let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`;
-			socket = uni.connectSocket({
+			let socket = uni.connectSocket({
 				url: wsUrl,
 				header: {
 					CLIENT_TOC: 'Y'
@@ -227,25 +269,41 @@
 			// 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊
 			socket.onMessage(res => {
 				console.log('socketWeigh', res);
-				let nowWeighObj = JSON.parse(res.data.slice(7))
+				let nowWeighObj = JSON.parse(res.data.slice(7));
 				if (nowWeighObj.eqCode == this.weighHouseCode) {
-					if(nowWeighObj.eqInfraredStatus){
-						this.infraredStatus = true
+					if (nowWeighObj.eqInfraredStatus) {
+						this.infraredStatus = true;
 						this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh;
-					}else{
-						this.infraredStatus = false
+					} else {
+						this.infraredStatus = false;
 						this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh;
 					}
 				}
 			});
 			socket.onClose(() => {
+				uni.closeSocket();
 				console.log('webSocketClose');
-				this.$u.toast('纾呮埧鎺ュ彛缁堢');
+				this.$u.toast('纾呮埧宸插叧闂�');
 			});
 			socket.onError(err => {
 				console.log('socket鎶ラ敊', err);
-				this.$u.toast('纾呮埧鎺ュ彛鏆傛椂涓嶈兘浣跨敤锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒');
+				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;
 		}
 	}
 };
@@ -259,7 +317,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 {
@@ -288,7 +346,7 @@
 	}
 	.two {
 		flex: 4;
-		border: vww(1) solid #dddddd;
+		border: vww(2) solid #dddddd;
 		margin: vww(20);
 		border-radius: vww(10);
 		padding: vww(20);
@@ -308,6 +366,9 @@
 			&:nth-of-type(2) {
 				margin-left: vww(10);
 			}
+			&:nth-of-type(3) {
+				margin-left: vww(10);
+			}
 		}
 	}
 	.four {

--
Gitblit v1.9.1