From 373929a32aa4a3197260a106be3fdc21eb109afc Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期二, 04 三月 2025 08:38:11 +0800
Subject: [PATCH] feat:门卫页面修改状态传参

---
 pages/tabbar-page/index-tabbar/index-tabbar.vue |  267 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 166 insertions(+), 101 deletions(-)

diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index 04a8ca5..7d3aff6 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -23,6 +23,20 @@
 		<driver-index v-if="roleType == 3"
 			ref="driverIndexRef"
 			:indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index>
+		<load-unload ref="LoadUnloadRef"
+			v-if="roleType == 5"></load-unload>
+		<!-- 		<selectTarget v-if="roleType == 5"
+			ref="LoadUnloadRef"></selectTarget> -->
+			<sampling
+			 v-if="roleType == 6"
+		    ref="samplingRef"
+			:samplingData="samplingData"
+			/>
+			<entranceGuard
+			 v-if="roleType == 7"
+		    ref="entranceGuardgRef"
+			:samplingData="entranceGuardData"
+			/>
 		<tab-bar :current="0"></tab-bar>
 		<!-- 鎺ㄩ�佹秷鎭脊绐� -->
 		<u-modal :show="messagePushShow"
@@ -39,20 +53,29 @@
 	import customerIndex from '@/pages/customer-page/customer-index/customer-index.vue';
 	import driverIndex from '@/pages/driver-page/driver-index/driver-index.vue';
 	import freightForwarderIndex from '@/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue';
-	import { mapState, mapMutations } from 'vuex';
+	import LoadUnload from '@/pages/loadUnload-page/loadUnload-page.vue'
+	import selectTarget from '@/pages/loadUnload-page/selectTarget/selectTarget.vue';
+	import { mapState, mapMutations,mapGetters } from 'vuex';
 	import { webSocketUrl } from '@/api/request.js';
+	import sampling from '@/pages/sampling-page/index.vue'
+	import entranceGuard from '@/pages/entranceGuard/index.vue'
 
 	let socket = null;
 	export default {
 		components: {
 			customerIndex,
 			driverIndex,
-			freightForwarderIndex
+			freightForwarderIndex,
+			LoadUnload,
+			selectTarget,
+			sampling,
+			entranceGuard
 		},
 		computed: {
 			...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData',
 				'globalIntervalId'
-			])
+			]),
+		 ...mapGetters(['websocketData'])
 		},
 		//棣栭〉涓嬫媺鍒锋柊
 		onPullDownRefresh() {
@@ -105,9 +128,73 @@
 						uni.stopPullDownRefresh();
 					}
 				});
+			}else if(this.roleType == 6){
+				this.$reqGet('inspectedTaskPage',{inspectionStatus:2}).then(res => {
+					if (res.code == 0) {
+						if(res.data.records.length){
+							this.orderPlanData  = [res.data.records[0]]
+						}else{
+							this.orderPlanData  = [];
+						}
+					
+						this.$u.toast('鍔犺浇鎴愬姛');
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
+					} else {
+						this.$u.toast('鍔犺浇澶辫触');
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
+					}
+				});
+			}else if(this.roleType == 7){
+				
+				this.$reqGet('gateAuth',{current:1,size:5,status:25}).then(res => {
+					if (res.code == 0) {
+						if(res.data.records.length){
+							this.orderPlanData  = res.data.records;
+						}else{
+							this.orderPlanData  = [];
+						}
+					
+						this.$u.toast('鍔犺浇鎴愬姛');
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
+					} else {
+						this.$u.toast('鍔犺浇澶辫触');
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
+					}
+				});
 			}
 		},
