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 @@ - +