소스 검색

feat: room10

anxiaoxia 4 주 전
부모
커밋
71a7e9b6fc

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
src/assets/taiguv1/svg/active_icon.svg


+ 3 - 0
src/assets/taiguv1/svg/unactive_icon.svg

@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle opacity="0.6" cx="12" cy="12" r="11.5" fill="white" stroke="#001428"/>
+</svg>

+ 22 - 3
src/views/envmonitor/taiguv1/components/RoomMore/index.vue

@@ -5,12 +5,15 @@
             <div
                 @click="handlezChange(item)"
                 class="item-box"
-                :class="item.id ? 'light-box-active ' : ''"
+                :class="{ 'light-box-active': selectedID === item.id }"
                 v-for="(item, index) in FORUMArr"
             >
                 <div class="name">{{ item.roomName }}</div>
                 <div style="width: 100rpx;">
-                    <SwitchButton />
+                    <img
+                        :src="selectedID === item.id? activeIcon: unactiveIcon"
+                        alt=""
+                    />
                 </div>
             </div>
         </div>
@@ -18,7 +21,9 @@
 </template>
 
 <script setup>
-import SwitchButton from '@/components/switch-button/SwitchButton.vue';
+import activeIcon from '@/assets/taiguv1/svg/active_icon.svg';
+import unactiveIcon from '@/assets/taiguv1/svg/unactive_icon.svg';
+import { ref } from 'vue';
 // 接收父组件传递的初始状态
 const props = defineProps({
     FORUMArr: {
@@ -26,10 +31,24 @@ const props = defineProps({
         default: () => {
             return []
         }
+    },
+    roomInfo: {
+        type: Object,
+        default: () => {
+            return {}
+        }
     }
 })
 
+// 接收父组件传递的方法
+const emit = defineEmits(['change'])
+const selectedID = ref(props.roomInfo.id);
 
+// 处理点击事件
+const handlezChange = (item) => {
+    selectedID.value = item.id;
+    emit('change', item)
+}
 
 
 </script>

+ 0 - 1
src/views/envmonitor/taiguv1/components/Volumn/index.vue

@@ -94,7 +94,6 @@ const setAudioStatus = type => {
       }
     })
   }
-  console.log(audioData.value[type], '11111111')
 
   const params = deviceControl.assemblyAudioCommand(customRound(audioData.value[type]), type, props.equipList)
   deviceControl.sendCommands(params)

+ 22 - 6
src/views/envmonitor/taiguv1/index.vue

@@ -191,7 +191,9 @@
             <div>
                 <RoomMore
                     v-if="popupType == 'roomMore'"
+                    @change="changeRoom"
                     :FORUMArr="FORUMArr"
+                    :roomInfo="roomInfo"
                 ></RoomMore>
                 <LightMore
                     v-if="popupType == 'lamp'"
@@ -307,6 +309,8 @@ const hasExecutedModeScene = ref(false)
 const store = useStore()
 
 onMounted(async () => {
+    console.log('========重新执行了');
+    
     //   TODO: 切换语言
     type.value = localStorage.getItem('lang') || 'zh-CN'
     locale.value = type.value
@@ -417,7 +421,7 @@ const getSpaceScene = params => {
                         if (nowTimestamp + 1000 * 30 >= startTimestamp && nowTimestamp <= endTimestamp + 1000 * 30) {
                             // TODO 会议场景
                             if (!hasExecutedModeScene.value) {
-                                spaceScene.value = modeScene || 'Meeting' // Meeting SceneDefaul
+                                spaceScene.value = modeScene // Meeting SceneDefaul
                                 initSpace()
                                 sendCommand()
                                 hasExecutedModeScene.value = true
@@ -453,7 +457,7 @@ const initSpace = () => {
     modeType.value = modeData.value[0].id
     spaceDevice.value = modeData.value[0]
 
-    lampScenceControlGroup.value.value = modeType.value
+    lampScenceControlGroup.value.value = Number(modeType.value)
 }
 
 // 切换场景模式
@@ -462,7 +466,8 @@ const changeMode = type => {
     if (modeType.value == 3) {
         spaceDevice.value.custom = true
     }
-    lampScenceControlGroup.value.value = modeType.value
+    lampScenceControlGroup.value.value = Number(modeType.value)
+
     // 切换模式重新下发指令
     sendCommand()
 }
@@ -484,7 +489,7 @@ const getLampScenceControlGroupId = () => {
         category: 'SELTLG'
     }
     findForServe(params).then(res => {
-        lampScenceControlGroup.value.id = res.data[0] ?.id
+        lampScenceControlGroup.value.id = res.data[0]?.id
     })
 }
 
@@ -667,11 +672,22 @@ const handleError = error => {
     // 跳转到错误页面
     router.push('/error')
 }
+const changeRoom = item => {
+    router.push({
+        path: '/index',
+        query: {
+            id: item.id
+        }
+    }).then(() => {
+        // 刷新页面
+        // window.location.reload();
+    });
+}
 
 //TODO: 8*************长按出培训室空间切换*************
 // 添加长按相关变量
 const pressTimerLogo = ref(null);
-const pressDurationLogo = 1000 * 10; // 长按时间阈值(10秒)
+const pressDurationLogo = 1000 * 1; // 长按时间阈值(10秒)
 
 // 开始按压图标
 const startPressLogo = () => {
@@ -748,7 +764,7 @@ onUnmounted(() => {
     .video-image {
         position: absolute;
         left: 50%;
-        top: 0;
+        top: -30px;
         transform: translateX(-50%);
         // width: 1020px;
         // height: auto;