old mode 100644
new mode 100755
|  |  |  | 
|---|
|  |  |  | <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-item label="本地端口" prop="devicePort"> | 
|---|
|  |  |  | <el-input v-model="platform.devicePort" :disabled="true" type="number"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="SIP认证用户名" prop="username"> | 
|---|
|  |  |  | <el-input v-model="platform.username"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <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 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> | 
|---|
|  |  |  | <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.ptz"></el-checkbox>--> | 
|---|
|  |  |  | <el-checkbox label="拉起推流" v-model="platform.startOfflinePush"></el-checkbox> | 
|---|
|  |  |  | <el-checkbox label="RTCP保活" v-model="platform.rtcp" @change="rtcpCheckBoxChange"></el-checkbox> | 
|---|
|  |  |  | <el-checkbox label="消息通道" v-model="platform.asMessageChannel" ></el-checkbox> | 
|---|
|  |  |  | <el-checkbox label="推送通道" v-model="platform.autoPushChannel" ></el-checkbox> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item> | 
|---|
|  |  |  | <el-button type="primary" @click="onSubmit">{{ | 
|---|
|  |  |  | 
|---|
|  |  |  | name: "platformEdit", | 
|---|
|  |  |  | props: {}, | 
|---|
|  |  |  | computed: {}, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.platform = { | 
|---|
|  |  |  | id: null, | 
|---|
|  |  |  | enable: true, | 
|---|
|  |  |  | ptz: true, | 
|---|
|  |  |  | rtcp: false, | 
|---|
|  |  |  | name: null, | 
|---|
|  |  |  | serverGBId: 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", | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | var deviceGBIdRules = async (rule, value, callback) => { | 
|---|
|  |  |  | console.log(value); | 
|---|
|  |  |  | 
|---|
|  |  |  | showDialog: false, | 
|---|
|  |  |  | isLoging: false, | 
|---|
|  |  |  | onSubmit_text: "立即创建", | 
|---|
|  |  |  | saveUrl: "/api/platform/save", | 
|---|
|  |  |  |  | 
|---|
|  |  |  | platform: { | 
|---|
|  |  |  | id: null, | 
|---|
|  |  |  | enable: true, | 
|---|
|  |  |  | ptz: true, | 
|---|
|  |  |  | rtcp: false, | 
|---|
|  |  |  | asMessageChannel: false, | 
|---|
|  |  |  | autoPushChannel: false, | 
|---|
|  |  |  | name: null, | 
|---|
|  |  |  | serverGBId: null, | 
|---|
|  |  |  | serverGBDomain: null, | 
|---|
|  |  |  | 
|---|
|  |  |  | devicePort: null, | 
|---|
|  |  |  | username: null, | 
|---|
|  |  |  | password: null, | 
|---|
|  |  |  | expires: 300, | 
|---|
|  |  |  | expires: 3600, | 
|---|
|  |  |  | keepTimeout: 60, | 
|---|
|  |  |  | transport: "UDP", | 
|---|
|  |  |  | characterSet: "GB2312", | 
|---|
|  |  |  | 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` | 
|---|
|  |  |  | }).then(function (res) { | 
|---|
|  |  |  | console.log(res); | 
|---|
|  |  |  | that.platform.deviceGBId = res.data.username; | 
|---|
|  |  |  | that.platform.deviceIp = res.data.deviceIp; | 
|---|
|  |  |  | that.platform.devicePort = res.data.devicePort; | 
|---|
|  |  |  | that.platform.username = res.data.username; | 
|---|
|  |  |  | that.platform.password = res.data.password; | 
|---|
|  |  |  | if (res.data.code === 0) { | 
|---|
|  |  |  | that.platform.deviceGBId = res.data.data.username; | 
|---|
|  |  |  | that.platform.deviceIp = res.data.data.deviceIp; | 
|---|
|  |  |  | that.platform.devicePort = res.data.data.devicePort; | 
|---|
|  |  |  | that.platform.username = res.data.data.username; | 
|---|
|  |  |  | that.platform.password = res.data.data.password; | 
|---|
|  |  |  | that.platform.administrativeDivision = res.data.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.asMessageChannel = platform.asMessageChannel; | 
|---|
|  |  |  | this.platform.autoPushChannel = platform.autoPushChannel; | 
|---|
|  |  |  | 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.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({ | 
|---|
|  |  |  | this.saveForm() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | saveForm: function (){ | 
|---|
|  |  |  | this.$axios({ | 
|---|
|  |  |  | method: 'post', | 
|---|
|  |  |  | url:`/api/platform/save`, | 
|---|
|  |  |  | data: that.platform | 
|---|
|  |  |  | }).then(function (res) { | 
|---|
|  |  |  | if (res.data == "success") { | 
|---|
|  |  |  | that.$message({ | 
|---|
|  |  |  | showClose: true, | 
|---|
|  |  |  | message: "保存成功", | 
|---|
|  |  |  | type: "success", | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | that.showDialog = false; | 
|---|
|  |  |  | if (that.listChangeCallback != null) { | 
|---|
|  |  |  | that.listChangeCallback(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | url: this.saveUrl, | 
|---|
|  |  |  | data: this.platform | 
|---|
|  |  |  | }).then((res) =>{ | 
|---|
|  |  |  | if (res.data.code === 0) { | 
|---|
|  |  |  | this.$message({ | 
|---|
|  |  |  | showClose: true, | 
|---|
|  |  |  | message: "保存成功", | 
|---|
|  |  |  | type: "success", | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.showDialog = false; | 
|---|
|  |  |  | if (this.listChangeCallback != null) { | 
|---|
|  |  |  | this.listChangeCallback(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }).catch(function (error) { | 
|---|
|  |  |  | console.log(error); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | this.$message({ | 
|---|
|  |  |  | showClose: true, | 
|---|
|  |  |  | message: res.data.msg, | 
|---|
|  |  |  | type: "error", | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }).catch((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, | 
|---|
|  |  |  | asMessageChannel: false, | 
|---|
|  |  |  | autoPushChannel: false, | 
|---|
|  |  |  | name: null, | 
|---|
|  |  |  | serverGBId: null, | 
|---|
|  |  |  | administrativeDivision: null, | 
|---|
|  |  |  | serverGBDomain: null, | 
|---|
|  |  |  | serverIP: null, | 
|---|
|  |  |  | serverPort: null, | 
|---|
|  |  |  | deviceGBId: null, | 
|---|
|  |  |  | deviceIp: null, | 
|---|
|  |  |  | devicePort: null, | 
|---|
|  |  |  | username: null, | 
|---|
|  |  |  | password: null, | 
|---|
|  |  |  | expires: 3600, | 
|---|
|  |  |  | keepTimeout: 60, | 
|---|
|  |  |  | transport: "UDP", | 
|---|
|  |  |  | characterSet: "GB2312", | 
|---|
|  |  |  | startOfflinePush: false, | 
|---|
|  |  |  | catalogGroup: 1, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | deviceGBIdExit: async function (deviceGbId) { | 
|---|
|  |  |  | var result = false; | 
|---|
|  |  |  | var that = this; | 
|---|
|  |  |  | await that.$axios({ | 
|---|
|  |  |  | method: 'post', | 
|---|
|  |  |  | method: 'get', | 
|---|
|  |  |  | url:`/api/platform/exit/${deviceGbId}`}) | 
|---|
|  |  |  | .then(function (res) { | 
|---|
|  |  |  | result = res.data; | 
|---|
|  |  |  | if (res.data.code === 0) { | 
|---|
|  |  |  | result = res.data.data; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(function (error) { | 
|---|
|  |  |  | console.log(error); | 
|---|
|  |  |  | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | checkExpires: function() { | 
|---|
|  |  |  | if (this.platform.enable && this.platform.expires == "0") { | 
|---|
|  |  |  | this.platform.expires = "300"; | 
|---|
|  |  |  | if (this.platform.enable && this.platform.expires === "0") { | 
|---|
|  |  |  | this.platform.expires = "3600"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | rtcpCheckBoxChange: function (result){ | 
|---|
|  |  |  | if (result) { | 
|---|
|  |  |  | this.$message({ | 
|---|
|  |  |  | showClose: true, | 
|---|
|  |  |  | message: "开启RTCP保活需要上级平台支持,可以避免无效推流", | 
|---|
|  |  |  | type: "warning", | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|