支持手动添加,为设备设置单独的密码

This commit is contained in:
648540858
2022-10-18 17:02:05 +08:00
parent e33e6a942c
commit 55b53caef1
19 changed files with 279 additions and 265 deletions

View File

@@ -3,6 +3,8 @@
<div class="page-header">
<div class="page-title">设备列表</div>
<div class="page-header-btn">
<el-button icon="el-icon-plus" size="mini" style="margin-right: 1rem;" type="primary" @click="add">添加设备
</el-button>
<el-button icon="el-icon-refresh-right" circle size="mini" :loading="getDeviceListLoading"
@click="getDeviceList()"></el-button>
</div>
@@ -16,7 +18,8 @@
<el-table-column label="地址" min-width="160" >
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.hostAddress }}</el-tag>
<el-tag v-if="scope.row.hostAddress" size="medium">{{ scope.row.hostAddress }}</el-tag>
<el-tag v-if="!scope.row.hostAddress" size="medium">未知</el-tag>
</div>
</template>
</el-table-column>
@@ -164,7 +167,6 @@ export default {
console.error(error);
this.getDeviceListLoading = false;
});
},
deleteDevice: function (row) {
let msg = "确定删除此设备?"
@@ -254,21 +256,6 @@ export default {
})
return result;
},
//通知设备上传媒体流
sendDevicePush: function (itemData) {
// let deviceId = this.currentDevice.deviceId;
// let channelId = itemData.channelId;
// console.log("通知设备推流1" + deviceId + " : " + channelId);
// let that = this;
// this.$axios({
// method: 'get',
// url: '/api/play/' + deviceId + '/' + channelId
// }).then(function(res) {
// let ssrc = res.data.ssrc;
// that.$refs.devicePlayer.play(ssrc,deviceId,channelId);
// }).catch(function(e) {
// });
},
transportChange: function (row) {
console.log(`修改传输方式为 ${row.streamMode}${row.deviceId} `);
let that = this;
@@ -290,9 +277,22 @@ export default {
});
setTimeout(this.getDeviceList, 200)
})
},
add: function () {
this.$refs.deviceEdit.openDialog(null, () => {
this.$refs.deviceEdit.close();
this.$message({
showClose: true,
message: "添加成功",
type: "success",
});
setTimeout(this.getDeviceList, 200)
})
}
}
};
</script>

View File

@@ -11,13 +11,17 @@
>
<div id="shared" style="margin-top: 1rem;margin-right: 100px;">
<el-form ref="form" :rules="rules" :model="form" label-width="200px" >
<el-form-item label="设备编号" >
<el-input v-model="form.deviceId" disabled></el-input>
<el-form-item label="设备编号" prop="deviceId">
<el-input v-if="isEdit" v-model="form.deviceId" disabled></el-input>
<el-input v-if="!isEdit" v-model="form.deviceId" clearable></el-input>
</el-form-item>
<el-form-item label="设备名称" prop="name">
<el-input v-model="form.name" clearable></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input type="password" v-model="form.password" clearable></el-input>
</el-form-item>
<el-form-item label="流媒体ID" prop="mediaServerId">
<el-select v-model="form.mediaServerId" style="float: left; width: 100%" >
<el-option key="auto" label="自动负载最小" value="auto"></el-option>
@@ -48,10 +52,10 @@
<el-option key="GCJ02" label="业务分组" value="BusinessGroup"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目录订阅" title="0为取消订阅" prop="subscribeCycleForCatalog" >
<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 label="移动位置订阅" title="0为取消订阅" prop="subscribeCycleForCatalog" >
<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" >
@@ -89,8 +93,9 @@ export default {
mediaServerList: [], // 滅体节点列表
mediaServerObj : new MediaServer(),
form: {},
isEdit: false,
rules: {
name: [{ required: true, message: "请输入名称", trigger: "blur" }]
deviceId: [{ required: true, message: "请输入设备编号", trigger: "blur" }]
},
};
},
@@ -98,6 +103,11 @@ export default {
openDialog: function (row, callback) {
console.log(row)
this.showDialog = true;
this.isEdit = false;
if (row) {
this.isEdit = true;
}
this.form = {};
this.listChangeCallback = callback;
if (row != null) {
this.form = row;
@@ -118,7 +128,7 @@ export default {
this.form.mobilePositionSubmissionInterval = this.form.mobilePositionSubmissionInterval||0
this.$axios({
method: 'post',
url:`/api/device/query/device/update/`,
url:`/api/device/query/device/${this.isEdit?'update':'add'}/`,
params: this.form
}).then((res) => {
console.log(res.data)