From a869d02d89dd34ca325fb03bff64fc9b3dafd17d Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期六, 17 一月 2026 16:18:48 +0800
Subject: [PATCH] ai事件、智能抓拍添加公司和库区联动处理

---
 fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js                  |   95 +++++++++++++++++++++++
 fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/system/SysDeptNewController.java |    8 ++
 fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java               |    2 
 fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo.js              |  101 +++++++++++++++++++++++++
 fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java              |    2 
 5 files changed, 206 insertions(+), 2 deletions(-)

diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java b/fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java
index 257f8ca..9001e05 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java
@@ -66,7 +66,7 @@
         //璁惧鏁版嵁
         model.addAttribute("cameraList", commonManager.listCameraData());
         //搴撳尯鏁版嵁
-        model.addAttribute("deptList", commonManager.listDeptData(null));
+        model.addAttribute("deptList", commonManager.listDeptData(defaultCompany));
         //涓氬姟绫诲瀷鏁版嵁
         List<Map<String, String>> bizTypeList = new ArrayList<>();
         for (WarnType type : WarnType.values()) {
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java b/fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java
index a3d2368..55e9c3d 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java
@@ -59,7 +59,7 @@
         //璁惧鏁版嵁
         model.addAttribute("cameraList", commonManager.listCameraData());
         //搴撳尯鏁版嵁
-        model.addAttribute("deptList", commonManager.listDeptData(null));
+        model.addAttribute("deptList", commonManager.listDeptData(defaultCompany));
         //鍏徃鏁版嵁
         model.addAttribute("companyList", companies);
         //榛樿鏌ヨ鍏徃鏁版嵁
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/system/SysDeptNewController.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/system/SysDeptNewController.java
index 021df88..f055c6f 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/system/SysDeptNewController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/system/SysDeptNewController.java
@@ -1,6 +1,7 @@
 package com.fzzy.sys.controller.system;
 
 import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.domain.Dept;
 import com.fzzy.igds.service.CoreCompanyService;
 import com.fzzy.igds.service.CoreDeptService;
 import com.ruoyi.common.annotation.Log;
@@ -52,6 +53,13 @@
         return deptList;
     }
 
+    @PostMapping("/getDeptByUserType")
+    @ResponseBody
+    public List<Dept> getDeptByUserType(@RequestBody String parentId) {
+        List<Dept> deptByUserType = coreDeptService.getDeptByUserType(parentId);
+        return deptByUserType;
+    }
+
     /**
      * 鏂板閮ㄩ棬
      */
diff --git a/fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo.js b/fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo.js
index de824b8..029e3cd 100644
--- a/fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo.js
+++ b/fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo.js
@@ -1,6 +1,41 @@
 var layer;
 var laypage;
 
