From 169e9b4d59bdd763bb5bd1b5a9b092a1200e327b Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期一, 17 四月 2023 17:37:18 +0800 Subject: [PATCH] 增加原发信息,修复bug --- pages/tabbar-page/index-tabbar/index-tabbar.vue | 70 +++++++++++++++++++++++++++++++++- 1 files changed, 67 insertions(+), 3 deletions(-) diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue index e2db085..8b873b4 100644 --- a/pages/tabbar-page/index-tabbar/index-tabbar.vue +++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue @@ -12,6 +12,8 @@ ></freight-forwarder-index> <driver-index v-if="roleType == 3" ref="driverIndexRef" :indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index> <tab-bar :current="0"></tab-bar> + <!-- 鎺ㄩ�佹秷鎭脊绐� --> + <u-modal :show="messagePushShow" :title="messageList.title" :content="messageList.content" @confirm="messageconfirm"></u-modal> </view> </template> @@ -19,12 +21,17 @@ 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'; +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() { @@ -46,6 +53,7 @@ this.$reqGet('GetOrderPlan').then(res => { if (res.data) { this.orderPlanDataStore = res.data; + this.$u.toast('鍔犺浇鎴愬姛'); uni.hideLoading(); uni.stopPullDownRefresh(); } else { @@ -56,6 +64,7 @@ this.$reqGet('huoDaiList').then(res => { if (res.data) { this.indexHuoDaiOrderPlanData = res.data; + this.$u.toast('鍔犺浇鎴愬姛'); uni.hideLoading(); uni.stopPullDownRefresh(); } else { @@ -64,7 +73,6 @@ }); } else if (this.roleType == 3) { this.$reqGet('qiangDanList').then(res => { - console.log(res, '鍒锋柊涔嬪悗鐨勬暟鎹�'); if (res.code == 0) { this.indexdriverBillOfLoadingData = res.data; this.$u.toast('鍔犺浇鎴愬姛'); @@ -101,14 +109,21 @@ orderPlanDataStore: [], indexHuoDaiOrderPlanData: [], indexHistoryCoalData: [], - indexdriverBillOfLoadingData: {} + indexdriverBillOfLoadingData: {}, + messagePushShow: false, + messageList: {}, + isconnect: false }; }, onShow() { this.init(); + if (!this.isconnect) { + this.initWebsocket(); + } this.userAuthorization(); }, methods: { + ...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus']), messagePage() { uni.navigateTo({ url: '/pages/public-page/message/message' @@ -175,6 +190,55 @@ 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.isconnect = true; + } + } + }); + socket.onOpen(() => { + console.log('onOpen'); + }); + // 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊 + socket.onMessage(res => { + console.log('socketWeigh', 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 { + this.messageList = JSON.parse(res.data.slice(5)); + this.messagePushShow = true; + } + }); + socket.onClose(() => { + console.log('webSocketClose'); + this.isconnect = false; + }); + socket.onError(err => { + console.log('socket鎶ラ敊', err); + this.$u.toast('鍑虹幇閿欒锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒'); + }); + }, + messageconfirm() { + this.messagePushShow = false; } } }; -- Gitblit v1.9.1