From 2fcd208b2dd3dcd78836daa1bfce016a62d04f8f Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期二, 09 十二月 2025 15:12:33 +0800
Subject: [PATCH] 智能抓拍,ai事件管理,样式修改
---
fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord-style.css | 8 +
fzzy-igdss-web/src/main/resources/templates/security/snap/snapRecord/snapRecord.html | 66 +++++++-----
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/snap/SnapRecordController.java | 3
fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js | 48 +++++---
fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo-style.css | 10 +
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/EventInfoService.java | 6 +
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/eventInfo/EventInfoController.java | 3
fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo.js | 45 +++++---
fzzy-igdss-web/src/main/resources/templates/security/eventInfo/eventInfo.html | 64 ++++++++----
9 files changed, 158 insertions(+), 95 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/EventInfoService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/EventInfoService.java
index 5c9a3d3..a4980e9 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/EventInfoService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/EventInfoService.java
@@ -43,10 +43,14 @@
param.setCompanyId(ContextUtil.getCompanyId());
queryWrapper.eq("company_id", param.getCompanyId());
-
+ //搴撳尯
if (StringUtils.isNotBlank(param.getDeptId())) {
queryWrapper.eq("dept_id", param.getDeptId());
}
+ //浠撳簱
+ if (StringUtils.isNotBlank(param.getDepotId())) {
+ queryWrapper.eq("depot_id", param.getDepotId());
+ }
queryWrapper.orderByDesc("create_time");
return queryWrapper;
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/eventInfo/EventInfoController.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/eventInfo/EventInfoController.java
index bd1fbc3..e4ae7ed 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/eventInfo/EventInfoController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/eventInfo/EventInfoController.java
@@ -7,6 +7,7 @@
import com.fzzy.igds.domain.EventInfo;
import com.fzzy.sys.manager.security.eventInfo.EventInfoManager;
import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@@ -26,6 +27,7 @@
@Resource
private EventInfoManager eventInfoManager;
+ @RequiresPermissions("web:security:eventInfo:view")
@GetMapping
public String getEventInfo(
Model model) {
@@ -47,6 +49,7 @@
* @param param
* @return
*/
+ @RequiresPermissions("web:security:eventInfo:list")
@RequestMapping("/pageData")
@ResponseBody
public PageResponse<Page<EventInfo>> pageData(@RequestBody IgdsBaseParam param) {
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/snap/SnapRecordController.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/snap/SnapRecordController.java
index d5a7160..610f1d0 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/snap/SnapRecordController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/snap/SnapRecordController.java
@@ -7,6 +7,7 @@
import com.fzzy.igds.domain.SnapRecord;
import com.fzzy.sys.manager.security.snap.SnapRecordManager;
import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@@ -27,6 +28,7 @@
@Resource
private SnapRecordManager snapRecordManager;
+ @RequiresPermissions("web:security:snap:snapRecord:view")
@GetMapping
public String getSnapRecord(
Model model) {
@@ -48,6 +50,7 @@
* @param param
* @return
*/
+ @RequiresPermissions("web:security:snap:snapRecord:list")
@RequestMapping("/pageData")
@ResponseBody
public PageResponse<Page<SnapRecord>> pageData(@RequestBody IgdsBaseParam param) {
diff --git a/fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo-style.css b/fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo-style.css
index c773d4f..268a484 100644
--- a/fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo-style.css
+++ b/fzzy-igdss-web/src/main/resources/static/security/eventInfo/eventInfo-style.css
@@ -52,7 +52,7 @@
display: grid;
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
gap: 20px;
- margin-bottom: 15px;
+ margin-bottom: 5px;
}
.gallery-item {
@@ -70,7 +70,7 @@
.gallery-img {
width: 100%;
- height: 195px;
+ height: 240px;
object-fit: cover;
cursor: pointer;
transition: all 0.3s ease;
@@ -131,7 +131,8 @@
.gallery-tags {
display: flex;
flex-wrap: wrap;
- /*gap: 8px;*/
+ margin-left: auto;
+ gap: 3px;
/*margin: 12px 0;*/
}
@@ -139,7 +140,8 @@
/* 鍒嗛〉鏍峰紡 */
.pagination-container {
display: flex;
- justify-content: center;
+ justify-content: flex-end;
+ width: 100%;
/*margin-top: 40px;*/
}
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 3c56051..6421a2c 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
@@ -24,7 +24,7 @@
count: typeof totalItems !== 'undefined' ? totalItems : 0,
limit: typeof pageSize !== 'undefined' ? pageSize : 6,
curr: typeof currentPage !== 'undefined' ? currentPage : 1,
- layout: ['count', 'prev', 'page', 'next', 'refresh', 'skip'],
+ layout: ['prev', 'page', 'next', 'refresh', 'skip'],
jump: function (obj, first) {
if (!first) {
searchRecord(obj.curr, obj.limit)
@@ -45,7 +45,7 @@
count: totalCount,
limit: pageSize,
curr: currentPage,
- layout: ['count', 'prev', 'page', 'next', 'refresh', 'skip'],
+ layout: ['prev', 'page', 'next', 'refresh', 'skip'],
jump: function (obj, first) {
if (!first) {
searchRecord(obj.curr, obj.limit)
@@ -144,26 +144,37 @@
<div class="gallery-info">
<div class="gallery-header">
<h3 class="gallery-title">${record.name || record.id}</h3>
+ <div class="gallery-tags">
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>姹借溅</span>
+ </span>
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>鍗¤溅</span>
+ </span>
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>缈绘枟杞�</span>
+ </span>
+ </div>
</div>
<div class="gallery-meta">
- <div class="meta-item">
+ <div style="display: flex; align-items: center; gap: 15px;width: 100%">
+ <div class="meta-item" style="width: 50%">
+ <i class="layui-icon layui-icon-video"></i>
+ <span>${record.serId || ''}</span>
+ </div>
+ <div class="meta-item" style="width: 50%">
+ <i class="layui-icon layui-icon-date"></i>
+ <span>${formatDate(record.time)}</span>
+ </div>
+ </div>
+ <div class="meta-item" >
<i class="layui-icon layui-icon-home"></i>
<span>${record.deptId || ''}</span>
</div>
- <div class="meta-item">
- <i class="layui-icon layui-icon-video"></i>
- <span>${record.serId || ''}</span>
- </div>
- <div class="meta-item">
- <i class="layui-icon layui-icon-date"></i>
- <span>${formatDate(record.time)}</span>
- </div>
- </div>
- <div class="gallery-tags">
- <span class="tag-person">
- <i class="layui-icon layui-icon-face-smile"></i>
- <span>${record.level || '鏈煡'}</span>
- </span>
+
</div>
</div>
</div>
diff --git a/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord-style.css b/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord-style.css
index 05ce63b..268a484 100644
--- a/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord-style.css
+++ b/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord-style.css
@@ -70,7 +70,7 @@
.gallery-img {
width: 100%;
- height: 195px;
+ height: 240px;
object-fit: cover;
cursor: pointer;
transition: all 0.3s ease;
@@ -131,7 +131,8 @@
.gallery-tags {
display: flex;
flex-wrap: wrap;
- /*gap: 8px;*/
+ margin-left: auto;
+ gap: 3px;
/*margin: 12px 0;*/
}
@@ -139,7 +140,8 @@
/* 鍒嗛〉鏍峰紡 */
.pagination-container {
display: flex;
- justify-content: center;
+ justify-content: flex-end;
+ width: 100%;
/*margin-top: 40px;*/
}
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 354e850..9d7f6b4 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
@@ -24,7 +24,7 @@
count: typeof totalItems !== 'undefined' ? totalItems : 0,
limit: typeof pageSize !== 'undefined' ? pageSize : 6,
curr: typeof currentPage !== 'undefined' ? currentPage : 1,
- layout: ['count', 'prev', 'page', 'next', 'refresh', 'skip'],
+ layout: [ 'prev', 'page', 'next', 'refresh', 'skip'],
jump: function (obj, first) {
if (!first) {
searchRecord(obj.curr, obj.limit)
@@ -45,7 +45,7 @@
count: totalCount,
limit: pageSize,
curr: currentPage,
- layout: ['count', 'prev', 'page', 'next', 'refresh', 'skip'],
+ layout: ['prev', 'page', 'next', 'refresh', 'skip'],
jump: function (obj, first) {
if (!first) {
searchRecord(obj.curr, obj.limit)
@@ -143,28 +143,38 @@
class="gallery-img" onclick="showSnapRecordPreview(this.getAttribute('data-url'))">
<div class="gallery-info">
<div class="gallery-header">
- <h3 class="gallery-title">${record.id}</h3>
+<!-- <h3 class="gallery-title">${record.id}</h3>-->
+ <div class="gallery-tags">
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>姹借溅</span>
+ </span>
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>鍗¤溅</span>
+ </span>
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>缈绘枟杞�</span>
+ </span>
+ </div>
</div>
<div class="gallery-meta">
+ <div style="display: flex; align-items: center; gap: 15px;width: 100%">
+ <div class="meta-item" style="width: 50%">
+ <i class="layui-icon layui-icon-video"></i>
+ <span>${record.cameraId || ''}</span>
+ </div>
+ <div class="meta-item" style="width: 50%">
+ <i class="layui-icon layui-icon-date"></i>
+ <span>${formatDate(record.snapTime)}</span>
+ </div>
+ </div>
<div class="meta-item">
<i class="layui-icon layui-icon-home"></i>
<span>${record.deptId || ''}</span>
- </div>
- <div class="meta-item">
- <i class="layui-icon layui-icon-video"></i>
- <span>${record.cameraId || ''}</span>
- </div>
- <div class="meta-item">
- <i class="layui-icon layui-icon-date"></i>
- <span>${formatDate(record.snapTime)}</span>
- </div>
- </div>
- <div class="gallery-tags">
- <span class="tag-person">
- <i class="layui-icon layui-icon-face-smile"></i>
- <span>娴嬭瘯鏍囩</span>
- </span>
- </div>
+ </div>
+ </div>
</div>
</div>
`;
diff --git a/fzzy-igdss-web/src/main/resources/templates/security/eventInfo/eventInfo.html b/fzzy-igdss-web/src/main/resources/templates/security/eventInfo/eventInfo.html
index 4ae7291..6181a3f 100644
--- a/fzzy-igdss-web/src/main/resources/templates/security/eventInfo/eventInfo.html
+++ b/fzzy-igdss-web/src/main/resources/templates/security/eventInfo/eventInfo.html
@@ -1,18 +1,19 @@
<!DOCTYPE html>
-<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
- <th:block th:include="include :: header('AI浜嬩欢绠$悊')" />
+ <th:block th:include="include :: header('AI浜嬩欢绠$悊')"/>
<link rel="stylesheet" type="text/css" th:href="@{/ajax/libs/layui-ruoyi/css/layui.css}"/>
<link rel="stylesheet" th:href="@{/security/eventInfo/eventInfo-style.css}">
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
- <div class="col-sm-12 search-collapse">
+ <div class="col-sm-12 search-collapse"
+ style="display: flex; justify-content: space-between; align-items: center;">
<form id="eventInfo-form">
<div class="select-list">
<ul>
@@ -20,12 +21,22 @@
鎵�灞炲簱鍖猴細<input type="text" name="deptId"/>
</li>
<li>
- <a class="btn btn-primary btn-rounded btn-sm" onclick="searchRecord()"><i class="fa fa-search"></i> 鎼滅储</a>
- <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 閲嶇疆</a>
+ 鎵�灞炰粨搴擄細<input type="text" name="depotId"/>
+ </li>
+ <li>
+ <a class="btn btn-primary btn-rounded btn-sm" onclick="searchRecord()"><i
+ class="fa fa-search"></i> 鎼滅储</a>
+ <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
+ class="fa fa-refresh"></i> 閲嶇疆</a>
</li>
</ul>
</div>
</form>
+ <div class="btn-group-sm" role="group">
+ <a class="btn btn-success">
+ <i class="fa fa-plus"></i> 浜嬩欢閰嶇疆
+ </a>
+ </div>
</div>
<div class="col-sm-12 " style="padding-top: 10px;">
@@ -45,31 +56,38 @@
<div class="gallery-info">
<div class="gallery-header">
<h3 class="gallery-title" th:text="${eventInfo.name}"></h3>
+ <div class="gallery-tags">
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>姹借溅</span>
+ </span>
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>鍗¤溅</span>
+ </span>
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>缈绘枟杞�</span>
+ </span>
+ </div>
</div>
<div class="gallery-meta">
+ <div style="display: flex; align-items: center; gap: 15px;width: 100%">
+ <div class="meta-item" style="width: 50%">
+ <i class="layui-icon layui-icon-video"></i>
+ <span th:text="${eventInfo.serId}"></span>
+ </div>
+ <div class="meta-item" style="width: 50%">
+ <i class="layui-icon layui-icon-date"></i>
+ <span th:text="${#dates.format(eventInfo.time, 'yyyy-MM-dd HH:mm:ss')}"></span>
+ </div>
+ </div>
<div class="meta-item">
<i class="layui-icon layui-icon-home"></i>
<span th:text="${eventInfo.deptId}"></span>
</div>
- <div class="meta-item">
- <i class="layui-icon layui-icon-video"></i>
- <span th:text="${eventInfo.serId}"></span>
- </div>
- <div class="meta-item">
- <i class="layui-icon layui-icon-date"></i>
- <span th:text="${#dates.format(eventInfo.time, 'yyyy-MM-dd HH:mm:ss')}"></span>
- </div>
</div>
-
- <!-- 鏍囩鍒楄〃 -->
- <div class="gallery-tags">
- <span class="tag-person">
- <i class="layui-icon layui-icon-face-smile"></i>
- <span th:text="${eventInfo.level}"></span>
- </span>
- </div>
-
</div>
</div>
</div>
@@ -90,7 +108,7 @@
</div>
</div>
</div>
-<th:block th:include="include :: footer" />
+<th:block th:include="include :: footer"/>
<script th:src="@{/ajax/libs/layui-ruoyi/layui.js}"></script>
<script th:src="@{/security/eventInfo/eventInfo.js}"></script>
<script th:inline="javascript">
diff --git a/fzzy-igdss-web/src/main/resources/templates/security/snap/snapRecord/snapRecord.html b/fzzy-igdss-web/src/main/resources/templates/security/snap/snapRecord/snapRecord.html
index f9f5394..cc3d037 100644
--- a/fzzy-igdss-web/src/main/resources/templates/security/snap/snapRecord/snapRecord.html
+++ b/fzzy-igdss-web/src/main/resources/templates/security/snap/snapRecord/snapRecord.html
@@ -5,31 +5,32 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
- <th:block th:include="include :: header('鏅鸿兘鎶撴媿')" />
+ <th:block th:include="include :: header('鏅鸿兘鎶撴媿')"/>
<link rel="stylesheet" type="text/css" th:href="@{/ajax/libs/layui-ruoyi/css/layui.css}"/>
<link rel="stylesheet" th:href="@{/security/snap/snapRecord-style.css}">
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
- <div class="col-sm-12 search-collapse">
+ <div class="col-sm-12 search-collapse"
+ style="display: flex; justify-content: space-between; align-items: center;">
<form id="snapRecord-form">
<div class="select-list">
<ul>
<li>
- 鎵�灞炰粨搴擄細<input type="text" name="deptId"/>
+ 鎵�灞炲簱鍖猴細<input type="text" name="deptId"/>
</li>
<li>
- <a class="btn btn-primary btn-rounded btn-sm" onclick="searchRecord()"><i class="fa fa-search"></i> 鎼滅储</a>
- <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 閲嶇疆</a>
+ <a class="btn btn-primary btn-rounded btn-sm" onclick="searchRecord()"><i
+ class="fa fa-search"></i> 鎼滅储</a>
+ <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
+ class="fa fa-refresh"></i> 閲嶇疆</a>
</li>
</ul>
</div>
</form>
- </div>
- <div class="col-sm-12 " style="padding-top: 5px">
- <div class="btn-group-sm" role="group" >
- <a class="btn btn-success" onclick="openConf()" shiro:hasPermission="system:user:add">
+ <div class="btn-group-sm" role="group">
+ <a class="btn btn-success" onclick="openConf()" shiro:hasPermission="web:security:snap:snapRecord:view">
<i class="fa fa-plus"></i> 鎶撴媿閰嶇疆
</a>
</div>
@@ -52,32 +53,40 @@
class="gallery-img" onclick="showSnapRecordPreview(this.getAttribute('data-url'))">
<div class="gallery-info">
<div class="gallery-header">
- <h3 class="gallery-title" th:text="${snapRecord.id}"></h3>
+ <!-- <h3 class="gallery-title" th:text="${snapRecord.id}"></h3>-->
+ <!-- 鏍囩鍒楄〃 -->
+ <div class="gallery-tags">
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>姹借溅</span>
+ </span>
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>鍗¤溅</span>
+ </span>
+ <span class="tag-person">
+ <i class="layui-icon layui-icon-note"></i>
+ <span>缈绘枟杞�</span>
+ </span>
+ </div>
</div>
<div class="gallery-meta">
+ <div style="display: flex; align-items: center; gap: 15px;width: 100%">
+ <div class="meta-item" style="width: 50%">
+ <i class="layui-icon layui-icon-video"></i>
+ <span th:text="${snapRecord.cameraId}"></span>
+ </div>
+ <div class="meta-item" style="width: 50%">
+ <i class="layui-icon layui-icon-date"></i>
+ <span th:text="${#dates.format(snapRecord.snapTime, 'yyyy-MM-dd HH:mm:ss')}"></span>
+ </div>
+ </div>
<div class="meta-item">
<i class="layui-icon layui-icon-home"></i>
<span th:text="${snapRecord.deptId}"></span>
</div>
- <div class="meta-item">
- <i class="layui-icon layui-icon-video"></i>
- <span th:text="${snapRecord.cameraId}"></span>
- </div>
- <div class="meta-item">
- <i class="layui-icon layui-icon-date"></i>
- <span th:text="${#dates.format(snapRecord.snapTime, 'yyyy-MM-dd HH:mm:ss')}"></span>
- </div>
</div>
-
- <!-- 鏍囩鍒楄〃 -->
- <div class="gallery-tags">
- <span class="tag-person">
- <i class="layui-icon layui-icon-face-smile"></i>
- <span>娴嬭瘯鏍囩</span>
- </span>
- </div>
-
</div>
</div>
</div>
@@ -86,6 +95,7 @@
<div class="pagination-container" th:if="${not #lists.isEmpty(snapRecordList)}">
<div id="pagination"></div>
</div>
+
</div>
</div>
<!-- 鍥剧墖棰勮灞� -->
@@ -98,7 +108,7 @@
</div>
</div>
</div>
-<th:block th:include="include :: footer" />
+<th:block th:include="include :: footer"/>
<script th:src="@{/ajax/libs/layui-ruoyi/layui.js}"></script>
<script th:src="@{/security/snap/snapRecord.js}"></script>
<script th:inline="javascript">
--
Gitblit v1.9.3