+		onHide() {
+			console.log('椤甸潰闅愯棌')
+			this.$nextTick(()=>{
+				if(this.roleType === 7){
+					this.$refs.entranceGuardgRef.clearTime();
+				}else{
+					this.$refs.samplingRef.clearTime();
+				}
+			
+				
+			})
+		},
+		onUnload() {
+			console.log('椤甸潰鍗歌浇');
+			this.$store.dispatch('websocketOnClose')
+			clearInterval(this.globalIntervalId);
+			this.changeisconnect(false)
+		},
+		onShow() {
+			this.init();
+			this.messageReq();
+		},
 		onLoad() {
+			this.$store.dispatch('websocketInit')
+			this.$store.commit('changeisLogin', true)
+			console.log(this.globalisconnect, 'index鐨剋s鏁版嵁');
+			this.userAuthorization();
+			this.messageReq();
 			// 寮�鍚弻浜洪�氳瘽
 			wx.setEnable1v1Chat({
 				enable: true,
@@ -129,8 +216,10 @@
 				roleType: null,
 				orderPlanDataStore: [],
 				indexHuoDaiOrderPlanData: [],
+				entranceGuardData:[],
 				indexHistoryCoalData: [],
 				indexdriverBillOfLoadingData: {},
+				samplingData:[],
 				messagePushShow: false,
 				messageList: {
 					title: '',
@@ -142,20 +231,19 @@
 			};
 		},
 		watch: {
-			'$store.state.websocketData'(v) {
+			'websocketData': {
+				 handler(v){
 				console.log(v, '鎺ュ彈鐨剋s鏁版嵁');
-				if (v.startsWith('weigh')) {
+				if(v){
+				if (v.startsWith('weigh')) {  //閲嶉噺锛堢О閲嶇殑鏉′欢锛�
 					let nowWeighObj = JSON.parse(v.slice(7));
 					if (this.globalweighHouseCode && nowWeighObj.eqCode == this.globalweighHouseCode) {
-						if (nowWeighObj.eqInfraredStatus) {
-							this.changeinfraredStatus(true);
-							this.changeWeigh(nowWeighObj.weigh);
-						} else {
-							this.changeinfraredStatus(false);
-							this.changeWeigh(nowWeighObj.weigh);
-						}
+						this.changeWeigh(nowWeighObj.weigh);
+						this.changeinfraredStatus(!!nowWeighObj.eqInfraredStatus);
+						let warningState = nowWeighObj.warning == 1
+						this.changeWarning(warningState)
 					}
-				} else if (v.startsWith('msg')) {
+				} else if (v.startsWith('msg')) {  //娑堟伅
 					function removeTags(str) {
 						return str.replace(/<\/?[^>]+>/gi, '');
 					}
@@ -165,31 +253,48 @@
 						title: this.messageList.title.slice(0, 8) + '...',
 						content: removeTags(this.messageList.content).trim().slice(0, 8) + '...'
 					}
-					this.messagePushShow = true;
-				} else {}
+					this.messagePushShow = !this.messageList.appUserId || uni.getStorageSync('userId') === this.messageList
+						.appUserId;
+				} else if (v.startsWith('wsg')) {  //鎻愰啋纾呮埧鏈夎溅
+					let wsgObj = JSON.parse(v.slice(5));
+					if (uni.getStorageSync('carNo') === wsgObj.carNo && !wsgObj.peopleWeigh) {
+						this.changewsgVisiable(true)  //纾呮埧蹇欑鐨勫脊妗嗙殑鐜伴殣钘�
+						this.changewsgContent(wsgObj.content)  //纾呮埧蹇欑鐨勫脊妗嗙殑鍐呭鎻愮ず
+					}
+					if (uni.getStorageSync('carNo') === wsgObj.carNo && wsgObj.peopleWeigh === 2) {
+						this.changeconfirmWeighVisiable(true)
+						this.changeconfirmWeighContent(wsgObj.content)
+					}
+				}
+				//鍙栨牱鍛橀〉闈�
+				else if (v.startsWith('inspect')) { 
+					//鏀跺埌閫氱煡鏇存柊鏁版嵁
+					this.$nextTick(() => {
+							this.$refs.samplingRef.init();
+						});
+
+				}
+				//闂ㄥ崼椤甸潰
+				else if (v.startsWith('gate_auth')) { 
+					//鏀跺埌閫氱煡鏇存柊鏁版嵁
+					this.$nextTick(() => {
+							this.$refs.entranceGuardgRef.init();
+						});
+
+				}
+				}
+				
+				 },
+				 deep:true,
+				 immediate:true
+				
 			}
-		},
-		onShow() {
-			this.init();
-			console.log(this.globalisconnect);
-			if (this.globalisconnect) {
-				this.$store.dispatch('websocketInit')
-				this.changeisconnect(false)
-				console.log(this.globalisconnect, 'index鐨剋s蹇冧簨鈥�');
-			}
-			this.userAuthorization();
-			this.messageReq();
-		},
-		onHide() {
-			console.log('椤甸潰闅愯棌')
-		},
-		onUnload() {
-			console.log('椤甸潰鍗歌浇');
-			this.$store.dispatch('websocketOnClose')
-			clearInterval(this.globalIntervalId);
 		},
 		methods: {
-			...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus', 'changeisconnect', 'websocketInit']),
+			...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus', 'changeisconnect', 'websocketInit',
+				'changewsgVisiable', 'changewsgContent', 'changeconfirmWeighVisiable', 'changeconfirmWeighContent',
+				'changeWarning'
+			]),
 			messagePage() {
 				uni.navigateTo({
 					url: '/pages/public-page/message/message'
@@ -216,6 +321,26 @@
 							this.$refs.driverIndexRef.init();
 						});
 						break;
+					case 5:
+						console.log('LoadUnloadRef');
+						this.$nextTick(() => {
+							this.$refs.LoadUnloadRef.init();
+						});
+						break;
+					case 6:
+						console.log('samplingRef');
+						this.$nextTick(() => {
+							this.$refs.samplingRef.init();
+							this.$refs.samplingRef.timerFun();
+						});
+						break;
+						case 7:
+						console.log('entranceGuardgRef');
+						this.$nextTick(() => {
+							this.$refs.entranceGuardgRef.init();
+							this.$refs.entranceGuardgRef.timerFun();
+						});
+						break;
 					default:
 						break;
 				}
@@ -224,29 +349,26 @@
 			userAuthorization() {
 				wx.getSetting({
 					success(res) {
-						// wx.startRecord();
-						console.log('鎺堟潈鐩告満/楹﹀厠椋庢潈闄恠uccess');
+						console.log(res);
 						if (!res.authSetting['scope.record'] || !res.authSetting['scope.camera']) {
 							if (!res.authSetting['scope.camera']) {
 								wx.authorize({
 									scope: 'scope.camera',
 									success() {
-										// 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶
-										console.log('鎺堟潈鎴愬姛');
+										console.log('鐩告満鎴愬姛');
 									},
 									fail() {
-										console.log('鎺堟潈澶辫触');
+										console.log('鐩告満澶辫触');
 									}
 								});
 							} else if (!res.authSetting['scope.record']) {
 								wx.authorize({
 									scope: 'scope.record',
 									success() {
-										// 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶
-										console.log('鎺堟潈鎴愬姛');
+										console.log('褰曢煶鎴愬姛');
 									},
 									fail: () => {
-										console.log('鎺堟潈澶辫触');
+										console.log('褰曢煶澶辫触');
 									}
 								});
 							}
@@ -254,64 +376,7 @@
 					},
 					fail() {
 						console.log('鑾峰彇澶辫触');
-					}
-				});
-			},
-			// 鍒濆鍖杦ebsocket
-			initWebsocket() {
-				let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`;
-				socket = uni.connectSocket({
-					url: wsUrl,
-					header: {
-						CLIENT_TOC: 'Y'
 					},
-					complete: res => {
-						console.log(res, 'socket缁撴灉');
-						if (res.errMsg == 'connectSocket:ok') {
-							this.changeisconnect(true);
-							this.isconnect = true;
-						}
-					}
-				});
-				socket.onOpen(() => {
-					console.log('onOpen');
-					this.intervalId = setInterval(() => {
-						socket.send({
-							data: JSON.stringify({ type: 'ping' }),
-							success(e) {
-								console.log(e, '鍙戦�佸績璺虫垚鍔�');
-							}
-						});
-					}, 30000);
-				});
-
-				// 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊
-				socket.onMessage(res => {
-					console.log('message', res);
-					if (res.data.startsWith('weigh')) {
-						let nowWeighObj = JSON.parse(res.data.slice(7));
-						if (this.globalweighHouseCode && nowWeighObj.eqCode == this.globalweighHouseCode) {
-							if (nowWeighObj.eqInfraredStatus) {
-								this.changeinfraredStatus(true);
-								this.changeWeigh(nowWeighObj.weigh);
-							} else {
-								this.changeinfraredStatus(false);
-								this.changeWeigh(nowWeighObj.weigh);
-							}
-						}
-					} else if (res.data.startsWith('msg')) {
-						this.messageList = JSON.parse(res.data.slice(5));
-						this.messagePushShow = true;
-					} else {}
-				});
-				socket.onClose(e => {
-					console.log('webSocketClose', e);
-					this.isconnect = false;
-					this.changeisconnect(false);
-				});
-				socket.onError(err => {
-					console.log('socket鎶ラ敊', err);
-					this.$u.toast('鍑虹幇閿欒锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒');
 				});
 			},
 			messageconfirm() {
@@ -376,4 +441,4 @@
 			}
 		}
 	}
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.1