diff --git a/src/assets/img/map6.jpg b/src/assets/img/map6.jpg new file mode 100644 index 0000000..93e1efe Binary files /dev/null and b/src/assets/img/map6.jpg differ diff --git a/src/views/index.vue b/src/views/index.vue index 3b28778..46c50c6 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -476,7 +476,7 @@ export default { // item.id == 1 丽水; // item.id == 5 石门; // 进入大屏的权限目前是写死的 等于几能进 反之显示没权限 - const foundObject = this.limitUserId.find(item => item.id == 2 || item.id == 1 || item.id == 5|| item.id == 7|| item.id == 8|| item.id == 9); + const foundObject = this.limitUserId.find(item => item.id == 2 || item.id == 1 || item.id == 5|| item.id == 7|| item.id == 8|| item.id == 9|| item.id == 10); if (!foundObject) { this.$message('您当前没有权限查看!') return diff --git a/src/views/page/largeScreen.vue b/src/views/page/largeScreen.vue index a49166c..aea5e9d 100644 --- a/src/views/page/largeScreen.vue +++ b/src/views/page/largeScreen.vue @@ -3,7 +3,7 @@
{{ other_show ? '后退' : '园区简介' }}
-
{{limitUserId == 9 ?'甘井设施农业大数据云平台':'温室智慧云数据统计'}}
+
{{ limitUserId == 9 ? '甘井设施农业大数据云平台' : '温室智慧云数据统计' }}
-
+ +
@@ -166,9 +166,9 @@ -
- -
+
+ +
@@ -181,7 +181,16 @@
- + +
+ + + + + + + +
@@ -215,8 +224,8 @@
{{ @@ -354,7 +363,7 @@
-
+
@@ -968,7 +977,7 @@ export default { this.get_environmentData(2023120613270120); this.get_readControl_getState(2023120613270120); this.getWeatherData(2023120613270120); - } else if (limitUserId == 8) { + } else if (limitUserId == 8||limitUserId == 10) { // 获取控制器第一个Id const list = [] this.$store.state.equipmentList.forEach((el, index) => { @@ -977,7 +986,7 @@ export default { } }) list.sort(this.compare('equipmentStatu')) - + // 大冶鑫 this.get_weather_echart_data(list[0].deviceId); this.get_thisWeekTemperature_echart_data(list[0].deviceId); @@ -985,7 +994,7 @@ export default { this.get_readControl_getState(list[0].deviceId); this.getWeatherData(list[0].deviceId); } else if (limitUserId == 9) { - + // 左侧上部气象站charts this.get_weather_echart_data(2023120613270131); this.get_thisWeekTemperature_echart_data(2023120613270131); @@ -1096,12 +1105,14 @@ export default { get_sel_eqbyid(userId) { this.api.sel_eqbyid(userId).then((res) => { // console.log("根据用户id查询对应的设备数据 Copy", res); + res.data.data.forEach((item, index) => { if ( item.cameraSerialNumber != null && (item.deviceId == 2023042214250027 || - item.deviceId == 2023120613270115|| - item.deviceId == 2024070113400048) + item.deviceId == 2023120613270115 || + item.deviceId == 2024070113400048|| + item.deviceId==2023042214250017) ) { this.get_sel_eqbyid_list.push({ ...item, number: index }); @@ -1251,7 +1262,7 @@ export default { // id == 1 丽水; // id == 5 石门; // id == 5 大冶鑫; - this.limitUserId = (res.data.data.filter(el => el.id == 2 || el.id == 1 || el.id == 5 || el.id == 7|| el.id == 8|| el.id == 9))[0].id; + this.limitUserId = (res.data.data.filter(el => el.id == 2 || el.id == 1 || el.id == 5 || el.id == 7 || el.id == 8 || el.id == 9|| el.id == 10))[0].id; if (this.limitUserId == 1) { this.drag_boxHandler(); this.dataInit(userId, this.limitUserId); @@ -1270,7 +1281,11 @@ export default { } else if (this.limitUserId == 9) { this.drag_boxHandler9(); this.dataInit(userId, this.limitUserId); + }else if (this.limitUserId == 10) { + this.drag_boxHandler10(); + this.dataInit(userId, this.limitUserId); } + } }); }, @@ -1349,14 +1364,14 @@ export default { this.current1 = index; // console.log(item,'00000000000000'); // this.get_readControl_getState(item.deviceId); - // 获取控制器第一个Id - const list = [] - this.$store.state.equipmentList.forEach((el, index) => { - if (el.deviceName == 10) { - list.push(el) - } - }) - list.sort(this.compare('equipmentStatu')) + // 获取控制器第一个Id + const list = [] + this.$store.state.equipmentList.forEach((el, index) => { + if (el.deviceName == 10) { + list.push(el) + } + }) + list.sort(this.compare('equipmentStatu')) if (this.limitUserId == 1) { this.get_readControl_getState(list[0].deviceId); @@ -1366,9 +1381,7 @@ export default { this.get_readControl_getState(2023042214250070); } else if (this.limitUserId == 7) { this.get_readControl_getState(2023120613270120); - }else if (this.limitUserId == 8) { - this.get_readControl_getState(list[0].deviceId); - }else if (this.limitUserId == 9) { + } else if (this.limitUserId == 8||this.limitUserId == 9||this.limitUserId == 10) { this.get_readControl_getState(list[0].deviceId); } @@ -1509,7 +1522,64 @@ export default { } }; }, - drag_boxHandler9() { + drag_boxHandler10() { + let demo = this.$refs.drag_box10; + demo = document.querySelector(".drag_box10"); //待拖拽元素 + let canMove = false; //拖拽状态 + let x = 0, + y = 0; //鼠标位置 + //监听按下鼠标事件 + demo.onmousedown = function (e) { + x = e.pageX - demo.offsetLeft; + y = e.pageY - demo.offsetTop; + canMove = true; //激活拖拽状态 + }; + //监听右击鼠标事件 + demo.oncontextmenu = function (e) { + e.preventDefault(); //阻止默认行为 + }; + //监听鼠标抬起事件 + window.onmouseup = function () { + canMove = false; //关闭拖拽状态 + }; + + window.onblur = function () { + //窗口失去焦点事件 + canMove = false; //关闭拖拽状态 + }; + + //监听鼠标移动事件 + window.onmousemove = function (e) { + e.preventDefault(); //阻止默认行为(字不能拖走) + if (canMove) { + //对范围判断 + let left = e.pageX - x; + let top = e.pageY - y; + + demo.style.left = left + "px"; + demo.style.top = top + "px"; + } + }; + let scale = 1; + demo.onwheel = function (e) { + if (e.wheelDelta > 0) { + scale += 0.05; + if (scale > 4) { + scale = 4; + } + demo.style.transform = `scale(${scale})`; + // console.log(scale); + } else { + scale -= 0.05; + if (scale < 1) { + scale = 1; + } + demo.style.transform = `scale(${scale})`; + // console.log(scale); + } + }; + }, + drag_boxHandler9() { let demo = this.$refs.drag_box9; demo = document.querySelector(".drag_box9"); //待拖拽元素 let canMove = false; //拖拽状态 @@ -2386,7 +2456,7 @@ export default { cursor: pointer; } } - .drag_box9 { + .drag_box10 { width: 100%; height: auto; position: absolute; @@ -2413,94 +2483,187 @@ export default { width: 0.3rem; height: auto; position: absolute; - top: 24%; - left: 11%; + top: 19%; + left: 46%; z-index: 99; cursor: pointer; } + .axis_shimen1 { - width: 0.3rem; + width: 0.3rem; height: auto; position: absolute; - top: 76%; - left: 13%; + top: 19%; + left: 55%; z-index: 99; cursor: pointer; } + .axis_shimen2 { - width: 0.3rem; + width: 0.3rem; height: auto; position: absolute; - top: 36%; - left: 56%; + top: 48%; + left: 46%; z-index: 99; cursor: pointer; } + .axis_shimen3 { - width: 0.3rem; + width: 0.3rem; height: auto; position: absolute; - top: 38%; - left: 57%; + top: 48%; + left: 56%; + z-index: 99; cursor: pointer; } + .axis_shimen4 { - width: 0.3rem; + width: 0.3rem; height: auto; position: absolute; - top: 25%; - left: 66%; + top: 73%; + left: 46%; z-index: 99; cursor: pointer; } + .axis_shimen5 { - width: 0.3rem; + width: 0.3rem; height: auto; position: absolute; - top: 28%; - left: 67%; + top: 73%; + left: 57%; z-index: 99; cursor: pointer; } - .axis_shimen6 { - width: 0.3rem; + } + .drag_box9 { + width: 100%; + height: auto; + position: absolute; + // top: 0.3rem; + // left: 0.5rem; + z-index: 10; + top: -64px; + -webkit-mask-image: linear-gradient(90deg, + transparent 0%, + blue 2%, + blue 97%, + transparent 99%); + + .drag_img { + width: 100%; height: auto; - position: absolute; - top: 21%; - left: 70%; - z-index: 99; - cursor: pointer; + -webkit-mask-image: linear-gradient(transparent 0%, + blue 2%, + blue 95%, + transparent 97%); } - .axis_shimen7 { - width: 0.3rem; + + .axis_shimen { + width: 0.3rem; height: auto; position: absolute; top: 24%; - left: 71%; + left: 11%; z-index: 99; cursor: pointer; } - .axis_shimen8 { - width: 0.3rem; + + .axis_shimen1 { + width: 0.3rem; + height: auto; + position: absolute; + top: 76%; + left: 13%; + z-index: 99; + cursor: pointer; + } + + .axis_shimen2 { + width: 0.3rem; + height: auto; + position: absolute; + top: 36%; + left: 56%; + z-index: 99; + cursor: pointer; + } + + .axis_shimen3 { + width: 0.3rem; + height: auto; + position: absolute; + top: 38%; + left: 57%; + z-index: 99; + cursor: pointer; + } + + .axis_shimen4 { + width: 0.3rem; + height: auto; + position: absolute; + top: 25%; + left: 66%; + z-index: 99; + cursor: pointer; + } + + .axis_shimen5 { + width: 0.3rem; + height: auto; + position: absolute; + top: 28%; + left: 67%; + z-index: 99; + cursor: pointer; + } + + .axis_shimen6 { + width: 0.3rem; + height: auto; + position: absolute; + top: 21%; + left: 70%; + z-index: 99; + cursor: pointer; + } + + .axis_shimen7 { + width: 0.3rem; + height: auto; + position: absolute; + top: 24%; + left: 71%; + z-index: 99; + cursor: pointer; + } + + .axis_shimen8 { + width: 0.3rem; height: auto; position: absolute; top: 18.5%; - left: 74%; + left: 74%; z-index: 99; cursor: pointer; } .axis_shimen9 { - width: 0.3rem; + width: 0.3rem; height: auto; position: absolute; top: 21.5%; - left: 75%; + left: 75%; z-index: 99; cursor: pointer; } } + .drag_box8 { width: 100%; height: auto; @@ -2533,6 +2696,7 @@ export default { z-index: 99; cursor: pointer; } + .axis_shimen1 { width: 0.4rem; height: auto; @@ -2542,6 +2706,7 @@ export default { z-index: 99; cursor: pointer; } + .axis_shimen2 { width: 0.4rem; height: auto; @@ -2551,15 +2716,17 @@ export default { z-index: 99; cursor: pointer; } + .axis_shimen3 { width: 0.4rem; height: auto; position: absolute; top: 28%; - left: 61%; + left: 61%; z-index: 99; cursor: pointer; } + .axis_shimen4 { width: 0.4rem; height: auto; @@ -2569,6 +2736,7 @@ export default { z-index: 99; cursor: pointer; } + .axis_shimen5 { width: 0.4rem; height: auto; @@ -2578,26 +2746,29 @@ export default { z-index: 99; cursor: pointer; } + .axis_shimen6 { width: 0.4rem; height: auto; position: absolute; top: 5%; - left: 54%; + left: 54%; z-index: 99; cursor: pointer; } + .axis_shimen7 { width: 0.4rem; height: auto; position: absolute; top: 0%; - left: 50%; + left: 50%; z-index: 99; cursor: pointer; } - + } + .drag_box { width: 100%; height: 100%; @@ -2806,7 +2977,7 @@ export default { } ::v-deep .swiper-slide { - width: 0.84rem !important; + width: 0.90rem !important; } .swiper-slide1 {} diff --git a/src/views/page/largeScreen1.vue b/src/views/page/largeScreen1.vue index 88a90f7..7a2e56c 100644 --- a/src/views/page/largeScreen1.vue +++ b/src/views/page/largeScreen1.vue @@ -682,6 +682,90 @@
+ +
+
+
+
+ +
+ + + + +
+
+
+
+
@@ -1327,6 +1411,36 @@ export default { return 'top:16.5%;left:75.5%;transform: translate(54%,0);' } }, + getTopOrLeft10(id){ + if(id == 1){ + return 'top:12.5%;left:43%;z-index:10;' + }else if(id == 2){ + return 'top:12.5%;left:53%;z-index:9;' + }else if(id == 3){ + return 'top:45%;left:43%;z-index:8;' + }else if(id == 4){ + return 'top:45%;left:54%;z-index:7;' + }else if(id == 5){ + return 'top:68%;left:43%;z-index:6;' + }else if(id == 6){ + return 'top:68%;left:54%;z-index:5;' + } + }, + getTopOrLeft10_10(id){ + if(id == 1){ + return 'top:12.5%;left:43%;transform: translate(54%,0);' + }else if(id == 2){ + return 'top:12.5%;left:53%;transform: translate(54%,0);' + }else if(id == 3){ + return 'top:45%;left:43%;transform: translate(54%,0);' + }else if(id == 4){ + return 'top:45%;left:54%;transform: translate(54%,0%);' + }else if(id == 5){ + return 'top:68%;left:43%;transform: translate(54%,0%);' + }else if(id == 6){ + return 'top:68%;left:54%;transform: translate(54%,0%);' + } + }, getNamePosition(id) { if (id == 1) { return "position: absolute;top: 41%;left: 13%;"; @@ -1446,7 +1560,7 @@ export default { get_user_getjurisdiction(userId) { this.api.user_getjurisdiction(userId).then((res) => { if (res.data.code == 200) { - this.limitUserId = (res.data.data.filter(el=>el.id == 1 || el.id == 2 || el.id == 5|| el.id == 7|| el.id == 8|| el.id == 9))[0].id; + this.limitUserId = (res.data.data.filter(el=>el.id == 1 || el.id == 2 || el.id == 5|| el.id == 7|| el.id == 8|| el.id == 9|| el.id == 10))[0].id; if (this.limitUserId == 1) { this.drag_boxHandler(); } else if (this.limitUserId == 2) { @@ -1459,6 +1573,8 @@ export default { this.drag_boxHandler8(); } else if (this.limitUserId == 9) { this.drag_boxHandler9(); + } else if (this.limitUserId == 10) { + this.drag_boxHandler10(); } } }); @@ -1642,6 +1758,73 @@ toHttp(){ } }; }, + drag_boxHandler10() { + let demo = this.$refs.drag_box10; + demo = document.querySelector(".drag_box10"); //待拖拽元素 + let canMove = false; //拖拽状态 + let x = 0, + y = 0; //鼠标位置 + //监听按下鼠标事件 + demo.onmousedown = function (e) { + x = e.pageX - demo.offsetLeft; + y = e.pageY - demo.offsetTop; + canMove = true; //激活拖拽状态 + }; + //监听右击鼠标事件 + demo.oncontextmenu = function (e) { + e.preventDefault(); //阻止默认行为 + }; + //监听鼠标抬起事件 + window.onmouseup = function () { + canMove = false; //关闭拖拽状态 + }; + + window.onblur = function () { + //窗口失去焦点事件 + canMove = false; //关闭拖拽状态 + }; + + //监听鼠标移动事件 + window.onmousemove = function (e) { + e.preventDefault(); //阻止默认行为(字不能拖走) + if (canMove) { + //对范围判断 + let left = e.pageX - x; + let top = e.pageY - y; + + //if (left > 0) left = 0 //当距离左边小于0时 让它为0 + //if (top > 0) top = 0 //当距离上边小于0时 让它为0 + // //右边距离为 标签距离左边最大距离(页面宽度减去div宽度得到) + // let maxLeft = window.innerWidth - demo.offsetWidth + // //下边距离为 标签距离上边最大距离(页面高度减去div高度度得到) + // let maxTop = window.innerHeight - demo.offsetHeight + + // if (left > maxLeft) left = maxLeft + // if (top > maxTop) top = maxTop + + demo.style.left = left + "px"; + demo.style.top = top + "px"; + } + }; + let scale = 1; + demo.onwheel = function (e) { + if (e.wheelDelta > 0) { + scale += 0.05; + if (scale > 4) { + scale = 4; + } + demo.style.transform = `scale(${scale})`; + // console.log(scale); + } else { + scale -= 0.05; + if (scale < 1) { + scale = 1; + } + demo.style.transform = `scale(${scale})`; + // console.log(scale); + } + }; + }, drag_boxHandler9() { let demo = this.$refs.drag_box9; demo = document.querySelector(".drag_box9"); //待拖拽元素 @@ -2579,7 +2762,7 @@ toHttp(){ } } - .drag_box7,.drag_box8,.drag_box9{ + .drag_box7,.drag_box8,.drag_box9,.drag_box10{ width: 100%; height: auto; position: absolute;