From a3f357e8a60443b74b64c7479113c68eb35ce1f5 Mon Sep 17 00:00:00 2001
From: ZZJ <10913410+zzj2100@user.noreply.gitee.com>
Date: 星期五, 15 七月 2022 19:44:57 +0800
Subject: [PATCH] 控制轮询

---
 src/pages/cameraAccess/components/scene/Editor.vue | 1238 ++++++++++++++++++++++++++++------------------------------
 1 files changed, 608 insertions(+), 630 deletions(-)

diff --git a/src/pages/cameraAccess/components/scene/Editor.vue b/src/pages/cameraAccess/components/scene/Editor.vue
index bc9295c..f7f8e98 100644
--- a/src/pages/cameraAccess/components/scene/Editor.vue
+++ b/src/pages/cameraAccess/components/scene/Editor.vue
@@ -1,10 +1,10 @@
 <template>
   <div class="edit-rules-box">
     <p style="padding: 0">
-      <b style="font-size: 14px; line-height: 28px;">绛栫暐閰嶇疆</b>
+      <b style="font-size: 14px; line-height: 28px">绛栫暐閰嶇疆</b>
     </p>
     <div class="sub-rules-box">
-      <div style=" text-align: left;">
+      <div style="text-align: left">
         <!-- <div style="margin-left:10px;margin-top: 4px;" v-show="index > 0">
           <el-select v-model="rule.rule_with_pre" placeholder="骞跺垪鍏崇郴" size="mini">
             <el-option
@@ -32,15 +32,26 @@
                   placeholder="閫夊叧绯�"
                   @change="selConnection(sdkItem)"
                 >
-                  <el-option value="&&" title="and/涓�" label="and/涓�"></el-option>
+                  <el-option
+                    :value="item.value"
+                    :title="item.name"
+                    :label="item.name"
+                    v-for="item in sdkConnects"
+                    :key="item.id"
+                  ></el-option>
+                  <!-- <el-option value="&&" title="and/涓�" label="and/涓�"></el-option>
                   <el-option value="||" title="or/鎴�" label="or/鎴�"></el-option>
-                  <el-option value="=>" title="鈥�>/瑙﹀彂" label="鈥�>/瑙﹀彂"></el-option>
+                  <el-option value="=>" title="鈥�>/瑙﹀彂" label="鈥�>/瑙﹀彂"></el-option>-->
                 </el-select>
                 <el-checkbox
-                  v-show="sdkItem.rule_with_pre == '=>'"
+                  v-show="
+                    sdkItem.rule_with_pre == '=>' ||
+                    sdkItem.rule_with_pre == '!=>'
+                  "
                   v-model="sdkItem.is_save_anyhow"
-                  style="margin-left:30px"
-                >淇濆瓨杩囩▼鏁版嵁</el-checkbox>
+                  style="margin-left: 30px"
+                  >淇濆瓨杩囩▼鏁版嵁</el-checkbox
+                >
               </div>
               <div class="top-line">
                 <div class="left">
@@ -82,7 +93,11 @@
                   </div>
                 </div>
                 <div class="right">
-                  <span class="del" v-show="!hideDel" @click="delConfigItem(index)">
+                  <span
+                    class="del"
+                    v-show="!hideDel"
+                    @click="delConfigItem(index)"
+                  >
                     <i class="iconfont iconshanchu"></i>
                   </span>
                   <span class="collapse" @click="collapseLine(index)">
@@ -106,8 +121,16 @@
                         size="mini"
                         :disabled="true"
                       ></el-input>-->
-                      <el-select v-model="arg.name" size="mini" :disabled="true">
-                        <el-option :label="arg.name" :title="arg.name" :value="arg"></el-option>
+                      <el-select
+                        v-model="arg.name"
+                        size="mini"
+                        :disabled="true"
+                      >
+                        <el-option
+                          :label="arg.name"
+                          :title="arg.name"
+                          :value="arg"
+                        ></el-option>
                       </el-select>
                     </div>
                     <div class="operator-name">
@@ -118,7 +141,7 @@
                         size="mini"
                       ></el-input>-->
                       <el-select
-                        :disabled="arg.operators.length==1"
+                        :disabled="arg.operators.length == 1"
                         v-model="arg.operator"
                         size="mini"
                         @change="selOperator(sdkItem)"
@@ -149,7 +172,7 @@
                       </div>
                       <div v-else>
                         <el-select
-                          v-if="arg.type == 'option'" 
+                          v-if="arg.type == 'option'"
                           v-model="arg.sdk_arg_value"
                           :multiple="arg.config.isMulti"
                           collapse-tags
@@ -163,7 +186,7 @@
                             :title="one.name"
                           ></el-option>
                         </el-select>
-                        
+
                         <el-input
                           v-if="arg.type == 'value'"
                           v-model="arg.sdk_arg_value"
@@ -181,11 +204,14 @@
                       class="optional"
                       v-if="
                         sdkItem.initAddOptional &&
-                          index == sdkItem.defaultArg.length - 1
+                        index == sdkItem.defaultArg.length - 1
                       "
                     >
                       <span class="btn" @click="addOptionalArg(sdkItem)">
-                        <i class="iconfont iconhebingxingzhuang" style="font-size:16px"></i>
+                        <i
+                          class="iconfont iconhebingxingzhuang"
+                          style="font-size: 16px"
+                        ></i>
                       </span>
                     </div>
                   </div>
@@ -226,7 +252,7 @@
                     ></el-input>-->
 
                     <el-select
-                      :disabled="optArgItem.operators.length==1"
+                      :disabled="optArgItem.operators.length == 1"
                       v-model="optArgItem.operator"
                       size="mini"
                       @change="selOperator(optArgItem)"
@@ -260,16 +286,29 @@
                       v-if="optArgItem.type == 'value'"
                       v-model="optArgItem.sdk_arg_value"
                       size="mini"
-                      @blur="$event => validateArgVal(optArgItem, $event)"
+                      @blur="($event) => validateArgVal(optArgItem, $event)"
                     ></el-input>
                     <span>{{ optArgItem.unit }}</span>
                   </div>
                   <div class="optional">
-                    <span class="btn" @click="addOptionalArg(sdkItem)" v-show="sdkItem.isAddable">
-                      <i class="iconfont iconhebingxingzhuang" style="font-size:16px"></i>
+                    <span
+                      class="btn"
+                      @click="addOptionalArg(sdkItem)"
+                      v-show="sdkItem.isAddable"
+                    >
+                      <i
+                        class="iconfont iconhebingxingzhuang"
+                        style="font-size: 16px"
+                      ></i>
                     </span>
-                    <span class="btn" @click="delOptionalArg(sdkItem, optArgItem)">
-                      <i class="iconfont iconshanchu11" style="font-size:16px"></i>
+                    <span
+                      class="btn"
+                      @click="delOptionalArg(sdkItem, optArgItem)"
+                    >
+                      <i
+                        class="iconfont iconshanchu11"
+                        style="font-size: 16px"
+                      ></i>
                     </span>
                   </div>
                 </div>
@@ -288,37 +327,37 @@
 import {
   deleteCameraRules,
   updateRuleDefence,
-  updateAlarmLevel
-} from '@/api/camera'
+  updateAlarmLevel,
+} from "@/api/camera";
 
 export default {
-  name: 'SceneRuleEditor',
+  name: "SceneRuleEditor",
   props: {
     Cameras: {
       type: Array,
       default: () => {
-        return []
-      }
+        return [];
+      },
     },
     isTemplate: {
       type: Boolean,
-      default: false
+      default: false,
     },
     isLinkRule: {
       type: Boolean,
-      default: false
+      default: false,
     },
     includeSdks: {
-      type: Array
+      type: Array,
     },
     ruleList: {
       type: String,
-      default: ''
+      default: "",
     },
     onSubmitRule: {
       type: Function,
-      default: () => false
-    }
+      default: () => false,
+    },
   },
   // computed: {
   //   allPolygonData() {
