From 29658de29b2eb5292bf0c2fad7427b374b769ebc Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期三, 10 五月 2023 20:29:31 +0800
Subject: [PATCH] 样式修改,引入字体,修改逻辑
---
pages/tabbar-page/index-tabbar/index-tabbar.vue | 302 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 295 insertions(+), 7 deletions(-)
diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index aa4986c..da810e4 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -1,9 +1,27 @@
<template>
- <view>
- <customer-index v-if="roleType == 1" ref="customerIndexRef"></customer-index>
- <freight-forwarder-index v-if="roleType == 2" ref="freightForwarderIndexRef"></freight-forwarder-index>
- <driver-index v-if="roleType == 3" ref="driverIndexRef"></driver-index>
+ <view class="max-block">
+ <view class="search-bar">
+ <view class="icon-body">
+ <view class="icon-box" @click="messagePage">
+ <u-badge :isDot="true" type="error" v-if="dotShow"></u-badge>
+ <u-icon name="chat" color="#fff" size="50"></u-icon>
+ </view>
+ </view>
+ </view>
+ <customer-index v-if="roleType == 1" ref="customerIndexRef" :orderPlanDataStore="orderPlanDataStore"></customer-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" confirm-text="鍓嶅幓鏌ョ湅">
+ <view class="slot-content"><rich-text :nodes="messageList.content"></rich-text></view>
+ </u-modal>
+ <view class="white-block"></view>
</view>
</template>
@@ -11,25 +29,145 @@
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 { webSocketUrl } from '@/api/request.js';
+let socket = null;
export default {
components: {
customerIndex,
driverIndex,
freightForwarderIndex
},
+ computed: {
+ ...mapState(['globalweighHouseCode', 'globalweigh'])
+ },
+ //棣栭〉涓嬫媺鍒锋柊
+ onPullDownRefresh() {
+ 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() {
+ // 寮�鍚弻浜洪�氳瘽
+ wx.setEnable1v1Chat({
+ enable: true,
+ backgroundType: 1,
+ minWindowType: 2,
+ success() {
+ console.log('寮�鍚弻浜洪�氳瘽鎴愬姛');
+ },
+ fail() {
+ console.log('寮�鍚弻浜洪�氳瘽澶辫触');
+ },
+ complete() {
+ console.log('寮�鍚弻浜洪�氳瘽鎴愬姛Complete');
+ }
+ });
+ let amap = require('../../../utils/amap-wx.130.js');
+ let amapPlugin = new amap.AMapWX({
+ key: 'e3106700a6225e6a25727d3a41fa54c5'
+ });
+ amapPlugin.getRegeo({
+ success: data => {
+ console.log(data, '鑾峰彇浣嶇疆');
+ },
+ fail: info => {
+ console.log(info, '閿欒淇℃伅');
+ }
+ });
+ },
data() {
return {
- roleType: null
+ roleType: null,
+ orderPlanDataStore: [],
+ indexHuoDaiOrderPlanData: [],
+ indexHistoryCoalData: [],
+ indexdriverBillOfLoadingData: {},
+ messagePushShow: false,
+ messageList: {},
+ isconnect: false,
+ dotShow: false,
+ amapPlugin: null,
+ key: 'e3106700a6225e6a25727d3a41fa54c5',
+ addressName: ''
};
},
onShow() {
this.init();
+ if (!this.isconnect) {
+ this.initWebsocket();
+ }
+ this.userAuthorization();
+ this.messageReq();
+ },
+ 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');
- console.log(this.roleType, 'indexTabbar');
switch (this.roleType) {
case 1:
console.log('customerIndexRef');
@@ -52,9 +190,159 @@
default:
break;
}
+ },
+ // 瑕佹眰鐢ㄦ埛鎺堟潈鐩告満/楹﹀厠椋庢潈闄�
+ userAuthorization() {
+ wx.getSetting({
+ success(res) {
+ // wx.startRecord();
+ console.log('success');
+ if (!res.authSetting['scope.record'] || !res.authSetting['scope.camera']) {
+ if (!res.authSetting['scope.camera']) {
+ wx.authorize({
+ scope: 'scope.camera',
+ success() {
+ // 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶
+ console.log('鎺堟潈鎴愬姛');
+ },
+ fail() {
+ console.log('鎺堟潈澶辫触');
+ }
+ });
+ } else if (!res.authSetting['scope.record']) {
+ wx.authorize({
+ scope: 'scope.record',
+ success() {
+ // 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶
+ console.log('鎺堟潈鎴愬姛');
+ },
+ fail: () => {
+ console.log('鎺堟潈澶辫触');
+ }
+ });
+ }
+ }
+ },
+ fail() {
+ 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 {
+ }
+ });
+ socket.onClose(e => {
+ console.log('webSocketClose', e);
+ this.isconnect = false;
+ });
+ socket.onError(err => {
+ console.log('socket鎶ラ敊', err);
+ this.$u.toast('鍑虹幇閿欒锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒');
+ });
+ },
+ messageconfirm() {
+ this.messagePushShow = false;
+ uni.navigateTo({
+ url: '/pages/public-page/message/message'
+ });
+ },
+ messageReq() {
+ this.$reqGet('getMessageByUser', { current: 1, size: 10 }).then(res => {
+ if (res.code == 0) {
+ this.messageList = res.data.records;
+ this.messageList.map(v => {
+ if (v.status !== 1) {
+ this.dotShow = true;
+ } else {
+ this.dotShow = false;
+ }
+ });
+ }
+ });
}
}
};
</script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.max-block {
+ font-family: siYuanLight !important;
+}
+.white-block {
+ width: 100%;
+ height: vww(20);
+ margin-top: vww(10);
+}
+.search-bar {
+ height: vww(20);
+ width: 96%;
+ position: absolute;
+ top: vww(96);
+ right: vww(32);
+ z-index: 1;
+ .icon-body {
+ position: relative;
+ display: flex;
+ justify-content: flex-end;
+ .icon-box {
+ width: vww(30);
+ height: vww(30);
+ border-radius: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ position: relative;
+ /deep/ .u-badge {
+ position: absolute;
+ left: vww(18);
+ top: vww(5);
+ z-index: 1;
+ }
+ }
+ }
+}
+</style>
--
Gitblit v1.9.1