|  |  | 
 |  |  |                 <el-input v-model="platform.name"></el-input> | 
 |  |  |               </el-form-item> | 
 |  |  |               <el-form-item label="SIP服务国标编码" prop="serverGBId"> | 
 |  |  |                 <el-input v-model="platform.serverGBId" clearable></el-input> | 
 |  |  |                 <el-input v-model="platform.serverGBId" clearable @input="serverGBIdChange"></el-input> | 
 |  |  |               </el-form-item> | 
 |  |  |               <el-form-item label="SIP服务国标域" prop="serverGBDomain"> | 
 |  |  |                 <el-input v-model="platform.serverGBDomain" clearable></el-input> | 
 |  |  | 
 |  |  |                 <el-input v-model="platform.serverPort" clearable type="number"></el-input> | 
 |  |  |               </el-form-item> | 
 |  |  |               <el-form-item label="设备国标编号" prop="deviceGBId"> | 
 |  |  |                 <el-input v-model="platform.deviceGBId" clearable></el-input> | 
 |  |  |                 <el-input v-model="platform.deviceGBId" clearable @input="deviceGBIdChange"></el-input> | 
 |  |  |               </el-form-item> | 
 |  |  |               <el-form-item label="本地IP" prop="deviceIp"> | 
 |  |  |                 <el-input v-model="platform.deviceIp" :disabled="true"></el-input> | 
 |  |  | 
 |  |  |             <el-form ref="platform2" :rules="rules" :model="platform" label-width="160px"> | 
 |  |  |               <el-form-item label="SIP认证用户名" prop="username"> | 
 |  |  |                 <el-input v-model="platform.username"></el-input> | 
 |  |  |               </el-form-item> | 
 |  |  |               <el-form-item label="行政区划" prop="administrativeDivision"> | 
 |  |  |                 <el-input v-model="platform.administrativeDivision" clearable></el-input> | 
 |  |  |               </el-form-item> | 
 |  |  |               <el-form-item label="SIP认证密码" prop="password"> | 
 |  |  |                 <el-input v-model="platform.password" ></el-input> | 
 |  |  | 
 |  |  |                   <el-option label="TCP" value="TCP"></el-option> | 
 |  |  |                 </el-select> | 
 |  |  |               </el-form-item> | 
 |  |  |               <el-form-item label="目录分组" prop="catalogGroup"> | 
 |  |  |                 <el-select | 
 |  |  |                   v-model="platform.catalogGroup" | 
 |  |  |                   style="width: 100%" | 
 |  |  |                   placeholder="请选择目录分组" | 
 |  |  |                 > | 
 |  |  |                   <el-option label="1" value="1"></el-option> | 
 |  |  |                   <el-option label="2" value="2"></el-option> | 
 |  |  |                   <el-option label="4" value="4"></el-option> | 
 |  |  |                   <el-option label="8" value="8"></el-option> | 
 |  |  |                 </el-select> | 
 |  |  |               </el-form-item> | 
 |  |  |               <el-form-item label="字符集" prop="characterSet"> | 
 |  |  |                 <el-select | 
 |  |  |                   v-model="platform.characterSet" | 
 |  |  | 
 |  |  |               <el-form-item label="其他选项"> | 
 |  |  |                 <el-checkbox label="启用" v-model="platform.enable" @change="checkExpires"></el-checkbox> | 
 |  |  |                 <el-checkbox label="云台控制" v-model="platform.ptz"></el-checkbox> | 
 |  |  |                 <el-checkbox label="RTCP保活" v-model="platform.rtcp"></el-checkbox> | 
 |  |  |                 <el-checkbox label="共享所有直播流" v-model="platform.shareAllLiveStream"></el-checkbox> | 
 |  |  |                 <el-checkbox label="拉起离线推流" v-model="platform.startOfflinePush"></el-checkbox> | 
 |  |  |               </el-form-item> | 
 |  |  |               <el-form-item> | 
 |  |  |                 <el-button type="primary" @click="onSubmit">{{ | 
 |  |  | 
 |  |  |   name: "platformEdit", | 
 |  |  |   props: {}, | 
 |  |  |   computed: {}, | 
 |  |  |   created() {}, | 
 |  |  |   data() { | 
 |  |  |     var deviceGBIdRules = async (rule, value, callback) => { | 
 |  |  |       console.log(value); | 
 |  |  | 
 |  |  |       showDialog: false, | 
 |  |  |       isLoging: false, | 
 |  |  |       onSubmit_text: "立即创建", | 
 |  |  |       saveUrl: "/api/platform/save", | 
 |  |  |  | 
 |  |  |       platform: { | 
 |  |  |         id: null, | 
 |  |  | 
 |  |  |         keepTimeout: 60, | 
 |  |  |         transport: "UDP", | 
 |  |  |         characterSet: "GB2312", | 
 |  |  |         shareAllLiveStream: false, | 
 |  |  |         startOfflinePush: false, | 
 |  |  |         catalogGroup: 1, | 
 |  |  |         administrativeDivision: null, | 
 |  |  |       }, | 
 |  |  |       rules: { | 
 |  |  |         name: [{ required: true, message: "请输入平台名称", trigger: "blur" }], | 
 |  |  | 
 |  |  |       var that = this; | 
 |  |  |       if (platform == null) { | 
 |  |  |         this.onSubmit_text = "立即创建"; | 
 |  |  |         this.saveUrl = "/api/platform/add"; | 
 |  |  |         this.$axios({ | 
 |  |  |           method: 'get', | 
 |  |  |           url:`/api/platform/server_config` | 
 |  |  | 
 |  |  |           that.platform.devicePort = res.data.devicePort; | 
 |  |  |           that.platform.username = res.data.username; | 
 |  |  |           that.platform.password = res.data.password; | 
 |  |  |           that.platform.administrativeDivision = res.data.username.substr(0, 6); | 
 |  |  |         }).catch(function (error) { | 
 |  |  |           console.log(error); | 
 |  |  |         }); | 
 |  |  |       }else { | 
 |  |  |         this.platform = platform; | 
 |  |  |         this.platform.id = platform.id; | 
 |  |  |         this.platform.enable = platform.enable; | 
 |  |  |         this.platform.ptz = platform.ptz; | 
 |  |  |         this.platform.rtcp = platform.rtcp; | 
 |  |  |         this.platform.name = platform.name; | 
 |  |  |         this.platform.serverGBId = platform.serverGBId; | 
 |  |  |         this.platform.serverGBDomain = platform.serverGBDomain; | 
 |  |  |         this.platform.serverIP = platform.serverIP; | 
 |  |  |         this.platform.serverPort = platform.serverPort; | 
 |  |  |         this.platform.deviceGBId = platform.deviceGBId; | 
 |  |  |         this.platform.deviceIp = platform.deviceIp; | 
 |  |  |         this.platform.devicePort = platform.devicePort; | 
 |  |  |         this.platform.username = platform.username; | 
 |  |  |         this.platform.password = platform.password; | 
 |  |  |         this.platform.expires = platform.expires; | 
 |  |  |         this.platform.keepTimeout = platform.keepTimeout; | 
 |  |  |         this.platform.transport = platform.transport; | 
 |  |  |         this.platform.characterSet = platform.characterSet; | 
 |  |  |         this.platform.shareAllLiveStream = platform.shareAllLiveStream; | 
 |  |  |         this.platform.catalogId = platform.catalogId; | 
 |  |  |         this.platform.startOfflinePush = platform.startOfflinePush; | 
 |  |  |         this.platform.catalogGroup = platform.catalogGroup; | 
 |  |  |         this.platform.administrativeDivision = platform.administrativeDivision; | 
 |  |  |         this.onSubmit_text = "保存"; | 
 |  |  |         this.saveUrl = "/api/platform/save"; | 
 |  |  |       } | 
 |  |  |       this.showDialog = true; | 
 |  |  |       this.listChangeCallback = callback; | 
 |  |  |     }, | 
 |  |  |     serverGBIdChange: function () { | 
 |  |  |       if (this.platform.serverGBId.length > 10) { | 
 |  |  |         this.platform.serverGBDomain = this.platform.serverGBId.substr(0, 10); | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     deviceGBIdChange: function () { | 
 |  |  |  | 
 |  |  |       this.platform.username = this.platform.deviceGBId ; | 
 |  |  |       if (this.platform.administrativeDivision == null) { | 
 |  |  |         this.platform.administrativeDivision = this.platform.deviceGBId.substr(0, 6); | 
 |  |  |       } | 
 |  |  |  | 
 |  |  |     }, | 
 |  |  |     onSubmit: function () { | 
 |  |  |       console.log("onSubmit"); | 
 |  |  |       var that = this; | 
 |  |  |       that.$axios({ | 
 |  |  |         method: 'post', | 
 |  |  |         url:`/api/platform/save`, | 
 |  |  |         url: this.saveUrl, | 
 |  |  |         data: that.platform | 
 |  |  |       }).then(function (res) { | 
 |  |  |           if (res.data == "success") { | 
 |  |  |           if (res.data.code === 0) { | 
 |  |  |             that.$message({ | 
 |  |  |               showClose: true, | 
 |  |  |               message: "保存成功", | 
 |  |  | 
 |  |  |             if (that.listChangeCallback != null) { | 
 |  |  |               that.listChangeCallback(); | 
 |  |  |             } | 
 |  |  |           }else { | 
 |  |  |             that.$message({ | 
 |  |  |               showClose: true, | 
 |  |  |               message: res.data.msg, | 
 |  |  |               type: "error", | 
 |  |  |             }); | 
 |  |  |           } | 
 |  |  |         }).catch(function (error) { | 
 |  |  |           console.log(error); | 
 |  |  |         }); | 
 |  |  |     }, | 
 |  |  |     close: function () { | 
 |  |  |       console.log("关闭添加视频平台"); | 
 |  |  |       this.showDialog = false; | 
 |  |  |       this.$refs.platform1.resetFields(); | 
 |  |  |       this.$refs.platform2.resetFields(); | 
 |  |  |       this.platform = { | 
 |  |  |         id: null, | 
 |  |  |         enable: true, | 
 |  |  |         ptz: true, | 
 |  |  |         rtcp: false, | 
 |  |  |         name: null, | 
 |  |  |         serverGBId: null, | 
 |  |  |         administrativeDivision: null, | 
 |  |  |         serverGBDomain: null, | 
 |  |  |         serverIP: null, | 
 |  |  |         serverPort: null, | 
 |  |  |         deviceGBId: null, | 
 |  |  |         deviceIp: null, | 
 |  |  |         devicePort: null, | 
 |  |  |         username: null, | 
 |  |  |         password: null, | 
 |  |  |         expires: 300, | 
 |  |  |         keepTimeout: 60, | 
 |  |  |         transport: "UDP", | 
 |  |  |         characterSet: "GB2312", | 
 |  |  |         shareAllLiveStream: false, | 
 |  |  |         startOfflinePush: false, | 
 |  |  |         catalogGroup: 1, | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     deviceGBIdExit: async function (deviceGbId) { | 
 |  |  |       var result = false; |