From 4ea16b20eb3749765d64f7a65f317f87abe04d89 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 16 十二月 2025 18:19:15 +0800
Subject: [PATCH] 最新版本541200007

---
 admin/src/components/business/OperaWarningRuleWindow.vue |   55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 7 deletions(-)

diff --git a/admin/src/components/business/OperaWarningRuleWindow.vue b/admin/src/components/business/OperaWarningRuleWindow.vue
index 53869f3..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,7 +195,7 @@
       }
     },
     changeSel (opt) {
-      console.log('=================changeSel',opt,this.form.detailList)
+      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
@@ -175,12 +205,18 @@
         if (reg) {
           this.form.detailList[opt].regionCode = reg.indexCode
           this.form.detailList[opt].regionName = reg.name
-          this.form.detailList[opt].carmeraList = reg.carmeraList
+          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
+          }
         }
       }
       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) ){
+        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
         }
@@ -269,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
@@ -285,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