优化设备订阅的操作方式
This commit is contained in:
@@ -4,10 +4,10 @@
|
||||
<div class="page-title">设备列表</div>
|
||||
<div class="page-header-btn">
|
||||
搜索:
|
||||
<el-input @input="getDeviceList" style="margin-right: 1rem; width: auto;" size="mini" placeholder="关键字"
|
||||
<el-input @input="initData" style="margin-right: 1rem; width: auto;" size="mini" placeholder="关键字"
|
||||
prefix-icon="el-icon-search" v-model="searchSrt" clearable></el-input>
|
||||
在线状态:
|
||||
<el-select size="mini" style="width: 8rem; margin-right: 1rem;" @change="getDeviceList" v-model="online" placeholder="请选择"
|
||||
<el-select size="mini" style="width: 8rem; margin-right: 1rem;" @change="initData" v-model="online" placeholder="请选择"
|
||||
default-first-option>
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="在线" value="true"></el-option>
|
||||
@@ -22,10 +22,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<!--设备列表-->
|
||||
<el-table size="medium" :data="deviceList" style="width: 100%;font-size: 12px;" :height="winHeight" header-row-class-name="table-header">
|
||||
<el-table size="medium" :data="deviceList" style="width: 100%;font-size: 12px;" :height="winHeight" header-row-class-name="table-header">
|
||||
<el-table-column prop="name" label="名称" min-width="160">
|
||||
</el-table-column>
|
||||
<el-table-column prop="deviceId" label="设备编号" min-width="200" >
|
||||
<el-table-column prop="deviceId" label="设备编号" min-width="160" >
|
||||
</el-table-column>
|
||||
<el-table-column label="地址" min-width="160" >
|
||||
<template v-slot:default="scope">
|
||||
@@ -35,9 +35,9 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="manufacturer" label="厂家" min-width="120" >
|
||||
<el-table-column prop="manufacturer" label="厂家" min-width="100" >
|
||||
</el-table-column>
|
||||
<el-table-column prop="transport" label="信令传输模式" min-width="120" >
|
||||
<el-table-column prop="transport" label="信令传输模式" min-width="100" >
|
||||
</el-table-column>
|
||||
<el-table-column label="流传输模式" min-width="160" >
|
||||
<template v-slot:default="scope">
|
||||
@@ -48,9 +48,12 @@
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="channelCount" label="通道数" min-width="120" >
|
||||
<el-table-column label="通道数" min-width="100" >
|
||||
<template v-slot:default="scope">
|
||||
<span style="font-size: 1rem">{{scope.row.channelCount}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" min-width="120">
|
||||
<el-table-column label="状态" min-width="100">
|
||||
<template v-slot:default="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<el-tag size="medium" v-if="scope.row.onLine">在线</el-tag>
|
||||
@@ -58,18 +61,20 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="keepaliveTime" label="最近心跳" min-width="160" >
|
||||
</el-table-column>
|
||||
<el-table-column prop="registerTime" label="最近注册" min-width="160">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="updateTime" label="更新时间" width="140">-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column prop="createTime" label="创建时间" width="140">-->
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
<el-table-column label="操作" min-width="380" fixed="right">
|
||||
<el-table-column label="订阅" min-width="260" >
|
||||
<template v-slot:default="scope">
|
||||
<el-button type="text" size="medium" v-bind:disabled="scope.row.online==0" icon="el-icon-refresh" @click="refDevice(scope.row)"
|
||||
<el-checkbox label="目录" :checked="scope.row.subscribeCycleForCatalog > 0" @change="(e)=>subscribeForCatalog(scope.row.id, e)"></el-checkbox>
|
||||
<el-checkbox label="位置" :checked="scope.row.subscribeCycleForMobilePosition > 0" @change="(e)=>subscribeForMobilePosition(scope.row.id, e)"></el-checkbox>
|
||||
<el-checkbox label="报警" disabled :checked="scope.row.subscribeCycleForAlarm > 0"></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="keepaliveTime" label="最近心跳" min-width="140" >
|
||||
</el-table-column>
|
||||
<el-table-column prop="registerTime" label="最近注册" min-width="140">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" min-width="300" fixed="right">
|
||||
<template v-slot:default="scope">
|
||||
<el-button type="text" size="medium" v-bind:disabled="scope.row.online===0" icon="el-icon-refresh" @click="refDevice(scope.row)"
|
||||
@mouseover="getTooltipContent(scope.row.deviceId)">刷新
|
||||
</el-button>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
@@ -79,13 +84,13 @@
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-button size="medium" icon="el-icon-edit" type="text" @click="edit(scope.row)">编辑</el-button>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-button size="medium" icon="el-icon-delete" type="text" @click="deleteDevice(scope.row)" style="color: #f56c6c">删除</el-button>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-dropdown @command="(command)=>{moreClick(command, scope.row)}">
|
||||
<el-button size="medium" type="text" >
|
||||
操作<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item command="delete" style="color: #f56c6c">
|
||||
删除</el-dropdown-item>
|
||||
<el-dropdown-item command="setGuard" v-bind:disabled="!scope.row.onLine">
|
||||
布防</el-dropdown-item>
|
||||
<el-dropdown-item command="resetGuard" v-bind:disabled="!scope.row.onLine">
|
||||
@@ -164,6 +169,8 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
initData: function () {
|
||||
this.currentPage = 1;
|
||||
this.total= 0;
|
||||
this.getDeviceList();
|
||||
},
|
||||
currentChange: function (val) {
|
||||
@@ -346,6 +353,8 @@ export default {
|
||||
this.setGuard(itemData)
|
||||
}else if (command === "resetGuard") {
|
||||
this.resetGuard(itemData)
|
||||
}else if (command === "delete") {
|
||||
this.deleteDevice(itemData)
|
||||
}
|
||||
},
|
||||
setGuard: function (itemData) {
|
||||
@@ -394,6 +403,67 @@ export default {
|
||||
})
|
||||
});
|
||||
},
|
||||
subscribeForCatalog: function (data, value) {
|
||||
console.log(data)
|
||||
console.log(value)
|
||||
this.$axios({
|
||||
method: 'get',
|
||||
url: `/api/device/query/subscribe/catalog`,
|
||||
params: {
|
||||
id: data,
|
||||
cycle: value?60:0
|
||||
}
|
||||
}).then( (res)=> {
|
||||
if (res.data.code === 0) {
|
||||
this.$message.success({
|
||||
showClose: true,
|
||||
message: value?"订阅成功":"取消订阅成功"
|
||||
})
|
||||
}else {
|
||||
this.$message.error({
|
||||
showClose: true,
|
||||
message: res.data.msg
|
||||
})
|
||||
}
|
||||
}).catch( (error)=> {
|
||||
this.$message.error({
|
||||
showClose: true,
|
||||
message: error.message
|
||||
})
|
||||
});
|
||||
|
||||
},
|
||||
subscribeForMobilePosition: function (data, value) {
|
||||
console.log(data)
|
||||
console.log(value)
|
||||
this.$axios({
|
||||
method: 'get',
|
||||
url: `/api/device/query/subscribe/mobile-position`,
|
||||
params: {
|
||||
id: data,
|
||||
cycle: value?60:0,
|
||||
interval: value?5:0
|
||||
}
|
||||
}).then( (res)=> {
|
||||
if (res.data.code === 0) {
|
||||
this.$message.success({
|
||||
showClose: true,
|
||||
message: value?"订阅成功":"取消订阅成功"
|
||||
})
|
||||
}else {
|
||||
this.$message.error({
|
||||
showClose: true,
|
||||
message: res.data.msg
|
||||
})
|
||||
}
|
||||
}).catch( (error)=> {
|
||||
this.$message.error({
|
||||
showClose: true,
|
||||
message: error.message
|
||||
})
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
<el-button size="mini">
|
||||
倍速 <i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item command="0.25">0.25倍速</el-dropdown-item>
|
||||
<el-dropdown-item command="0.5">0.5倍速</el-dropdown-item>
|
||||
<el-dropdown-item command="1.0">1倍速</el-dropdown-item>
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
<el-button size="medium" type="text" >
|
||||
更多<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item command="records" v-bind:disabled="device == null || device.online === 0">
|
||||
设备录像</el-dropdown-item>
|
||||
<el-dropdown-item command="cloudRecords" v-bind:disabled="device == null || device.online === 0" >
|
||||
|
||||
@@ -43,21 +43,6 @@
|
||||
<el-option key="UTF-8" label="UTF-8" value="utf-8"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="地理坐标系" prop="geoCoordSys" >-->
|
||||
<!-- <el-select v-model="form.geoCoordSys" style="float: left; width: 100%" >-->
|
||||
<!-- <el-option key="WGS84" label="WGS84" value="WGS84"></el-option>-->
|
||||
<!-- <el-option key="GCJ02" label="GCJ02" value="GCJ02"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item v-if="this.isEdit" label="目录订阅" title="0为取消订阅" prop="subscribeCycleForCatalog" >
|
||||
<el-input v-model="form.subscribeCycleForCatalog" clearable ></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="this.isEdit" label="移动位置订阅" title="0为取消订阅" prop="subscribeCycleForCatalog" >
|
||||
<el-input v-model="form.subscribeCycleForMobilePosition" clearable ></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.subscribeCycleForMobilePosition > 0" label="移动位置报送间隔" prop="subscribeCycleForCatalog" >
|
||||
<el-input v-model="form.mobilePositionSubmissionInterval" clearable ></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="其他选项">
|
||||
<el-checkbox label="SSRC校验" v-model="form.ssrcCheck" style="float: left"></el-checkbox>
|
||||
<el-checkbox label="作为消息通道" v-model="form.asMessageChannel" style="float: left"></el-checkbox>
|
||||
@@ -122,12 +107,6 @@ export default {
|
||||
onSubmit: function () {
|
||||
console.log("onSubmit");
|
||||
console.log(this.form);
|
||||
this.form.subscribeCycleForCatalog = this.form.subscribeCycleForCatalog||0
|
||||
this.form.subscribeCycleForMobilePosition = this.form.subscribeCycleForMobilePosition||0
|
||||
this.form.mobilePositionSubmissionInterval = this.form.mobilePositionSubmissionInterval||0
|
||||
if (this.form.mobilePositionSubmissionInterval === 0) {
|
||||
this.form.mobilePositionSubmissionInterval = 5
|
||||
}
|
||||
this.$axios({
|
||||
method: 'post',
|
||||
url:`/api/device/query/device/${this.isEdit?'update':'add'}/`,
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
<el-button>
|
||||
更多地址<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item v-if="streamInfo.flv" :command="streamInfo.flv">
|
||||
<el-tag>FLV:</el-tag>
|
||||
<span>{{ streamInfo.flv }}</span>
|
||||
|
||||
Reference in New Issue
Block a user