From 97d88adcdfa7e13b2203c8716c02866fae087704 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期二, 26 九月 2023 09:38:47 +0800
Subject: [PATCH] 修改磅房忙碌问题及其他问题

---
 pages/tabbar-page/index-tabbar/index-tabbar.vue |  597 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 303 insertions(+), 294 deletions(-)

diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index 6111883..7e9dcc4 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -1,329 +1,338 @@
 <template>
-	<view>
+	<view class="max-block">
 		<view class="search-bar">
 			<view class="icon-body">
-				<view class="icon-box" @click="messagePage">
-					<u-badge :isDot="true" type="error" v-if="dotShow"></u-badge>
-					<u-icon name="chat" color="#fff" size="50"></u-icon>
+				<view class="icon-box"
+					@click="messagePage">
+					<u-badge :isDot="true"
+						type="error"
+						v-if="dotShow"></u-badge>
+					<u-icon name="chat"
+						color="#fff"
+						size="50"></u-icon>
 				</view>
 			</view>
 		</view>
-		<customer-index v-if="roleType == 1" ref="customerIndexRef" :orderPlanDataStore="orderPlanDataStore"></customer-index>
-		<freight-forwarder-index
-			v-if="roleType == 2"
+		<customer-index v-if="roleType == 1"
+			ref="customerIndexRef"
+			:orderPlanDataStore="orderPlanDataStore"></customer-index>
+		<freight-forwarder-index v-if="roleType == 2"
 			ref="freightForwarderIndexRef"
 			:indexHistoryCoalData="indexHistoryCoalData"
-			:indexHuoDaiOrderPlanData="indexHuoDaiOrderPlanData"
-		></freight-forwarder-index>
-		<driver-index v-if="roleType == 3" ref="driverIndexRef" :indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index>
+			:indexHuoDaiOrderPlanData="indexHuoDaiOrderPlanData"></freight-forwarder-index>
+		<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> -->
 		<tab-bar :current="0"></tab-bar>
 		<!-- 鎺ㄩ�佹秷鎭脊绐� -->
-		<u-modal :show="messagePushShow" :title="messageList.title" @confirm="messageconfirm" confirm-text="鍓嶅幓鏌ョ湅">
-			<view class="slot-content"><rich-text :nodes="messageList.content"></rich-text></view>
+		<u-modal :show="messagePushShow"
+			:title="messageList.title"
+			@confirm="messageconfirm"
+			confirm-text="鍓嶅幓鏌ョ湅">
+			<view class="slot-content"><u-parse :content="messageList.content"></u-parse></view>
 		</u-modal>
-		<view class="white-block"></view>
+		<!-- <view class="white-block"></view> -->
 	</view>
 </template>
 
 <script>