@@ -352,27 +391,25 @@
   watch: {
     Cameras: {
       handler(n, o) {
-        debugger
-        let polygon = []
-        let cameras = [...n]
+        let polygon = [];
+        let cameras = [...n];
 
         for (let i = 0; i < cameras.length; i++) {
-          let polyOpt = cameras[i].polygonData.map(p => {
+          let polyOpt = cameras[i].polygonData.map((p) => {
             return {
               defence_state: p.defence_state,
               polygonId: p.id,
               name: this.isLinkRule
-                ? cameras[i].cameraName + ':' + p.name
+                ? cameras[i].cameraName + ":" + p.name
                 : p.name,
 
-              cameraId: cameras[i].cameraId
-            }
-          })
-          polygon = polygon.concat(polyOpt)
+              cameraId: cameras[i].cameraId,
+            };
+          });
+          polygon = polygon.concat(polyOpt);
 
-          this.allPolygonData = polygon
+          this.allPolygonData = polygon;
           //娣诲姞鍦烘櫙鍒濆鍖栧尯鍩熼�夐」涓�'鍏ㄩ儴鍖哄煙'
-          debugger
           // if (polygon.length > 0 && this.ruleList == '') {
           //   this.polygonObj = polygon[0]
           //   this.sdkGroup[0].polygonObj = JSON.parse(
@@ -383,75 +420,57 @@
           // }
         }
       },
-      deep: true
+      deep: true,
     },
     sdkGroup: {
       handler(newV, oldV) {
         if (newV) {
-          debugger
-          newV.forEach(sdk => {
+          newV.forEach((sdk) => {
             let rangeOne = sdk.defaultArg.find(
-              arg => arg.operators[0].operator == 'range'
-            )
+              (arg) => arg.operators[0].operator == "range"
+            );
             if (rangeOne) {
-              debugger
               if (rangeOne.min.trim() && rangeOne.max.trim()) {
-                rangeOne.sdk_arg_value = rangeOne.min + '|' + rangeOne.max
+                rangeOne.sdk_arg_value = rangeOne.min + "|" + rangeOne.max;
               } else {
                 rangeOne.sdk_arg_value = false;
               }
-
             }
-          })
-          let res = newV.find(item => {
-            return JSON.stringify(item.sdkObj) == '{}'
-          })
+          });
+          let res = newV.find((item) => {
+            return JSON.stringify(item.sdkObj) == "{}";
+          });
           if (!res) {
-            this.isAdd = true
-            this.hideDel = false
+            this.isAdd = true;
+            this.hideDel = false;
           } else {
-            this.isAdd = false
+            this.isAdd = false;
             if (this.sdkGroup.length == 1) {
-              this.hideDel = true
+              this.hideDel = true;
             } else {
-              this.hideDel = false
+              this.hideDel = false;
             }
           }
         }
       },
