| | |
| | | import Vue from 'vue' |
| | | import Vuex from 'vuex' |
| | | import { webSocketUrl,BaseUrl } from '@/api/request.js' |
| | | // 请求相关 |
| | | import { |
| | | reqGet, |
| | | } from '@/api/index.js' |
| | | Vue.use(Vuex) |
| | | |
| | | // 动态底部tabbar |
| | |
| | | selectedIconPath: '../../static/tabBar-icon/Bmine57.png', |
| | | text: '我的' |
| | | } |
| | | ] |
| | | ], |
| | | three: [{ |
| | | pagePath: 'pages/tabbar-page/index-tabbar/index-tabbar', |
| | | iconPath: '../../static/tabBar-icon/home.png', |
| | | selectedIconPath: '../../static/tabBar-icon/homeblue.png', |
| | | text: '首页' |
| | | }, |
| | | { |
| | | pagePath: 'pages/tabbar-page/myPage-tabbar/myPage-tabbar', |
| | | iconPath: '../../static/tabBar-icon/Gmine10.png', |
| | | selectedIconPath: '../../static/tabBar-icon/Bmine57.png', |
| | | text: '我的' |
| | | } |
| | | ], |
| | | fourth: [{ |
| | | pagePath: 'pages/tabbar-page/index-tabbar/index-tabbar', |
| | | iconPath: '../../static/tabBar-icon/home.png', |
| | | selectedIconPath: '../../static/tabBar-icon/homeblue.png', |
| | | text: '进场' |
| | | },{ |
| | | pagePath: 'pages/doorkeeper-page/doorkeeper-index/exit-index', |
| | | iconPath: '../../static/tabBar-icon/home.png', |
| | | selectedIconPath: '../../static/tabBar-icon/homeblue.png', |
| | | text: '出场' |
| | | }, |
| | | { |
| | | pagePath: 'pages/tabbar-page/myPage-tabbar/myPage-tabbar', |
| | | iconPath: '../../static/tabBar-icon/Gmine10.png', |
| | | selectedIconPath: '../../static/tabBar-icon/Bmine57.png', |
| | | text: '我的' |
| | | }, |
| | | |
| | | ], |
| | | five:[{ |
| | | pagePath: 'pages/tabbar-page/index-tabbar/index-tabbar', |
| | | iconPath: '../../static/tabBar-icon/home.png', |
| | | selectedIconPath: '../../static/tabBar-icon/homeblue.png', |
| | | text: '首页' |
| | | }, |
| | | { |
| | | pagePath: 'pages/loadUnload-page/orderPlanList/index', |
| | | iconPath: '../../static/tabBar-icon/Gmine10.png', |
| | | selectedIconPath: '../../static/tabBar-icon/Bmine57.png', |
| | | text: '日计划' |
| | | }, |
| | | { |
| | | pagePath: 'pages/tabbar-page/myPage-tabbar/myPage-tabbar', |
| | | iconPath: '../../static/tabBar-icon/Gmine10.png', |
| | | selectedIconPath: '../../static/tabBar-icon/Bmine57.png', |
| | | text: '我的' |
| | | }, |
| | | ] |
| | | } |
| | | const store = new Vuex.Store({ |
| | | state: { |
| | | // 用戶界面判斷 |
| | | userInfo: {}, |
| | | roleType: null, // 1客户,2货代,3司机 |
| | | roleType: null, // 1客户,2货代,3司机 5装卸员 |
| | | userTabbar: [], // 用户所在角色底部菜单, |
| | | // 称重时的重量 |
| | | globalweigh: 0, |
| | |
| | | weight: '', |
| | | userId: '' |
| | | }, |
| | | globalisconnect: false |
| | | globalisconnect: true, |
| | | globalisUploadimg: false, |
| | | globalisLogin: false, |
| | | socketTask: null, |
| | | websocketData: null, // 存放从后端接收到的websocket数据 |
| | | globalIntervalId: null, |
| | | is_open_socket: false, //避免重复连接 |
| | | connectNum: 1, //重连次数, |
| | | reconnectTimeOut: null, //重新链接的定时器 |
| | | // 打印出入门证 一次就可以有打印入门证, 两次可以有入门证 出门证 0次一张都没有 |
| | | ablePrintInduction: false, //入门证 |
| | | ablePrintOut: false, //出门证 |
| | | driverTourImgList: ['https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj1.png', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj2.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj3.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj4.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj5.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj6.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj7.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj8.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj9.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj10.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj11.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj12.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj13.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj14.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj15.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj16.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj17.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj18.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj19.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj20.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj21.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj22.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj23.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj24.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj25.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj26.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj27.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj28.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj29.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj30.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj31.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj32.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj33.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj33-1.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj34.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj35.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj36.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj37.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj38.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj39.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj40.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj41.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj42.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj43.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj44.jpg', |
| | | ], |
| | | wsgVisiable: false, //磅房忙碌弹窗控制 |
| | | wsgContent: '', |
| | | globalIsFirstWeighing: 1, //是否是第一次上磅 |
| | | confirmWeighVisiable: false, //磅房管理确认称重完成提示弹窗 |
| | | confirmWeighContent: '', |
| | | // 称重稳定态 0/稳定 1/非稳定 非稳定态不能点称重 |
| | | globalWarning: false, |
| | | filedId:'', //煤场id |
| | | bunkerList:'', //煤仓list |
| | | }, |
| | | mutations: { |
| | | lengthchange(state, payload) { |
| | | state.fleetDriverDataLength = payload |
| | | }, |
| | | setUserInfo(state, identity) { |
| | | state.userInfo = userObj[identity] |
| | | }, |
| | |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | } else if (roleType == 2 || roleType == 3) { |
| | | state.userTabbar = userRoleTabbar.second |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | } else if (roleType == 5) { |
| | | state.userTabbar = userRoleTabbar.five |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | }else if (roleType == 6) { |
| | | state.userTabbar = userRoleTabbar.fourth |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | } |
| | | }, |
| | |
| | | changeuserInfo(state, payload) { |
| | | state.globaluserInfo = payload |
| | | }, |
| | | // 改版全局websocket状态 |
| | | changesocketTask(state, payload) { |
| | | state.socketTask = payload |
| | | }, |
| | | // 改版全局websocket状态(判断是否正常链接) |
| | | changeisconnect(state, payload) { |
| | | state.globalisconnect = payload |
| | | }, |
| | | changeisUploadimg(state, payload) { |
| | | state.globalisUploadimg = payload |
| | | }, |
| | | changeisLogin(state, payload) { |
| | | state.globalisLogin = payload |
| | | console.log(state.globalisLogin, '全局登录状态改变了') |
| | | }, |
| | | setWebsocketData(state, data) { |
| | | state.websocketData = data |
| | | }, |
| | | // 改变重连状态 |
| | | changereconnectState(state, payload) { |
| | | state.is_open_socket = payload |
| | | }, |
| | | // 改变重连次数 |
| | | changereconnectNum(state, payload) { |
| | | if (payload.isWeigh) { |
| | | state.connectNum = payload.connectNum |
| | | } else { |
| | | if (state.connectNum < 6) { |
| | | state.connectNum += payload.connectNum |
| | | } else { |
| | | state.connectNum = payload.connectNum |
| | | } |
| | | } |
| | | }, |
| | | changeablePrintInduction(state, payload) { |
| | | state.ablePrintInduction = payload |
| | | }, |
| | | changeablePrintOut(state, payload) { |
| | | state.ablePrintOut = payload |
| | | }, |
| | | changewsgVisiable(state, payload) { |
| | | state.wsgVisiable = payload |
| | | }, |
| | | changewsgContent(state, payload) { |
| | | state.wsgContent = payload |
| | | }, |
| | | changeglobalIsFirstWeighing(state, payload) { |
| | | state.globalIsFirstWeighing = payload |
| | | }, |
| | | changeconfirmWeighVisiable(state, payload) { |
| | | state.confirmWeighVisiable = payload |
| | | }, |
| | | changeconfirmWeighContent(state, payload) { |
| | | state.confirmWeighContent = payload |
| | | }, |
| | | // 改变稳定态 |
| | | changeWarning(state, payload) { |
| | | state.globalWarning = payload |
| | | }, |
| | | // 煤场filedId的获取 |
| | | getFiledId(state, payload) { |
| | | console.log(payload,'filedId=====') |
| | | state.filedId = payload |
| | | uni.setStorageSync('filedId', state.filedId) |
| | | }, |
| | | getBunkerList(state, payload) { |
| | | console.log('我执行了getBunkerList====',payload) |
| | | state.bunkerList = payload |
| | | uni.setStorageSync('bunkerList', state.bunkerList) |
| | | } |
| | | }, |
| | | actions: { |
| | | websocketInit({ state, dispatch, commit }) { |
| | | // #ifdef H5 |
| | | let wsUrl = `access_token=${uni.getStorageSync('token')}` |
| | | // #endif |
| | | // #ifndef H5 |
| | | let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}` |
| | | // #endif |
| | | state.socketTask = uni.connectSocket({ |
| | | url: wsUrl, |
| | | header: { |
| | | clientToc: 'Y' , |
| | | 'CLIENT_TOC': 'Y', |
| | | }, |
| | | success: res => { |
| | | console.log(res, 'socketSuccess') |
| | | if (res.errMsg === 'connectSocket:ok') { |
| | | commit('changeisconnect', true) |
| | | commit('changereconnectState', true) |
| | | } |
| | | }, |
| | | fail: res => { |
| | | console.log(res, 'socketFail') |
| | | console.log('ws失败'); |
| | | commit('changereconnectState', false) |
| | | dispatch('reconnect') |
| | | commit('changeisconnect', false) |
| | | } |
| | | }) |
| | | state.socketTask.onOpen(() => dispatch('websocketOnOpen')) |
| | | state.socketTask.onMessage(result => dispatch('websocketOnMessage', result.data)) |
| | | state.socketTask.onClose(e => dispatch('websocketOnClose', e)) |
| | | state.socketTask.onError(e => dispatch('websocketOnError', e)) |
| | | }, |
| | | websocketOnOpen({ state, commit }) { |
| | | console.log('ws打开') |
| | | clearInterval(state.reconnectTimeOut) //清除上一次的定时器 |
| | | clearInterval(state.globalIntervalId) //清除心跳 |
| | | state.globalIntervalId = setInterval(() => { |
| | | state.socketTask.send({ |
| | | data: JSON.stringify({ type: 'ping' }), |
| | | success(e) { |
| | | console.log(e, '发送心跳成功') |
| | | } |
| | | }) |
| | | }, 30000) |
| | | }, |
| | | websocketOnClose({ state, commit, dispatch }, e) { |
| | | if (!state.socketTask) return |
| | | console.log('ws关闭', e) |
| | | state.socketTask.close(e => { |
| | | commit('changeisconnect', false) |
| | | }) |
| | | clearInterval(state.globalIntervalId) |
| | | clearInterval(state.reconnectTimeOut) |
| | | state.socketTask = null |
| | | commit('changereconnectState', false) |
| | | if ((state.connectNum < 6 || state.connectNum.connectNum < 6) && state.globalisLogin) { |
| | | uni.showToast({ |
| | | title: '连接失败,正在尝试重新连接', |
| | | icon: 'none' |
| | | }) |
| | | commit('changereconnectNum', { connectNum: 1, isWeigh: false }) |
| | | dispatch('reconnect') |
| | | } else if (state.connectNum >= 6 && state.globalisLogin) { |
| | | commit('changereconnectNum', { connectNum: 1, isWeigh: false }) |
| | | uni.showToast({ |
| | | title: '网络异常,请稍后重试', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | return |
| | | } |
| | | }, |
| | | websocketOnError({ state, commit, dispatch }, e) { |
| | | // 如果重连状态为false则不进行重连,为true才会 |
| | | console.log('ws报错', e) |
| | | clearInterval(state.globalIntervalId) |
| | | clearInterval(state.reconnectTimeOut) |
| | | state.socketTask = null |
| | | commit('changereconnectState', false) |
| | | if (state.connectNum < 6 || state.connectNum.connectNum < 6 && state.globalisLogin) { |
| | | uni.showToast({ |
| | | title: '连接失败,正在尝试重新连接', |
| | | icon: 'none' |
| | | }) |
| | | commit('changereconnectNum', { connectNum: 1, isWeigh: false }) |
| | | dispatch('reconnect') |
| | | } else if (state.connectNum > 6 && state.globalisLogin) { |
| | | commit('changereconnectNum', { connectNum: 1, isWeigh: false }) |
| | | uni.showToast({ |
| | | title: '网络异常,请稍后重试', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | return |
| | | } |
| | | }, |
| | | // 接收数据 |
| | | websocketOnMessage({ state, commit }, result) { |
| | | commit('setWebsocketData', result) |
| | | }, |
| | | // 重新连接 |
| | | reconnect({ state, commit, dispatch }) { |
| | | console.log(state.is_open_socket, '重新连接socket状态'); |
| | | clearInterval(state.globalIntervalId) |
| | | if (!state.is_open_socket && state.globalisLogin) { |
| | | state.reconnectTimeOut = setInterval(() => { |
| | | dispatch('websocketInit') |
| | | }, 5000) |
| | | } |
| | | }, |
| | | |
| | | //filedId |
| | | async getBunkerList({ state,dispatch, commit }) { //获取filedId |
| | | // this.$reqGet(`getList/${this.deptId}`).then(res => { |
| | | // console.log(res,'想得到filedId') |
| | | // }) |
| | | let deptId = uni.getStorageSync('userInfo').deptIds |
| | | console.log(deptId,'deptId====') |
| | | await uni.request({ //获取deptId |
| | | url: `/wrzs/jccoalfiled/list/${deptId}`, |
| | | method: 'GET', |
| | | header: { |
| | | Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'), |
| | | clientToc: 'Y', |
| | | 'CLIENT_TOC': 'Y', |
| | | }, |
| | | success: res => { |
| | | console.log(res,'filedId接口000000000000') |
| | | commit('getFiledId',res.data.data[0].id || '') |
| | | dispatch('getFiledIdCoalBunker') |
| | | // console.log(res,'shuj------') |
| | | // this.filedId = res.data?.data.length > 0 ? res.data.data[0].id : ''; |
| | | // this.getFiledIdCoalBunker() |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | getFiledIdCoalBunker({ state, commit }) { //煤仓列表(采样地点) |
| | | let filedId = uni.getStorageSync('filedId') |
| | | console.log(filedId,'最终的filedId=============') |
| | | reqGet('getFiledIdCoalBunker', {filedId: filedId}).then(res => { |
| | | console.log(res,'res----煤仓') |
| | | commit('getBunkerList',res.data) |
| | | }) |
| | | }, |
| | | } |
| | | }) |
| | | |