国标级联通道共享支持按照设备添加共享和移除共享

This commit is contained in:
648540858
2024-08-29 11:08:42 +08:00
parent 1efb5fca0f
commit e55cd08b08
15 changed files with 179 additions and 146 deletions

View File

@@ -19,12 +19,12 @@
:value="item.id">
</el-option>
</el-select>
流状态:
流状态:
<el-select size="mini" style="margin-right: 1rem;" @change="getStreamProxyList" v-model="pulling" placeholder="请选择"
default-first-option>
<el-option label="全部" value=""></el-option>
<el-option label="正在拉流" value="true"></el-option>
<el-option label="拉流未进行" value="false"></el-option>
<el-option label="尚未拉流" value="false"></el-option>
</el-select>
<el-button icon="el-icon-plus" size="mini" style="margin-right: 1rem;" type="primary" @click="addStreamProxy">添加代理</el-button>
<el-button v-if="false" icon="el-icon-search" size="mini" style="margin-right: 1rem;" type="primary" @click="addOnvif">搜索ONVIF</el-button>
@@ -58,8 +58,8 @@
<el-table-column label="拉流状态" min-width="120" >
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<el-tag size="medium" v-if="scope.row.pulling">在线</el-tag>
<el-tag size="medium" type="info" v-if="!scope.row.pulling">离线</el-tag>
<el-tag size="medium" v-if="scope.row.pulling">正在拉流</el-tag>
<el-tag size="medium" type="info" v-if="!scope.row.pulling">尚未拉流</el-tag>
</div>
</template>
</el-table-column>
@@ -72,7 +72,7 @@
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建时间" min-width="150" show-overflow-tooltip/>
<el-table-column label="操作" width="360" fixed="right">
<el-table-column label="操作" width="400" fixed="right">
<template slot-scope="scope">
<el-button size="medium" icon="el-icon-video-play" type="text" @click="play(scope.row)">播放</el-button>
<el-divider direction="vertical"></el-divider>

View File

@@ -7,6 +7,7 @@
:close-on-click-modal="false"
:visible.sync="showDialog"
:destroy-on-close="true"
append-to-body
@close="close()"
>
<div class="page-header" style="width: 100%">

View File

@@ -35,6 +35,8 @@
<el-button v-if="hasShare ==='true'" size="mini" type="danger" @click="remove()">
移除
</el-button>
<el-button size="mini" @click="addByDevice()">按设备添加</el-button>
<el-button size="mini" @click="removeByDevice()">按设备移除</el-button>
<el-button size="mini" @click="addAll()">全部添加</el-button>
<el-button size="mini" @click="removeAll()">全部移除</el-button>
<el-button size="mini" @click="getChannelList()">刷新</el-button>
@@ -87,15 +89,17 @@
layout="total, sizes, prev, pager, next"
:total="total">
</el-pagination>
<gbDeviceSelect ref="gbDeviceSelect"></gbDeviceSelect>
</div>
</template>
<script>
import gbDeviceSelect from "./GbDeviceSelect.vue";
export default {
name: 'shareChannelAdd',
components: {},
components: {gbDeviceSelect},
props: [ 'platformId'],
data() {
return {
@@ -254,11 +258,78 @@ export default {
});
}).catch(() => {
});
},
addByDevice: function (row) {
this.$refs.gbDeviceSelect.openDialog((rows)=>{
let deviceIds = []
for (let i = 0; i < rows.length; i++) {
deviceIds.push(rows[i].id)
}
this.$axios({
method: 'post',
url: `/api/platform/channel/device/add`,
data: {
platformId: this.platformId,
deviceIds: deviceIds,
}
}).then((res)=> {
if (res.data.code === 0) {
this.$message.success({
showClose: true,
message: "保存成功"
})
this.initData()
}else {
this.$message.error({
showClose: true,
message: res.data.msg
})
}
}).catch((error)=> {
this.$message.error({
showClose: true,
message: error
})
this.loading = false
});
})
},
removeByDevice: function (row) {
this.$refs.gbDeviceSelect.openDialog((rows)=>{
let deviceIds = []
for (let i = 0; i < rows.length; i++) {
deviceIds.push(rows[i].id)
}
this.$axios({
method: 'post',
url: `/api/platform/channel/device/remove`,
data: {
platformId: this.platformId,
deviceIds: deviceIds,
}
}).then((res)=> {
if (res.data.code === 0) {
this.$message.success({
showClose: true,
message: "保存成功"
})
this.initData()
}else {
this.$message.error({
showClose: true,
message: res.data.msg
})
}
}).catch((error)=> {
this.$message.error({
showClose: true,
message: error
})
this.loading = false
});
})
},
remove: function (row) {
let channels = []