monitor.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <template>
  2. <div class="nine-square-grid">
  3. <div class="leftSideBar">
  4. <CameraGroupListAndTree />
  5. </div>
  6. <div class="toolbarAndCamerasGrid">
  7. <VideosGridBase :cameraInPlay="cameraInPlay" />
  8. </div>
  9. </div>
  10. </template>
  11. <script setup lang="ts">
  12. import { onMounted } from 'vue';
  13. import CameraGroupListAndTree from './CameraGroupListAndTree/CameraGroupListAndTree.vue';
  14. import VideosGridBase from './VideosGridBase/VideosGridBase.vue';
  15. import { useCameraGroupList } from '@/store/modules/useCameraGroupList';
  16. import { storeToRefs } from 'pinia';
  17. import { useTargetTenantIdStore } from '@/store/modules/useTargetTenantIdStore';
  18. import { useCameraStatus } from './hooks/useCameraStatus';
  19. const { cameraInPlay } = storeToRefs(useCameraGroupList());
  20. const { clear } = useTargetTenantIdStore();
  21. useCameraStatus();
  22. onMounted(() => {
  23. clear();
  24. });
  25. </script>
  26. <style lang="scss" scoped>
  27. .nine-square-grid {
  28. height: 100%;
  29. padding: 14px 10px;
  30. display: flex;
  31. border-radius: 4px;
  32. background: #fff;
  33. .leftSideBar {
  34. height: 100%;
  35. }
  36. .toolbarAndCamerasGrid {
  37. width: 100%;
  38. }
  39. }
  40. </style>