-      deep: true
-    }
-    // ruleList: {
-    //   handler(newVal, oldVal) {
-    //     debugger
-    //     this.editHandle(newVal)
-    //   }
-
-    // }
+      deep: true,
+    },
   },
   mounted() {
-    this.TaskMange.findAllSdk({ installed: true })
-    //this.TaskMange.list1 = sdkJson.data;
+    this.TaskMange.findAllSdk({ installed: true });
 
     //this.editHandle(this.ruleList)
   },
   data() {
     return {
-      // rule: {
-      //   sdk_id:'',
-      //   sdkObj: {},
-      //   polygonObj: {},
-      //   argDef: []
-      // },
       hideDel: true,
-      //isAddable: true,
       allPolygonData: [],
-      group_id: '',
+      group_id: "",
       baseSdkItem: {
         sdkObj: {},
         polygonObj: {},
         is_save_anyhow: true,
-        rule_with_pre: '',
+        rule_with_pre: "",
         isSpread: true,
         argDef: [],
         initAddOptional: false,
@@ -459,7 +478,7 @@
         optionalArg: [],
         optArg: [],
         optNames: [],
-        isAddable: true
+        isAddable: true,
       },
       sdkGroup: [
         {
@@ -473,33 +492,33 @@
           optionalArg: [],
           optArg: [],
           optNames: [],
-          isAddable: true
-        }
+          isAddable: true,
+        },
       ],
       polygonObj: {},
       isSpread: true,
       isAdd: false,
-      tipColor: 'yellow',
+      tipColor: "yellow",
       tasksTable: {},
       groupRules: [],
       sdksOption: [],
       baseRule: {
-        camera_id: '',
-        id: '',
-        operator: '',
-        operator_type: '',
-        polygon_id: '',
-        rule_with_pre: '',
-        sdk_id: '',
-        sdk_arg_alias: '',
-        sdk_arg_value: '',
-        sdk_arg_defaultValue: '',
-        select_time_rule: '',
-        sdk_arg_type: '',
+        camera_id: "",
+        id: "",
+        operator: "",
+        operator_type: "",
+        polygon_id: "",
+        rule_with_pre: "",
+        sdk_id: "",
+        sdk_arg_alias: "",
+        sdk_arg_value: "",
+        sdk_arg_defaultValue: "",
+        select_time_rule: "",
+        sdk_arg_type: "",
         // task_id: "",
 
         polygonObj: {},
-        taskObj: '',
+        taskObj: "",
 
         sdkObj: {},
         argObj: {},
@@ -508,36 +527,42 @@
 
         sdksOptions: [],
         argsOptions: [],
-        argType: '',
+        argType: "",
         computeOptions: [],
         valueOptions: [],
 
-        sdkDesc: '',
-        argDesc: '',
-        operatorDesc: '',
-        typeDesc: '',
-        valueDesc: '',
+        sdkDesc: "",
+        argDesc: "",
+        operatorDesc: "",
+        typeDesc: "",
+        valueDesc: "",
 
-        unit: '',
-        value: '',
-        valid: true
-      }
-    }
+        unit: "",
+        value: "",
+        valid: true,
+      },
+    };
   },
   methods: {
-    selConnection(sdkItem) {
-      debugger
-
+    getSdkConnection() {
+      this.sdkConnects = this.VideoManageData.Dictionary[
+        "RULECOMPUTEBETWEEN"
+      ].map((r) => {
+        return {
+          name: r.name,
+          value: r.value,
+        };
+      });
     },
+    selConnection(sdkItem) {},
     addSdkItem() {
       let itemTemp = JSON.parse(JSON.stringify(this.baseSdkItem));
       //鍒濆鍖栧尯鍩�
-      itemTemp.polygonObj = JSON.parse(JSON.stringify(this.allPolygonData[0]))
-      this.selectPolygonOption(itemTemp)
-      this.sdkGroup.push(itemTemp)
+      itemTemp.polygonObj = JSON.parse(JSON.stringify(this.allPolygonData[0]));
+      this.selectPolygonOption(itemTemp);
+      this.sdkGroup.push(itemTemp);
     },
     delConfigItem(index) {
-      debugger
       // if(index != 0){
       //   this.sdkGroup.splice(index,1);
       // }else{
@@ -547,13 +572,18 @@
 
       //鍒犻櫎閫昏緫锛氬綋鍙湁涓�涓畻娉曟椂锛屽垹闄や細鍥炲埌鍒濆鐘舵�侊紱鏈夊涓畻娉曟椂锛屽垹闄ゆ棦绉婚櫎鏁翠釜绠楁硶椤�
       if (this.sdkGroup.length == 1) {
-        let itemTemp = JSON.parse(JSON.stringify(this.baseSdkItem))
-        itemTemp.polygonObj = JSON.parse(JSON.stringify(this.allPolygonData[0]));
-        this.selectPolygonOption(itemTemp)
-        this.sdkGroup.splice(index, 1, itemTemp)
+        let itemTemp = JSON.parse(JSON.stringify(this.baseSdkItem));
+        itemTemp.polygonObj = JSON.parse(
+          JSON.stringify(this.allPolygonData[0])
+        );
+        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);
@@ -564,28 +594,28 @@
       //   return sdk.sdk_id == sdkId;
       // });
 
-      this.sdkGroup[index].isSpread = !this.sdkGroup[index].isSpread
+      this.sdkGroup[index].isSpread = !this.sdkGroup[index].isSpread;
     },
     addOptionalArg(sdkItem) {
-      sdkItem.initAddOptional = false
-      sdkItem.optArg.forEach(arg => {
-        sdkItem.optNames.forEach(name => {
+      sdkItem.initAddOptional = false;
+      sdkItem.optArg.forEach((arg) => {
+        sdkItem.optNames.forEach((name) => {
           if (arg.sort == name.sort) {
-            name.isSelected = true
+            name.isSelected = true;
           }
-        })
-      }) //鎵惧埌鍙�塻dkItem.optNames鐨勭涓�涓搴旂殑sdkItem.optionalArg聽push鍒皊dkItem.optArg
-      let oneNotSelected = sdkItem.optNames.find(name => !name.isSelected)
+        });
+      }); //鎵惧埌鍙�塻dkItem.optNames鐨勭涓�涓搴旂殑sdkItem.optionalArg聽push鍒皊dkItem.optArg
+      let oneNotSelected = sdkItem.optNames.find((name) => !name.isSelected);
       if (oneNotSelected) {
         oneNotSelected.isSelected = true;
       }
 
-      let argTemp = sdkItem.optionalArg.find(arg => {
-        return arg.sort == oneNotSelected.sort
-      })
+      let argTemp = sdkItem.optionalArg.find((arg) => {
+        return arg.sort == oneNotSelected.sort;
+      });
 
-      let copyArgTemp = JSON.parse(JSON.stringify(argTemp))
-      if (copyArgTemp.type == 'option') {
+      let copyArgTemp = JSON.parse(JSON.stringify(argTemp));
+      if (copyArgTemp.type == "option") {
         // let alias = copyArgTemp.alias;
         // console.log( this.VideoManageData.Dictionary[alias])
         // copyArgTemp.valueOptions = this.VideoManageData.Dictionary[alias].map(r => {
@@ -595,15 +625,15 @@
         //   }
         // })
 
-        this.setOptArgValueOptions(copyArgTemp)
+        this.setOptArgValueOptions(copyArgTemp);
       }
       //榛樿閫変腑绗竴涓猳perator
       //if (copyArgTemp.operators.length == 1) {
-        this.$set(copyArgTemp, 'operator', copyArgTemp.operators[0].operator)
+      this.$set(copyArgTemp, "operator", copyArgTemp.operators[0].operator);
       //}
-  
+
       if (copyArgTemp.default_value) {
-        this.$set(copyArgTemp, 'sdk_arg_value', copyArgTemp.default_value)
+        this.$set(copyArgTemp, "sdk_arg_value", copyArgTemp.default_value);
       }
       sdkItem.optArg.push(copyArgTemp);
       if (sdkItem.optArg.length < sdkItem.optionalArg.length) {
@@ -613,13 +643,15 @@
       }
     },
     delOptionalArg(sdkItem, optArgItem) {
-      let index = sdkItem.optArg.findIndex(arg => arg.sort == optArgItem.sort)
-      sdkItem.optArg.splice(index, 1)
-      sdkItem.optNames.forEach(name => {
+      let index = sdkItem.optArg.findIndex(
+        (arg) => arg.sort == optArgItem.sort
+      );
+      sdkItem.optArg.splice(index, 1);
+      sdkItem.optNames.forEach((name) => {
         if (name.sort == optArgItem.sort) {
-          name.isSelected = false
+          name.isSelected = false;
         }
-      })
+      });
       sdkItem.initAddOptional = sdkItem.optArg.length == 0 ? true : false;
       if (sdkItem.optArg.length < sdkItem.optionalArg.length) {
         sdkItem.isAddable = true;
@@ -628,278 +660,274 @@
       }
     },
     selOptionalArg(sdkItem, optArgItem) {
-      debugger
-      let newSort = 0
-      sdkItem.optNames.forEach(name => {
+      let newSort = 0;
+      sdkItem.optNames.forEach((name) => {
         if (name.name == optArgItem.name) {
           //鏂板垏鎹㈢殑鍙傛暟鍚�
-          name.isSelected = true
-          newSort = name.sort
+          name.isSelected = true;
+          newSort = name.sort;
         } else if (name.sort == optArgItem.sort) {
           //鍒囨崲鍓嶇殑鍙傛暟鍚�
-          name.isSelected = false
+          name.isSelected = false;
         }
-      })
+      });
       //鏍规嵁鏂扮殑鍙傛暟sort鎵惧埌鍏跺搴旈厤缃璞�
-      let argObj = sdkItem.optionalArg.find(arg => arg.sort == newSort)
-      if (argObj.type == 'option') {
+      let argObj = sdkItem.optionalArg.find((arg) => arg.sort == newSort);
+      if (argObj.type == "option") {
         this.setOptArgValueOptions(argObj);
       }
       //榛樿閫変腑绗竴涓猳perator
       //if (argObj.operators.length == 1) {
-        this.$set(argObj, 'operator', argObj.operators[0].operator)
+      this.$set(argObj, "operator", argObj.operators[0].operator);
       //}
       //鏇挎崲鏂扮殑鍙傛暟閰嶇疆瀵硅薄
       sdkItem.optArg.forEach((arg, index) => {
         if (arg.sort == optArgItem.sort) {
-          this.$set(sdkItem.optArg, index, JSON.parse(JSON.stringify(argObj)))
-        }
-      })
-
-      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 => {
-        return {
-          name: r.name,
-          value: r.value
+          this.$set(sdkItem.optArg, index, JSON.parse(JSON.stringify(argObj)));
         }
       });
     },
+    setOptArgValueOptions(optArg) {
+      let alias = optArg.alias;
+      optArg.valueOptions = this.VideoManageData.Dictionary[alias].map((r) => {
+        return {
+          name: r.name,
+          value: r.value,
+        };
+      });
+    },
     validateArgVal(sdkArgItem, e) {
-      debugger
-      if (typeof (sdkArgItem.sdk_arg_value) == 'string' && sdkArgItem.sdk_arg_value == '') {
+      if (
+        typeof sdkArgItem.sdk_arg_value == "string" &&
+        sdkArgItem.sdk_arg_value == ""
+      ) {
         this.$notify({
-          type: 'warning',
-          message: '鍙傛暟璁惧畾鍊间笉鑳戒负绌�!'
-        })
-        sdkArgItem.valid = false
+          type: "warning",
+          message: "鍙傛暟璁惧畾鍊间笉鑳戒负绌�!",
+        });
+        sdkArgItem.valid = false;
 
-        return false
+        return false;
       }
       //杈撳叆闈炴暟瀛�
 
       //鑼冨洿鏄惁鍚堟硶
       if (sdkArgItem.range) {
-        let leftHand = sdkArgItem.range.substr(0, 1)
-        let rightHand = sdkArgItem.range.substr(sdkArgItem.range.length - 1, 1)
-        let reg = /.*(\d+),(\d+).*/
-        let res = sdkArgItem.range.match(reg)
+        let leftHand = sdkArgItem.range.substr(0, 1);
+        let rightHand = sdkArgItem.range.substr(sdkArgItem.range.length - 1, 1);
+        let reg = /.*(\d+),(\d+).*/;
+        let res = sdkArgItem.range.match(reg);
         let min = Number(res[1]),
-          max = Number(res[2])
-        debugger
+          max = Number(res[2]);
 
         //鍒ゆ柇闈炲尯闂寸被
-        if (sdkArgItem.sdk_arg_value && sdkArgItem.operator != 'range') {
-          if (leftHand == '(' && rightHand == ')') {
+        if (sdkArgItem.sdk_arg_value && sdkArgItem.operator != "range") {
+          if (leftHand == "(" && rightHand == ")") {
             if (
               Number(sdkArgItem.sdk_arg_value) <= min ||
               Number(sdkArgItem.sdk_arg_value) >= max
             ) {
-              sdkArgItem.valid = false
+              sdkArgItem.valid = false;
 
               this.$notify({
-                type: 'warning',
-                message: `鍙傛暟璁惧畾鍊奸』澶т簬${min},灏忎簬${max}`
-              })
-              return false
+                type: "warning",
+                message: `鍙傛暟璁惧畾鍊奸』澶т簬${min},灏忎簬${max}`,
+              });
+              return false;
             }
-          } else if (leftHand == '[' && rightHand == ')') {
+          } else if (leftHand == "[" && rightHand == ")") {
             if (
               Number(sdkArgItem.sdk_arg_value) < min ||
               Number(sdkArgItem.sdk_arg_value) >= max
             ) {
-              sdkArgItem.valid = false
+              sdkArgItem.valid = false;
 
               this.$notify({
-                type: 'warning',
-                message: `鍙傛暟璁惧畾鍊奸』澶т簬绛変簬${min},灏忎簬${max}`
-              })
-              return false
+                type: "warning",
+                message: `鍙傛暟璁惧畾鍊奸』澶т簬绛変簬${min},灏忎簬${max}`,
+              });
+              return false;
             }
-          } else if (leftHand == '(' && rightHand == ']') {
+          } else if (leftHand == "(" && rightHand == "]") {
             if (
               Number(sdkArgItem.sdk_arg_value) <= min ||
               Number(sdkArgItem.sdk_arg_value) > max
             ) {
-              sdkArgItem.valid = false
+              sdkArgItem.valid = false;
 
               this.$notify({
-                type: 'warning',
-                message: `鍙傛暟璁惧畾鍊奸』澶т簬${min},灏忎簬绛変簬${max}`
-              })
-              return false
+                type: "warning",
+                message: `鍙傛暟璁惧畾鍊奸』澶т簬${min},灏忎簬绛変簬${max}`,
+              });
+              return false;
             }
-          } else if (leftHand == '[' && rightHand == ']') {
+          } else if (leftHand == "[" && rightHand == "]") {
             if (
               Number(sdkArgItem.sdk_arg_value) < min ||
               Number(sdkArgItem.sdk_arg_value) > max
             ) {
-              sdkArgItem.valid = false
-              this.showErrorColor(e)
+              sdkArgItem.valid = false;
+              this.showErrorColor(e);
               this.$notify({
-                type: 'warning',
-                message: `鍙傛暟璁惧畾鍊奸』澶т簬绛変簬${min},灏忎簬绛変簬${max}`
-              })
-              return false
+                type: "warning",
+                message: `鍙傛暟璁惧畾鍊奸』澶т簬绛変簬${min},灏忎簬绛変簬${max}`,
+              });
+              return false;
             }
           }
         } else if (sdkArgItem.min || sdkArgItem.max) {
           //鍒ゆ柇鍖洪棿绫�
-          if (leftHand == '(' && rightHand == ')') {
+          if (leftHand == "(" && rightHand == ")") {
             if (
               Number(sdkArgItem.min) <= min ||
               Number(sdkArgItem.min) >= max
             ) {
-              sdkArgItem.valid = false
+              sdkArgItem.valid = false;
 
               this.$notify({
-                type: 'warning',
-                message: `鍙傛暟鍖洪棿璁惧畾鍊奸』澶т簬${min},灏忎簬${max}`
+                type: "warning",
+                message: `鍙傛暟鍖洪棿璁惧畾鍊奸』澶т簬${min},灏忎簬${max}`,
               });
-              return false
+              return false;
             }
-          } else if (leftHand == '[' && rightHand == ')') {
+          } else if (leftHand == "[" && rightHand == ")") {
             if (Number(sdkArgItem.min) < min || Number(sdkArgItem.max) >= max) {
-              sdkArgItem.valid = false
+              sdkArgItem.valid = false;
 
               this.$notify({
-                type: 'warning',
-                message: `鍙傛暟鍖洪棿璁惧畾鍊奸』澶т簬绛変簬${min},灏忎簬${max}`
-              })
-              return false
+                type: "warning",
+                message: `鍙傛暟鍖洪棿璁惧畾鍊奸』澶т簬绛変簬${min},灏忎簬${max}`,
+              });
+              return false;
             }
-          } else if (leftHand == '(' && rightHand == ']') {
+          } else if (leftHand == "(" && rightHand == "]") {
             if (Number(sdkArgItem.min) <= min || Number(sdkArgItem.max) > max) {
-              sdkArgItem.valid = false
+              sdkArgItem.valid = false;
 
               this.$notify({
-                type: 'warning',
-                message: `鍙傛暟鍖洪棿璁惧畾鍊奸』澶т簬${min},灏忎簬绛変簬${max}`
-              })
-              return false
+                type: "warning",
+                message: `鍙傛暟鍖洪棿璁惧畾鍊奸』澶т簬${min},灏忎簬绛変簬${max}`,
+              });
+              return false;
             }
