This commit is contained in:
liuye
2022-06-28 09:15:10 +08:00
parent 6896dfd197
commit b9964d64b0
32 changed files with 1246 additions and 929 deletions

View File

@@ -1,6 +1,6 @@
<template>
<section class="AppISManage">
<device-slider :permissions="permissions" :show.sync="slider" :ins="instance" :dict="dict" @treeCommand="handleSliderOption" @select="handleSelectMonitor" :render-item="renderTreeItem" ref="DeviceSlider" />
<device-slider :permissions="permissions" :show.sync="slider" :instance="instance" :dict="dict" @treeCommand="handleSliderOption" @select="handleSelectMonitor" :render-item="renderTreeItem" ref="DeviceSlider" />
<div class="monitorPane" v-loading="isLoading" element-loading-background="rgba(0, 0, 0, 0.6)">
<div class="headerBar">
<el-select default-first-option size="small" v-model="splitScreen" @change="onChange">
@@ -54,8 +54,7 @@
splitOps() {
return [
{ label: '单分屏', value: 1, per: '100%' },
{ label: '四分屏', value: 4, per: '49.2%' },
{ label: '九分屏', value: 9, per: '32%' },
{ label: '四分屏', value: 4, per: '49.2%' }
]
},
currentSplitStyle() {

View File

@@ -1,6 +1,6 @@
<template>
<section class="AppISMap">
<device-slider :show.sync="slider" :ins="instance" :dict="dict" @list="v=>list=v" @select="markerClickEvent"/>
<device-slider :show.sync="slider" :instance="instance" :dict="dict" @list="v=>list=v" @select="markerClickEvent"/>
<div id="amap"/>
<div ref="selectedInfoWin" class="selected">
<b>{{ selected.deviceName }}</b>

View File

@@ -22,7 +22,10 @@
prefix-icon="el-icon-search"
@clear="search.name = '', handleTreeFilter()" clearable/>
</div>
<div title>设备列表</div>
<div title>
<div>设备列表</div>
<el-button type="text" icon="iconfont iconResetting" @click="updateDev" size="mini" :loading="btnLoading">刷新</el-button>
</div>
<div fill class="deviceList">
<el-tree ref="deviceTree" highlight-current :render-content="renderItem" :data="treeData" :props="propsConfig"
@node-click="handleNodeClick" @node-contextmenu="nodeContextmenu"
@@ -48,10 +51,10 @@ export default {
name: "deviceSlider",
props: {
show: Boolean,
ins: Function,
instance: Function,
dict: Object,
permissions: Function,
renderItem: Function
renderItem: Function,
},
computed: {
overview() {
@@ -98,7 +101,8 @@ export default {
x: '',
y: '',
node: {}
}
},
btnLoading: false,
}
},
methods: {
@@ -110,8 +114,10 @@ export default {
this.isShowMenu = false
},
getDevices() {
this.ins.post("/app/appzyvideoequipment/tree", null, {
params: {size: 999}
this.instance.post(`/app/appzyvideoequipment/tree`, null, {
params: {
size: 999
}
}).then(res => {
if (res?.data) {
this.staData = res.data.count
@@ -122,6 +128,21 @@ export default {
})
},
updateDev() {
this.btnLoading = true
this.instance.post(`/app/appzyvideoequipment/sync`, null, {
timeout: 1000000
}).then(res => {
if (res.code == 0) {
this.$message.success('更新成功')
this.getDevices()
}
this.btnLoading = false
}).catch(() => {
this.btnLoading = false
})
},
handleTreeCommand(e, node) {
this.$emit('treeCommand', {
type: e,
@@ -154,14 +175,16 @@ export default {
handleTreeFilter() {
this.$refs.deviceTree?.filter(this.search.name)
},
onChange() {
this.$refs.deviceTree?.filter(this.search.name)
}
},
},
created() {
this.dict.load("deviceStatus")
this.getDevices()
this.$dict.load("deviceStatus").then(()=>{
this.getDevices()
})
},
mounted() {
@@ -247,6 +270,18 @@ export default {
background: #3E4A69;
padding: 0 16px;
line-height: 28px;
display: flex;
justify-content: space-between;
align-items: center;
::v-deep .el-button {
padding: 0 4px;
height: 28px;
background: #3E4A69;
}
::v-deep .el-button:hover {
border: none;
}
}
::v-deep.deviceList {