|
|
@@ -4,23 +4,20 @@
|
|
|
<div class="left-panel"><scTitle>音柱配置</scTitle></div>
|
|
|
</el-header>
|
|
|
<el-main class="nopadding">
|
|
|
- <el-form ref="nvrForm" :model="nvrData" :rules="rules" label-width="80px">
|
|
|
- <el-form-item label="ip" prop="ip">
|
|
|
- <el-input v-model="nvrData.ip" placeholder="输入IP"></el-input>
|
|
|
+ <el-form ref="nvrForm" :model="speakerData" :rules="rules" label-width="80px">
|
|
|
+ <el-form-item label="是否启用" required>
|
|
|
+ <el-radio-group v-model="speakerData.isOpen">
|
|
|
+ <el-radio :value="0">否</el-radio>
|
|
|
+ <el-radio :value="1">是</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="用户名" prop="user">
|
|
|
- <el-input v-model="nvrData.user" placeholder="输入用户名"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="密码" prop="password">
|
|
|
- <el-input v-model="nvrData.password" type="password" show-password placeholder="输入密码"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="端口" required>
|
|
|
- <el-input v-model="nvrData.port" disabled></el-input>
|
|
|
+ <el-form-item label="ip" prop="address">
|
|
|
+ <el-input v-model="speakerData.address" placeholder="输入IP"></el-input>
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item class="btn-group-item">
|
|
|
- <el-button class="sc-button-primary" icon="el-icon-edit" @click="table_edit">保存</el-button>
|
|
|
- <el-button v-if="!hide" class="sc-button-danger" icon="el-icon-delete" @click="table_del">删除</el-button>
|
|
|
+ <el-button class="sc-button-primary" @click="table_edit">保存</el-button>
|
|
|
+ <el-button class="sc-button-info" @click="reloadTable">取消</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-main>
|
|
|
@@ -32,18 +29,13 @@
|
|
|
data() {
|
|
|
return {
|
|
|
isSaveing: false,
|
|
|
- hide: true,
|
|
|
- nvrData: {
|
|
|
- ip: "",
|
|
|
- user: "",
|
|
|
- password: "",
|
|
|
- port: 554
|
|
|
+ speakerData: {
|
|
|
+ isOpen: 0,
|
|
|
+ address: null
|
|
|
},
|
|
|
|
|
|
rules: {
|
|
|
- ip: [{ required: true, message: "请输入IP" }],
|
|
|
- user: [{ required: true, message: "请输入用户名" }],
|
|
|
- password: [{ required: true, message: "请输入密码" }]
|
|
|
+ address: [{ required: true, message: "请输入IP" }]
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
@@ -53,24 +45,8 @@
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
- async reloadTable() {
|
|
|
- try {
|
|
|
- const res = await this.$API.nvr.list.get();
|
|
|
- this.nvrData = res;
|
|
|
- if (!res["port"]) {
|
|
|
- this.hide = true;
|
|
|
- this.nvrData["port"] = 554;
|
|
|
- this.$refs.nvrForm.resetFields();
|
|
|
- } else this.hide = false;
|
|
|
- } catch (error) {
|
|
|
- this.hide = true;
|
|
|
- this.nvrData = {
|
|
|
- ip: "",
|
|
|
- user: "",
|
|
|
- password: "",
|
|
|
- port: 554
|
|
|
- };
|
|
|
- }
|
|
|
+ reloadTable() {
|
|
|
+ this.$API.speaker.list.get().then(res => this.speakerData = Object.assign({}, res)).catch(() => this.speakerData = { isOpen: 0, address: null });
|
|
|
},
|
|
|
|
|
|
// 编辑配置
|
|
|
@@ -78,7 +54,7 @@
|
|
|
this.$refs.nvrForm.validate(valid => {
|
|
|
if (valid) {
|
|
|
this.isSaveing = true;
|
|
|
- this.$API.nvr.edit.post(this.nvrData).then(() => {
|
|
|
+ this.$API.speaker.edit.post(this.speakerData).then(() => {
|
|
|
this.isSaveing = false;
|
|
|
this.$message.success("操作成功");
|
|
|
this.reloadTable();
|
|
|
@@ -87,23 +63,6 @@
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
- },
|
|
|
-
|
|
|
- // 删除配置
|
|
|
- table_del() {
|
|
|
- this.$confirm("确认删除当前的配置吗?", "提示", {
|
|
|
- type: "warning",
|
|
|
- confirmButtonText: "删除",
|
|
|
- confirmButtonClass: "sc-button-danger",
|
|
|
- cancelButtonClass: "sc-button-info"
|
|
|
- }).then(() => {
|
|
|
- this.$API.nvr.del.post().then(res => {
|
|
|
- if (res == "success") {
|
|
|
- this.$message.success("操作成功");
|
|
|
- this.reloadTable();
|
|
|
- } else this.$notify.error({ title: "删除失败", message: res.message || res || "未知错误" });
|
|
|
- }).catch(() => {});
|
|
|
- }).catch(() => {});
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -111,24 +70,18 @@
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.aminui-main-container__table-main {
|
|
|
- width: 100%;
|
|
|
- padding: 15px;
|
|
|
- overflow: auto;
|
|
|
+ width: 100%;
|
|
|
+ padding: 15px;
|
|
|
+ overflow: auto;
|
|
|
|
|
|
- .el-form {
|
|
|
- width: 650px;
|
|
|
- margin: 40px auto 0;
|
|
|
-
|
|
|
- --el-disabled-bg-color: #fff;
|
|
|
- --el-disabled-text-color: #000;
|
|
|
-
|
|
|
- .el-form-item {
|
|
|
- margin-bottom: 24px;
|
|
|
- }
|
|
|
+ .el-form {
|
|
|
+ width: 650px;
|
|
|
+ margin: 40px auto 0;
|
|
|
|
|
|
- .el-form-item.btn-group-item :deep(.el-form-item__content) {
|
|
|
- justify-content: flex-end;
|
|
|
+ --el-disabled-bg-color: #fff;
|
|
|
+ --el-disabled-text-color: #000;
|
|
|
+ .el-form-item {margin-bottom: 24px;}
|
|
|
+ .el-form-item.btn-group-item :deep(.el-form-item__content) {justify-content: flex-end;}
|
|
|
}
|
|
|
- }
|
|
|
}
|
|
|
</style>
|