From 56d3f8396ce1fa3ea9cf439fddd6528a91e5de7f Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期五, 21 八月 2020 12:44:54 +0800 Subject: [PATCH] 场景配置默认参数相关逻辑调整 --- src/pages/cameraAccess/components/scene/Editor.vue | 134 ++++++++++++++++++++++++++++++++++++-------- 1 files changed, 109 insertions(+), 25 deletions(-) diff --git a/src/pages/cameraAccess/components/scene/Editor.vue b/src/pages/cameraAccess/components/scene/Editor.vue index fdfb3c9..bc9295c 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" @@ -383,14 +396,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; } @@ -653,6 +659,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 => { @@ -849,7 +856,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) @@ -1177,9 +1187,29 @@ 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) { @@ -1204,18 +1234,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; @@ -1250,7 +1292,6 @@ tempObj.optArg.length == 0 && tempObj.optionalArg.length > 0 ? true : false; - debugger //鍥炴樉鏄惁鏄剧ず鍙�夊弬鏁版坊鍔犳寜閽� if (tempObj.optArg.length < tempObj.optionalArg.length) { tempObj.isAddable = true; @@ -1319,8 +1360,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 } @@ -1416,6 +1473,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 @@ -1423,13 +1503,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); @@ -1453,7 +1534,6 @@ let val = ''; let valRange = ''; - //澶勭悊涓嬫媺閫夊�肩被鍨� if (arg.type == 'option') { if (arg.sdk_arg_value instanceof Array) { @@ -1472,16 +1552,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) -- Gitblit v1.8.0