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 }} - +
+
+
+ + + {{ item.devName }} + + + {{ item.devLocation }} + +
+ +
+ +
@@ -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,