| | |
| | | ></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" @confirm="messageconfirm"> |
| | | <view class="slot-content"><rich-text :nodes="messageList.content"></rich-text></view> |
| | | </u-modal> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | 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() { |
| | |
| | | this.$reqGet('GetOrderPlan').then(res => { |
| | | if (res.data) { |
| | | this.orderPlanDataStore = res.data; |
| | | this.$u.toast('加载成功'); |
| | | uni.hideLoading(); |
| | | uni.stopPullDownRefresh(); |
| | | } else { |
| | |
| | | this.$reqGet('huoDaiList').then(res => { |
| | | if (res.data) { |
| | | this.indexHuoDaiOrderPlanData = res.data; |
| | | this.$u.toast('加载成功'); |
| | | uni.hideLoading(); |
| | | uni.stopPullDownRefresh(); |
| | | } else { |
| | |
| | | }); |
| | | } else if (this.roleType == 3) { |
| | | this.$reqGet('qiangDanList').then(res => { |
| | | console.log(res, '刷新之后的数据'); |
| | | if (res.code == 0) { |
| | | this.indexdriverBillOfLoadingData = res.data; |
| | | this.$u.toast('加载成功'); |
| | |
| | | orderPlanDataStore: [], |
| | | indexHuoDaiOrderPlanData: [], |
| | | indexHistoryCoalData: [], |
| | | indexdriverBillOfLoadingData: {} |
| | | indexdriverBillOfLoadingData: {}, |
| | | messagePushShow: false, |
| | | messageList: {}, |
| | | isconnect: false |
| | | }; |
| | | }, |
| | | onShow() { |
| | | this.init(); |
| | | if (!this.isconnect) { |
| | | this.initWebsocket(); |
| | | } |
| | | this.userAuthorization(); |
| | | }, |
| | | 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' |
| | |
| | | console.log('获取失败'); |
| | | } |
| | | }); |
| | | }, |
| | | // 初始化websocket |
| | | 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'); |
| | | 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 { |
| | | console.log('websocket还在活着'); |
| | | } |
| | | }); |
| | | socket.onClose(e => { |
| | | console.log('webSocketClose', e); |
| | | this.$u.toast('连接已断开,请重新进入该页面,重试!!'); |
| | | this.isconnect = false; |
| | | }); |
| | | socket.onError(err => { |
| | | console.log('socket报错', err); |
| | | this.$u.toast('出现错误,请重新进入该页面,重试!!'); |
| | | }); |
| | | }, |
| | | messageconfirm() { |
| | | this.messagePushShow = false; |
| | | } |
| | | } |
| | | }; |