From d915fd378c0bd32b2a2b2759c0eb44e6bea799c7 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Wed, 13 Mar 2024 17:20:20 +0800 Subject: [PATCH] =?UTF-8?q?feat=20:=20=E6=96=B0=E5=A2=9E=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E5=A4=9A=E6=97=A5=E6=9C=9F=E9=80=89=E6=8B=A9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/largeScreen.js | 18 ++- src/assets/styles/index.scss | 21 ++- src/components/chooseDates/index.vue | 147 ++++++++++++++++++ src/components/chooseMonth/index.vue | 4 - src/components/content/airInfo/AirInfo.vue | 28 +++- .../content/badGasInfo/BadGasInfo.vue | 32 ++-- src/components/content/fanInfo/FanInfo.vue | 34 ++-- .../content/windPressure/WindPressureList.vue | 30 ++-- src/views/site/index.vue | 21 ++- src/views/tunnel-manage/index.vue | 16 +- 10 files changed, 292 insertions(+), 59 deletions(-) create mode 100644 src/components/chooseDates/index.vue diff --git a/src/api/largeScreen.js b/src/api/largeScreen.js index bba64e7..f914bb3 100644 --- a/src/api/largeScreen.js +++ b/src/api/largeScreen.js @@ -22,38 +22,44 @@ export const getTunnelBySiteId = (siteId) => { }) } // 传感器echarts数据 -export const getEchartsInfo = (id,time,type) => { +export const getEchartsInfo = (id,time,type,startTime,endTime) => { return request({ url: '/tunnel/large/screen/echarts/sensor', method: 'get', params: { id: id, time: time, - type: type + type: type, + startTime:startTime, + endTime:endTime, } }) } // 有害气体echarts数据 -export const getBadGasEchartsInfo = (id,time,type) => { +export const getBadGasEchartsInfo = (id,time,type,startTime,endTime) => { return request({ url: '/tunnel/large/screen/echarts/gas/sensor/', method: 'get', params: { id: id, time: time, - type: type + type: type, + startTime:startTime, + endTime:endTime, } }) } //电流监控数据 -export const getFanEchartsInfo = (id,time,type) => { +export const getFanEchartsInfo = (id,time,type,startTime,endTime) => { return request({ url: '/tunnel/large/screen/echarts/current', method: 'get', params: { id: id, time: time, - type: type + type: type, + startTime:startTime, + endTime:endTime, } }) } diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index d43bdef..cc6b0ff 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -538,7 +538,7 @@ body, margin: 0; .el-dialog__header { - padding: 0 0 28px 0; + padding: 0 0 46px 0; //display: none; .el-dialog__title { font-size: 50px; @@ -608,13 +608,30 @@ body, top: 20px; right: 200px; display: flex; - + .choose-dates{ + .el-date-editor { + width: 600px!important; + } + } .choose-day { margin-right: 40px; .el-date-editor { width: 370px; + //width: 600px; height: 92px; + .el-range__icon,.el-range__close-icon{ + font-size: 40px; + color: #FFFFFF; + } + .el-range-input{ + font-size: 37px; + color: #FFFFFF; + } + .el-range-separator{ + font-size: 36px; + color: #f5f5f5; + } } .el-input__wrapper { diff --git a/src/components/chooseDates/index.vue b/src/components/chooseDates/index.vue new file mode 100644 index 0000000..c2e1b3f --- /dev/null +++ b/src/components/chooseDates/index.vue @@ -0,0 +1,147 @@ + + + + + + + diff --git a/src/components/chooseMonth/index.vue b/src/components/chooseMonth/index.vue index a7863e6..5782e9a 100644 --- a/src/components/chooseMonth/index.vue +++ b/src/components/chooseMonth/index.vue @@ -35,7 +35,3 @@ defineExpose({ clearData }) - - diff --git a/src/components/content/airInfo/AirInfo.vue b/src/components/content/airInfo/AirInfo.vue index b21f283..dc36de8 100644 --- a/src/components/content/airInfo/AirInfo.vue +++ b/src/components/content/airInfo/AirInfo.vue @@ -63,7 +63,7 @@ import ItemInfo from "./childComps/ItemInfo.vue"; import TimeRangeBtn from "@/components/timeRangeBtn/index.vue" import * as echarts from 'echarts'; import {getEchartsInfo} from "@/api/largeScreen"; -import ChooseDay from "@/components/chooseDay/index.vue" +import ChooseDay from "@/components/chooseDates/index.vue" import ChooseMonth from "@/components/chooseMonth/index.vue" import elementResizeDetectorMaker from "element-resize-detector"; @@ -158,7 +158,11 @@ const handleExport = () => { } } else if (selectTimeButton.value === 2) { if (clickDay.value) { - time = clickDay.value + if (clickDay.value[1]) { + time = clickDay.value.map(item => item).join('到') + } else { + time = clickDay.value + } } else { time = getNowFormatDate(true) } @@ -169,13 +173,21 @@ const handleExport = () => { CsvExportor.downloadCsv(newArray, {header}, `${name}.csv`); } const daySelect = (val) => { - clickDay.value = val - if (isFullScreen.value) { - getChartInfo(openDialogId.value, 'day', val) + if (val) { + clickDay.value = val + if (isFullScreen.value) { + getChartInfo(openDialogId.value, 'day', '', '', val[0], val[1]) + } else { + getChartInfo(openDialogId.value, 'day', '', true, val[0], val[1]) + } } else { - getChartInfo(openDialogId.value, 'day', val,true) + if (isFullScreen.value) { + getChartInfo(openDialogId.value, 'day', '') + } else { + getChartInfo(openDialogId.value, 'day', '', true) } } +} const monthSelect = (val) => { clickMonth.value = val if (isFullScreen.value) { @@ -214,7 +226,7 @@ const shrinkScreen = () => { initChart(chartData.dates, chartData.values,dataZoomTop) }) } -const getChartInfo = (equipmentId, type = 'day', time = '', flag) => { +const getChartInfo = (equipmentId, type = 'day', time = '', flag, startTime, endTime) => { showSpeedLoading.value = true nextTick(() => { if (flag) { @@ -226,7 +238,7 @@ const getChartInfo = (equipmentId, type = 'day', time = '', flag) => { } } }) - getEchartsInfo(equipmentId, time, type).then(res => { + getEchartsInfo(equipmentId, time, type, startTime, endTime).then(res => { if (res?.code === 1000) { showSpeedLoading.value = false chartData=res.data diff --git a/src/components/content/badGasInfo/BadGasInfo.vue b/src/components/content/badGasInfo/BadGasInfo.vue index c6871c1..a4826fb 100644 --- a/src/components/content/badGasInfo/BadGasInfo.vue +++ b/src/components/content/badGasInfo/BadGasInfo.vue @@ -37,7 +37,7 @@
导出
- + { } } else if (selectTimeButton.value === 2) { if (clickDay.value) { - time = clickDay.value + if (clickDay.value[1]) { + time = clickDay.value.map(item => item).join('到') + } else { + time = clickDay.value + } } else { time = getNowFormatDate(true) } @@ -217,11 +221,19 @@ const shrinkScreen = () => { }) } const daySelect = (val) => { - clickDay.value = val - if (isFullScreen.value) { - getBadGasChartInfo('day', val) - } else { - getBadGasChartInfo('day', val, true) + if (val) { + clickDay.value = val + if (isFullScreen.value) { + getBadGasChartInfo('day', '','', val[0], val[1]) + } else { + getBadGasChartInfo('day', '', true, val[0], val[1]) + } + }else { + if (isFullScreen.value) { + getBadGasChartInfo('day', '') + } else { + getBadGasChartInfo('day', '', true) + } } } const monthSelect = (val) => { @@ -279,7 +291,7 @@ const changeData = (item) => { unit: item.unit, }; }; -const getBadGasChartInfo = (type, time = '', flag) => { +const getBadGasChartInfo = (type, time = '', flag,startTime,endTime) => { showLoading.value = true let id = props.tunnelId nextTick(() => { @@ -292,7 +304,7 @@ const getBadGasChartInfo = (type, time = '', flag) => { } } }) - getBadGasEchartsInfo(id, time, type).then(res => { + getBadGasEchartsInfo(id, time, type,startTime,endTime).then(res => { if (res?.code === 1000) { showLoading.value = false chartData = res.data diff --git a/src/components/content/fanInfo/FanInfo.vue b/src/components/content/fanInfo/FanInfo.vue index 72a5d65..be18094 100644 --- a/src/components/content/fanInfo/FanInfo.vue +++ b/src/components/content/fanInfo/FanInfo.vue @@ -101,7 +101,7 @@
导出
- + { } } else if (selectTimeButton.value === 2) { if (clickDay.value) { - time = clickDay.value + if (clickDay.value[1]) { + time = clickDay.value.map(item => item).join('到') + } else { + time = clickDay.value + } } else { time = getNowFormatDate(true) } @@ -256,11 +260,19 @@ const handleExport = () => { CsvExportor.downloadCsv(newArray, {header}, `${name}.csv`); } const daySelect = (val) => { - clickDay.value = val - if (isFullScreen.value) { - getFanInfo(openEquipmentId.value, 'day', val) + if (val) { + clickDay.value = val + if (isFullScreen.value) { + getFanInfo(openEquipmentId.value, 'day', '', '', val[0], val[1]) + } else { + getFanInfo(openEquipmentId.value, 'day', '', true, val[0], val[1]) + } } else { - getFanInfo(openEquipmentId.value, 'day', val, true) + if (isFullScreen.value) { + getFanInfo(openEquipmentId.value, 'day', '') + } else { + getFanInfo(openEquipmentId.value, 'day', '', true) + } } } const monthSelect = (val) => { @@ -398,7 +410,7 @@ const changeModel = (item) => { item.autoMode = !item.autoMode }); } -const getFanInfo = (equipmentId, type = 'day', time = '', flag) => { +const getFanInfo = (equipmentId, type = 'day', time = '', flag, startTime, endTime) => { showLoading.value = true nextTick(() => { if (flag) { @@ -410,7 +422,7 @@ const getFanInfo = (equipmentId, type = 'day', time = '', flag) => { } } }) - getFanEchartsInfo(equipmentId, time, type).then(res => { + getFanEchartsInfo(equipmentId, time, type, startTime, endTime).then(res => { if (res?.code === 1000) { showLoading.value = false chartData = res.data @@ -444,8 +456,8 @@ const handleOpenChart = (item) => { chooseDayRef.value.clearData() } }) - clickMonth.value='' - clickDay.value='' + clickMonth.value = '' + clickDay.value = '' isVisited.value = true selectTimeButton.value = 2 openEquipmentId.value = item.equipmentId diff --git a/src/components/content/windPressure/WindPressureList.vue b/src/components/content/windPressure/WindPressureList.vue index e4b526e..bed0f34 100644 --- a/src/components/content/windPressure/WindPressureList.vue +++ b/src/components/content/windPressure/WindPressureList.vue @@ -53,7 +53,7 @@ import WindPressureItem from "./childComps/WindPressureItem.vue"; import TimeRangeBtn from "@/components/timeRangeBtn/index.vue" import * as echarts from 'echarts'; import {getEchartsInfo} from "@/api/largeScreen"; -import ChooseDay from "@/components/chooseDay/index.vue" +import ChooseDay from "@/components/chooseDates/index.vue" import ChooseMonth from "@/components/chooseMonth/index.vue" import elementResizeDetectorMaker from "element-resize-detector"; import CsvExportor from "csv-exportor"; @@ -120,7 +120,11 @@ const handleExport = () => { } } else if (selectTimeButton.value === 2) { if (clickDay.value) { - time = clickDay.value + if (clickDay.value[1]) { + time = clickDay.value.map(item => item).join('到') + } else { + time = clickDay.value + } } else { time = getNowFormatDate(true) } @@ -161,11 +165,19 @@ const shrinkScreen = () => { }) } const daySelect = (val) => { - clickDay.value = val - if (isFullScreen.value) { - getWindInfo(windSortId.value, 'day', val) - } else { - getWindInfo(windSortId.value, 'day', val, true) + if (val) { + clickDay.value = val + if (isFullScreen.value) { + getWindInfo(windSortId.value, 'day', '','', val[0], val[1]) + } else { + getWindInfo(windSortId.value, 'day', '', true, val[0], val[1]) + } + }else { + if (isFullScreen.value) { + getWindInfo(windSortId.value, 'day', '') + } else { + getWindInfo(windSortId.value, 'day', '', true) + } } } const monthSelect = (val) => { @@ -176,7 +188,7 @@ const monthSelect = (val) => { getWindInfo(windSortId.value, 'month', val, true) } } -const getWindInfo = (equipmentId, type = 'day', time = '', flag) => { +const getWindInfo = (equipmentId, type = 'day', time = '', flag, startTime, endTime) => { isVisited.value = true showLoading.value = true nextTick(() => { @@ -189,7 +201,7 @@ const getWindInfo = (equipmentId, type = 'day', time = '', flag) => { } } }) - getEchartsInfo(equipmentId, time, type).then(res => { + getEchartsInfo(equipmentId, time, type, startTime, endTime).then(res => { if (res?.code === 1000) { showLoading.value = false chartData = res.data diff --git a/src/views/site/index.vue b/src/views/site/index.vue index 32ab902..c142c61 100644 --- a/src/views/site/index.vue +++ b/src/views/site/index.vue @@ -167,7 +167,7 @@ const info = ref({ }) const title = ref('新增站点') const isVisited = ref(false); -const isUploadVisited = ref(false); +let isUploadVisited = ref(false); const showFirst = ref(true) const total = ref(10); const showAddIcon = ref(true) @@ -206,7 +206,7 @@ const getList = () => { lock: true, text: '正在加载系统资源...', background: 'rgba(0, 0, 0, 0.7)', - customClass:'allLoading' + customClass: 'allLoading' }) getSiteList({ userId: userId, @@ -272,7 +272,7 @@ const handleEdit = (item) => { lock: true, text: '正在加载系统资源...', background: 'rgba(0, 0, 0, 0.7)', - customClass:'allLoading' + customClass: 'allLoading' }) getSiteDetail(item.siteId).then((res) => { form.value = res.data; @@ -667,7 +667,7 @@ const handleCurrentChange = (val) => { .left-img { margin-top: 50px; - margin-right: 60px; + margin-right: 36px; width: 500px; height: 370px; background-image: url('@/assets/images/site/zdgl_zd.png'); @@ -690,7 +690,7 @@ const handleCurrentChange = (val) => { .tunnel { cursor: pointer; margin-right: 20px; - width: 280px; + width: 320px; height: 350px; background: #3FBED1; border-radius: 16px; @@ -698,15 +698,24 @@ const handleCurrentChange = (val) => { flex-direction: column; align-items: center; color: #FFFFFF; + text-align: center; > div:first-child { - height: 37px; + width: 240px; + //height: 37px; font-size: 32px; margin-top: 20px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; } > div:nth-child(3) { + width: 310px; margin-bottom: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; } > div:nth-child(3), > div:nth-child(4) { diff --git a/src/views/tunnel-manage/index.vue b/src/views/tunnel-manage/index.vue index a769617..87b3d28 100644 --- a/src/views/tunnel-manage/index.vue +++ b/src/views/tunnel-manage/index.vue @@ -327,7 +327,7 @@ const getList = () => { lock: true, text: '正在加载系统资源...', background: 'rgba(0, 0, 0, 0.7)', - customClass:'allLoading' + customClass: 'allLoading' }) getTunnelList({ siteId: siteId, @@ -634,6 +634,7 @@ const handleMoreDelete = () => { color: #fff; font-size: 38px; } + .el-input__suffix-inner { font-size: 30px; color: #08B7B8; @@ -770,7 +771,13 @@ const handleMoreDelete = () => { font-size: 45px; font-weight: bold; color: #FFFFFF; - line-height: 42px; + line-height: 50px; + + > span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } > span:nth-child(2) { font-size: 38px; @@ -779,6 +786,8 @@ const handleMoreDelete = () => { > span:last-child { + margin-left: 5px; + width: 95px; padding: 1px 8px; font-size: 32px; border: 2px solid #05FEFF; @@ -896,8 +905,9 @@ const handleMoreDelete = () => { color: #60DDDE; font-size: 38px; font-weight: bold; + :deep(.el-pagination.is-background ) { - .btn-next,.btn-prev { + .btn-next, .btn-prev { background-color: transparent; }