zhuangyunsheng před 1 týdnem
rodič
revize
4c4233dc8d

+ 20 - 11
src/views/channel/channel.vue

@@ -1,6 +1,6 @@
 <template>
 	<sc-dialog v-model="visible" :title="titleMap[mode]" width="500" :showFullscreen="false" @closed="$emit('closed')">
-		<el-form ref="dialogForm" :model="form" :rules="rules" label-width="80px">
+		<el-form ref="dialogForm" :model="form" :rules="rules" label-width="120">
 			<el-form-item label="设备编号" prop="device">
                 <el-input v-model="form.device" placeholder="输入设备编号"></el-input>
             </el-form-item>
@@ -15,6 +15,9 @@
             </el-form-item>
 			<el-form-item v-if="$TOOL.data.get('CONFIG_TYPE') == 2" label="通道号" prop="channel">
 				<el-input-number v-model="form.channel" :min="1" :max="99" placeholder="输入通道号" :controls="false" />
+            </el-form-item>
+            <el-form-item label="音柱MAC地址" prop="broadcast" :rules="{ required: speakerOnline == 1, message: '请输入音柱MAC地址' }">
+                <el-input v-model="form.broadcast" placeholder="输入音柱MAC地址"></el-input>
             </el-form-item>
 		</el-form>
 		<template #footer>
@@ -39,6 +42,7 @@
 				},
 				visible: false,
 				isSaveing: false,
+                speakerOnline: 0,
 
 				form: Object.assign({}, channelData),
 				rules: {
@@ -51,7 +55,15 @@
 			}
 		},
 
+        mounted() {
+            this.getBroadcast();
+        },
+
 		methods: {
+            getBroadcast() {
+                this.$API.speaker.list.get().then(res => this.speakerOnline = res.isOpen).catch(() => this.speakerOnline = 0);
+            },
+
 			/* 通道补0 */
 			formatChannel(num) {
 				if (num >= 10) return num;
@@ -82,9 +94,8 @@
 					if (valid) {
 						const data = {};
 						for (const key in this.form) {
-							if (key == "channel") {
-								if (this.form[key]) data[key] = this.formatChannel(this.form[key]) + "01"
-							} else data[key] = this.form[key];
+							if (key == "channel") this.form[key] && (data[key] = this.formatChannel(this.form[key]) + "01")
+                            else data[key] = this.form[key];
 						}
 
 						this.isSaveing = true;
@@ -106,15 +117,13 @@
 
 <style lang="scss" scoped>
 .el-form {
-  width: 80%;
-  margin: 20px auto 0;
+    width: 95%;
+    margin-right: 5%;
 
-  .el-input-number {
-    width: 100%;
+    .el-input-number {
+        width: 100%;
 
-    :deep(.el-input__inner) {
-      text-align: left;
+        :deep(.el-input__inner) {text-align: left;}
     }
-  }
 }
 </style>

+ 1 - 0
src/views/channel/index.vue

@@ -26,6 +26,7 @@
                     <el-table-column label="IP" prop="ip" align="center"></el-table-column>
                     <el-table-column label="用户名" prop="user" align="center"></el-table-column>
                     <el-table-column label="密码" prop="password" align="center"></el-table-column>
+                    <el-table-column label="音柱MAC地址" prop="broadcast" align="center"></el-table-column>
                     <el-table-column label="状态" prop="status" align="center">
                         <template #default="scope">
                             <el-tag v-if="formatStatus(scope.$index)" type="success">在线</el-tag>

+ 2 - 1
src/views/config/main.js

@@ -46,7 +46,8 @@ export const channelData = {
     user: "",
     password: "",
     device: "",
-    channel: null
+    channel: null,
+    broadcast: null
 }
 
 export const fullScreenPoints = [{ x: 0, y: 0 }, { x: 0, y: 1440 }, { x: 2560, y: 1440 }, { x: 2560, y: 0 }]

+ 4 - 4
src/views/speaker/index.vue

@@ -4,15 +4,15 @@
             <div class="left-panel"><scTitle>音柱配置</scTitle></div>
         </el-header>
         <el-main class="nopadding">
-            <el-form ref="nvrForm" :model="speakerData" :rules="rules" label-width="80px">
+            <el-form ref="nvrForm" :model="speakerData" :rules="rules" label-width="140">
                 <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="ip" prop="address">
-                    <el-input v-model="speakerData.address" placeholder="输入IP"></el-input>
+                <el-form-item label="盒子服务地址" prop="address">
+                    <el-input v-model="speakerData.address" placeholder="输入服务地址"></el-input>
                 </el-form-item>
 
                 <el-form-item class="btn-group-item">
@@ -35,7 +35,7 @@
                 },
 
                 rules: {
-					address: [{ required: true, message: "请输入IP" }]
+					address: [{ required: true, message: "请输入服务地址" }]
 				}
             }
         },