| | |
| | | <view class="search-bar"> |
| | | <view class="icon-body"> |
| | | <view class="icon-box" |
| | | @click="messagePage"> |
| | | @click="messagePage" v-if="roleType != 6"> |
| | | <u-badge :isDot="true" |
| | | type="error" |
| | | v-if="dotShow"></u-badge> |
| | |
| | | ref="driverIndexRef" |
| | | :indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index> |
| | | <load-unload ref="LoadUnloadRef" |
| | | v-if="roleType == 5"></load-unload> |
| | | 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" |
| | |
| | | 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 selectTarget from '@/pages/loadUnload-page/selectTarget/selectTarget.vue' |
| | | import { mapState, mapMutations } from 'vuex'; |
| | | import { webSocketUrl } from '@/api/request.js'; |
| | | |
| | | let socket = null; |
| | | 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, |
| | | selectTarget |
| | | qualityIndex, //化验 |
| | | doorkeepIndex, |
| | | }, |
| | | computed: { |
| | | ...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData', |
| | | 'globalIntervalId' |
| | | ]) |
| | | ]), |
| | | ...mapGetters(['websocketData']) |
| | | }, |
| | | //首页下拉刷新 |
| | | onPullDownRefresh() { |
| | | uni.showLoading({ title: '加载中...' }); |
| | | // 获取历史提煤单 |
| | | if(this.roleType!==6){ |
| | | uni.showLoading({ title: '加载中...' }); |
| | | }else{ |
| | | this.$refs.doorkeepIndexRef.TaskCoalList() |
| | | } |
| | | // 获取历史收发单 |
| | | if (this.roleType == 1 || this.roleType == 2) { |
| | | this.$reqGet('getJhOrderPlanDataPage', { current: 1, size: 10 }).then(res => { |
| | | if (res.data.records) { |
| | |
| | | uni.stopPullDownRefresh(); |
| | | } |
| | | }); |
| | | }else if(this.roleType == 5){ |
| | | //装卸员 |
| | | this.getDetailData(); |
| | | } |
| | | }, |
| | | // 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的ws数据'); |
| | | /* #ifdef MP-WEIXIN */ |
| | | this.userAuthorization(); |
| | | /* #endif */ |
| | | this.messageReq(); |
| | | // 开启双人通话 |
| | | /* #ifdef MP-WEIXIN */ |
| | | wx.setEnable1v1Chat({ |
| | | enable: true, |
| | | backgroundType: 1, |
| | |
| | | console.log('开启双人通话成功Complete'); |
| | | } |
| | | }); |
| | | /* #endif */ |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | orderPlanDataStore: [], |
| | | indexHuoDaiOrderPlanData: [], |
| | | indexHistoryCoalData: [], |
| | | count:0, |
| | | detailData:[], |
| | | indexdriverBillOfLoadingData: {}, |
| | | messagePushShow: false, |
| | | messageList: { |
| | |
| | | }; |
| | | }, |
| | | watch: { |
| | | '$store.state.websocketData'(v) { |
| | | console.log(v, '接受的ws数据'); |
| | | 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); |
| | | } |
| | | } |
| | | } 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) + '...' |
| | | } |
| | | if (uni.getStorageSync('userId') === this.messageList.appUserId) { |
| | | this.messagePushShow = true; |
| | | } |
| | | } else if (v.startsWith('wsg')) { |
| | | 'websocketData': { |
| | | handler(v) { |
| | | console.log(v, '接受的ws数据'); |
| | | 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.getStorageInfoSync('carNo') === wsgObj.carNo) { |
| | | changewsgVisiable(true) |
| | | changewsgContent(wsgObj.content) |
| | | 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 |
| | | } |
| | | }, |
| | | 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', |
| | | 'changewsgVisiable', 'changewsgContent' |
| | | 'changewsgVisiable', 'changewsgContent', 'changeconfirmWeighVisiable', 'changeconfirmWeighContent', |
| | | 'changeWarning' |
| | | ]), |
| | | messagePage() { |
| | | uni.navigateTo({ |
| | |
| | | }, |
| | | init() { |
| | | this.roleType = uni.getStorageSync('roleType'); |
| | | console.log(this.roleType,'this.roleType=====') |
| | | switch (this.roleType) { |
| | | case 1: |
| | | console.log('customerIndexRef'); |
| | |
| | | case 5: |
| | | console.log('LoadUnloadRef'); |
| | | this.$nextTick(() => { |
| | | this.$refs.LoadUnloadRef.init(); |
| | | 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: |
| | |
| | | } |
| | | }, |
| | | // 要求用户授权相机/麦克风权限 |
| | | /* #ifdef MP-WEIXIN */ |
| | | userAuthorization() { |
| | | wx.getSetting({ |
| | | success(res) { |
| | |
| | | }, |
| | | }); |
| | | }, |
| | | // 初始化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('出现错误,请重新进入该页面,重试!!'); |
| | | }); |
| | | }, |
| | | /* #endif */ |
| | | messageconfirm() { |
| | | this.messagePushShow = false; |
| | | uni.navigateTo({ |
| | |
| | | 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> |
| | |
| | | |
| | | .search-bar { |
| | | height: vww(20); |
| | | width: 96%; |
| | | width: calc(100% - 200rpx); |
| | | position: absolute; |
| | | top: vww(96); |
| | | right: vww(32); |
| | | right: 100rpx; |
| | | z-index: 1; |
| | | |
| | | .icon-body { |
| | |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | </style> |