From 2b1fde693a236a4d44fb7d40066fa4be632e8035 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?home=E5=AD=99?= <1162067978@qq.com>
Date: Sun, 29 Jun 2025 11:42:24 +0800
Subject: [PATCH] 1
---
src/assets/css/main.css | 2 -
src/assets/css/main.scss | 3 +-
src/assets/js/mapData.js | 1 +
src/components/large-nav.vue | 110 ++
src/router/index.js | 8 +
src/views/page/largeScreen.vue | 89 +-
src/views/page/largeScreen2.vue | 213 +++
src/views/page/largeScreen3.vue | 2597 +++++++++++++++++++++++++++++++
8 files changed, 3007 insertions(+), 16 deletions(-)
create mode 100644 src/assets/js/mapData.js
create mode 100644 src/components/large-nav.vue
create mode 100644 src/views/page/largeScreen2.vue
create mode 100644 src/views/page/largeScreen3.vue
diff --git a/src/assets/css/main.css b/src/assets/css/main.css
index f0c78455..ad4fde75 100644
--- a/src/assets/css/main.css
+++ b/src/assets/css/main.css
@@ -33,8 +33,6 @@
.tips-model {
padding: 10px;
- color: #ff7f00;
- color: #ff7f00;
color: #fff;
}
diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss
index 777f9757..2bc9bbcd 100644
--- a/src/assets/css/main.scss
+++ b/src/assets/css/main.scss
@@ -36,8 +36,7 @@
.tips-model {
padding: 10px;
- color: #ff7f00;
- color: #ff7f00;
+
color: #fff;
.tips-model-title {
diff --git a/src/assets/js/mapData.js b/src/assets/js/mapData.js
new file mode 100644
index 00000000..c39800d2
--- /dev/null
+++ b/src/assets/js/mapData.js
@@ -0,0 +1 @@
+export default {"features":[{"geometry":{"coordinates":[[121.696882,31.411424],[121.696958,31.41096],[121.697851,31.411053],[121.69778,31.411508],[121.696878,31.411428]],"type":"LineString"},"type":"Feature","properties":{}},{"geometry":{"coordinates":[[121.695994,31.411383],[121.696079,31.410871],[121.696878,31.410964],[121.696769,31.411456],[121.695984,31.411379]],"type":"LineString"},"type":"Feature","properties":{}},{"geometry":{"coordinates":[[121.694794,31.411299],[121.69495,31.410742],[121.695937,31.410855],[121.695819,31.411412],[121.694789,31.411295]],"type":"LineString"},"type":"Feature","properties":{}},{"geometry":{"coordinates":[[121.694978,31.41067],[121.695143,31.410234],[121.69606,31.410347],[121.695914,31.410779],[121.694978,31.41067]],"type":"LineString"},"type":"Feature","properties":{}},{"geometry":{"coordinates":[[121.696055,31.410779],[121.696178,31.410359],[121.696816,31.41044],[121.696868,31.410448],[121.696759,31.410875],[121.696055,31.410771]],"type":"LineString"},"type":"Feature","properties":{}},{"geometry":{"coordinates":[[121.698399,31.411109],[121.69847,31.410625],[121.700237,31.410762],[121.700162,31.411258],[121.698404,31.411105]],"type":"LineString"},"type":"Feature","properties":{}},{"geometry":{"coordinates":[[121.698182,31.41042],[121.698229,31.410089],[121.700525,31.410238],[121.700445,31.410605],[121.698168,31.41042]],"type":"LineString"},"type":"Feature","properties":{}},{"geometry":{"coordinates":[[121.698111,31.409996],[121.698139,31.409702],[121.700544,31.409871],[121.700488,31.410149],[121.698106,31.409996]],"type":"LineString"},"type":"Feature","properties":{}},{"geometry":{"coordinates":[[121.698097,31.409557],[121.698125,31.40927],[121.700558,31.40946],[121.700511,31.409742],[121.698101,31.409553]],"type":"LineString"},"type":"Feature","properties":{}},{"geometry":{"coordinates":[[121.69812,31.409186],[121.698149,31.40898],[121.700015,31.409133],[121.699973,31.409327],[121.698111,31.409186]],"type":"LineString"},"type":"Feature","properties":{}}],"type":"FeatureCollection"}
diff --git a/src/components/large-nav.vue b/src/components/large-nav.vue
new file mode 100644
index 00000000..a56ffe3b
--- /dev/null
+++ b/src/components/large-nav.vue
@@ -0,0 +1,110 @@
+
+
+
+
+
+

+

+
基地总览
+
+
+

+

+
监控设备
+
+
+

+

+
虫情监测
+
+
+

+

+
环境监测
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index ca2ce2b0..4cee9fa4 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -43,6 +43,14 @@ const routes = [
path: '/largeScreen1',
name: 'largeScreen1',
component: () => import('../views/page/largeScreen1.vue')
+ },{
+ path: '/largeScreen2',
+ name: 'largeScreen2',
+ component: () => import('../views/page/largeScreen2.vue')
+ },{
+ path: '/largeScreen3',
+ name: 'largeScreen3',
+ component: () => import('../views/page/largeScreen3.vue')
},
// 虫情查看的
{
diff --git a/src/views/page/largeScreen.vue b/src/views/page/largeScreen.vue
index 5d6ba297..2f3c3f56 100644
--- a/src/views/page/largeScreen.vue
+++ b/src/views/page/largeScreen.vue
@@ -20,8 +20,8 @@
{{ time.time }}
{{$t('text.return')}}
-
-
+
+
大数据平台
@@ -38,6 +38,25 @@
市场行情
+
+
-
+
@@ -541,11 +560,13 @@ import vueSeamless from "vue-seamless-scroll";
import axios from "axios";
+import mapData from "@/assets/js/mapData.js";
import { changeLanguage, getLanguage } from '@/utils/language'
import { pestLine } from "@/assets/js/charts";
+import largeNav from '@/components/large-nav.vue'
export default {
name: "largeScreen",
- components: { vueSeamless },
+ components: { vueSeamless,largeNav },
computed: {
defaultOption() {
return {
@@ -723,7 +744,9 @@ export default {
},
watch:{
'$i18n.locale'() {
- this.dataInit()
+ let userInfo = JSON.parse(localStorage.getItem("userInfo"));
+
+ this.dataInit(userInfo.userid, this.limitUserId)
}
},
methods: {
@@ -798,7 +821,7 @@ export default {
// 根据用户id查询对应的设备大数据信息
dataInit(userid, limitUserId) {
this.api.Bigdata_getAllControl(userid).then((res) => {
- // console.log('根据用户id查询对应的设备大数据信息', res);
+ console.log('根据用户id查询对应的设备大数据信息', res);
this.dataList = res.data.data;
setTimeout(() => {
new Swiper(".middle_disasterWarningAnalysis", {
@@ -935,6 +958,7 @@ export default {
this.getWeatherData(list[0].deviceId);
// 长兴前卫柑桔新优品种扩繁基地 id为13 有单独的虫情接口
if(limitUserId == 13){
+ this.mapInit()
this.getImage();
this.getCharts();
}
@@ -1282,7 +1306,7 @@ export default {
this.dataInit(userId, this.limitUserId);
}else if (this.limitUserId == 13) {
// this.drag_boxHandler13();
- this.mapInit()
+
this.dataInit(userId, this.limitUserId);
}
@@ -1314,7 +1338,41 @@ size: new AMap.Size(70, 86), // 原始大小,如果不是原始大小,可以
title: "上海前卫柑桔有限公司",
offset: new AMap.Pixel(-17.5, -40), //以 icon 的 [center bottom] 为原点
});
+// 添加画范围
+ var listall = mapData.features;
+ listall.forEach((el, index) => {
+ console.log(el,111);
+ var polygon = new AMap.Polygon({
+ map: map,
+ path: el.geometry.coordinates, //设置多边形边界路径
+ strokeColor: '#ff0000', //线颜色
+ strokeOpacity: 1, //线透明度
+ strokeWeight: 2, //线宽
+ fillColor: '#ff0000', //填充色
+ fillOpacity: 0.5, //填充透明度
+ });
+ polygon.on("click", function (e) {
+ // 在点击事件处理程序中获取点击位置的经纬度坐标
+ var lng = e.lnglat.getLng(); // 获取经度
+ var lat = e.lnglat.getLat(); // 获取纬度
+ // 输出经纬度坐标
+ console.log("点击位置的经度:" + lng);
+ console.log("点击位置的纬度:" + lat);
+ });
+ polygon.on("mouseover", (e) => {
+ // 点击之后覆盖物的样式
+ // console.log(e,index);
+ });
+ // 鼠标移出事件
+ polygon.on("mouseout", () => {
+ // 鼠标移开覆盖物之后覆盖物的样式
+ // console.log('离开');
+ });
+
+ //将绘制的面对象添加到地图上
+ map.add(polygon);
+ });
map.add(marker);
},
// autoPlay1() {
@@ -2219,7 +2277,7 @@ window.open("http://localhost:8080/");
}
.nav {
- width: 2.5rem;
+ // width: 2.5rem;
position: absolute;
z-index: 999999;
left: 50%;
@@ -2233,7 +2291,8 @@ window.open("http://localhost:8080/");
flex-direction: column;
align-items: center;
justify-content: center;
-
+ margin: 0 .2rem;
+ cursor: pointer;
>img {
width: 1.08rem;
height: 0.91rem;
@@ -2521,6 +2580,12 @@ window.open("http://localhost:8080/");
blue 80%,
transparent 90%,
transparent 100%);
+ &.map1-13{
+ -webkit-mask-image: unset;
+ .map1{
+ width: 100%;
+ }
+ }
.map1 {
width: 90%;
@@ -2543,7 +2608,7 @@ window.open("http://localhost:8080/");
left: 50%;
transform: translate(-50%, -50%);
overflow: hidden;
-
+
.drag_box1 {
width: 100%;
height: 100%;
@@ -2743,8 +2808,8 @@ window.open("http://localhost:8080/");
z-index: 10;
-webkit-mask-image: linear-gradient(90deg,
transparent 0%,
- blue 13%,
- blue 87%,
+ blue 27%,
+ blue 73%,
transparent 100%);
.drag_img {
width: 100%;
diff --git a/src/views/page/largeScreen2.vue b/src/views/page/largeScreen2.vue
new file mode 100644
index 00000000..f2b613cb
--- /dev/null
+++ b/src/views/page/largeScreen2.vue
@@ -0,0 +1,213 @@
+
+
+
+
温室智慧云数据统计
+
+

+
{{ getNowTime() }}
+
+
{{ time.week }}
+
+
{{ time.time }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/page/largeScreen3.vue b/src/views/page/largeScreen3.vue
new file mode 100644
index 00000000..23a9368d
--- /dev/null
+++ b/src/views/page/largeScreen3.vue
@@ -0,0 +1,2597 @@
+
+
+
+
+
温室智慧云数据统计
+
+
+

+
{{ getNowTime() }}
+
+
{{ time.week }}
+
+
{{ time.time }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
实时数据
+
+
温室环境数据
+
+
+
+
+
+
![]()
+
+ {{ el.name }}
+ {{ el.num }}
+
+
+
+
+
+
+
+
+
+
+
+
虫情图片
+
+
+
+
+
+
+
+
{{ item.shootTime }}
+
+
+
虫情趋势图
+
+
+
+
+
+
+
+
+
+
+
+