From 917c4ee8b05e816602aa06f67f2f5447150b242f Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 17 十二月 2025 09:35:50 +0800
Subject: [PATCH] Merge branch 'wuhuyancao' of http://139.186.142.91:10010/r/productDev/dmvisit into wuhuyancao

---
 admin/src/components/business/OperaWarningRuleWindow.vue |   75 ++++++++++++++++++++++++++++---------
 1 files changed, 57 insertions(+), 18 deletions(-)

diff --git a/admin/src/components/business/OperaWarningRuleWindow.vue b/admin/src/components/business/OperaWarningRuleWindow.vue
index 179993b..f6cff81 100644
--- a/admin/src/components/business/OperaWarningRuleWindow.vue
+++ b/admin/src/components/business/OperaWarningRuleWindow.vue
@@ -35,8 +35,15 @@
               noOptionsText="娌℃湁鍙�夐」"
               noResultsText="娌℃湁鍖归厤鐨勭粨鏋�" />
         </el-form-item>
-        <el-form-item label=""   style="display: inline-block;margin-left: 10px; " >
-          <el-select v-model="item.deviceId" filterable placeholder="璇烽�夋嫨鐩戞帶鐐�"   @change="changeCamera(item)" >
+        <el-form-item label=""   style="display: inline-block;margin-left: 10px;width: 120px; " >
+          <el-select  v-model="item.deviceType" filterable placeholder="璇烽�夋嫨璁惧绫诲瀷" clearable  @change="changeDeviceType(item)" >
+            <el-option label="鐩戞帶鐐�" :value="0" ></el-option>
+            <el-option label="娑堥槻璁惧" :value="1" ></el-option>
+            <el-option label="娑堥槻浼犳劅鍣�" :value="2" ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label=""  v-if="item.deviceType>=0 || item.deviceType <=2" style="display: inline-block;margin-left: 10px; " >
+          <el-select v-model="item.deviceId" filterable placeholder="璇烽�夋嫨鐩戞帶鐐�" clearable   @change="changeCamera(item)" >
             <el-option v-for="item1 in item.carmeraList"   :label="item1.name" :value="item1.indexCode" ></el-option>
           </el-select>
         </el-form-item>
@@ -154,6 +161,29 @@
         children: node.childList
       }
     },
+    changeDeviceType (item) {
+      if (item.regionId) {
+        var reg = this.getSelectedObject(item.regionId)
+        if (reg) {
+          item.carmeraList = []
+          if (item.deviceType === 1) {
+            item.carmeraList = reg.deviceList
+          } else if (item.deviceType === 2) {
+            item.carmeraList = reg.sensorList
+          }else if (item.deviceType === 0){
+            item.carmeraList = reg.carmeraList
+          }
+        }
+      }else{
+        item.carmeraList = []
+      }
+      this.$nextTick(() => {
+        if (!item.deviceType || this.notInCarmeraList(item.carmeraList, item.deviceId)) {
+          item.deviceId = null
+          item.deviceName = null
+        }
+      })
+    },
     changeCamera (curitem) {
       var list = curitem.carmeraList
       if (list && list.length) {
@@ -165,24 +195,28 @@
       }
     },
     changeSel (opt) {
-      this.$nextTick(() => {
-        console.log('=================changeSel',opt,this.form.detailList)
-        var item = this.form.detailList[opt]
-        this.form.detailList[opt].regionCode = null
-        this.form.detailList[opt].regionName = null
-        this.form.detailList[opt].carmeraList = []
-        // this.form.detailList[opt].deviceId = null
-        // this.form.detailList[opt].deviceName = null
-        if (item.regionId) {
-          var reg = this.getSelectedObject(item.regionId)
-          if (reg) {
-            this.form.detailList[opt].regionCode = reg.indexCode
-            this.form.detailList[opt].regionName = reg.name
+      console.log('=================changeSel', opt, this.form.detailList)
+      var item = this.form.detailList[opt]
+      this.form.detailList[opt].regionCode = null
+      this.form.detailList[opt].regionName = null
+      this.form.detailList[opt].carmeraList = []
+      if (item.regionId) {
+        var reg = this.getSelectedObject(item.regionId)
+        if (reg) {
+          this.form.detailList[opt].regionCode = reg.indexCode
+          this.form.detailList[opt].regionName = reg.name
+          if (item.deviceType === 1) {
+            this.form.detailList[opt].carmeraList = reg.deviceList
+          } else if (item.deviceType === 2) {
+            this.form.detailList[opt].carmeraList = reg.sensorList
+          }else{
             this.form.detailList[opt].carmeraList = reg.carmeraList
           }
         }
-        console.log('=================changeSel1' , this.form.detailList[opt].carmeraList,this.form.detailList[opt].deviceId)
-        if(this.notInCarmeraList( this.form.detailList[opt].carmeraList,this.form.detailList[opt].deviceId) ){
+      }
+      this.$nextTick(() => {
+        console.log('=================changeSel1', this.form.detailList[opt].carmeraList, this.form.detailList[opt].deviceId)
+        if (this.notInCarmeraList(this.form.detailList[opt].carmeraList, this.form.detailList[opt].deviceId)) {
           this.form.detailList[opt].deviceId = null
           this.form.detailList[opt].deviceName = null
         }
@@ -271,7 +305,7 @@
       }
       // 缂栬緫
       this.$nextTick(() => {
-        this.form.detailList =target.detailList
+        this.form.detailList = target.detailList
         for (const key in this.form) {
           this.form[key] = target[key]
           this.form.memberNotice = this.form.memberNotice || 0
@@ -287,6 +321,11 @@
               var region = this.getSelectedObject(item.regionId)
               if (region) {
                 item.carmeraList = region.carmeraList || []
+                if(item.deviceType === 1){
+                  item.carmeraList = region.deviceList || []
+                }else if(item.deviceType === 2){
+                  item.carmeraList = region.sensorList || []
+                }
               }
             }
           })

--
Gitblit v1.9.3