-          } else if (leftHand == '[' && rightHand == ']') {
-            if (Number(sdkArgItem.min) < min || Number(sdkArgItem.max) > max || Number(sdkArgItem.min) > max || Number(sdkArgItem.max) < min) {
-              sdkArgItem.valid = false
-              this.showErrorColor(e)
+          } else if (leftHand == "[" && rightHand == "]") {
+            if (
+              Number(sdkArgItem.min) < min ||
+              Number(sdkArgItem.max) > max ||
+              Number(sdkArgItem.min) > max ||
+              Number(sdkArgItem.max) < min
+            ) {
+              sdkArgItem.valid = false;
+              this.showErrorColor(e);
               this.$notify({
-                type: 'warning',
-                message: `鍙傛暟鍖洪棿璁惧畾鍊奸』澶т簬绛変簬${min},灏忎簬绛変簬${max}`
-              })
-              return false
+                type: "warning",
+                message: `鍙傛暟鍖洪棿璁惧畾鍊奸』澶т簬绛変簬${min},灏忎簬绛変簬${max}`,
+              });
+              return false;
             }
           }
         }
       }
-      e.currentTarget.style.borderColor = ''
-      return true
+      e.currentTarget.style.borderColor = "";
+      return true;
     },
     showErrorColor(e) {
       this.$nextTick(() => {
-        e.currentTarget.style.borderColor = 'red'
-      })
+        e.currentTarget.style.borderColor = "red";
+      });
     },
     setSdksOptions(rule) {
-      rule.sdksOptions = this.includeSdks
+      rule.sdksOptions = this.includeSdks;
     },
     setOperator(rule) {
-      rule.operator = rule.operatorObj.value
-      rule.operatorDesc = rule.operatorObj.name
+      rule.operator = rule.operatorObj.value;
+      rule.operatorDesc = rule.operatorObj.name;
     },
     setValue(rule) {
-      rule.valid = true
+      rule.valid = true;
 
-      if (rule.operator_type === 'option') {
-        rule.sdk_arg_value = rule.valueObj.value ? rule.valueObj.value : ''
-        rule.typeDesc = '琚�夐」'
-        rule.valueDesc = rule.valueObj.name ? rule.valueObj.name : ''
+      if (rule.operator_type === "option") {
+        rule.sdk_arg_value = rule.valueObj.value ? rule.valueObj.value : "";
+        rule.typeDesc = "琚�夐」";
+        rule.valueDesc = rule.valueObj.name ? rule.valueObj.name : "";
       } else {
-        rule.typeDesc = '鍊�'
-        rule.valueDesc = rule.sdk_arg_value
+        rule.typeDesc = "鍊�";
+        rule.valueDesc = rule.sdk_arg_value;
       }
-      this.valideArgValue(rule)
+      this.valideArgValue(rule);
     },
     selectPolygonOption(rule) {
-      debugger
       rule.polygon_id = rule.polygonObj.polygonId
         ? rule.polygonObj.polygonId
-        : rule.polygon_id
+        : rule.polygon_id;
       rule.camera_id = rule.polygonObj.cameraId
         ? rule.polygonObj.cameraId
-        : rule.camera_id
-      rule.group_id = this.group_id
+        : rule.camera_id;
+      rule.group_id = this.group_id;
     },
     //閫夋嫨绠楁硶 resetArgs涓簍rue鏄坊鍔犱负false鏄垵濮嬪寲缂栬緫
     selectSDKOption(sdkItem, resetArgs) {
-      debugger
       //sdkItem.sdk_id = sdkItem.sdkObj.id;
       if (resetArgs) {
-        sdkItem.argDef = JSON.parse(sdkItem.sdkObj.argDef)
-        console.log(sdkItem.argDef)
+        sdkItem.argDef = JSON.parse(sdkItem.sdkObj.argDef);
         //鍙栧嚭榛樿鍙傛暟
         sdkItem.defaultArg = sdkItem.argDef.filter(
-          arg => !arg.config.isOptional
-        )
+          (arg) => !arg.config.isOptional
+        );
         //璧嬮粯璁perator/鍊�
-        sdkItem.defaultArg.forEach(arg => {
+        sdkItem.defaultArg.forEach((arg) => {
           if (arg.operators.length == 1) {
-            this.$set(arg, 'operator', arg.operators[0].operator)
+            this.$set(arg, "operator", arg.operators[0].operator);
 
-            if (arg.operators[0].operator == 'range') {
+            if (arg.operators[0].operator == "range") {
               //鍖洪棿鍊肩殑澶勭悊
-              debugger
               //this.$set(arg, 'sdk_arg_value', arg.min+','+arg.max)
               //this.$set(arg, 'sdk_arg_value', arg.range.substring(1,arg.range.length-1));
             }
           }
-          debugger
-          if(arg.type == 'option'){
-            this.setOptArgValueOptions(arg)
+
+          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)
+            this.$set(arg, "sdk_arg_value", arg.default_value);
           }
-        })
-        sdkItem.defaultArg
+        });
+        sdkItem.defaultArg;
         //鍙栧嚭鍙�夊弬鏁�
         sdkItem.optionalArg = sdkItem.argDef.filter(
-          arg => arg.config.isOptional
-        )
-        sdkItem.optNames = sdkItem.optionalArg.map(arg => ({
+          (arg) => arg.config.isOptional
+        );
+        sdkItem.optNames = sdkItem.optionalArg.map((arg) => ({
           name: arg.name,
           sort: arg.sort,
-          isSelected: false
-        }))
-        debugger
-        sdkItem.initAddOptional = sdkItem.optionalArg.length > 0 ? true : false
-        sdkItem.optArg = []
+          isSelected: false,
+        }));
+
+        sdkItem.initAddOptional = sdkItem.optionalArg.length > 0 ? true : false;
+        sdkItem.optArg = [];
       }
 
       //娣诲姞鍦烘櫙鏃�,濡傛灉鍦烘櫙鍚嶇О涓虹┖,灏卞皢閫夋嫨鐨勭涓�涓畻娉曞悕鍚屾鍒板満鏅悕绉�
       if (this.sdkGroup[0] && resetArgs) {
-        debugger
-        this.$emit('sdkNameChange', this.sdkGroup[0].sdkObj.sdk_name)
+        this.$emit("sdkNameChange", this.sdkGroup[0].sdkObj.sdk_name);
       }
 
       // 閫夐」鍒囨崲鏃堕渶瑕佸埛鏂癮rg鑿滃崟椤�
