From 0eab6dcc163bec041d44bc27c9c89ef9c6ec988d Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期四, 26 九月 2024 17:17:39 +0800
Subject: [PATCH] feat:确认装卸bug提交

---
 pages/tabbar-page/index-tabbar/index-tabbar.vue |  543 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 404 insertions(+), 139 deletions(-)

diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index fa520ac..245e23d 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -1,157 +1,422 @@
 <template>
-	<view>
-		<customer-index v-if="roleType == 1" ref="customerIndexRef" :orderPlanDataStore="orderPlanDataStore"></customer-index>
-		<freight-forwarder-index
-			v-if="roleType == 2"
+	<view class="max-block">
+		<view class="search-bar">
+			<view class="icon-body">
+				<view class="icon-box"
+					@click="messagePage" v-if="roleType != 6">
+					<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"
 			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" :indexLoadUnloadBillOfLoadingData="detailData"></load-unload>
+		<doorkeep-index ref="doorkeepIndexRef"
+			v-if="roleType == 6"></doorkeep-index>
+		<!-- 		<selectTarget v-if="roleType == 5"
+			ref="LoadUnloadRef"></selectTarget> -->
+    <qualityIndex ref="qualityIndexRef" v-if="roleType == 7"></qualityIndex>
 		<tab-bar :current="0"></tab-bar>
+		<!-- 鎺ㄩ�佹秷鎭脊绐� -->
+		<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>
 </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 } from 'vuex';
-export default {
-	components: {
-		customerIndex,
-		driverIndex,
-		freightForwarderIndex
-	},
-	//棣栭〉涓嬫媺鍒锋柊
-	onPullDownRefresh() {
-		uni.showLoading({
-			title: '鍔犺浇涓�...'
-		});
-		// 瀹㈡埛鑾峰彇鏃ヨ鍒�
-		if (this.roleType == 1) {
-			this.$reqGet('GetOrderPlan').then(res => {
-				if (res.data) {
-					this.orderPlanDataStore = res.data;
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
-				}
-			});
-		} else if (this.roleType == 2) {
-			this.$reqGet('huoDaiList').then(res => {
-				this.indexHuoDaiOrderPlanData = res.data;
-			});
-			// 鑾峰彇鍘嗗彶鎻愮叅鍗�
-			this.$reqGet('getJhOrderPlanDataPage', { current: 1, size: 10 }).then(res => {
-				if (res.data.records) {
-					this.indexHistoryCoalData = [...this.historyCoalData, ...res.data.records];
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
-				}
-			});
-		} else {
-			this.$reqGet('qiangDanList').then(res => {
-				this.indexdriverBillOfLoadingData = res.data;
-				uni.hideLoading();
-				uni.stopPullDownRefresh();
-			});
-		}
-	},
-	onLoad() {
-		// 寮�鍚弻浜洪�氳瘽
-		wx.setEnable1v1Chat({
-			enable: true,
-			backgroundType: 1,
-			minWindowType: 2,
-			success() {
-				console.log('寮�鍚弻浜洪�氳瘽鎴愬姛');
-			},
-			fail() {
-				console.log('寮�鍚弻浜洪�氳瘽澶辫触');
-			},
-			complete() {
-				console.log('寮�鍚弻浜洪�氳瘽鎴愬姛Complete');
+	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 qualityIndex from '@/pages/quality-inspection-page/qualityIndex/qualityIndex'
+	import doorkeepIndex from '@/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue';
+	import { mapState, mapMutations, mapGetters } from 'vuex';
+	export default {
+		components: {
+			customerIndex,
+			driverIndex,
+			freightForwarderIndex,
+			LoadUnload,
+     		 qualityIndex,  //鍖栭獙
+			doorkeepIndex,	
+		},
+		computed: {
+			...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData',
+				'globalIntervalId'
+			]),
+      ...mapGetters(['websocketData'])
+		},
+		//棣栭〉涓嬫媺鍒锋柊
+		onPullDownRefresh() {
+			if(this.roleType!==6){
+				uni.showLoading({ title: '鍔犺浇涓�...' });
+			}else{
+				this.$refs.doorkeepIndexRef.TaskCoalList()
 			}
-		});
-	},
-	data() {
-		return {
-			roleType: null,
-			orderPlanDataStore: [],
-			indexHuoDaiOrderPlanData: [],
-			indexHistoryCoalData: [],
-			indexdriverBillOfLoadingData: []
-		};
-	},
-	onShow() {
-		this.init();
-		this.userAuthorization();
-	},
-	methods: {
-		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;
+			// 鑾峰彇鍘嗗彶鏀跺彂鍗�
+			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();
+					}
+				});
+			}else if(this.roleType == 5){
+				//瑁呭嵏鍛�
+				this.getDetailData();
 			}
 		},
