detection-business/components/staffTabBer/tabBar.vue

183 lines
3.6 KiB
Vue
Raw Normal View History

2025-08-08 14:27:37 +08:00
<template>
<view class="bottoms">
<view class="box" @click="getgogo(1)">
<view class="imgs">
<image src="../../static/tabBar/homex.png" v-show="aindex == 1"></image>
<image src="../../static/tabBar/home.png" v-show="aindex != 1"></image>
</view>
<view class="xzz" v-show="aindex == 1">首页</view>
<view class="wxz" v-show="aindex != 1">首页</view>
</view>
<view class="box" @click="getgogo(3)">
<view class="imgs">
<image src="../../static/tabBar/myx.png" v-show="aindex == 3"></image>
<image src="../../static/tabBar/my.png" v-show="aindex != 3"></image>
</view>
<view class="xzz" v-show="aindex == 3">我的</view>
<view class="wxz" v-show="aindex != 3">我的</view>
</view>
</view>
</template>
<script>
const innerAudioContext = uni.createInnerAudioContext();
import request from '../../utils/request';
export default {
data() {
return {
msgSocket: null,
aindex: 1,
arr: [{
text: '首页'
},
{
text: '个人中心'
},
],
}
},
props: {
msg: String,
},
onLoad() {
this.aindex = this.msg
},
mounted() {
this.msgSocket = this.$msgSocket,
console.log('this.msgSocket', this.$msgSocket);
this.aindex = this.msg
},
watch: {
msgSocket(newVal, oldVal) {
console.log('msgSocket值发生变化', newVal, oldVal)
this.msgInfo()
},
deep: true,
},
methods: {
dianyidain(msg) {
// console.log('执行了dianyidain');
console.log('消息内容', msg);
let src = 'https://www.nuoyunr.com/lananRsc/rescue/msgV.mp3'
if (msg == '客户即将到店') {
src = "https://www.nuoyunr.com/lananRsc/rescue/inspection.mp3"
}
innerAudioContext.src = src;
// 设置播放次数和计数器
const playCount = 3;
let currentCount = 0;
// 监听音频播放结束事件
innerAudioContext.onEnded(() => {
// 播放计数加一
currentCount++;
// 判断是否达到播放次数上限
if (currentCount < playCount) {
// 继续播放
innerAudioContext.play();
} else {
// 播放完成,可以在这里添加额外的逻辑
console.log('播放完成');
}
});
// 初次播放
innerAudioContext.play();
},
msgInfo() {
console.log(this.msgSocket, 'msgSocket')
if (this.msgSocket) {
console.log('消息回调启动成功')
this.msgSocket.onMessage(res => {
console.log("发出提示音");
this.dianyidain(res.data)
})
}
},
getgogo(index) {
if (index == 1) {
this.aindex = index
let chooseIdx = uni.getStorageSync("chooseIdx")
if (chooseIdx == 3 || chooseIdx == 4) {
uni.reLaunch({
url: '/pages/businessManager/businessManager'
});
} else {
uni.reLaunch({
url: '/pages/staff/staff'
});
}
}
if (index == 3) {
this.aindex = index
uni.reLaunch({
url: '/pages/staff/staff-my'
})
}
if (index == 4) {
this.aindex = index
uni.showToast({
title: '此功能暂未开发',
icon: 'none'
})
}
}
}
}
</script>
<style scoped lang="scss">
.bottoms {
width: 100%;
height: 50px;
position: fixed;
bottom: 0px;
background: white;
display: flex;
justify-content: space-between;
font-size: 14px;
font-weight: 400;
z-index: 9999999999999999999999999999999999999999999999999999999;
}
.box {
width: 50%;
text-align: center;
font-size: 12px;
}
.imgs {
margin: 0 auto;
margin-top: 10px;
width: 48rpx;
height: 46rpx;
image {
width: 100%;
height: 100%;
}
}
.xzz {
color: #327DFB;
}
.wxz {
color: #AAAAAA;
}
</style>