-      this.selectArgTypeOption(sdkItem, resetArgs)
+      this.selectArgTypeOption(sdkItem, resetArgs);
     },
 
     selectArgTypeOption(rule, resetAlias) {
-      if (rule.sdk_arg_type == '') {
-        return
+      if (rule.sdk_arg_type == "") {
+        return;
       }
 
       if (resetAlias) {
-        rule.sdk_arg_alias = ''
+        rule.sdk_arg_alias = "";
       }
 
-      rule.argsOptions = rule.sdkObj.args
+      rule.argsOptions = rule.sdkObj.args;
 
       // 鏍规嵁arg绫诲瀷鏄剧ず鍙傛暟, 褰撳墠鍏ㄩ儴褰掍负 target
       // if (rule.sdkObj.args) {
@@ -910,94 +938,92 @@
       //   rule.argsOptions = [];
       // }
 
-      rule.argObj = {}
+      rule.argObj = {};
     },
     //閫夋嫨绠楁硶閰嶇疆
-    selOperator(rule) {
-      debugger
-    },
+    selOperator(rule) {},
     selectArgsOption(rule, resetArgValue) {
       // rule.operator_type = "";
       // console.log(rule, '閫夋嫨绠楁硶鍙傛暟')
-      rule.sdk_arg_alias = rule.argObj.alias
-      rule.argDesc = rule.argObj.name
-      rule.sdk_arg_defaultValue = rule.argObj.default_value
-      rule.unit = rule.argObj.unit ? rule.argObj.unit : ''
+      rule.sdk_arg_alias = rule.argObj.alias;
+      rule.argDesc = rule.argObj.name;
+      rule.sdk_arg_defaultValue = rule.argObj.default_value;
+      rule.unit = rule.argObj.unit ? rule.argObj.unit : "";
       //rule.default_value = rule.argObj.default_value ? Number(rule.argObj.default_value) : 0;
 
       //console.log("缃俊搴︾殑榛樿鍊间负",rule.sdk_arg_defaultValue)
       // 淇濆瓨鍊肩被鍨�
-      rule.argType = rule.argObj.type
-      if (rule.argType === 'option') {
-        rule.operator_type = 'option'
+      rule.argType = rule.argObj.type;
+      if (rule.argType === "option") {
+        rule.operator_type = "option";
         // 璁剧疆榛樿鏉′欢鍊�
-        this.VideoManageData.Dictionary.RULECOMPUTE.forEach(opt => {
-          if (opt.value == '==') {
-            rule.operatorObj = opt
+        this.VideoManageData.Dictionary.RULECOMPUTE.forEach((opt) => {
+          if (opt.value == "==") {
+            rule.operatorObj = opt;
           }
-        })
+        });
 
-        this.setOperator(rule)
+        this.setOperator(rule);
 
-        this.selectValueOption(rule)
+        this.selectValueOption(rule);
       } else {
         // 璁剧疆榛樿鏉′欢鍊�
-        rule.operator_type = 'value'
+        rule.operator_type = "value";
         if (resetArgValue) {
-          rule.sdk_arg_value = ''
+          rule.sdk_arg_value = "";
 
-          this.VideoManageData.Dictionary.RULECOMPUTE.forEach(opt => {
-            if (opt.value == '>=') {
-              rule.operatorObj = opt
+          this.VideoManageData.Dictionary.RULECOMPUTE.forEach((opt) => {
+            if (opt.value == ">=") {
+              rule.operatorObj = opt;
             }
-          })
+          });
         } else {
           // 缂栬緫瑙勫垯鍖归厤
-          this.VideoManageData.Dictionary.RULECOMPUTE.forEach(opt => {
+          this.VideoManageData.Dictionary.RULECOMPUTE.forEach((opt) => {
             if (opt.value == rule.operator) {
-              rule.operatorObj = opt
+              rule.operatorObj = opt;
             }
-          })
+          });
         }
-        this.setOperator(rule)
+        this.setOperator(rule);
       }
     },
     selectValueOption(rule) {
-      if (rule.sdk_arg_alias === 'time_rule') {
-        rule.valueOptions = this.VideoManageData.TimeRules.map(r => {
+      if (rule.sdk_arg_alias === "time_rule") {
+        rule.valueOptions = this.VideoManageData.TimeRules.map((r) => {
           return {
             name: r.name,
-            value: r.id
-          }
-        })
-      } else if (rule.sdk_arg_alias === 'compareBase') {
-        rule.valueOptions = this.VideoManageData.TagList.map(r => {
+            value: r.id,
+          };
+        });
+      } else if (rule.sdk_arg_alias === "compareBase") {
+        rule.valueOptions = this.VideoManageData.TagList.map((r) => {
           return {
             name: r.tableName,
-            value: r.id
-          }
-        })
+            value: r.id,
+          };
+        });
       } else {
-        let ops = this.VideoManageData.Dictionary[rule.sdk_arg_alias]
+        let ops = this.VideoManageData.Dictionary[rule.sdk_arg_alias];
         if (ops && ops instanceof Array) {
-          rule.valueOptions = ops.map(r => {
+          rule.valueOptions = ops.map((r) => {
             return {
               name: r.name,
-              value: r.value
-            }
-          })
+              value: r.value,
+            };
+          });
         }
       }
     },
 
     valideArgValue(rule) {
-      if (rule.sdk_arg_value == '') {
+      if (rule.sdk_arg_value == "") {
         this.$notify({
-          type: 'warning',
-          message: '鍙傛暟璁惧畾鍊间笉鑳戒负绌�!'
-        })
-        rule.valid = false
-        return false
+          type: "warning",
+          message: "鍙傛暟璁惧畾鍊间笉鑳戒负绌�!",
+        });
+        rule.valid = false;
+        return false;
       }
 
       if (rule.argObj && rule.argObj.range) {
@@ -1006,84 +1032,84 @@
           if (
             parseInt(rule.sdk_arg_value) < parseInt(rule.sdk_arg_defaultValue)
           ) {
-            rule.valid = false
+            rule.valid = false;
             this.$notify({
-              type: 'warning',
+              type: "warning",
               message:
-                '鍙傛暟璁惧畾鍊间笉鑳藉皬浜庣畻娉曞弬鏁伴粯璁ゅ�� ' + rule.sdk_arg_defaultValue
-            })
-            rule.valueDesc = rule.sdk_arg_value = rule.argObj.default_value
-            rule.valid = false
-            return false
+                "鍙傛暟璁惧畾鍊间笉鑳藉皬浜庣畻娉曞弬鏁伴粯璁ゅ�� " + rule.sdk_arg_defaultValue,
+            });
+            rule.valueDesc = rule.sdk_arg_value = rule.argObj.default_value;
+            rule.valid = false;
+            return false;
           }
         }
 
         // let re = /(?<=,).*?(?=]|\))/
-        let re = /.*,(\d+)/
-        let max = rule.argObj.range.match(re)[1]
+        let re = /.*,(\d+)/;
+        let max = rule.argObj.range.match(re)[1];
         // console.log(max,'鑾峰彇鑼冨洿鏈�澶у��')
         if (Number(rule.sdk_arg_value) > Number(max)) {
-          rule.valid = false
+          rule.valid = false;
           this.$notify({
-            type: 'warning',
-            message: '鍙傛暟璁惧畾鍊间笉鑳藉ぇ浜�' + max
-          })
-          return false
+            type: "warning",
+            message: "鍙傛暟璁惧畾鍊间笉鑳藉ぇ浜�" + max,
+          });
+          return false;
         }
       }
 
-      return true
+      return true;
     },
     parataxis(rule_with_pre) {
-      let relation = ''
-      this.VideoManageData.Dictionary.RULECOMPUTEBETWEEN.forEach(pre => {
+      let relation = "";
+      this.VideoManageData.Dictionary.RULECOMPUTEBETWEEN.forEach((pre) => {
         if (pre.value === rule_with_pre) {
-          relation = pre.name
+          relation = pre.name;
         }
-      })
+      });
 
-      return relation
+      return relation;
     },
 
     generatDescription() {
-      let desc = ''
+      let desc = "";
       this.groupRules.forEach((r, index) => {
         // console.log(r,index,'鎷兼帴')
         if (index === 0) {
-          desc += r.sdkDesc + r.argDesc + r.operatorDesc + r.valueDesc + r.unit
+          desc += r.sdkDesc + r.argDesc + r.operatorDesc + r.valueDesc + r.unit;
         } else {
           desc +=
-            '&nbsp;&nbsp;&nbsp;' +
+            "&nbsp;&nbsp;&nbsp;" +
             this.parataxis(r.rule_with_pre) +
-            '&nbsp;&nbsp;&nbsp;' +
+            "&nbsp;&nbsp;&nbsp;" +
             r.sdkDesc +
             r.argDesc +
             r.operatorDesc +
             r.valueDesc +
-            r.unit
+            r.unit;
         }
-      })
+      });
       // console.log(desc,'鎷兼帴')