-		// 瑕佹眰鐢ㄦ埛鎺堟潈鐩告満/楹﹀厠椋庢潈闄�
-		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('鎺堟潈澶辫触');
-								}
-							});
-						}
-					}
+		// getWarehouseListFun() {
+		// 		this.$reqGet('getWarehouseList').then(res => {
+		// 			uni.hideLoading()
+		// 			if (res.code === 0) {
+		// 				if(res.data.length){
+		// 					this.getDetailData();
+
+		// 				}
+		// 			} else {
+		// 				this.$u.toast('鍔犺浇澶辫触')
+		// 			}
+		// 		})
+		// 	},
+		onHide() {
+			console.log('椤甸潰闅愯棌')
+		},
+		onUnload() {
+			console.log('椤甸潰鍗歌浇');
+			this.$store.dispatch('websocketOnClose')
+			clearInterval(this.globalIntervalId);
+			this.changeisconnect(false)
+		},
+		onShow() {
+		    this.count = this.count +1;
+			this.init();
+			this.messageReq();
+		},
+		onLoad() {
+			this.$store.dispatch('websocketInit')
+			this.$store.commit('changeisLogin', true)
+			console.log(this.globalisconnect, 'index鐨剋s鏁版嵁');
+      /*  #ifdef MP-WEIXIN */
+			this.userAuthorization();
+      /*  #endif */
+			this.messageReq();
+			// 寮�鍚弻浜洪�氳瘽
+      /*  #ifdef MP-WEIXIN */
+			wx.setEnable1v1Chat({
+				enable: true,
+				backgroundType: 1,
+				minWindowType: 2,
+				success() {
+					console.log('寮�鍚弻浜洪�氳瘽鎴愬姛');
 				},
 				fail() {
-					console.log('鑾峰彇澶辫触');
+					console.log('寮�鍚弻浜洪�氳瘽澶辫触');
+				},
+				complete() {
+					console.log('寮�鍚弻浜洪�氳瘽鎴愬姛Complete');
 				}
 			});
+      /*  #endif */
+		},
+		data() {
+			return {
+				roleType: null,
+				orderPlanDataStore: [],
+				indexHuoDaiOrderPlanData: [],
+				indexHistoryCoalData: [],
+				count:0,
+				detailData:[],
+				indexdriverBillOfLoadingData: {},
+				messagePushShow: false,
+				messageList: {
+					title: '',
+					content: "",
+				},
+				isconnect: false,
+				dotShow: false,
+				appHide: false
+			};
+		},
+		watch: {
+			'websocketData': {
+        handler(v) {
+          console.log(v, '鎺ュ彈鐨剋s鏁版嵁');
+          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);
+                  let warningState = nowWeighObj.warning == 1
+                  this.changeWarning(warningState)
+                } else {
+                  this.changeinfraredStatus(false);
+                  this.changeWeigh(nowWeighObj.weigh);
+                  let warningState = nowWeighObj.warning == 1
+                  this.changeWarning(warningState)
+                }
+              }
+            } 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) + '...'
+              }
+              this.messagePushShow = true;
+            } 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)
+					}
+				}
+          }
+        },
+        deep: true,
+        immediate: true
+			}
+		},
+		methods: {
+			...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus', 'changeisconnect', 'websocketInit',
+				'changewsgVisiable', 'changewsgContent', 'changeconfirmWeighVisiable', 'changeconfirmWeighContent',
+				'changeWarning'
+			]),
+			messagePage() {
+				uni.navigateTo({
+					url: '/pages/public-page/message/message'
+				});
+			},
+			init() {
+				this.roleType = uni.getStorageSync('roleType');
+        console.log(this.roleType,'this.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(() => {
+							console.log(this.count,'count')
+								this.$refs.LoadUnloadRef.init();
+							
+						});
+						break;
+          case 7:
+            console.log('qualityIndexRef');
+            this.$nextTick(() => {
+              console.log(this.count,'count')
+              if(this.count <=1){
+                this.$refs.qualityIndexRef.init();
+              }
+            });
+            break;
+					case 6:
+						console.log('doorkeepIndexRef');
+						this.$nextTick(() => {
+							this.$refs.doorkeepIndexRef.init();
+						});
+						break;
+					default:
+						break;
+				}
+			},
+			// 瑕佹眰鐢ㄦ埛鎺堟潈鐩告満/楹﹀厠椋庢潈闄�
+      /*  #ifdef MP-WEIXIN */
+			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('鑾峰彇澶辫触');
+					},
+				});
+			},
+      /*  #endif */
+			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;
+					}
+				});
+			},
+		 getDetailData(){
+					this.$reqGet('getTaskCoalListByBunkerId', { bunkerIds:uni.getStorageSync('bunkerIds'),productIds:uni.getStorageSync('productIds')}).then(res => {
+					if (res.code === 0) {
+						this.detailData = res.data.map(item=>{    
+						   item.tmTaskCoalList.map(el=>{
+							 el.flag = el.isPretendDischar ? false : true
+							return el
+						   })
+						 return item;
+						});
+							this.$u.toast('鍔犺浇鎴愬姛');
+							uni.stopPullDownRefresh();
+					 		 uni.hideLoading();
+					}
+				})
+
+			},
 		}
-	}
-};
+	};
 </script>
 
-<style lang="scss" scoped></style>
+<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: calc(100% - 200rpx);
+		position: absolute;
+		top: vww(96);
+		right: 100rpx;
+		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;
+				position: relative;
+
+				/deep/ .u-badge {
+					position: absolute;
+					left: vww(18);
+					top: vww(5);
+					z-index: 1;
+				}
+			}
+		}
+	}
+</style>

--
Gitblit v1.9.1