From d4cd7df0bd1484c31e37bcb0642e89ecdcf7ab29 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期四, 17 九月 2020 10:55:22 +0800 Subject: [PATCH] 处理外网端口映射无法跳转的问题 --- src/pages/cameraAccess/components/scene/Editor.vue | 175 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 132 insertions(+), 43 deletions(-) diff --git a/src/pages/cameraAccess/components/scene/Editor.vue b/src/pages/cameraAccess/components/scene/Editor.vue index 0278baa..189afe5 100644 --- a/src/pages/cameraAccess/components/scene/Editor.vue +++ b/src/pages/cameraAccess/components/scene/Editor.vue @@ -99,7 +99,7 @@ <div class="argums derive-line" v-show="sdkItem.isSpread"> <div v-for="(arg, index) in sdkItem.defaultArg" :key="arg.sort"> - <div class="argums-item" v-if="arg.config.isShow"> + <div class="argums-item" v-show="arg.config.isShow"> <div class="arg-name"> <!-- <el-input v-model="arg.name" @@ -148,9 +148,22 @@ <span>{{ arg.unit }}</span> </div> <div v-else> - <el-select v-if="arg.type == 'option'" v-model="arg.sdk_arg_value"> - <el-option>璇烽�夋嫨</el-option> + <el-select + v-if="arg.type == 'option'" + v-model="arg.sdk_arg_value" + :multiple="arg.config.isMulti" + collapse-tags + size="mini" + > + <el-option + v-for="one in arg.valueOptions" + :key="one.value" + :value="one.value" + :label="one.name" + :title="one.name" + ></el-option> </el-select> + <el-input v-if="arg.type == 'value'" v-model="arg.sdk_arg_value" @@ -213,6 +226,7 @@ ></el-input>--> <el-select + :disabled="optArgItem.operators.length==1" v-model="optArgItem.operator" size="mini" @change="selOperator(optArgItem)" @@ -338,7 +352,6 @@ watch: { Cameras: { handler(n, o) { - debugger let polygon = [] let cameras = [...n] @@ -358,7 +371,6 @@ this.allPolygonData = polygon //娣诲姞鍦烘櫙鍒濆鍖栧尯鍩熼�夐」涓�'鍏ㄩ儴鍖哄煙' - debugger // if (polygon.length > 0 && this.ruleList == '') { // this.polygonObj = polygon[0] // this.sdkGroup[0].polygonObj = JSON.parse( @@ -382,14 +394,7 @@ if (rangeOne) { debugger if (rangeOne.min.trim() && rangeOne.max.trim()) { - // if (Number(rangeOne.min) >= Number(rangeOne.max)) { - // this.$notify({ - // type: 'error', - // message: '鍖洪棿宸︿晶涓嶈兘澶т簬鎴栫瓑浜庡尯闂村彸渚х殑鍊�' - // }) - // rangeOne.valid = false - // } - rangeOne.sdk_arg_value = rangeOne.min + ',' + rangeOne.max + rangeOne.sdk_arg_value = rangeOne.min + '|' + rangeOne.max } else { rangeOne.sdk_arg_value = false; } @@ -423,7 +428,7 @@ // } }, mounted() { - this.TaskMange.findAllSdk({installed:true}) + this.TaskMange.findAllSdk({ installed: true }) //this.TaskMange.list1 = sdkJson.data; //this.editHandle(this.ruleList) @@ -545,10 +550,10 @@ this.selectPolygonOption(itemTemp) this.sdkGroup.splice(index, 1, itemTemp) } else { - if(this.sdkGroup[index+1] && this.sdkGroup[index+1].rule_with_pre){ - this.sdkGroup[index+1].rule_with_pre = ''; + if (this.sdkGroup[index + 1] && this.sdkGroup[index + 1].rule_with_pre) { + this.sdkGroup[index + 1].rule_with_pre = ''; } - + this.sdkGroup.splice(index, 1); } }, @@ -560,7 +565,6 @@ this.sdkGroup[index].isSpread = !this.sdkGroup[index].isSpread }, addOptionalArg(sdkItem) { - debugger sdkItem.initAddOptional = false sdkItem.optArg.forEach(arg => { sdkItem.optNames.forEach(name => { @@ -591,7 +595,11 @@ this.setOptArgValueOptions(copyArgTemp) } - + //榛樿閫変腑绗竴涓猳perator + //if (copyArgTemp.operators.length == 1) { + this.$set(copyArgTemp, 'operator', copyArgTemp.operators[0].operator) + //} + if (copyArgTemp.default_value) { this.$set(copyArgTemp, 'sdk_arg_value', copyArgTemp.default_value) } @@ -635,7 +643,10 @@ if (argObj.type == 'option') { this.setOptArgValueOptions(argObj); } - debugger + //榛樿閫変腑绗竴涓猳perator + //if (argObj.operators.length == 1) { + this.$set(argObj, 'operator', argObj.operators[0].operator) + //} //鏇挎崲鏂扮殑鍙傛暟閰嶇疆瀵硅薄 sdkItem.optArg.forEach((arg, index) => { if (arg.sort == optArgItem.sort) { @@ -646,6 +657,7 @@ console.log(argObj.valueOptions) }, setOptArgValueOptions(optArg) { + debugger let alias = optArg.alias; console.log(this.VideoManageData.Dictionary[alias]) optArg.valueOptions = this.VideoManageData.Dictionary[alias].map(r => { @@ -842,7 +854,10 @@ //this.$set(arg, 'sdk_arg_value', arg.range.substring(1,arg.range.length-1)); } } - + debugger + if(arg.type == 'option'){ + this.setOptArgValueOptions(arg) + } if (arg.default_value) { //arg.sdk_arg_value = arg.default_value this.$set(arg, 'sdk_arg_value', arg.default_value) @@ -1092,9 +1107,7 @@ // return // } let ruleInfo = JSON.parse(ruleTxt); - debugger; - //let ruleInfo = JSON.parse(ruleTxt) this.editRule(ruleInfo) // 濡傛灉鏄仈鍔ㄤ换鍔�, 鏌ヨ鑱斿姩鎽勫儚鏈哄垪琛�, 灏嗘爲閫変腑鐨勫垪琛ㄦ洿鏀逛负璇ユ潯瑙勫垯鎵�闇�瑕佺殑鎽勫儚鏈�, 骞跺浠藉綋鍓嶇殑閫変腑鐘舵��, 瑙勫垯淇濆瓨鍚庢仮澶� // if (this.isLinkRule) { @@ -1170,11 +1183,31 @@ optNames = [] sdkObj = this.TaskMange.list1.find(sdk => sdk.id == rule.sdk_id) - + argDef = JSON.parse(sdkObj.argDef) + debugger defaultArg = argDef.filter(arg => !arg.config.isOptional) optionalArg = argDef.filter(arg => arg.config.isOptional) - + //杩囨护鎺塺ule.sdk_set閲屾病鏈夊嚭鐜扮殑鍙�夐厤缃」 + let isConfiged = false; + let configedAlias = []; + optionalArg.forEach(optArg=>{ + rule.sdk_set.forEach(sdkSet => { + if(sdkSet.sdk_arg_alias == optArg.alias){ + isConfiged = true; + configedAlias.push(optArg) + } + }) + }); + if(!isConfiged){ + optionalArg = []; + } + if(isConfiged){ + optionalArg = configedAlias + } + rule.sdk_set.forEach(sdkSet => { + rule.sdk_set + }) rule.sdk_set.forEach(arg => { let optItem = optionalArg.find(oarg => { if (oarg.sort == arg.sort) { @@ -1182,10 +1215,10 @@ } }) if (optItem) { - if (optItem.operators.length > 1) { + //if (optItem.operators.length > 1) { optItem.operator = arg.operator //this.selOperator(optItem) - } + //} //璧嬪�� optItem.sdk_arg_value = arg.sdk_arg_value @@ -1199,16 +1232,30 @@ if (optItem.type == 'option') { this.setOptArgValueOptions(optItem) } + if(optItem.alias=="bForceSend"){ + + } + //鍦╬ush涔嬪墠,闇�瑕佸垽鏂槸鍚﹂厤缃簡杩欎釜鍙�夐」 鍦╯dk_set閰嶇疆鏁扮粍閲�, + debugger optArg.push(optItem) + } else { defaultArg.forEach(d => { if (d.sort == arg.sort) { - if (arg.sdk_arg_value.indexOf(',') > 0) { + + if (arg.sdk_arg_value.indexOf('|') > 0) { + debugger //鍖洪棿鍊� d.min = arg.sdk_arg_value.split(',')[0]; d.max = arg.sdk_arg_value.split(',')[1]; d.operator = 'range' - } else { + //} else if(arg.sdk_arg_value.indexOf(',') > 0){ + } else if(arg.operator_type == 'option'){ + debugger + //澶氶�夌被鍨嬬殑鍊� + d.sdk_arg_value = arg.sdk_arg_value.split(','); + this.setOptArgValueOptions(d) + } else{ d.sdk_arg_value = arg.sdk_arg_value } d.operator = arg.operator; @@ -1243,7 +1290,6 @@ tempObj.optArg.length == 0 && tempObj.optionalArg.length > 0 ? true : false; - debugger //鍥炴樉鏄惁鏄剧ず鍙�夊弬鏁版坊鍔犳寜閽� if (tempObj.optArg.length < tempObj.optionalArg.length) { tempObj.isAddable = true; @@ -1312,8 +1358,24 @@ if (sdk.rule_with_pre === '' && index != 0) { return sdk } + debugger + //澶勭悊鏈睍绀虹殑鍙傛暟鐨勫�� + sdk.defaultArg.forEach(arg => { + if(!arg.config.isShow){ + arg.sdk_arg_value = arg.default_value + } + }) //琛ㄥ崟鎻愪氦鍓嶆牎楠�:鎵�鏈夌畻娉曠殑鍙傛暟鍊间笉鑳戒负绌�,(鏈塺ange鐨�,瑕佸湪range鑼冨洿鍐�)澶辩劍鏃舵牎楠� - let defaultArgFlag = sdk.defaultArg.find(arg => !arg.sdk_arg_value) + let defaultArgFlag = sdk.defaultArg.find(arg => { + + if (arg.sdk_arg_value instanceof Array ) { + if (arg.sdk_arg_value.length == 0) { + return arg + } + }else if(!arg.sdk_arg_value){ + return arg + } + }); if (defaultArgFlag) { return sdk } @@ -1350,15 +1412,15 @@ return false } //鏍¢獙鍖洪棿宸︿晶鍊兼槸鍚﹀皬浜庡彸渚у�� - let illegalRange = this.sdkGroup.some((sdk,index)=>{ - let rangeArg = sdk.defaultArg.find(arg=>arg.operator=='range'); - if(rangeArg){ + let illegalRange = this.sdkGroup.some((sdk, index) => { + let rangeArg = sdk.defaultArg.find(arg => arg.operator == 'range'); + if (rangeArg) { if (Number(rangeArg.max) <= Number(rangeArg.min)) { return sdk } } }); - if(illegalRange){ + if (illegalRange) { this.$notify({ type: 'error', message: '鍖洪棿宸︿晶涓嶈兘澶т簬鎴栫瓑浜庡尯闂村彸渚х殑鍊�' @@ -1409,6 +1471,29 @@ let defaultArgDesc = '( ' sdk.defaultArg.forEach(arg => { + //涓嶆樉绀洪殣钘忕殑鍙傛暟閰嶇疆 + if(!arg.config.isShow){ + return + } + let val = ''; + //澶勭悊涓嬫媺閫夊�肩被鍨� + if (arg.type == 'option') { + if (arg.sdk_arg_value instanceof Array) { + //澶氶�夊�� + let multiNames = ''; + arg.sdk_arg_value.forEach(val => { + let opV = arg.valueOptions.find(opt => opt.value == val); + multiNames += opV.name + ' '; + }) + val = multiNames; + } else { + let res = arg.valueOptions.find( + opt => opt.value == arg.sdk_arg_value + ); + val = res.name; + } + + } if (arg.operator == 'range') { let valRange = ''; debugger @@ -1416,13 +1501,14 @@ defaultArgDesc += `${arg.name}${arg.operators[0].name}${valRange}${arg.unit || ''}, ` } else { defaultArgDesc += `${arg.name}${arg.operators[0].name}${ - arg.sdk_arg_value + arg.type=='option' ? val : arg.sdk_arg_value }${arg.unit || ''}, ` } }); debugger; - defaultArgDesc = defaultArgDesc.substring(0, defaultArgDesc.length - 2) + defaultArgDesc = defaultArgDesc.substring(0, defaultArgDesc.length - 2); + //defaultArgDesc = defaultArgDesc.substring(0,defaultArgDesc.length-3)+defaultArgDesc.substring(defaultArgDesc.length-1,defaultArgDesc.length); //defaultArgDesc = defaultArgDesc.substring(0,defaultArgDesc.length-1); @@ -1446,7 +1532,6 @@ let val = ''; let valRange = ''; - //澶勭悊涓嬫媺閫夊�肩被鍨� if (arg.type == 'option') { if (arg.sdk_arg_value instanceof Array) { @@ -1465,16 +1550,20 @@ val = res.name; } - //optArgDesc += `,${arg.name}${arg.operators[0].operator}${val}${arg.unit || ''}, ` - } else { - //optArgDesc += `,${arg.name}${arg.operators[0].operator}${ arg.sdk_arg_value }${arg.unit || ''}, ` + } let operatorSelected = arg.operators.find(opr => opr.operator == arg.operator) optArgDesc += `,${arg.name}${operatorSelected.name}${ arg.type == 'option' ? val : arg.sdk_arg_value }${arg.unit || ''}, ` - }) + }); + //灏嗗閫夐」鐨勫�兼嫾鎴愬瓧绗︿覆 + defaultArgs.forEach(one => { + if (one.sdk_arg_value instanceof Array) { + one.sdk_arg_value = one.sdk_arg_value.join(); + } + }); optArgDesc = optArgDesc.substring(0, optArgDesc.length - 2) + optArgDesc.substring(optArgDesc.length - 1, optArgDesc.length); optArgDesc += ')' tempObj.sdk_set = defaultArgs.concat(optArgs) @@ -1555,7 +1644,7 @@ </script> <style lang="scss"> -body{ +body { font-size: 12px; } .edit-rules-box { -- Gitblit v1.8.0