From 21f18080c5f79f7cfaecbf123d945b18dde20ed1 Mon Sep 17 00:00:00 2001
From: chris <510148846@qq.com>
Date: Tue, 20 Jan 2026 09:18:53 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=84=8F=E8=A7=81=E5=8F=8D?=
=?UTF-8?q?=E9=A6=88=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=EF=BC=9B=E6=B0=94?=
=?UTF-8?q?=E8=B1=A1=E8=A7=86=E9=A2=91=E6=96=B0=E5=A2=9E=E6=8E=A7=E5=88=B6?=
=?UTF-8?q?=E6=A8=A1=E5=9D=97=EF=BC=9B=E5=B0=86=E6=9E=9C=E5=9B=AD=E5=A4=A7?=
=?UTF-8?q?=E5=B1=8F=E6=97=A0=E4=BA=BA=E6=9C=BA=E6=A8=A1=E5=9D=97=E6=9B=BF?=
=?UTF-8?q?=E6=8D=A2=E4=B8=BA=E6=9E=9C=E5=9B=AD=E5=9C=B0=E5=9B=BE=EF=BC=9B?=
=?UTF-8?q?=E5=AE=8C=E5=96=84=E9=83=A8=E5=88=86=E5=AF=BC=E5=87=BA=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=EF=BC=9B=E8=B0=83=E6=95=B4=E9=83=A8=E5=88=86=E7=95=8C?=
=?UTF-8?q?=E9=9D=A2=E8=A1=A8=E5=8D=95=E6=96=87=E5=AD=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.trae/rules/project_rules.md | 7 ++
src/api/deviceData/index.js | 22 +++-
src/api/feedback/index.js | 16 +++
src/api/pest/index.js | 4 +-
src/api/pest/pushHistory.js | 6 +-
src/router/index.js | 10 +-
.../devices/components/PestFormDialog.vue | 12 +-
src/views/devices/config.js | 3 +-
src/views/devices/index.vue | 4 +-
.../feedback/components/FeedBackTable.vue | 47 +++++++
.../feedback/components/SearchModule.vue | 58 +++++++++
src/views/feedback/config.js | 13 ++
src/views/feedback/index.vue | 55 +++++++++
.../orchardScreen/components/OrchardMap.vue | 115 ++++++++++++++++++
src/views/orchardScreen/index.vue | 30 ++++-
.../imgAnalysis/components/ActionModule.vue | 58 +++++++++
.../pest/imgAnalysis/components/ImageList.vue | 7 +-
src/views/pest/imgAnalysis/index.vue | 46 ++++---
src/views/pest/pestMonitor/index.vue | 6 +
.../pestStatistics/components/SearchForm.vue | 13 +-
src/views/pest/pestStatistics/index.vue | 14 ++-
src/views/pest/pushManagement/index.vue | 16 ++-
src/views/soil/monitor/index.vue | 11 +-
src/views/system/dept/index.vue | 15 ++-
src/views/system/user/index.vue | 8 +-
src/views/weather/history/index.vue | 4 +-
.../weather/monitor/components/LiveData.vue | 108 +++++++++++++++-
src/views/weather/monitor/index.vue | 6 +-
28 files changed, 643 insertions(+), 71 deletions(-)
create mode 100644 .trae/rules/project_rules.md
create mode 100644 src/api/feedback/index.js
create mode 100644 src/views/feedback/components/FeedBackTable.vue
create mode 100644 src/views/feedback/components/SearchModule.vue
create mode 100644 src/views/feedback/config.js
create mode 100644 src/views/feedback/index.vue
create mode 100644 src/views/orchardScreen/components/OrchardMap.vue
create mode 100644 src/views/pest/imgAnalysis/components/ActionModule.vue
diff --git a/.trae/rules/project_rules.md b/.trae/rules/project_rules.md
new file mode 100644
index 0000000..7bf70b8
--- /dev/null
+++ b/.trae/rules/project_rules.md
@@ -0,0 +1,7 @@
+
+-这个一个基于若依vue3框架开发,采用vue+vite+element-plus开发的果园管理系统。
\ No newline at end of file
diff --git a/src/api/deviceData/index.js b/src/api/deviceData/index.js
index f1c7230..ed4ff5b 100644
--- a/src/api/deviceData/index.js
+++ b/src/api/deviceData/index.js
@@ -2,7 +2,7 @@
* @Author: chris
* @Date: 2025-09-05 11:34:53
* @LastEditors: chris
- * @LastEditTime: 2025-09-18 14:45:50
+ * @LastEditTime: 2026-01-19 10:13:37
*/
import request from "@/utils/request";
@@ -67,3 +67,23 @@ export function exportDeviceData(query) {
responseType: "blob",
});
}
+
+// 导出虫情分析数据
+export function exportPestAnalysis(params) {
+ return request({
+ url: "/business/device-data/insect/analysis/export",
+ method: "post",
+ params,
+ responseType: "blob",
+ });
+}
+
+// 导出虫情趋势数据
+export function exportPestTrend(params) {
+ return request({
+ url: "/business/device-data/insect/trend/export",
+ method: "post",
+ params,
+ responseType: "blob",
+ });
+}
diff --git a/src/api/feedback/index.js b/src/api/feedback/index.js
new file mode 100644
index 0000000..c683890
--- /dev/null
+++ b/src/api/feedback/index.js
@@ -0,0 +1,16 @@
+/*
+ * @Author: chris
+ * @Date: 2026-01-16 15:11:26
+ * @LastEditors: chris
+ * @LastEditTime: 2026-01-16 15:13:04
+ */
+import request from "@/utils/request";
+
+// 获取反馈信息列表(分页)
+export function listFeedBack(query) {
+ return request({
+ url: "/business/feedback/list",
+ method: "get",
+ params: query,
+ });
+}
diff --git a/src/api/pest/index.js b/src/api/pest/index.js
index e63b7d7..3702f33 100644
--- a/src/api/pest/index.js
+++ b/src/api/pest/index.js
@@ -2,7 +2,7 @@
* @Author: chris
* @Date: 2025-09-05 11:34:53
* @LastEditors: chris
- * @LastEditTime: 2025-09-17 11:53:48
+ * @LastEditTime: 2026-01-19 10:13:52
*/
import request from "@/utils/request";
@@ -49,7 +49,7 @@ export function delPest(id) {
});
}
-// 导出果园数据
+// 导出虫情设数据
export function exportPest(query) {
return request({
url: "/leilinglitchi/business/device/export",
diff --git a/src/api/pest/pushHistory.js b/src/api/pest/pushHistory.js
index 87b4687..4cb5850 100644
--- a/src/api/pest/pushHistory.js
+++ b/src/api/pest/pushHistory.js
@@ -2,14 +2,14 @@
* @Author: chris
* @Date: 2025-09-05 11:34:53
* @LastEditors: chris
- * @LastEditTime: 2025-10-27 17:05:10
+ * @LastEditTime: 2025-12-31 10:40:10
*/
import request from "@/utils/request";
// 查询推送历史列表
export function listNotify(query) {
return request({
- url: "/leilinglitchi/business/device/list",
+ url: "/leilinglitchi/business/notify-log/list",
method: "get",
params: Object.assign({ type: 1 }, query),
});
@@ -18,7 +18,7 @@ export function listNotify(query) {
// 查询推送历史详细
export function getNotify(id) {
return request({
- url: "/leilinglitchi/business/device/" + id,
+ url: "/leilinglitchi/business/notify-log/" + id,
method: "get",
});
}
diff --git a/src/router/index.js b/src/router/index.js
index b2ae9bb..2c162f5 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -57,6 +57,11 @@ export const constantRoutes = [
component: () => import("@/views/error/401"),
hidden: true,
},
+ {
+ path: "/orchard-screen",
+ component: () => import("@/views/orchardScreen"),
+ name: "OrchardScreen",
+ },
{
path: "",
component: Layout,
@@ -119,11 +124,6 @@ export const constantRoutes = [
// component: () => import("@/views/soil/history"),
// name: "SoilHistory",
// },
- // // {
- // // path: "/orchard-screen",
- // // component: () => import("@/views/orchardScreen"),
- // // name: "OrchardScreen",
- // // },
// TODO 测试结束, 后续删除
],
},
diff --git a/src/views/devices/components/PestFormDialog.vue b/src/views/devices/components/PestFormDialog.vue
index 1e0270c..15f9692 100644
--- a/src/views/devices/components/PestFormDialog.vue
+++ b/src/views/devices/components/PestFormDialog.vue
@@ -34,6 +34,11 @@
+
+
+
+
+
@@ -52,7 +57,7 @@
-
+