detection-business/components/staffTabBer/tabBar.vue

183 lines
3.6 KiB
Vue
Raw Normal View History

2024-09-11 15:55:28 +08:00
<template>
<view class="bottoms">
<view class="box" @click="getgogo(1)">
<view class="imgs">
2025-04-30 15:05:20 +08:00
<image src="../../static/detection/sy.png" v-show="aindex == 1"></image>
<image src="../../static/detection/syw.png" v-show="aindex != 1"></image>
2024-09-11 15:55:28 +08:00
</view>
<view class="xzz" v-show="aindex == 1">首页</view>
2025-04-30 15:05:20 +08:00
<view class="wxz" v-show="aindex != 1">首页</view>
2024-09-11 15:55:28 +08:00
</view>
2024-11-11 13:18:56 +08:00
2024-09-11 15:55:28 +08:00
<view class="box" @click="getgogo(3)">
<view class="imgs">
2025-04-30 15:05:20 +08:00
<image src="../../static/detection/wd.png" v-show="aindex == 3"></image>
<image src="../../static/detection/wdw.png" v-show="aindex != 3"></image>
2024-09-11 15:55:28 +08:00
</view>
<view class="xzz" v-show="aindex == 3">我的</view>
2025-04-30 15:05:20 +08:00
<view class="wxz" v-show="aindex != 3">我的</view>
2024-11-11 13:18:56 +08:00
2024-09-11 15:55:28 +08:00
</view>
</view>
</template>
<script>
2024-11-09 11:50:25 +08:00
const innerAudioContext = uni.createInnerAudioContext();
2024-09-11 15:55:28 +08:00
import request from '../../utils/request';
2025-04-30 15:05:20 +08:00
export default {
data() {
return {
2024-11-11 11:25:51 +08:00
msgSocket: null,
2025-04-30 15:05:20 +08:00
aindex: 1,
arr: [{
text: '首页'
},
{
text: '个人中心'
},
2024-09-11 15:55:28 +08:00
],
2024-11-11 13:18:56 +08:00
2024-09-11 15:55:28 +08:00
}
},
2025-04-30 15:05:20 +08:00
props: {
msg: String,
2024-11-11 13:18:56 +08:00
2024-09-11 15:55:28 +08:00
},
onLoad() {
this.aindex = this.msg
},
mounted() {
2024-11-11 13:18:56 +08:00
2024-11-11 11:25:51 +08:00
this.msgSocket = this.$msgSocket,
2025-04-30 15:05:20 +08:00
console.log('this.msgSocket', this.$msgSocket);
2024-09-11 15:55:28 +08:00
this.aindex = this.msg
},
2024-11-09 11:50:25 +08:00
watch: {
msgSocket(newVal, oldVal) {
console.log('msgSocket值发生变化', newVal, oldVal)
this.msgInfo()
},
deep: true,
},
2025-04-30 15:05:20 +08:00
methods: {
2025-05-07 16:06:58 +08:00
dianyidain(msg) {
2024-11-11 13:18:56 +08:00
// console.log('执行了dianyidain');
2025-05-07 16:06:58 +08:00
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;
2024-11-09 11:50:25 +08:00
// 设置播放次数和计数器
const playCount = 3;
let currentCount = 0;
2024-11-11 13:18:56 +08:00
2024-11-09 11:50:25 +08:00
// 监听音频播放结束事件
innerAudioContext.onEnded(() => {
// 播放计数加一
currentCount++;
2024-11-11 13:18:56 +08:00
2024-11-09 11:50:25 +08:00
// 判断是否达到播放次数上限
if (currentCount < playCount) {
// 继续播放
innerAudioContext.play();
} else {
// 播放完成,可以在这里添加额外的逻辑
console.log('播放完成');
}
});
2024-11-11 13:18:56 +08:00
2024-11-09 11:50:25 +08:00
// 初次播放
innerAudioContext.play();
},
msgInfo() {
console.log(this.msgSocket, 'msgSocket')
if (this.msgSocket) {
console.log('消息回调启动成功')
this.msgSocket.onMessage(res => {
console.log("发出提示音");
2024-11-11 13:18:56 +08:00
2025-05-07 16:06:58 +08:00
this.dianyidain(res.data)
2024-11-09 11:50:25 +08:00
})
}
2024-11-11 13:18:56 +08:00
2024-11-09 11:50:25 +08:00
},
2025-04-30 15:05:20 +08:00
getgogo(index) {
if (index == 1) {
2024-09-11 15:55:28 +08:00
this.aindex = index
2025-06-10 17:53:26 +08:00
let chooseIdx = uni.getStorageSync("chooseIdx")
if (chooseIdx == 3) {
uni.reLaunch({
url: '/pages/businessManager/businessManager'
});
} else {
uni.reLaunch({
url: '/pages/staff/staff'
});
}
2024-09-11 15:55:28 +08:00
}
2025-04-30 15:05:20 +08:00
if (index == 3) {
2024-09-11 15:55:28 +08:00
this.aindex = index
2025-04-30 15:05:20 +08:00
uni.reLaunch({
url: '/pages/staff/staff-my'
})
2024-11-11 13:18:56 +08:00
2024-09-11 15:55:28 +08:00
}
2025-04-30 15:05:20 +08:00
if (index == 4) {
2024-09-11 15:55:28 +08:00
this.aindex = index
2025-04-30 15:05:20 +08:00
uni.showToast({
title: '此功能暂未开发',
icon: 'none'
})
2024-09-11 15:55:28 +08:00
}
2024-11-11 13:18:56 +08:00
2024-09-11 15:55:28 +08:00
}
}
2024-11-11 13:18:56 +08:00
2024-09-11 15:55:28 +08:00
}
</script>
<style scoped lang="scss">
2025-04-30 15:05:20 +08:00
.bottoms {
2024-09-11 15:55:28 +08:00
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;
2024-11-11 13:18:56 +08:00
2024-09-11 15:55:28 +08:00
}
2025-04-30 15:05:20 +08:00
.box {
2024-09-11 15:55:28 +08:00
width: 50%;
text-align: center;
font-size: 12px;
}
2025-04-30 15:05:20 +08:00
.imgs {
margin: 0 auto;
margin-top: 10px;
2024-09-11 15:55:28 +08:00
width: 18px;
height: 16px;
2025-04-30 15:05:20 +08:00
image {
2024-09-11 15:55:28 +08:00
width: 100%;
height: 100%;
}
}
2025-04-30 15:05:20 +08:00
.xzz {
2024-09-11 15:55:28 +08:00
color: #0D2E8D;
}
2025-04-30 15:05:20 +08:00
.wxz {
2024-09-11 15:55:28 +08:00
color: #AAAAAA;
}
2025-04-30 15:05:20 +08:00
</style>