-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 { webSocketUrl } from '@/api/request.js';
-let socket = null;
-export default {
-	components: {
-		customerIndex,
-		driverIndex,
-		freightForwarderIndex
-	},
-	computed: {
-		...mapState(['globalweighHouseCode', 'globalweigh'])
-	},
-	//棣栭〉涓嬫媺鍒锋柊
-	onPullDownRefresh() {
-		uni.showLoading({ title: '鍔犺浇涓�...' });
-		// 鑾峰彇鍘嗗彶鎻愮叅鍗�
-		if (this.roleType == 1 || this.roleType == 2) {
-			this.$reqGet('getJhOrderPlanDataPage', { current: 1, size: 10 }).then(res => {
-				if (res.data.records) {
-					this.indexHistoryCoalData = res.data.records;
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
-				} else {
-					this.$u.toast('鍔犺浇澶辫触');
-				}
-			});
-		}
-		// 瀹㈡埛鑾峰彇鏃ヨ鍒�
-		if (this.roleType == 1) {
-			this.$reqGet('GetOrderPlan').then(res => {
-				if (res.data) {
-					this.orderPlanDataStore = res.data;
-					this.$u.toast('鍔犺浇鎴愬姛');
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
-				} else {
-					this.$u.toast('鍔犺浇澶辫触');
-				}
-			});
-		} else if (this.roleType == 2) {
-			this.$reqGet('huoDaiList').then(res => {
-				if (res.data) {
-					this.indexHuoDaiOrderPlanData = res.data;
-					this.$u.toast('鍔犺浇鎴愬姛');
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
-				} else {
-					this.$u.toast('鍔犺浇澶辫触');
-				}
-			});
-		} else if (this.roleType == 3) {
-			this.$reqGet('qiangDanList').then(res => {
-				if (res.code == 0) {
-					this.indexdriverBillOfLoadingData = res.data;
-					this.$u.toast('鍔犺浇鎴愬姛');
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
-				} else {
-					this.$u.toast('鍔犺浇澶辫触');
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
-				}
-			});
-		}
-	},
-	onLoad() {
-		// 寮�鍚弻浜洪�氳瘽
-		wx.setEnable1v1Chat({
-			enable: true,
-			backgroundType: 1,
-			minWindowType: 2,
-			success() {
-				console.log('寮�鍚弻浜洪�氳瘽鎴愬姛');
-			},
-			fail() {
-				console.log('寮�鍚弻浜洪�氳瘽澶辫触');
-			},
-			complete() {
-				console.log('寮�鍚弻浜洪�氳瘽鎴愬姛Complete');
-			}
-		});
-	},
-	data() {
-		return {
-			roleType: null,
-			orderPlanDataStore: [],
-			indexHuoDaiOrderPlanData: [],
-			indexHistoryCoalData: [],
-			indexdriverBillOfLoadingData: {},
-			messagePushShow: false,
-			messageList: {},
-			isconnect: false,
-			dotShow: false
-		};
-	},
-	onShow() {
-		this.init();
-		if (!this.isconnect) {
-			this.initWebsocket();
-		}
-		this.userAuthorization();
-		this.messageReq();
-	},
-	onHide() {
-		console.log('椤甸潰闅愯棌');
-		if (!this.isconnect) {
-			this.initWebsocket();
-		}
-	},
-	onUnload() {
-		console.log('椤甸潰鍗歌浇');
-		socket.close();
-		clearInterval(this.intervalId);
-	},
-	methods: {
-		...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus']),
-		messagePage() {
-			uni.navigateTo({
-				url: '/pages/public-page/message/message'
-			});
+	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 LoadUnload from '@/pages/loadUnload-page/loadUnload-page.vue'
+	import selectTarget from '@/pages/loadUnload-page/selectTarget/selectTarget.vue'
+	import { mapState, mapMutations } from 'vuex';
+	import { webSocketUrl } from '@/api/request.js';
+
+	let socket = null;
+	export default {
+		components: {
+			customerIndex,
+			driverIndex,
+			freightForwarderIndex,
+			LoadUnload,
+			selectTarget
 		},
-		init() {
-			this.roleType = uni.getStorageSync('roleType');
-			switch (this.roleType) {
-				case 1:
-					console.log('customerIndexRef');
-					this.$nextTick(() => {
-						this.$refs.customerIndexRef.init();
-					});
-					break;
-				case 2:
-					console.log('freightForwarderIndexRef');
-					this.$nextTick(() => {
-						this.$refs.freightForwarderIndexRef.init();
-					});
-					break;
-				case 3:
-					console.log('driverIndexRef');
-					this.$nextTick(() => {
-						this.$refs.driverIndexRef.init();
-					});
-					break;
-				default:
-					break;
-			}
+		computed: {
+			...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData',
+				'globalIntervalId'
+			])
 		},
-		// 瑕佹眰鐢ㄦ埛鎺堟潈鐩告満/楹﹀厠椋庢潈闄�
-		userAuthorization() {
-			wx.getSetting({
-				success(res) {
-					// wx.startRecord();
-					console.log('success');
-					if (!res.authSetting['scope.record'] || !res.authSetting['scope.camera']) {
-						if (!res.authSetting['scope.camera']) {
-							wx.authorize({
-								scope: 'scope.camera',
-								success() {
-									// 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶
-									console.log('鎺堟潈鎴愬姛');
-								},
-								fail() {
-									console.log('鎺堟潈澶辫触');
-								}
-							});
-						} else if (!res.authSetting['scope.record']) {
-							wx.authorize({
-								scope: 'scope.record',
-								success() {
-									// 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶
-									console.log('鎺堟潈鎴愬姛');
-								},
-								fail: () => {
-									console.log('鎺堟潈澶辫触');
-								}
-							});
-						}
+		//棣栭〉涓嬫媺鍒锋柊
+		onPullDownRefresh() {
+			uni.showLoading({ title: '鍔犺浇涓�...' });
+			// 鑾峰彇鍘嗗彶鎻愮叅鍗�
+			if (this.roleType == 1 || this.roleType == 2) {
+				this.$reqGet('getJhOrderPlanDataPage', { current: 1, size: 10 }).then(res => {
+					if (res.data.records) {
+						this.indexHistoryCoalData = res.data.records;
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
+					} else {
+						this.$u.toast('鍔犺浇澶辫触');
 					}
+				});
+			}
+			// 瀹㈡埛鑾峰彇鏃ヨ鍒�
+			if (this.roleType == 1) {
+				this.$reqGet('GetOrderPlan').then(res => {
+					if (res.data) {
+						this.orderPlanDataStore = res.data;
+						this.$u.toast('鍔犺浇鎴愬姛');
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
+					} else {
+						this.$u.toast('鍔犺浇澶辫触');
+					}
+				});
+			} else if (this.roleType == 2) {
+				this.$reqGet('huoDaiList').then(res => {
+					if (res.data) {
+						this.indexHuoDaiOrderPlanData = res.data;
+						this.$u.toast('鍔犺浇鎴愬姛');
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
+					} else {
+						this.$u.toast('鍔犺浇澶辫触');
+					}
+				});
+			} else if (this.roleType == 3) {
+				this.$reqGet('qiangDanList').then(res => {
+					if (res.code == 0) {
+						this.indexdriverBillOfLoadingData = res.data;
+						this.$u.toast('鍔犺浇鎴愬姛');
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
+					} else {
+						this.$u.toast('鍔犺浇澶辫触');
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
+					}
+				});
+			}
+		},
+		onHide() {
+			console.log('椤甸潰闅愯棌')
+		},
+		onUnload() {
+			console.log('椤甸潰鍗歌浇');
+			this.$store.dispatch('websocketOnClose')
+			clearInterval(this.globalIntervalId);
+			this.changeisconnect(false)
+		},
+		onShow() {
+			this.init();
+		},
+		onLoad() {
+			this.$store.dispatch('websocketInit')
+			this.$store.commit('changeisLogin', true)
+			console.log(this.globalisconnect, 'index鐨剋s鏁版嵁');
+			this.userAuthorization();
+			this.messageReq();
+			// 寮�鍚弻浜洪�氳瘽
+			wx.setEnable1v1Chat({
+				enable: true,
+				backgroundType: 1,
+				minWindowType: 2,
+				success() {
+					console.log('寮�鍚弻浜洪�氳瘽鎴愬姛');
 				},
 				fail() {
-					console.log('鑾峰彇澶辫触');
-				}
-			});
-		},
-		// 鍒濆鍖杦ebsocket
-		initWebsocket() {
-			let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`;
-			socket = uni.connectSocket({
-				url: wsUrl,
-				header: {
-					CLIENT_TOC: 'Y'
+					console.log('寮�鍚弻浜洪�氳瘽澶辫触');
 				},
-				complete: res => {
-					console.log(res, 'socket缁撴灉');
-					if (res.errMsg == 'connectSocket:ok') {
-						this.isconnect = true;
-					}
+				complete() {
+					console.log('寮�鍚弻浜洪�氳瘽鎴愬姛Complete');
 				}
 			});
-			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));
+		},
+		data() {
+			return {
+				roleType: null,
+				orderPlanDataStore: [],
+				indexHuoDaiOrderPlanData: [],
+				indexHistoryCoalData: [],
+				indexdriverBillOfLoadingData: {},
+				messagePushShow: false,
+				messageList: {
+					title: '',
+					content: "",
+				},
+				isconnect: false,
+				dotShow: false,
+				appHide: false
+			};
+		},
+		watch: {
+			'$store.state.websocketData'(v) {
+				console.log(v, '鎺ュ彈鐨剋s鏁版嵁');
+				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);
+						console.log(!!nowWeighObj.eqInfraredStatus, '绾㈠鐘舵��');
 					}
-				} else if (res.data.startsWith('msg')) {
-					this.messageList = JSON.parse(res.data.slice(5));
-					this.messagePushShow = true;
-				} else {
+				} else if (v.startsWith('msg')) {
+					function removeTags(str) {
+						return str.replace(/<\/?[^>]+>/gi, '');
+					}
+					this.messageList = JSON.parse(v.slice(5));
+					this.messageList = {
+						...this.messageList,
+						title: this.messageList.title.slice(0, 8) + '...',
+						content: removeTags(this.messageList.content).trim().slice(0, 8) + '...'
+					}
+					if (uni.getStorageSync('userId') === this.messageList.appUserId) {
+						this.messagePushShow = true;
+					}
+				} else if (v.startsWith('wsg')) {
+					let wsgObj = JSON.parse(v.slice(5));
+					console.log(uni.getStorageSync('carNo'), wsgObj.carNo);
+					if (uni.getStorageSync('carNo') === wsgObj.carNo) {
+						this.changewsgVisiable(true)
+						this.changewsgContent(wsgObj.content)
+					}
 				}
-			});
-			socket.onClose(e => {
-				console.log('webSocketClose', e);
-				this.isconnect = false;
-			});
-			socket.onError(err => {
-				console.log('socket鎶ラ敊', err);
-				this.$u.toast('鍑虹幇閿欒锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒');
-			});
+			}
 		},
-		messageconfirm() {
-			this.messagePushShow = false;
-			uni.navigateTo({
-				url: '/pages/public-page/message/message'
-			});
-		},
-		messageReq() {
-			this.$reqGet('getMessageByUser', { current: 1, size: 10 }).then(res => {
-				if (res.code == 0) {
-					this.messageList = res.data.records;
-					this.messageList.map(v => {
-						if (v.status !== 1) {
-							this.dotShow = true;
-						} else {
-							this.dotShow = false;
+		methods: {
+			...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus', 'changeisconnect', 'websocketInit',
+				'changewsgVisiable', 'changewsgContent'
+			]),
+			messagePage() {
+				uni.navigateTo({
+					url: '/pages/public-page/message/message'
+				});
+			},
+			init() {
+				this.roleType = uni.getStorageSync('roleType');
+				switch (this.roleType) {
+					case 1:
+						console.log('customerIndexRef');
+						this.$nextTick(() => {
+							this.$refs.customerIndexRef.init();
+						});
+						break;
+					case 2:
+						console.log('freightForwarderIndexRef');
+						this.$nextTick(() => {
+							this.$refs.freightForwarderIndexRef.init();
+						});
+						break;
+					case 3:
+						console.log('driverIndexRef');
+						this.$nextTick(() => {
+							this.$refs.driverIndexRef.init();
+						});
+						break;
+					case 5:
+						console.log('LoadUnloadRef');
+						this.$nextTick(() => {
+							this.$refs.LoadUnloadRef.init();
+						});
+						break;
+					default:
+						break;
+				}
+			},
+			// 瑕佹眰鐢ㄦ埛鎺堟潈鐩告満/楹﹀厠椋庢潈闄�
+			userAuthorization() {
+				wx.getSetting({
+					success(res) {
+						console.log(res);
+						if (!res.authSetting['scope.record'] || !res.authSetting['scope.camera']) {
+							if (!res.authSetting['scope.camera']) {
+								wx.authorize({
+									scope: 'scope.camera',
+									success() {
+										console.log('鐩告満鎴愬姛');
+									},
+									fail() {
+										console.log('鐩告満澶辫触');
+									}
+								});
+							} else if (!res.authSetting['scope.record']) {
+								wx.authorize({
+									scope: 'scope.record',
+									success() {
+										console.log('褰曢煶鎴愬姛');
+									},
+									fail: () => {
+										console.log('褰曢煶澶辫触');
+									}
+								});
+							}
 						}
-					});
-				}
-			});
+					},
+					fail() {
+						console.log('鑾峰彇澶辫触');
+					},
+				});
+			},
+			messageconfirm() {
+				this.messagePushShow = false;
+				uni.navigateTo({
+					url: '/pages/public-page/message/message'
+				});
+			},
+			messageReq() {
+				this.$reqGet('getMessageByUser', { current: 1, size: 10 }).then(res => {
+					if (res.code == 0) {
+						this.messageList = res.data.records;
+						let filtermessage = this.messageList.filter(v => v.status == 0);
+						this.dotShow = filtermessage.length > 0;
+					}
+				});
+			}
 		}
-	}
-};
+	};
 </script>
 
-<style lang="scss" scoped>
-.white-block {
-	width: 100%;
-	height: vww(50);
-	margin-top: vww(10);
-}
-.search-bar {
-	height: vww(20);
-	width: 96%;
-	position: absolute;
-	top: vww(96);
-	right: vww(32);
-	z-index: 1;
-	.icon-body {
-		position: relative;
-		display: flex;
-		justify-content: flex-end;
-		.icon-box {
-			width: vww(30);
-			height: vww(30);
-			border-radius: 50%;
-			display: flex;
-			justify-content: center;
-			align-items: center;
+<style lang="scss"
+	scoped>
+	.max-block {
+		font-family: siYuanLight !important;
+	}
+
+	.white-block {
+		width: 100%;
+		height: vww(20);
+		margin-top: vww(10);
+	}
+
+	.search-bar {
+		height: vww(20);
+		width: 96%;
+		position: absolute;
+		top: vww(96);
+		right: vww(32);
+		z-index: 1;
+
+		.icon-body {
 			position: relative;
-			/deep/ .u-badge {
-				position: absolute;
-				left: vww(18);
-				top: vww(5);
-				z-index: 1;
+			display: flex;
+			justify-content: flex-end;
+
+			.icon-box {
+				width: vww(30);
+				height: vww(30);
+				border-radius: 50%;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				position: relative;
+
+				/deep/ .u-badge {
+					position: absolute;
+					left: vww(18);
+					top: vww(5);
+					z-index: 1;
+				}
 			}
 		}
 	}
-}
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.9.1