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 | 279 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 179 insertions(+), 100 deletions(-) diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue index 78d1d35..7d3aff6 100644 --- a/pages/tabbar-page/index-tabbar/index-tabbar.vue +++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue @@ -23,13 +23,27 @@ <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" :title="messageList.title" @confirm="messageconfirm" confirm-text="鍓嶅幓鏌ョ湅"> - <view class="slot-content"><rich-text :nodes="messageList.content"></rich-text></view> + <view class="slot-content"><u-parse :content="messageList.content"></u-parse></view> </u-modal> <!-- <view class="white-block"></view> --> </view> @@ -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,53 +216,85 @@ roleType: null, orderPlanDataStore: [], indexHuoDaiOrderPlanData: [], + entranceGuardData:[], indexHistoryCoalData: [], indexdriverBillOfLoadingData: {}, + samplingData:[], messagePushShow: false, - messageList: {}, + messageList: { + title: '', + content: "", + }, isconnect: false, dotShow: false, appHide: false }; }, 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, ''); + } this.messageList = JSON.parse(v.slice(5)); - this.messagePushShow = true; - } else {} + this.messageList = { + ...this.messageList, + title: this.messageList.title.slice(0, 8) + '...', + content: removeTags(this.messageList.content).trim().slice(0, 8) + '...' + } + 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(); - if (!this.globalisconnect) { - this.$store.dispatch('websocketInit') - } - 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' @@ -202,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; } @@ -210,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('褰曢煶澶辫触'); } }); } @@ -240,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() { @@ -362,4 +441,4 @@ } } } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.1