| | |
| | | <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" |
| | |
| | | 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() { |
| | |
| | | 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:30}).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的ws数据'); |
| | | this.userAuthorization(); |
| | | this.messageReq(); |
| | | // 开启双人通话 |
| | | wx.setEnable1v1Chat({ |
| | | enable: true, |
| | |
| | | roleType: null, |
| | | orderPlanDataStore: [], |
| | | indexHuoDaiOrderPlanData: [], |
| | | entranceGuardData:[], |
| | | indexHistoryCoalData: [], |
| | | indexdriverBillOfLoadingData: {}, |
| | | samplingData:[], |
| | | messagePushShow: false, |
| | | messageList: { |
| | | title: '', |
| | |
| | | }; |
| | | }, |
| | | watch: { |
| | | '$store.state.websocketData'(v) { |
| | | 'websocketData': { |
| | | handler(v){ |
| | | console.log(v, '接受的ws数据'); |
| | | 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, ''); |
| | | } |
| | |
| | | title: this.messageList.title.slice(0, 8) + '...', |
| | | content: removeTags(this.messageList.content).trim().slice(0, 8) + '...' |
| | | } |
| | | this.messagePushShow = true; |
| | | } else {} |
| | | 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.changeisconnect(false) |
| | | this.$store.commit('changeisLogin', true) |
| | | console.log(this.globalisconnect, 'index的ws数据'); |
| | | } |
| | | this.userAuthorization(); |
| | | this.messageReq(); |
| | | }, |
| | | onHide() { |
| | | console.log('页面隐藏') |
| | | }, |
| | | onUnload() { |
| | | console.log('页面卸载'); |
| | | this.$store.dispatch('websocketOnClose') |
| | | clearInterval(this.globalIntervalId); |
| | | this.changeisconnect(true) |
| | | }, |
| | | 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' |
| | |
| | | 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; |
| | | } |
| | |
| | | userAuthorization() { |
| | | wx.getSetting({ |
| | | success(res) { |
| | | // wx.startRecord(); |
| | | console.log('授权相机/麦克风权限success'); |
| | | 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('录音失败'); |
| | | } |
| | | }); |
| | | } |
| | |
| | | }, |
| | | fail() { |
| | | 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.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() { |
| | |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | </style> |