lxh 4 달 전
부모
커밋
9d9137fc85

+ 15 - 6
src/views/vent/monitorManager/airDoor/components/door-content-r.vue

@@ -143,7 +143,7 @@ const dictCodes = getDictItemsByCode('gateCentralizedControl');
 //是否开启分组
 let isOpenFz = ref('')
 //分组选中
-let choiceFzData=ref<any[]>([])
+let choiceFzData = ref<any[]>([])
 
 const setChildRef = (el, index) => {
   childRefs.value[index] = el
@@ -203,7 +203,12 @@ async function handleOkTime(param) {
   if (res) {
     visibleTime.value = param.visib
     Ids.value = ''
-    createMessage.success('设置定时成功!');
+    if (res.code == 500) {
+      createMessage.error(res.message);
+    } else {
+      createMessage.success(res.message);
+    }
+
   }
 
 }
@@ -290,7 +295,7 @@ function handlerFz(item) {
     infoDatas.value.forEach(el => {
       el.iconControl = true
     })
-    choiceFzData.value=infoDatas.value
+    choiceFzData.value = [...infoDatas.value]
   } else {
     infoDatas.value.forEach(el => {
       if (el.gateCentralizedControl == item.value) {
@@ -299,16 +304,20 @@ function handlerFz(item) {
         el.iconControl = false
       }
     })
-   choiceFzData.value=infoDatas.value.filter(v=>v.gateCentralizedControl==item.value)
+    choiceFzData.value = infoDatas.value.filter(v => v.gateCentralizedControl == item.value)
   }
 }
 //分组中添加或删除元素
 async function handlerAddorDel(item) {
   if (isOpenFz.value) {
     item.iconControl = !item.iconControl
-    choiceFzData.value.push(item)
+    if (item.iconControl) {
+      choiceFzData.value.push(item)
+    } else {
+      choiceFzData.value.pop()
+    }
     // // let res = await editDoor({ gateCentralizedControl: isOpenFz.value, id: item.deviceID })
-    // console.log(isOpenFz.value, '开启分组并且当前点击项已有分组')
+    console.log(choiceFzData.value, '开启分组并且当前点击项已有分组')
   } else {
     isOpenFz.value = ''
   }

+ 39 - 30
src/views/vent/monitorManager/airDoor/components/tipModal.vue

@@ -1,10 +1,9 @@
 <template>
   <div class="sync-modal">
-    <a-modal v-model:visible="anc" width="450px" :title="Title" centered destroyOnClose
-      @ok="$emit('handleCancel', false)" @cancel="$emit('handleCancel', false)">
-
+    <a-modal v-model:visible="Visible" width="450px" :title="Title" centered destroyOnClose @ok="handleCancel"
+      @cancel="handleCancel">
       <p>
-        <exclamation-circle-outlined style="font-size: 16px;color:darkorange"  />
+        <exclamation-circle-outlined style="font-size: 16px; color: darkorange" />
         还有{{ timeout }}秒执行全部风门“开启/关闭”操作,请注意风门安全!
       </p>
     </a-modal>
@@ -12,38 +11,48 @@
 </template>
 
 <script setup lang="ts">
-import { ref, reactive, watchEffect, onMounted,inject } from 'vue'
-import {
-  ExclamationCircleOutlined
-} from '@ant-design/icons-vue';
+import { ref, reactive, watchEffect, onMounted, inject, nextTick } from 'vue';
+import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
 let props = defineProps({
- 
   Title: {
     type: String,
-    default: '操作确认'
-  }
-})
+    default: '操作确认',
+  },
+});
+
+let timeout = ref(10);
+let Visible: any = inject('visibleTs30');
+
+// https获取监测数据
 
-let anc=inject( 'visibleTs30')
-let timeout = ref(10)
-let Visible = ref(false)
-let $emit = defineEmits(['handleCancel'])
-
-//倒数计时30s
-function timeInit() {
-  let timer = setInterval(() => {
-    if (timeout.value > 0) {
-      timeout.value--
-    } else {
-      timer = undefined
-      clearInterval(timer)
-      $emit('handleCancel', false)
-    }
-  }, 1000)
+function getMonitor() {
+  let timer = setTimeout(
+    () => {
+      if (timeout.value > 0) {
+        timeout.value--;
+      } else {
+        timer = undefined;
+        clearTimeout(timer)
+        Visible.value = false;
+      }
+      getMonitor();
+    },
+    1000
+  );
 }
-onMounted(() => {
-  timeInit()
+
+function handleCancel() {
+  Visible.value = false;
+}
+watchEffect(() => {
+  if (Visible.value) {
+    nextTick(() => {
+      getMonitor()
+    })
+
+  }
 })
+
 </script>
 
 <style lang="less" scoped>

+ 13 - 2
src/views/vent/monitorManager/camera/index.vue

@@ -59,6 +59,7 @@ let pagination = reactive({
   pageSize: 6,
 })
 let router = useRouter(); //路由
+let nodeData = reactive<any>({})
 
 async function getCameraDevKindList() {
   let res = await getCameraDevKind();
@@ -96,6 +97,7 @@ async function onClick(node) {
   selected.title = node.title;
   selected.isFolder = node.isFolder;
   if (node.pid != 'root') {
+     nodeData = Object.assign({}, node)
     if (node.isFolder) {
       let types, devicetype;
       if (node.itemValue.indexOf('&') != -1) {
@@ -122,7 +124,7 @@ async function onClick(node) {
       searchParam.devKind = node.itemValue;
       searchParam.strType = '';
       let paramKind = searchParam.devKind.substring(0, searchParam.devKind.indexOf('&'));
-      await getCamera('', playerRef, renderPlayer, pagination,'', paramKind);
+      await getCamera('', playerRef, renderPlayer, pagination, '', paramKind);
     } else {
       await getCamera(node.deviceID, playerRef, renderPlayer, pagination);
     }
@@ -169,7 +171,16 @@ function onDetail(node) {
 //分页
 async function onChange(page) {
   pagination.current = page
-  await getCamera('', playerRef, renderPlayer, pagination);
+  console.log()
+  if (nodeData.isFolder) {
+    let paramKind = nodeData.itemValue.substring(0, searchParam.devKind.indexOf('&'));
+    await getCamera('', playerRef, renderPlayer, pagination, '', paramKind);
+  } else if (!nodeData.isFolder) {
+    await getCamera(nodeData.deviceID, playerRef, renderPlayer, pagination);
+  } else {
+    await getCamera('', playerRef, renderPlayer, pagination);
+  }
+
 }
 
 onMounted(async () => {