From 3fd84886a15713ece1ba34954f49fd1e075ef7be Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期三, 19 四月 2023 17:38:48 +0800
Subject: [PATCH] 改变称重监听,增加发运详情,修复电子提煤单错误
---
pages/tabbar-page/index-tabbar/index-tabbar.vue | 193 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 178 insertions(+), 15 deletions(-)
diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index 5d9d6d6..a4ff57e 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -1,9 +1,21 @@
<template>
<view>
+ <view class="search-bar">
+ <view class="icon-box" @click="messagePage"><u-icon name="chat" color="#000" size="50"></u-icon></view>
+ </view>
<customer-index v-if="roleType == 1" ref="customerIndexRef" :orderPlanDataStore="orderPlanDataStore"></customer-index>
- <freight-forwarder-index v-if="roleType == 2" ref="freightForwarderIndexRef"></freight-forwarder-index>
- <driver-index v-if="roleType == 3" ref="driverIndexRef"></driver-index>
+ <freight-forwarder-index
+ v-if="roleType == 2"
+ ref="freightForwarderIndexRef"
+ :indexHistoryCoalData="indexHistoryCoalData"
+ :indexHuoDaiOrderPlanData="indexHuoDaiOrderPlanData"
+ ></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>
@@ -11,24 +23,70 @@
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() {
- uni.showLoading({
- title: '鍔犺浇涓�...'
- });
- this.$reqGet('GetOrderPlan').then(res => {
- if (res.data) {
- this.orderPlanDataStore = res.data;
- uni.hideLoading();
- uni.stopPullDownRefresh();
- }
- });
+ uni.showLoading({ title: '鍔犺浇涓�...' });
+ // 鑾峰彇鍘嗗彶鎻愮叅鍗�
+ if (this.roleType == 1 || this.roleType == 2) {
+ this.$reqGet('getJhOrderPlanDataPage', { current: 1, size: 10 }).then(res => {
+ if (res.data.records) {
+ this.indexHistoryCoalData = res.data.records;
+ uni.hideLoading();
+ uni.stopPullDownRefresh();
+ } else {
+ this.$u.toast('鍔犺浇澶辫触');
+ }
+ });
+ }
+ // 瀹㈡埛鑾峰彇鏃ヨ鍒�
+ if (this.roleType == 1) {
+ this.$reqGet('GetOrderPlan').then(res => {
+ if (res.data) {
+ this.orderPlanDataStore = res.data;
+ this.$u.toast('鍔犺浇鎴愬姛');
+ uni.hideLoading();
+ uni.stopPullDownRefresh();
+ } else {
+ this.$u.toast('鍔犺浇澶辫触');
+ }
+ });
+ } else if (this.roleType == 2) {
+ this.$reqGet('huoDaiList').then(res => {
+ if (res.data) {
+ this.indexHuoDaiOrderPlanData = res.data;
+ this.$u.toast('鍔犺浇鎴愬姛');
+ uni.hideLoading();
+ uni.stopPullDownRefresh();
+ } else {
+ this.$u.toast('鍔犺浇澶辫触');
+ }
+ });
+ } else if (this.roleType == 3) {
+ this.$reqGet('qiangDanList').then(res => {
+ if (res.code == 0) {
+ this.indexdriverBillOfLoadingData = res.data;
+ this.$u.toast('鍔犺浇鎴愬姛');
+ uni.hideLoading();
+ uni.stopPullDownRefresh();
+ } else {
+ this.$u.toast('鍔犺浇澶辫触');
+ uni.hideLoading();
+ uni.stopPullDownRefresh();
+ }
+ });
+ }
},
onLoad() {
// 寮�鍚弻浜洪�氳瘽
@@ -50,14 +108,40 @@
data() {
return {
roleType: null,
- orderPlanDataStore: []
+ orderPlanDataStore: [],
+ indexHuoDaiOrderPlanData: [],
+ indexHistoryCoalData: [],
+ 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'
+ });
+ },
init() {
this.roleType = uni.getStorageSync('roleType');
switch (this.roleType) {
@@ -119,9 +203,88 @@
console.log('鑾峰彇澶辫触');
}
});
+ },
+ // 鍒濆鍖杦ebsocket
+ 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;
}
}
};
</script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.search-bar {
+ height: vww(20);
+ width: 96%;
+ margin: vww(3) auto;
+ position: relative;
+ .icon-box {
+ width: vww(30);
+ height: vww(30);
+ background-color: #eee;
+ border-radius: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ position: absolute;
+ right: vww(-3);
+ }
+}
+</style>
--
Gitblit v1.9.1