From c6558ee4de5794bac298e764d310130e7a42c514 Mon Sep 17 00:00:00 2001
From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com>
Date: Fri, 18 Apr 2025 08:51:39 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E6=8E=A5=E5=8F=A3=E8=B0=83?=
=?UTF-8?q?=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/common.js | 12 +
src/api/home-concrete.js | 65 +++++
.../components/left-three-model.vue | 89 ++++--
.../components/left-two-model.vue | 136 ++++++---
.../components/right-one-model.vue | 44 ++-
.../components/right-three-model.vue | 268 +++++-------------
.../components/right-two-model.vue | 63 +++-
src/views/home-concrete/index.vue | 121 +++++++-
.../components/right-three-model.vue | 4 +-
.../components/right-two-model.vue | 2 -
10 files changed, 519 insertions(+), 285 deletions(-)
create mode 100644 src/api/common.js
create mode 100644 src/api/home-concrete.js
diff --git a/src/api/common.js b/src/api/common.js
new file mode 100644
index 0000000..24c3844
--- /dev/null
+++ b/src/api/common.js
@@ -0,0 +1,12 @@
+import request from '@/utils/request'
+
+/* 下拉等公共接口 */
+
+// 获取监测区域
+export const getMonitoringAreaAPI = (data) => {
+ return request({
+ url: '/smart-site/constInfo/querySelected',
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/api/home-concrete.js b/src/api/home-concrete.js
new file mode 100644
index 0000000..1c1ad0c
--- /dev/null
+++ b/src/api/home-concrete.js
@@ -0,0 +1,65 @@
+import request from '@/utils/request'
+
+// 高支模监测 ---- 设备列表接口 左二
+export function getMassConcreteListAPI(data) {
+ return request({
+ url: '/smart-site/massConcrete/getCollectDeviceList',
+ method: 'post',
+ data,
+ })
+}
+// 高支模监测 ---- 监测温度变化值趋势接口 左三
+export function temperatureListAPI(data) {
+ return request({
+ url: '/smart-site/massConcrete/temperatureList',
+ method: 'post',
+ data,
+ })
+}
+// 高支模监测 ---- 设备统计接口 右一
+export function getDevStatisticsAPI(data) {
+ return request({
+ url: '/smart-site/massConcrete/getDevStatistics',
+ method: 'post',
+ data,
+ })
+}
+// 高支模监测 ---- 区域设备统计接口 右二
+export function getCollectDeviceAllAPI(data) {
+ return request({
+ url: '/smart-site/massConcrete/getCollectDeviceAll',
+ method: 'post',
+ data,
+ })
+}
+// 高支模监测 ---- 报警信息接口 右三
+export function concreteAlarmListAPI(data) {
+ return request({
+ url: '/smart-site/massConcrete/concreteAlarmList',
+ method: 'post',
+ data,
+ })
+}
+// // 高支模监测 ---- 获取高支模分组
+// export function getModeGroupAPI() {
+// return request({
+// url: '/smart-site/screen/devModel/getModeGroup',
+// method: 'post',
+// })
+// }
+// // 高支模监测 ---- 设备统计接口 右二
+// export function getDevStatisticsAPI(data) {
+// return request({
+// url: '/smart-site/screen/devModel/getDevStatistics',
+// method: 'post',
+// data,
+// })
+// }
+// // 高支模监测 ---- 报警信息接口 右三
+// export function getWarnInfoAPI(data) {
+// return request({
+// url: '/smart-site/screen/devModel/getWarnInfo',
+// method: 'post',
+// data,
+// })
+// }
diff --git a/src/views/home-concrete/components/left-three-model.vue b/src/views/home-concrete/components/left-three-model.vue
index 4b27ac8..7257d81 100644
--- a/src/views/home-concrete/components/left-three-model.vue
+++ b/src/views/home-concrete/components/left-three-model.vue
@@ -9,20 +9,29 @@
diff --git a/src/views/home-concrete/components/left-two-model.vue b/src/views/home-concrete/components/left-two-model.vue
index 98fe81f..d0e9dee 100644
--- a/src/views/home-concrete/components/left-two-model.vue
+++ b/src/views/home-concrete/components/left-two-model.vue
@@ -2,28 +2,39 @@
-
-
-
![]()
-
- {{ item.name }}
-
-
- {{ item.code }}
-
+
+
+
+
+
@@ -37,20 +48,52 @@
@@ -58,21 +101,46 @@ export default {
.container {
height: 100%;
display: flex;
- // justify-content: space-around;
- flex-wrap: wrap;
+ justify-content: space-around;
+ align-items: center;
color: #fff;
font-size: 12px;
- // transform: translateY(10px);
+ .scroll-container {
+ flex: 1; // 占据剩余空间
+ overflow-y: auto; // 垂直滚动
+ scrollbar-width: thin; // Firefox滚动条样式
+ scrollbar-color: rgba(255, 255, 255, 0.3) transparent; // Firefox滚动条颜色
+ z-index: 9;
+ padding: 0 12px;
+ display: flex;
+ align-items: flex-start;
+ flex-wrap: wrap;
+ color: #fff;
+ font-size: 12px;
+
+ /* Webkit浏览器滚动条样式 */
+ &::-webkit-scrollbar {
+ width: 6px;
+ }
+ &::-webkit-scrollbar-thumb {
+ background: rgba(255, 255, 255, 0.3);
+ border-radius: 3px;
+ }
+ &::-webkit-scrollbar-track {
+ background: transparent;
+ }
+ }
.device-item {
- width: calc((100% - 20px) / 6);
+ width: calc((100% - 20px) / 4);
margin-right: 4px;
margin-bottom: 4px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
+ cursor: pointer;
img {
width: 30px;
@@ -80,7 +148,7 @@ export default {
}
}
- & .device-item:nth-child(6n) {
+ & .device-item:nth-child(4n) {
margin-right: 0;
}
}
diff --git a/src/views/home-concrete/components/right-one-model.vue b/src/views/home-concrete/components/right-one-model.vue
index 1133dc8..b3c9c6f 100644
--- a/src/views/home-concrete/components/right-one-model.vue
+++ b/src/views/home-concrete/components/right-one-model.vue
@@ -10,7 +10,7 @@
/>
设备总数
- 9999
+ {{ allNum }}
@@ -20,7 +20,7 @@
/>
设备在线率
- 50%
+ {{ onLineRate }}%
@@ -30,10 +30,48 @@
diff --git a/src/views/home-concrete/components/right-three-model.vue b/src/views/home-concrete/components/right-three-model.vue
index 218c8d9..a3d6ac0 100644
--- a/src/views/home-concrete/components/right-three-model.vue
+++ b/src/views/home-concrete/components/right-three-model.vue
@@ -11,221 +11,65 @@
@@ -260,4 +104,28 @@ export default {
align-items: center;
justify-content: center;
}
+
+::v-deep .colorBlue {
+ color: #6aaef3 !important;
+ font-size: 14px !important;
+}
+
+::v-deep.colorRed {
+ color: #ff5534;
+ font-size: 12px !important;
+}
+
+::v-deep .time-box {
+ font-family: 'DS-TITle';
+ display: block;
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+::v-deep .dv-scroll-board .rows .ceil {
+ width: auto !important;
+ min-width: 80px; /* 最小宽度 */
+}
diff --git a/src/views/home-concrete/components/right-two-model.vue b/src/views/home-concrete/components/right-two-model.vue
index 0c17ffa..27f0d1c 100644
--- a/src/views/home-concrete/components/right-two-model.vue
+++ b/src/views/home-concrete/components/right-two-model.vue
@@ -2,26 +2,49 @@
@@ -160,5 +194,6 @@ export default {
align-items: center;
color: #fff;
z-index: 2;
+ font-size: 16px;
}
diff --git a/src/views/home-concrete/index.vue b/src/views/home-concrete/index.vue
index 0f2882b..bc65366 100644
--- a/src/views/home-concrete/index.vue
+++ b/src/views/home-concrete/index.vue
@@ -5,20 +5,48 @@
-
+
-
+
-
+
-
+
+
+
+
+
{{ item.name }}
+
设备号: {{ item.id }}
+
+
+
+
@@ -29,6 +57,8 @@ import LeftThreeModel from './components/left-three-model.vue' // 左3
import RightOneModel from './components/right-one-model.vue' // 右1
import RightTwoModel from './components/right-two-model.vue' // 右2
import RightThreeModel from './components/right-three-model.vue' // 右2
+
+import { getMonitoringAreaAPI } from '@/api/common.js'
export default {
components: {
LeftOneModel,
@@ -38,6 +68,42 @@ export default {
RightTwoModel,
RightThreeModel,
},
+ data() {
+ return {
+ drawer: false,
+ activeIndex: 0,
+ queryId: '',
+ deviceId: '',
+ areaList: [],
+ }
+ },
+ methods: {
+ handleClose() {
+ this.drawer = false
+ },
+ async getMonitoringAreaData() {
+ const { data: res } = await getMonitoringAreaAPI({
+ typeId: '174435992023806894661',
+ })
+ if (res.length > 0) {
+ this.queryId = res[0].id
+ }
+
+ this.areaList = res
+ },
+ onHandleArea(item, index) {
+ this.activeIndex = index
+ this.queryId = item.id
+ this.drawer = false
+ },
+ handleSelectDevice(id) {
+ console.log('箭头', id)
+ this.deviceId = id
+ },
+ },
+ created() {
+ this.getMonitoringAreaData()
+ },
}
@@ -77,4 +143,51 @@ export default {
grid-row: 8/ 12;
}
}
+
+::v-deep .el-drawer.rtl {
+ // height: 80%;
+ width: 22% !important;
+ padding: 12px;
+ // top: 50%;
+ // transform: translateY(-50%);
+ background: rgba(26, 79, 104, 0.8);
+ color: #fff;
+ border-top-left-radius: 12px;
+ border-bottom-left-radius: 12px;
+ border: 1px solid #0ff;
+ // box-shadow: inset 0 0 10px 6px rgba(4, 211, 255, 0.5);
+ box-shadow: inset 5px 0 10px 4px rgba(4, 211, 255, 0.5);
+ overflow-y: auto; // 垂直滚动
+ scrollbar-width: thin; // Firefox滚动条样式
+ scrollbar-color: rgba(255, 255, 255, 0.3) transparent; // Firefox滚动条颜色
+}
+
+.group-item {
+ width: 96%;
+ margin: 0 auto 10px;
+ border: 1px solid #3089b9;
+ cursor: pointer;
+
+ div {
+ padding: 6px 8px;
+ font-size: 14px;
+ }
+}
+
+.active {
+ border: 1px solid #0ff;
+}
+
+.floating-box {
+ position: absolute;
+ top: 50%;
+ right: 0;
+ width: 30px;
+ height: 70px;
+ background: url('@/assets/image/home/close_icon.png') no-repeat;
+ background-size: 100% 100%;
+ transform: translateY(-50%);
+ z-index: 100;
+ cursor: pointer;
+}
diff --git a/src/views/home-high-formwork/components/right-three-model.vue b/src/views/home-high-formwork/components/right-three-model.vue
index 23ed843..48d3485 100644
--- a/src/views/home-high-formwork/components/right-three-model.vue
+++ b/src/views/home-high-formwork/components/right-three-model.vue
@@ -172,7 +172,9 @@ export default {
color: #fff;
border-top-left-radius: 12px;
border-bottom-left-radius: 12px;
- box-shadow: inset 0 0 10px 6px rgba(4, 211, 255, 0.5);
+ border: 1px solid #0ff;
+ // box-shadow: inset 0 0 10px 6px rgba(4, 211, 255, 0.5);
+ box-shadow: inset 5px 0 10px 4px rgba(4, 211, 255, 0.5);
overflow-y: auto; // 垂直滚动
scrollbar-width: thin; // Firefox滚动条样式
scrollbar-color: rgba(255, 255, 255, 0.3) transparent; // Firefox滚动条颜色
diff --git a/src/views/home-high-formwork/components/right-two-model.vue b/src/views/home-high-formwork/components/right-two-model.vue
index eab3a79..ecbaae3 100644
--- a/src/views/home-high-formwork/components/right-two-model.vue
+++ b/src/views/home-high-formwork/components/right-two-model.vue
@@ -29,8 +29,6 @@ export default {
headerBGC: 'rgba(21, 53, 81, 0.2)', //表头
oddRowBGC: '', //奇数行
evenRowBGC: '', //偶数行
-
- columnWidth: [80],
align: ['center'],
hoverPause: true,
waitTime: 3000,