-      return desc
+      return desc;
     },
     createRule() {
       if (!this.isTemplate && this.Cameras.length > 0) {
         // 鏈�変腑鎽勫儚鏈烘垨鑰呮湭閫変腑鎽勫儚鏈轰换鍔★紝涓嶆墽琛屽垱寤�
-        if (!this.Cameras[0].cameraId) return false
+        if (!this.Cameras[0].cameraId) return false;
       }
-      this.group_id = ''
+      this.group_id = "";
       //this.addRule(0);
     },
 
     //娓呯┖閰嶇疆骞跺垵濮嬪寲
     cleanRule() {
-      this.group_id = ''
-      this.sdkGroup.splice(0, this.sdkGroup.length)
+      this.group_id = "";
+      this.sdkGroup.splice(0, this.sdkGroup.length);
       this.addSdkItem();
     },
     addRule(index) {
-      let newRule = JSON.parse(JSON.stringify(this.baseRule))
-      newRule.sdksOptions = this.includeSdks
+      let newRule = JSON.parse(JSON.stringify(this.baseRule));
+      newRule.sdksOptions = this.includeSdks;
       if (!this.isLinkRule) {
         // 璁剧疆榛樿鍏ㄩ儴鍖哄煙
         // if (!this.isTemplate) {
@@ -1101,80 +1127,47 @@
 
       // this.groupRules.push(newRule);
       // 鎻掑叆鍒版寚瀹氫綅缃�
-      this.groupRules.splice(index + 1, 0, newRule)
+      this.groupRules.splice(index + 1, 0, newRule);
     },
     editHandle(ruleTxt) {
-      debugger
+      this.getSdkConnection();
       // if (ruleTxt.length < 1) {
       //   return
       // }
       let ruleInfo = JSON.parse(ruleTxt);
-
-      this.editRule(ruleInfo)
-      // 濡傛灉鏄仈鍔ㄤ换鍔�, 鏌ヨ鑱斿姩鎽勫儚鏈哄垪琛�, 灏嗘爲閫変腑鐨勫垪琛ㄦ洿鏀逛负璇ユ潯瑙勫垯鎵�闇�瑕佺殑鎽勫儚鏈�, 骞跺浠藉綋鍓嶇殑閫変腑鐘舵��, 瑙勫垯淇濆瓨鍚庢仮澶�
-      // if (this.isLinkRule) {
-      //   this.VideoRuleData.treeSelectedNodesBackupOnEditLinkRule = [...this.TreeDataPool.selectedNodes]
-      //   this.VideoRuleData.editLinkRuleRow = { ...ruleInfo }
-
-      //   this.TreeDataPool.selectedNodes = ruleInfo.group_rules.map(r => {
-      //     return r.camera_id
-      //   })
-      //   this.$nextTick(() => {
-      //     setTimeout(() => {
-      //       this.editRule(ruleInfo)
-      //     }, 1000)
-      //   })
-      // } else {
-      //   this.editRule(ruleInfo)
-      // }
+      console.log(ruleInfo);
+      this.editRule(ruleInfo);
     },
     editRule(ruleGroup) {
-      debugger
-      this.sdkGroup = []
-      this.group_id = ''
+      this.sdkGroup = [];
+      this.group_id = "";
 
-      // this.sdkGroup = ruleGroup;
-      //  sdkGroup: [
-      //   {
-      //     sdkObj: {},
-      //     polygonObj: {},
-      //     is_save_anyhow: true,
-      //     isSpread: true,
-      //     argDef: [],
-      //     initAddOptional: false,
-      //     defaultArg: [],
-      //     optionalArg: [],
-      //     optArg: [],
-      //     optNames: []
-      //   }
-      // ],
-      ruleGroup.forEach(rule => {
-        debugger
-        let tempObj = {}
+      ruleGroup.forEach((rule) => {
+        let tempObj = {};
 
-        if (rule.group_id && rule.group_id != '') {
-          this.group_id = rule.group_id
+        if (rule.group_id && rule.group_id != "") {
+          this.group_id = rule.group_id;
         }
 
         // 濉厖鍖哄煙閫夐」鍒楄〃
-        this.allPolygonData.forEach(p => {
+        this.allPolygonData.forEach((p) => {
           if (p.polygonId === rule.polygon_id) {
-            rule.polygonObj = p
+            rule.polygonObj = p;
           }
-        })
+        });
 
         if (!rule.polygonObj) {
           rule.polygonObj = {
             cameraId: rule.camera_id,
             defence_state: 1,
-            name: '鏈煡鍖哄煙',
-            polygonId: rule.polygon_id
-          }
+            name: "鏈煡鍖哄煙",
+            polygonId: rule.polygon_id,
+          };
         }
-        console.log(rule)
+        console.log(rule);
 
         // 璁剧疆鍖哄煙
-        this.selectPolygonOption(rule)
+        this.selectPolygonOption(rule);
 
         //绠楁硶瀵硅薄,绠楁硶鍙傛暟閰嶇疆鏁扮粍,(鐢ㄤ簬鏁版嵁澶勭悊鐨�)榛樿鍙傛暟鏁扮粍, 鍙�夊弬鏁版暟缁�, 宸查厤缃殑鍙�夊弬鏁版暟缁�, (鐢ㄤ簬鍘婚噸鍒ゆ柇)瀛樻斁鍙�夊弬鏁板悕鐨勬暟缁�
         let sdkObj = {},
@@ -1182,94 +1175,72 @@
           defaultArg = [],
           optionalArg = [],
           optArg = [],
-          optNames = []
+          optNames = [];
 
-        sdkObj = this.TaskMange.list1.find(sdk => sdk.id == rule.sdk_id)
+        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 => {
+        argDef = JSON.parse(sdkObj.argDef);
+
+        defaultArg = argDef.filter((arg) => !arg.config.isOptional);
+        optionalArg = argDef.filter((arg) => arg.config.isOptional);
+
+        rule.sdk_set.forEach((arg) => {
+          let optItem = optionalArg.find((oarg) => {
             if (oarg.sort == arg.sort) {
-              return oarg
+              return oarg;
             }
-          })
+          });
           if (optItem) {
             //if (optItem.operators.length > 1) {
-              optItem.operator = arg.operator
-              //this.selOperator(optItem)
+            optItem.operator = arg.operator;
+            //this.selOperator(optItem)
             //}
 
             //璧嬪��
-            optItem.sdk_arg_value = arg.sdk_arg_value
+            optItem.sdk_arg_value = arg.sdk_arg_value;
             //if(arg.sdk_arg_value.indexOf(',')>0){
             //鍒ゆ柇鏄惁鏄閫夊�肩被鍨嬬殑鍙傛暟
-            let isMultiOne = optionalArg.find(oarg => oarg.sort == optItem.sort && optItem.config.isMulti)
+            let isMultiOne = optionalArg.find(
+              (oarg) => oarg.sort == optItem.sort && optItem.config.isMulti
+            );
             if (isMultiOne) {
-              optItem.sdk_arg_value = arg.sdk_arg_value.split(',');
+              optItem.sdk_arg_value = arg.sdk_arg_value.split(",");
             }
 
-            if (optItem.type == 'option') {
-              this.setOptArgValueOptions(optItem)
+            if (optItem.type == "option") {
+              this.setOptArgValueOptions(optItem);
             }
-            if(optItem.alias=="bForceSend"){
-
+            if (optItem.alias == "bForceSend") {
             }
             //鍦╬ush涔嬪墠,闇�瑕佸垽鏂槸鍚﹂厤缃簡杩欎釜鍙�夐」  鍦╯dk_set閰嶇疆鏁扮粍閲�,
-            debugger
-            optArg.push(optItem)
-          
+
+            optArg.push(optItem);
           } else {
-            defaultArg.forEach(d => {
+            defaultArg.forEach((d) => {
               if (d.sort == arg.sort) {
-              
-                if (arg.sdk_arg_value.indexOf('|') > 0) {
-                  debugger
+                if (arg.sdk_arg_value.indexOf("|") > 0) {
                   //鍖洪棿鍊�
-                  d.min = arg.sdk_arg_value.split(',')[0];
-                  d.max = arg.sdk_arg_value.split(',')[1];
-                  d.operator = 'range'
-                //} else if(arg.sdk_arg_value.indexOf(',') > 0){
-                } else if(arg.operator_type == 'option'){
-                  debugger
+                  d.min = arg.sdk_arg_value.split("|")[0];
+                  d.max = arg.sdk_arg_value.split("|")[1];
+                  d.operator = "range";
+                  //} else if(arg.sdk_arg_value.indexOf(',') > 0){
+                } else if (arg.operator_type == "option") {
                   //澶氶�夌被鍨嬬殑鍊�
-                  d.sdk_arg_value = arg.sdk_arg_value.split(',');
-                  this.setOptArgValueOptions(d)
-                } else{
-                  d.sdk_arg_value = arg.sdk_arg_value
+                  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;
               }
-            })
+            });
           }
-        })
-        optNames = optionalArg.map(arg => ({
+        });
+        optNames = optionalArg.map((arg) => ({
           name: arg.name,
           sort: arg.sort,
-          isSelected: false
-        }))
+          isSelected: false,
+        }));
 
         tempObj = {
           sdkObj,
@@ -1285,8 +1256,8 @@
           optNames,
           isAddable: true,
           camera_id: rule.camera_id,
-          polygon_id: rule.polygon_id
-        }
+          polygon_id: rule.polygon_id,
+        };
         //鍥炴樉鏄惁鏄剧ず娣诲姞鍙�夊弬鏁�
         tempObj.initAddOptional =
           tempObj.optArg.length == 0 && tempObj.optionalArg.length > 0
@@ -1299,45 +1270,44 @@
           tempObj.isAddable = false;
         }
         //this.selectSDKOption(tempObj, false)
-        debugger
-        this.sdkGroup.push(tempObj)
+
+        this.sdkGroup.push(tempObj);
         //璁剧疆绠楁硶
-      })
+      });
       //this.$nextTick(() => {})
     },
     delRule(rule) {
-      this.$confirm('鎻愮ず锛氬垹闄ゅ悗锛岃鏉¤鍒欏皢澶辨晥锛屾槸鍚﹀垹闄わ紵', {
+      this.$confirm("鎻愮ず锛氬垹闄ゅ悗锛岃鏉¤鍒欏皢澶辨晥锛屾槸鍚﹀垹闄わ紵", {
         center: true,
-        cancelButtonClass: 'comfirm-class-cancle',
-        confirmButtonClass: 'comfirm-class-sure'
+        cancelButtonClass: "comfirm-class-cancle",
+        confirmButtonClass: "comfirm-class-sure",
       })
         .then(() => {
-          deleteCameraRules({ groupId: rule.group_id }).then(res => {
+          deleteCameraRules({ groupId: rule.group_id }).then((res) => {
             if (res && res.success) {
               this.$notify({
-                type: 'success',
-                message: '鍒犻櫎鎴愬姛'
-              })
-              this.$emit('delete-rule')
+                type: "success",
+                message: "鍒犻櫎鎴愬姛",
+              });
+              this.$emit("delete-rule");
             } else {
               this.$notify({
-                type: 'error',
-                message: '鍒犻櫎澶辫触锛�'
-              })
+                type: "error",
+                message: "鍒犻櫎澶辫触锛�",
+              });
             }
-          })
+          });
         })
