mbp
3 months ago
13 changed files with 233 additions and 25 deletions
@ -0,0 +1,79 @@ |
|||||
|
<template> |
||||
|
<Dialog v-if="data" v-model="visibleModel" :title="data.deviceName" width="600px"> |
||||
|
<img @click="controlDialogVisible = true" v-if="[0, '0'].includes( |
||||
|
data.parseOtherConfig && |
||||
|
data.parseOtherConfig.ptzCtrl |
||||
|
) |
||||
|
" src="@screen/images/camera-control-icon.svg" width="18px" height="18px" |
||||
|
style="cursor: pointer;background-color: #0d5f79;position: absolute;right: 60px; margin-top:-42px;" /> |
||||
|
<Video class="video-stream" :camId="data.iotDeviceId" /> |
||||
|
|
||||
|
<CameraControlDialog :deviceId="data.iotDeviceId" :dialogData="data" :visible="controlDialogVisible" @update:value="handleClose" /> |
||||
|
</Dialog> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import Dialog from "@screen/components/Dialog/index.vue"; |
||||
|
import Button from "@screen/components/Buttons/Button.vue"; |
||||
|
|
||||
|
import Video from "@screen/components/Video/Video.vue" |
||||
|
import request from "@/utils/request"; |
||||
|
import { getBoardDeviceInfo } from "@/api/board/board"; |
||||
|
import CameraControlDialog from "@screen/pages/Home/components/Dialogs/Camera/components/CameraControlDialog.vue"; |
||||
|
|
||||
|
export default { |
||||
|
name: "DialogCamera", |
||||
|
components: { |
||||
|
Dialog, |
||||
|
Button, |
||||
|
Video, |
||||
|
CameraControlDialog, |
||||
|
}, |
||||
|
props: { |
||||
|
visible: { |
||||
|
type: Boolean, |
||||
|
default: false, |
||||
|
}, |
||||
|
data: { |
||||
|
type: Object, |
||||
|
default: null, |
||||
|
}, |
||||
|
}, |
||||
|
emit: ["close"], |
||||
|
data() { |
||||
|
return { |
||||
|
selectedBdMsg:[], |
||||
|
selectedSize:null, |
||||
|
controlDialogVisible: false, |
||||
|
dialogData: {}, |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
visibleModel: { |
||||
|
get() { |
||||
|
if (this.visible) this.getData(); |
||||
|
return this.visible; |
||||
|
}, |
||||
|
set(bool) { |
||||
|
this.$emit("close", bool); |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
methods: { |
||||
|
handleClose() { |
||||
|
this.controlDialogVisible = false; |
||||
|
}, |
||||
|
getData() { |
||||
|
|
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.video-stream { |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
||||
|
|
||||
|
</style> |
Loading…
Reference in new issue