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