819527061@qq.com
2024-06-25 7d91779d2bb2bfec7f4f803a9e2cf65b90e401c6
pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -13,7 +13,7 @@
            </view>
         </view>
      </view>
      <customer-index v-if="roleType == 1||roleType == 4"
      <customer-index v-if="roleType == 1"
         ref="customerIndexRef"
         :orderPlanDataStore="orderPlanDataStore"></customer-index>
      <freight-forwarder-index v-if="roleType == 2"
@@ -23,6 +23,7 @@
      <driver-index v-if="roleType == 3"
         ref="driverIndexRef"
         :indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index>
         <inspectionIndex ref="inspectionIndex"  v-if='roleType == 4'/>
      <tab-bar :current="0"></tab-bar>
      <!-- 推送消息弹窗 -->
      <u-modal :show="messagePushShow"
@@ -38,26 +39,28 @@
<script>
   import customerIndex from '@/pages/customer-page/customer-index/customer-index.vue';
   import driverIndex from '@/pages/driver-page/driver-index/driver-index.vue';
   import inspectionIndex from '@/pages/driver-page/driver-index/bill-of-lading-details/selectOrderPlan/selectOrderPlan.vue'
   import freightForwarderIndex from '@/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue';
   import { mapState, mapMutations } from 'vuex';
   import { mapState, mapMutations, mapGetters } from 'vuex';
   import { webSocketUrl } from '@/api/request.js';
   let socket = null;
   export default {
      components: {
         customerIndex,
         driverIndex,
         freightForwarderIndex
         freightForwarderIndex,
         inspectionIndex
      },
      computed: {
         ...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData',
            'globalIntervalId'
         ])
         ]),
      ...mapGetters(['websocketData'])
      },
      //首页下拉刷新
      onPullDownRefresh() {
         uni.showLoading({ title: '加载中...' });
         // 获取历史提煤单
         // 获取历史通知单
         if (this.roleType == 1 || this.roleType == 2) {
            this.$reqGet('getJhOrderPlanDataPage', { current: 1, size: 10 }).then(res => {
               if (res.data.records) {
@@ -138,43 +141,54 @@
            },
            isconnect: false,
            dotShow: false,
            appHide: false
            appHide: false,
            phone: ''
         };
      },
      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) + '...'
               }
               this.messagePushShow = true;
            } else {}
         '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 {}
          }
        },
        deep: true,
        immediate: true
         }
      },
      onShow() {
         this.init();
         console.log(this.globalisconnect);
         if (this.globalisconnect) {
            this.$store.dispatch('websocketInit')
            this.changeisconnect(false)
            this.changeisLogin(true)
            console.log(this.globalisconnect, 'index的ws数据’');
         }
         this.userAuthorization();
@@ -187,7 +201,9 @@
         this.changeisconnect(true)
      },
      methods: {
         ...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus', 'changeisconnect', 'websocketInit']),
         ...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus', 'changeisconnect', 'websocketInit',
            'changeisLogin', 'changeWarning'
         ]),
         messagePage() {
            uni.navigateTo({
               url: '/pages/public-page/message/message'
@@ -215,9 +231,9 @@
                  });
                  break;
               case 4:
                  console.log('customerIndexRef');
                  console.log('inspectionIndex');
                  this.$nextTick(() => {
                     this.$refs.customerIndexRef.init();
                     this.$refs.inspectionIndex.init();
                  });
                  break;
               default:
@@ -275,7 +291,7 @@
                  this.dotShow = filtermessage.length > 0;
               }
            });
         }
         },
      }
   };
</script>
@@ -284,6 +300,8 @@
   scoped>
   .max-block {
      font-family: siYuanLight !important;
      width: 100%;
      height: 100%;
   }
   .white-block {
@@ -323,4 +341,4 @@
         }
      }
   }
</style>
</style>