-        .catch(() => { })
+        .catch(() => {});
     },
     submitRule() {
-      debugger
-      let groupRule = { rules: [] }
+      let groupRule = { rules: [] };
 
-      let group_text = ''
-      let validateFlag = false
+      let group_text = "";
+      let validateFlag = false;
 
       if (this.isTemplate) {
-        groupRule.rules = this.groupRules.map(r => {
+        groupRule.rules = this.groupRules.map((r) => {
           return {
             sdk_id: r.sdk_id,
             sdk_arg_alias: r.sdk_arg_alias,
@@ -1345,290 +1315,298 @@
             operator_type: r.operator_type,
             sdk_arg_value: r.sdk_arg_value,
             sort: 1,
-            rule_with_pre: r.rule_with_pre
-          }
-        })
+            rule_with_pre: r.rule_with_pre,
+          };
+        });
       } else {
+        console.log(this.sdkGroup);
         //鏍¢獙蹇呭~椤�
         let undefinished = this.sdkGroup.some((sdk, index) => {
-          debugger
           //娌℃湁閰嶇疆绠楁硶
           if (Object.keys(sdk.sdkObj).length == 0) {
-            return sdk
+            return sdk;
           }
+          //澶嶅埗绠楁硶鏃舵娴嬪尯鍩熶笉鑳戒负绌�
+          if (!sdk.polygon_id) {
+            return sdk;
+          }
+
           //澶氫簬涓ら」绠楁硶鏃�,绠楁硶鍏崇郴涓嶈兘涓虹┖
-          if (sdk.rule_with_pre === '' && index != 0) {
-            return sdk
+          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
+          sdk.defaultArg.forEach((arg) => {
+            if (!arg.config.isShow) {
+              arg.sdk_arg_value = arg.default_value;
             }
-          })
+          });
           //琛ㄥ崟鎻愪氦鍓嶆牎楠�:鎵�鏈夌畻娉曠殑鍙傛暟鍊间笉鑳戒负绌�,(鏈塺ange鐨�,瑕佸湪range鑼冨洿鍐�)澶辩劍鏃舵牎楠�
-          let defaultArgFlag = sdk.defaultArg.find(arg => {
-            
-            if (arg.sdk_arg_value instanceof Array ) {
+          let defaultArgFlag = sdk.defaultArg.find((arg) => {
+            if (arg.sdk_arg_value instanceof Array) {
               if (arg.sdk_arg_value.length == 0) {
-                return arg
+                return arg;
               }
-            }else if(!arg.sdk_arg_value){
-              return arg
+            } else if (!arg.sdk_arg_value) {
+              return arg;
             }
           });
           if (defaultArgFlag) {
-            return sdk
+            return sdk;
           }
           //鏌ユ壘鍙�夊弬鏁板�兼槸鍚﹂兘璁剧疆(澶氶�夊�间负鏁扮粍绫诲瀷)
-          let optionalArgFlag = sdk.optArg.find(arg => {
+          let optionalArgFlag = sdk.optArg.find((arg) => {
             if (arg.sdk_arg_value instanceof Array) {
               if (arg.sdk_arg_value.length == 0) {
-                return arg
+                return arg;
               }
             } else {
               //鍖洪棿绫诲弬鏁板�兼渶灏�,鏈�澶у�兼槸鍚﹂兘璁剧疆
-              if (arg.operator == 'range') {
-                debugger
+              if (arg.operator == "range") {
                 if (!arg.min.trim() && arg.max.trim()) {
-                  return arg
+                  return arg;
                 }
               }
               if (!arg.sdk_arg_value) {
-                return arg
+                return arg;
               }
             }
           });
 
           if (optionalArgFlag) {
-            return sdk
+            return sdk;
           }
         });
 
         if (undefinished) {
           this.$notify({
-            type: 'error',
-            message: '绠楁硶鍙傛暟鏈畬鍠�,璇峰畬鍠勫悗鍐嶄繚瀛�'
+            type: "error",
+            message: "绠楁硶鍙傛暟鏈畬鍠�,璇峰畬鍠勫悗鍐嶄繚瀛�",
           });
-          return false
+          return false;
         }
         //鏍¢獙鍖洪棿宸︿晶鍊兼槸鍚﹀皬浜庡彸渚у��
         let illegalRange = this.sdkGroup.some((sdk, index) => {
-          let rangeArg = sdk.defaultArg.find(arg => arg.operator == 'range');
+          let rangeArg = sdk.defaultArg.find((arg) => arg.operator == "range");
           if (rangeArg) {
             if (Number(rangeArg.max) <= Number(rangeArg.min)) {
-              return sdk
+              return sdk;
             }
           }
         });
         if (illegalRange) {
           this.$notify({
-            type: 'error',
-            message: '鍖洪棿宸︿晶涓嶈兘澶т簬鎴栫瓑浜庡尯闂村彸渚х殑鍊�'
+            type: "error",
+            message: "鍖洪棿宸︿晶涓嶈兘澶т簬鎴栫瓑浜庡尯闂村彸渚х殑鍊�",
           });
-          return false
+          return false;
         }
         //鏍¢獙鑻ョ畻娉曞叧绯讳负瑙﹀彂,鍒欑畻娉曞悕涓嶈兘閲�
         let sameSdk = this.sdkGroup.some((sdk, index) => {
-          debugger
-          if (sdk.index != 0 && sdk.rule_with_pre == '=>') {
-            debugger
+          if (
+            sdk.index != 0 &&
+            (sdk.rule_with_pre == "=>" || sdk.rule_with_pre == "!=>")
+          ) {
             if (sdk.sdkObj.id == this.sdkGroup[index - 1].sdkObj.id) {
-              return sdk
+              return sdk;
             }
           }
         });
 
         if (sameSdk) {
           this.$notify({
-            type: 'error',
-            message: '绠楁硶鍏崇郴涓鸿Е鍙戞椂,绠楁硶鍚嶄笉鑳介噸澶�'
+            type: "error",
+            message: "绠楁硶鍏崇郴涓鸿Е鍙戞椂,绠楁硶鍚嶄笉鑳介噸澶�",
           });
-          return false
+          return false;
         }
 
         if (!validateFlag && !sameSdk) {
-          validateFlag = true
+          validateFlag = true;
         }
 
-        this.sdkGroup.forEach(sdk => {
+        this.sdkGroup.forEach((sdk) => {
           let tempObj = {
             sdk_id: sdk.sdkObj.id,
             camera_id: sdk.camera_id,
-            group_id: '',
+            group_id: "",
             is_save_anyhow: sdk.is_save_anyhow,
             polygon_id: sdk.polygon_id,
             rule_with_pre: sdk.rule_with_pre,
-            sdk_set: []
-          }
+            sdk_set: [],
+          };
 
-          let defaultArgs = sdk.defaultArg.map(arg => ({
+          let defaultArgs = sdk.defaultArg.map((arg) => ({
             operator: arg.operator,
             operator_type: arg.type,
             sdk_arg_alias: arg.alias,
             sdk_arg_value: arg.sdk_arg_value,
-            sort: arg.sort
-          }))
+            sort: arg.sort,
+          }));
 
-          let defaultArgDesc = '( '
-          sdk.defaultArg.forEach(arg => {
+          let defaultArgDesc = "( ";
+          sdk.defaultArg.forEach((arg) => {
             //涓嶆樉绀洪殣钘忕殑鍙傛暟閰嶇疆
-            if(!arg.config.isShow){
-              return
+            if (!arg.config.isShow) {
+              return;
             }
-            let val = '';
+            let val = "";
             //澶勭悊涓嬫媺閫夊�肩被鍨�
-            if (arg.type == 'option') {
+            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 + ' ';
-                })
+                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
+                  (opt) => opt.value == arg.sdk_arg_value
                 );
                 val = res.name;
               }
-
             }
-            if (arg.operator == 'range') {
-              let valRange = '';
-              debugger
-              valRange = arg.sdk_arg_value.replace(',', '-');
-              defaultArgDesc += `${arg.name}${arg.operators[0].name}${valRange}${arg.unit || ''}, `
+            if (arg.operator == "range") {
+              let valRange = "";
+
+              valRange = arg.sdk_arg_value.replace(",", "-");
+              defaultArgDesc += `${arg.name}${
+                arg.operators[0].name
+              }${valRange}${arg.unit || ""}, `;
             } else {
               defaultArgDesc += `${arg.name}${arg.operators[0].name}${
-                arg.type=='option' ? val : arg.sdk_arg_value
-                }${arg.unit || ''}, `
+                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);
 
           //澶勭悊鍙�夐」鍙傛暟
 
-          let optArgs = sdk.optArg.map(arg => ({
+          let optArgs = sdk.optArg.map((arg) => ({
             operator: arg.operator,
             operator_type: arg.type,
             sdk_arg_alias: arg.alias,
             sdk_arg_value: arg.sdk_arg_value,
-            sort: arg.sort
+            sort: arg.sort,
           }));
           //灏嗗閫夐」鐨勫�兼嫾鎴愬瓧绗︿覆
-          optArgs.forEach(one => {
+          optArgs.forEach((one) => {
             if (one.sdk_arg_value instanceof Array) {
               one.sdk_arg_value = one.sdk_arg_value.join();
             }
           });
-          let optArgDesc = ' '
-          sdk.optArg.forEach(arg => {
-            let val = '';
-            let valRange = '';
+          let optArgDesc = " ";
+          sdk.optArg.forEach((arg) => {
+            let val = "";
+            let valRange = "";
 
             //澶勭悊涓嬫媺閫夊�肩被鍨�
-            if (arg.type == 'option') {
+            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 + ' ';
-                })
+                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
+                  (opt) => opt.value == arg.sdk_arg_value
                 );
 
                 val = res.name;
               }
-             
             }
 
-            let operatorSelected = arg.operators.find(opr => opr.operator == arg.operator)
+            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 || ''}, `
+              arg.type == "option" ? val : arg.sdk_arg_value
+            }${arg.unit || ""}, `;
           });
           //灏嗗閫夐」鐨勫�兼嫾鎴愬瓧绗︿覆
-          defaultArgs.forEach(one => {
+          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)
+          optArgDesc =
+            optArgDesc.substring(0, optArgDesc.length - 2) +
+            optArgDesc.substring(optArgDesc.length - 1, optArgDesc.length);
+          optArgDesc += ")";
+          tempObj.sdk_set = defaultArgs.concat(optArgs);
 
-          groupRule.rules.push(tempObj)
+          groupRule.rules.push(tempObj);
 
-          let rule_with_pre = ''
+          let rule_with_pre = "";
           if (sdk.rule_with_pre) {
             switch (sdk.rule_with_pre) {
-              case '&&':
-                rule_with_pre = ' and '
-                break
-              case '||':
-                rule_with_pre = ' or '
-                break
-              case '=>':
-                rule_with_pre = ' -> '
-                break
+              case "&&":
+                rule_with_pre = " and ";
+                break;
+              case "||":
+                rule_with_pre = " or ";
+                break;
+              case "=>":
+                rule_with_pre = " -> ";
+                break;
+              case "!=>":
+                rule_with_pre = " !-> ";
+                break;
               default:
-                rule_with_pre = ''
+                rule_with_pre = "";
             }
           }
-          debugger;
-          group_text += `${rule_with_pre ? "<br/>" + rule_with_pre + "<br/>" : ""} <span style="background-color:RGB(183,183,183);">${
+          group_text += `${
+            rule_with_pre ? "<br/>" + rule_with_pre + "<br/>" : ""
+          } <span style="background-color:RGB(183,183,183);">${
             sdk.sdkObj.sdk_name
-            }</span>  ${
-            sdk.polygonObj.name
-            }  ${defaultArgDesc}${optArgDesc}`;
+          }</span>  ${sdk.polygonObj.name}  ${defaultArgDesc}${optArgDesc}`;
 
           if (
-            group_text.charAt(group_text.length - 3) == ',' &&
-            group_text.charAt(group_text.length - 2) == ' ' &&
-            group_text.charAt(group_text.length - 1) == ')'
+            group_text.charAt(group_text.length - 3) == "," &&
+            group_text.charAt(group_text.length - 2) == " " &&
+            group_text.charAt(group_text.length - 1) == ")"
           ) {
             group_text =
               group_text.substring(0, group_text.length - 3) +
-              group_text.substring(group_text.length - 2, group_text.length)
+              group_text.substring(group_text.length - 2, group_text.length);
           }
-          debugger
-        })
-        console.log(group_text)
+        });
       }
 
-      groupRule.text = group_text
-      groupRule.id = this.group_id
-      return groupRule
+      groupRule.text = group_text;
+      groupRule.id = this.group_id;
+      return groupRule;
 
       if (this.isLinkRule) {
         // 鍒ゆ柇瑙勫垯涓嚦灏戝寘鍚袱鎽勫儚鏈�
         let cameraIds = Array.from(
           new Set(
-            this.sdkGroup.map(r => {
-              return r.camera_id
+            this.sdkGroup.map((r) => {
+              return r.camera_id;
             })
           )
-        )
+        );
         if (cameraIds.length < 2) {
           this.$notify({
-            type: 'error',
+            type: "error",
             //message: '闇�瑕�2涓笉鍚屾憚鍍忔満鎵嶈兘缁勬垚鑱斿姩瑙勫垯'
-            message: '闇�瑕佽嚦灏�2涓笉鍚屾憚鍍忔満鎵嶈兘缁勬垚鑱斿姩鍦烘櫙'
-          })
-          return
+            message: "闇�瑕佽嚦灏�2涓笉鍚屾憚鍍忔満鎵嶈兘缁勬垚鑱斿姩鍦烘櫙",
+          });
+          return;
         }
 
         // 鑱斿姩瑙勫垯缂栬緫鍚庯紝鎭㈠涔嬪墠閫変腑鐨勬憚鍍忔満
@@ -1638,11 +1616,11 @@
         // }
       }
       //if(validateFlag){
-      this.onSubmitRule(payload)
+      this.onSubmitRule(payload);
       //}
-    }
-  }
-}
+    },
+  },
+};
 </script>
 
 <style lang="scss">

--
Gitblit v1.8.0