+// 鐩戝惉鏀跺偍鍏徃 Select2 鍙樺寲
+$(document).ready(function() {
+    // 鐩戝惉鏀跺偍鍏徃涓嬫媺妗嗗彉鍖�
+    $('select[name="key"]').on('change', function() {
+        var selectedParentId = $(this).val();
+        if(selectedParentId) {
+            getSelectData(selectedParentId);
+        } else {
+            // 濡傛灉娓呯┖浜嗘敹鍌ㄥ叕鍙搁�夋嫨锛屼篃娓呯┖搴撳尯閫夐」
+            var $deptSelect = $('select[name="deptId"]');
+            $deptSelect.empty()
+                .append('<option value="">鎵�鏈�</option>')
+                .select2({
+                    placeholder: "璇烽�夋嫨搴撳尯",
+                    allowClear: true,
+                    width: 'resolve'
+                });
+        }
+    });
+
+    // 鍦ㄧ偣鍑诲簱鍖轰笅鎷夋鏃讹紝浠呴獙璇佽�屼笉鍙戣捣鏂拌姹�
+    $('select[name="deptId"]').on('select2:opening', function(e) {
+        var selectedParentId = $('select[name="key"]').val();
+        if(!selectedParentId) {
+            e.preventDefault();
+            layer.msg('璇峰厛閫夋嫨鏀跺偍鍏徃');
+            return false;
+        }
+
+        // 涓嶅湪姝ゅ鍙戣捣璇锋眰锛屼緷璧� change 浜嬩欢鏃剁殑棰勫姞杞�
+        return true;
+    });
+});
+
+
 $(function () {
     // 鍒濆鍖栧垎椤�
     layui.use(['laypage', 'layer'], function () {
@@ -15,6 +50,72 @@
     initImagePreview();
 });
 
+
+
+
+// 淇敼 getSelectData 鍑芥暟锛屾敮鎸� Select2 鐨勬暟鎹牸寮�
+function getSelectData(parentId) {
+    if(!parentId) {
+        return layer.msg('璇烽�夋嫨鏀跺偍鍏徃');
+    }
+
+    $.ajax({
+        url: "../../system/dept-new/getDeptByUserType",
+        type: 'POST',
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: parentId,
+        success: function (response) {
+            if (response) {
+                deptList = response;
+                // 閲嶆柊鍒濆鍖� Select2 鎴栨洿鏂伴�夐」
+                updateDeptSelect2Options(deptList);
+            } else {
+                layer.msg(response.msg || '鏁版嵁鍔犺浇澶辫触');
+            }
+        },
+        error: function (xhr, status, error) {
+            layer.msg('鏁版嵁鍔犺浇澶辫触');
+        }
+    });
+}
+
+// 鏇存柊 Select2 涓嬫媺妗嗛�夐」
+function updateDeptSelect2Options(deptList) {
+    var $deptSelect = $('select[name="deptId"]');
+
+    // 淇濆瓨褰撳墠閫変腑鐨勫��
+    var currentVal = $deptSelect.val();
+
+    // 娓呯┖鐜版湁閫夐」
+    $deptSelect.empty();
+
+    // 娣诲姞"鎵�鏈�"閫夐」
+    $deptSelect.append('<option value="">鎵�鏈�</option>');
+
+    // 娣诲姞鍔ㄦ�佹暟鎹�夐」
+    if(deptList && deptList.length > 0) {
+        deptList.forEach(function(dept) {
+            $deptSelect.append('<option value="' + dept.id + '">' + dept.kqmc + '</option>');
+        });
+    }
+
+    // 閲嶆柊鍒濆鍖� Select2
+    $deptSelect.select2({
+        placeholder: "璇烽�夋嫨搴撳尯",
+        allowClear: true,
+        width: 'resolve'
+    });
+
+    // 鎭㈠涔嬪墠鐨勯�夋嫨
+    if(currentVal) {
+        $deptSelect.val(currentVal).trigger('change');
+    }
+}
+
+
+
+
 /**
  * 鍒濆鍖栧垎椤电粍浠�
  */
diff --git a/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js b/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js
index a06b09a..25cf58b 100644
--- a/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js
+++ b/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js
@@ -1,6 +1,40 @@
 var layer;
 var laypage;
 
+// 鐩戝惉鏀跺偍鍏徃 Select2 鍙樺寲
+$(document).ready(function() {
+    // 鐩戝惉鏀跺偍鍏徃涓嬫媺妗嗗彉鍖�
+    $('select[name="key"]').on('change', function() {
+        var selectedParentId = $(this).val();
+        if(selectedParentId) {
+            getSelectData(selectedParentId);
+        } else {
+            // 濡傛灉娓呯┖浜嗘敹鍌ㄥ叕鍙搁�夋嫨锛屼篃娓呯┖搴撳尯閫夐」
+            var $deptSelect = $('select[name="deptId"]');
+            $deptSelect.empty()
+                .append('<option value="">鎵�鏈�</option>')
+                .select2({
+                    placeholder: "璇烽�夋嫨搴撳尯",
+                    allowClear: true,
+                    width: 'resolve'
+                });
+        }
+    });
+
+    // 鍦ㄧ偣鍑诲簱鍖轰笅鎷夋鏃讹紝浠呴獙璇佽�屼笉鍙戣捣鏂拌姹�
+    $('select[name="deptId"]').on('select2:opening', function(e) {
+        var selectedParentId = $('select[name="key"]').val();
+        if(!selectedParentId) {
+            e.preventDefault();
+            layer.msg('璇峰厛閫夋嫨鏀跺偍鍏徃');
+            return false;
+        }
+
+        // 涓嶅湪姝ゅ鍙戣捣璇锋眰锛屼緷璧� change 浜嬩欢鏃剁殑棰勫姞杞�
+        return true;
+    });
+});
+
 $(function () {
     // 鍒濆鍖栧垎椤�
     layui.use(['laypage', 'layer'], function () {
@@ -15,6 +49,67 @@
     initImagePreview();
 });
 
+
+// 淇敼 getSelectData 鍑芥暟锛屾敮鎸� Select2 鐨勬暟鎹牸寮�
+function getSelectData(parentId) {
+    if(!parentId) {
+        return layer.msg('璇烽�夋嫨鏀跺偍鍏徃');
+    }
+
+    $.ajax({
+        url: "../../system/dept-new/getDeptByUserType",
+        type: 'POST',
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: parentId,
+        success: function (response) {
+            if (response) {
+                deptList = response;
+                // 閲嶆柊鍒濆鍖� Select2 鎴栨洿鏂伴�夐」
+                updateDeptSelect2Options(deptList);
+            } else {
+                layer.msg(response.msg || '鏁版嵁鍔犺浇澶辫触');
+            }
+        },
+        error: function (xhr, status, error) {
+            layer.msg('鏁版嵁鍔犺浇澶辫触');
+        }
+    });
+}
+
+// 鏇存柊 Select2 涓嬫媺妗嗛�夐」
+function updateDeptSelect2Options(deptList) {
+    var $deptSelect = $('select[name="deptId"]');
+
+    // 淇濆瓨褰撳墠閫変腑鐨勫��
+    var currentVal = $deptSelect.val();
+
+    // 娓呯┖鐜版湁閫夐」
+    $deptSelect.empty();
+
+    // 娣诲姞"鎵�鏈�"閫夐」
+    $deptSelect.append('<option value="">鎵�鏈�</option>');
+
+    // 娣诲姞鍔ㄦ�佹暟鎹�夐」
+    if(deptList && deptList.length > 0) {
+        deptList.forEach(function(dept) {
+            $deptSelect.append('<option value="' + dept.id + '">' + dept.kqmc + '</option>');
+        });
+    }
+
+    // 閲嶆柊鍒濆鍖� Select2
+    $deptSelect.select2({
+        placeholder: "璇烽�夋嫨搴撳尯",
+        allowClear: true,
+        width: 'resolve'
+    });
+
+    // 鎭㈠涔嬪墠鐨勯�夋嫨
+    if(currentVal) {
+        $deptSelect.val(currentVal).trigger('change');
+    }
+}
+
 /**
  * 鍒濆鍖栧垎椤电粍浠�
  */

--
Gitblit v1.9.3