From a590782cb5056a0c1964c32cbe7d3df2db4e041d Mon Sep 17 00:00:00 2001 From: jiminglei <836545853@qq.com> Date: Wed, 19 Jul 2023 10:15:49 +0800 Subject: [PATCH 1/4] 11 --- psdc-ui/src/permission.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/psdc-ui/src/permission.js b/psdc-ui/src/permission.js index a474e0e..738ad91 100644 --- a/psdc-ui/src/permission.js +++ b/psdc-ui/src/permission.js @@ -18,8 +18,8 @@ router.beforeEach((to, from, next) => { if (getToken()) { to.meta.title && useSettingsStore().setTitle(to.meta.title) /* has token*/ - if (to.path === '/login') { - next({ path: '/' }) + if (to.path === '/'|| to.path==='/login') { + next({ path: 'bigview' }) NProgress.done() } else { if (useUserStore().roles.length === 0) { From 17f5af88e9ca6d4ce1f0918df054909fcf02295d Mon Sep 17 00:00:00 2001 From: jiminglei <836545853@qq.com> Date: Wed, 19 Jul 2023 14:49:33 +0800 Subject: [PATCH 2/4] 11 --- psdc-ui/src/views/control/manual/index.vue | 28 +++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/psdc-ui/src/views/control/manual/index.vue b/psdc-ui/src/views/control/manual/index.vue index 6f295c2..2756b1b 100644 --- a/psdc-ui/src/views/control/manual/index.vue +++ b/psdc-ui/src/views/control/manual/index.vue @@ -25,10 +25,15 @@ - - + {{inputs.tempValue}} + + + 设定温度 - 确定 + + + 取消 + 确定 @@ -118,6 +123,8 @@ import { ref,reactive,onMounted } from 'vue' import { ElMessageBox,ElMessage, ElLoading} from 'element-plus' import { getDevice,getControlLogList,getStrategyList,getStartAndStop,getSetTemperature,getSenceControl,getControlDeviceList,ControlInfo ,ControlResult} from '@/api/control/manual' const data = reactive({ + show1:false, + show2:true, strategyCode:'', info:'', result:'', @@ -585,8 +592,18 @@ function handleDevChangeFun(id,sta){ // }) // } +function getSetTemperatureFun1(){ + data.show2=false + data.show1=true +} +function getSetTemperatureFun2(){ + data.show2=true + data.show1=false +} /** 设置温度*/ function getSetTemperatureFun(item){ + data.show2=true + data.show1=false let dataArr = []; for(let i = 0;i < item.control_elements.length;i++){ let dataObject = { @@ -758,6 +775,11 @@ function getSetTemperatureFun(item){ float: right; margin-top: 5px; } +.mybtn1{ + float: right; + margin-top: 5px; + margin-right: 5px; +} ::v-deep .el-form-item--default .el-form-item__label{ height: 32px; line-height: 32px; From 5535d61dd6cdaf9edcd554631df1d52f6e38bc47 Mon Sep 17 00:00:00 2001 From: wj <347312259@qq.com> Date: Wed, 19 Jul 2023 14:55:56 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E3=80=81=E6=B8=A9?= =?UTF-8?q?=E5=BA=A6=E4=BC=A0=E6=84=9F=E5=99=A8=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- psdc-ui/src/assets/images/风机盘管(1).png | Bin 22072 -> 35686 bytes psdc-ui/src/views/bigview/index.vue | 517 ++++++++++++------ psdc-ui/src/views/emonitor/wdcgq/index.vue | 40 +- 3 files changed, 397 insertions(+), 160 deletions(-) diff --git a/psdc-ui/src/assets/images/风机盘管(1).png b/psdc-ui/src/assets/images/风机盘管(1).png index e19bf2aa60ad0798f75443658e86c4c610db8d33..fc5743fb296f0ba167bb2095a88fe46580210310 100644 GIT binary patch literal 35686 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 VEB5#Mr+5GW002ovPDHLkV1n2NUT6RS literal 22072 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 diff --git a/psdc-ui/src/views/bigview/index.vue b/psdc-ui/src/views/bigview/index.vue index a90b448..f049793 100644 --- a/psdc-ui/src/views/bigview/index.vue +++ b/psdc-ui/src/views/bigview/index.vue @@ -9,7 +9,7 @@
-
电磁锅炉
+
变频电磁采暖炉
@@ -18,7 +18,7 @@

当前状态:{{ dcglRunStatus }}

进水温度:{{ dcglThermometerValueIn }}

出水温度:{{ dcglThermometerValueOut }}

-

今日能耗:{{ dcglTodayUseEnergy }}kWh

+
@@ -26,7 +26,7 @@
-
蓄热锅炉
+
蓄热水箱
@@ -35,7 +35,7 @@

当前状态:{{ xrglRunStatus }}

进水温度:{{ xrglThermometerValueIn }}

出水温度:{{ xrglThermometerValueOut }}

-

今日能耗:{{ xrglTodayUseEnergy }}kWh

+
@@ -61,16 +61,15 @@
-
当前功率
+
电表总功率
+
-
-
{{ item.deviceName }}
-
-
{{ item.thermometerValue}}
-
+
+
+
@@ -84,7 +83,7 @@

当前状态:{{ kqyrbRunStatus }}

进水温度:{{ kqyrbThermometerValueIn }}

出水温度:{{ kqyrbThermometerValueOut }}

-

今日能耗:{{ kqyrbTodayUseEnergy }}kWh

+
@@ -99,12 +98,12 @@

当前状态:{{ frdlRunStatus }}

-

当前温度:{{ frdlThermometerValueNow }}

-

今日能耗:{{ frdlTodayUseEnergy }}kWh

+ +
-
+
@@ -117,7 +116,8 @@ import * as echarts from 'echarts' import {HomeFilled} from '@element-plus/icons-vue' import Screenfull from '@/components/Screenfull' import {ref, reactive, onMounted, onBeforeUnmount} from 'vue' -import {getTemperature,getDevicesInfo,getZdb} from '../../api/bigview/bigview' +import {getDevicesInfo,getZdb} from '../../api/bigview/bigview' +import {getWdcgq} from '../../api/emonitor/api' //强制刷新跳转到的页面 function linkPage(){ @@ -144,12 +144,14 @@ onMounted(()=>{ }, 1000); dcglChartFun(); kqyrbChartFun(); - frdlChartFun(); - getWenduFun(); + // frdlChartFun(); getDevicesInfoFun(); xrglChartFun(); getZdbFun(); - dqglChartFun() + dqglChartFun(); + getWdcgqFun(); + indoorChartFun(); + outdoorChartFun() }) function refresh(){ // window.location.reload(); @@ -193,20 +195,6 @@ function fontSize(px) { //传入字体大小 return px * fontSize; //转换为 rem的布局返回出去 } -/** 8个温度传感器数据*/ -const wdcgqArr = ref([]) -function getWenduFun(){ - getTemperature("温度传感器").then((res)=>{ - console.log('8个温度传感器',res) - for(let i = 0;i < res.data.length;i++){ - if(res.data[i].deviceTemp == null){ - res.data[i].deviceTemp = '--' - } - } - wdcgqArr.value = res.data - }) -} - /**运行设备工作信息*/ //蓄热锅炉运行数据 const xrglRunStatus = ref('--') @@ -305,7 +293,7 @@ function getDevicesInfoFun(){ frdlTodayUseEnergy.value = res.data[i].todayUseEnergy; frdlTimeList.value = res.data[i].timeList; frdlTempTodayList.value = res.data[i].tempTodayList; - frdlChartFun(); + // frdlChartFun(); } } }) @@ -314,7 +302,7 @@ function getDevicesInfoFun(){ let dcglChart; let xrglChart; let kqyrbChart; -let frdlChart; +// let frdlChart; function dcglChartFun(){ var chartDom = document.getElementById('dcglChart') dcglChart = echarts.init(chartDom); @@ -660,12 +648,137 @@ function kqyrbChartFun(){ kqyrbChart.resize(); }); }; -function frdlChartFun(){ - const chartDom = document.getElementById('frdlChart') - frdlChart = echarts.init(chartDom); +// function frdlChartFun(){ +// const chartDom = document.getElementById('frdlChart') +// frdlChart = echarts.init(chartDom); +// const option = { +// legend: { +// data: ["当前温度"], +// // selectedMode: 'single', +// textStyle: { +// color: "#b6bee7", +// fontSize:fontSize(14) +// } +// }, +// tooltip: { +// trigger: "axis", +// formatter: function(params) { +// var result = params[0].name + '
'; // 获取横轴数据项名称 +// for (var i = 0; i < params.length; i++) { +// var seriesName = params[i].seriesName; // 获取系列名称 +// var value = params[i].value; // 获取数据值 +// // result += seriesName + ': ' + ''+value+'' + '℃
'; // 拼接字符串 +// if (i === 0) { // 第一个系列名称设置为蓝色 +// result += '' + ''+seriesName+'' + '    ' + ''+value+'' + '
'; +// } else if (i === 1) { // 第二个系列名称设置为黄色 +// result += '' + ''+seriesName+'' + '    ' + ''+value+'' + '
'; +// } else { // 其他系列名称使用默认颜色 +// result += seriesName + ': ' + value + ' m/s
'; +// } +// } +// return result; +// }, +// // borderColor: '#00fcff', +// borderWidth: 1 +// }, +// grid:{ +// show: true, +// top: '20%', +// bottom:'15%', +// left:'10%', +// right:'3%', +// borderWidth: 0, +// borderColor: '#767da1', +// }, +// xAxis: { +// type: 'category', +// data: frdlTimeList.value, +// axisLabel: { +// textStyle: { +// color: "#b6bee7", +// fontSize:fontSize(12) +// } +// }, +// axisLine: { +// lineStyle: { +// color: '#767da1' // 设置x轴的线条颜色 +// } +// }, +// axisTick: { +// show: true // 去掉x轴刻度 +// }, +// splitArea: { +// show: false, +// interval:0, +// areaStyle: { +// color: ['rgb(54,68,148,.8)', 'rgb(37,51,133,.8)'] //这里重点,用于设置颜色的数组, +// //(有了这个属性,那我们完全可以自己在根据某些条件来生成这样一个数组) +// } +// } +// }, +// yAxis: { +// type: 'value', +// name:'℃', +// nameTextStyle: { +// color: "#b6bee7", +// fontSize:fontSize(12), +// nameLocation: "start" +// }, +// axisLabel: { +// textStyle: { +// color: "#b6bee7", +// fontSize:fontSize(12) +// } +// }, +// splitLine: { +// show: true, +// lineStyle: {color: "#767da1", type: "dashed"} //dashed +// } //s是否显示为虚线的条纹背景 +// }, +// series: [ +// { +// name: "当前温度", +// data: frdlTempTodayList.value, +// type: 'line', +// smooth: true, +// symbol: "none", //去掉圆点 +// itemStyle: { //线条颜色 +// color: '#128dff', +// } +// } +// ] +// }; +// option && frdlChart.setOption(option); +// window.addEventListener("resize", function () { +// frdlChart.resize(); +// }); +// }; + +/**总电表信息*/ +const nowPower = ref('--') +const nowEle = ref('--') +const todayUsePowersArr = []; +function getZdbFun(){ + getZdb(13).then((res)=>{ + console.log(res.data) + nowPower.value = res.data.totp; + nowEle.value = res.data.totwh; + delete res.data.todayUsePowers.userId + delete res.data.todayUsePowers.deviceId + delete res.data.todayUsePowers.samDate + for(let i in res.data.todayUsePowers){ + todayUsePowersArr.push(res.data.todayUsePowers[i]) + } + dqglChartFun() + }) +} +let dqglChart; +function dqglChartFun(){ + const chartDom = document.getElementById('dqglChart') + dqglChart = echarts.init(chartDom); const option = { legend: { - data: ["当前温度"], + data: ["总功率"], // selectedMode: 'single', textStyle: { color: "#b6bee7", @@ -674,19 +787,13 @@ function frdlChartFun(){ }, tooltip: { trigger: "axis", + // formatter: "{b0}: {c0}kW", formatter: function(params) { var result = params[0].name + '
'; // 获取横轴数据项名称 for (var i = 0; i < params.length; i++) { var seriesName = params[i].seriesName; // 获取系列名称 var value = params[i].value; // 获取数据值 - // result += seriesName + ': ' + ''+value+'' + '℃
'; // 拼接字符串 - if (i === 0) { // 第一个系列名称设置为蓝色 - result += '' + ''+seriesName+'' + '    ' + ''+value+'' + '
'; - } else if (i === 1) { // 第二个系列名称设置为黄色 - result += '' + ''+seriesName+'' + '    ' + ''+value+'' + '
'; - } else { // 其他系列名称使用默认颜色 - result += seriesName + ': ' + value + ' m/s
'; - } + result += '' + ''+seriesName+'' + '    ' + ''+value+'' + 'kW
'; } return result; }, @@ -704,7 +811,31 @@ function frdlChartFun(){ }, xAxis: { type: 'category', - data: frdlTimeList.value, + data: ["00:00", + "00:15", "00:30", "00:45", "01:00", + "01:15", "01:30", "01:45", "02:00", + "02:15", "02:30", "02:45", "03:00", + "03:15", "03:30", "03:45", "04:00", + "04:15", "04:30", "04:45", "05:00", + "05:15", "05:30", "05:45", "06:00", + "06:15", "06:30", "06:45", "07:00", + "07:15", "07:30", "07:45", "08:00", + "08:15", "08:30", "08:45", "09:00", + "09:15", "09:30", "09:45", "10:00", + "10:15", "10:30", "10:45", "11:00", + "11:15", "11:30", "11:45", "12:00", + "12:15", "12:30", "12:45", "13:00", + "13:15", "13:30", "13:45", "14:00", + "14:15", "14:30", "14:45", "15:00", + "15:15", "15:30", "15:45", "16:00", + "16:15", "16:30", "16:45", "17:00", + "17:15", "17:30", "17:45", "18:00", + "18:15", "18:30", "18:45", "19:00", + "19:15", "19:30", "19:45", "20:00", + "20:15", "20:30", "20:45", "21:00", + "21:15", "21:30", "21:45", "22:00", + "22:15", "22:30", "22:45", "23:00", + "23:15", "23:30", "23:45",], axisLabel: { textStyle: { color: "#b6bee7", @@ -730,7 +861,7 @@ function frdlChartFun(){ }, yAxis: { type: 'value', - name:'℃', + name:'kW', nameTextStyle: { color: "#b6bee7", fontSize:fontSize(12), @@ -745,67 +876,74 @@ function frdlChartFun(){ splitLine: { show: true, lineStyle: {color: "#767da1", type: "dashed"} //dashed - } //s是否显示为虚线的条纹背景 + } //是否显示为虚线的条纹 }, series: [ { - name: "当前温度", - data: frdlTempTodayList.value, + name: "总功率", + data: todayUsePowersArr, type: 'line', smooth: true, symbol: "none", //去掉圆点 itemStyle: { //线条颜色 color: '#128dff', - } + }, + areaStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + {offset: 0, color: "#128dff"}, + {offset: 0.5, color: "rgba(18,141,252,.2)"}, + {offset: 1, color: "rgba(18,141,252,.0)"} + ]) + } + }, //设置折线区域渐变颜色 } ] }; - option && frdlChart.setOption(option); + option && dqglChart.setOption(option); window.addEventListener("resize", function () { - frdlChart.resize(); + dqglChart.resize(); }); }; -/**总电表信息*/ -const nowPower = ref('--') -const nowEle = ref('--') -const todayUsePowersArr = []; -function getZdbFun(){ - getZdb(13).then((res)=>{ - console.log(res.data) - nowPower.value = res.data.totp; - nowEle.value = res.data.totwh; - delete res.data.todayUsePowers.userId - delete res.data.todayUsePowers.deviceId - delete res.data.todayUsePowers.samDate - for(let i in res.data.todayUsePowers){ - todayUsePowersArr.push(res.data.todayUsePowers[i]) +/**室内外温度曲线*/ +const timesLine = ref('') +const indoorLine = ref('') +const outdoorLine = ref('') +function getWdcgqFun(){ + getWdcgq("温度传感器").then((res)=>{ + console.log('室内外温度曲线数据',res) + for(let i = 0; i < res.data.length;i++){ + timesLine.value = res.data[i].times + indoorLine.value = res.data[i].listTempIn + outdoorLine.value = res.data[i].listTempOut } - dqglChartFun() + indoorChartFun(); + outdoorChartFun() }) } -let dqglChart; -function dqglChartFun(){ - const chartDom = document.getElementById('dqglChart') - dqglChart = echarts.init(chartDom); +//室内温度 +let indoorChart; +function indoorChartFun(){ + const chartDom = document.getElementById('indoorChart') + indoorChart = echarts.init(chartDom); const option = { legend: { - data: ["当前功率"], + data: ["室内温度"], // selectedMode: 'single', textStyle: { color: "#b6bee7", - fontSize:fontSize(14) + fontSize:fontSize(12) } }, tooltip: { trigger: "axis", - // formatter: "{b0}: {c0}kW", formatter: function(params) { var result = params[0].name + '
'; // 获取横轴数据项名称 for (var i = 0; i < params.length; i++) { var seriesName = params[i].seriesName; // 获取系列名称 var value = params[i].value; // 获取数据值 - result += '' + ''+seriesName+'' + '    ' + ''+value+'' + 'kW
'; + result += seriesName + ': ' + ''+value+'' + '℃
'; // 拼接字符串 } return result; }, @@ -816,47 +954,23 @@ function dqglChartFun(){ show: true, top: '20%', bottom:'15%', - left:'10%', - right:'3%', + left:'8%', + right:'4%', borderWidth: 0, borderColor: '#767da1', }, xAxis: { type: 'category', - data: ["00:00", - "00:15", "00:30", "00:45", "01:00", - "01:15", "01:30", "01:45", "02:00", - "02:15", "02:30", "02:45", "03:00", - "03:15", "03:30", "03:45", "04:00", - "04:15", "04:30", "04:45", "05:00", - "05:15", "05:30", "05:45", "06:00", - "06:15", "06:30", "06:45", "07:00", - "07:15", "07:30", "07:45", "08:00", - "08:15", "08:30", "08:45", "09:00", - "09:15", "09:30", "09:45", "10:00", - "10:15", "10:30", "10:45", "11:00", - "11:15", "11:30", "11:45", "12:00", - "12:15", "12:30", "12:45", "13:00", - "13:15", "13:30", "13:45", "14:00", - "14:15", "14:30", "14:45", "15:00", - "15:15", "15:30", "15:45", "16:00", - "16:15", "16:30", "16:45", "17:00", - "17:15", "17:30", "17:45", "18:00", - "18:15", "18:30", "18:45", "19:00", - "19:15", "19:30", "19:45", "20:00", - "20:15", "20:30", "20:45", "21:00", - "21:15", "21:30", "21:45", "22:00", - "22:15", "22:30", "22:45", "23:00", - "23:15", "23:30", "23:45",], + data: timesLine.value, axisLabel: { textStyle: { color: "#b6bee7", - fontSize:fontSize(12) + fontSize:fontSize(10) } }, axisLine: { lineStyle: { - color: '#767da1' // 设置x轴的线条颜色 + color: '#767da180' // 设置x轴的线条颜色 } }, axisTick: { @@ -873,54 +987,143 @@ function dqglChartFun(){ }, yAxis: { type: 'value', - name:'kW', + // name:'℃', nameTextStyle: { color: "#b6bee7", - fontSize:fontSize(12), + fontSize:fontSize(10), nameLocation: "start" }, axisLabel: { textStyle: { color: "#b6bee7", - fontSize:fontSize(12) + fontSize:fontSize(10) } }, splitLine: { show: true, - lineStyle: {color: "#767da1", type: "dashed"} //dashed - } //是否显示为虚线的条纹 + lineStyle: {color: "#767da180", type: "dashed"} //dashed + } //s是否显示为虚线的条纹背景 }, series: [ { - name: "当前功率", - data: todayUsePowersArr, + name: "室内温度", + data: indoorLine.value, type: 'line', smooth: true, symbol: "none", //去掉圆点 itemStyle: { //线条颜色 - color: '#128dff', - }, + color: '#F5901A', + } + } + ] + }; + option && indoorChart.setOption(option); + window.addEventListener("resize", function () { + indoorChart.resize(); + }); +}; +//室外温度 +let outdoorChart; +function outdoorChartFun(){ + const chartDom = document.getElementById('outdoorChart') + outdoorChart = echarts.init(chartDom); + const option = { + legend: { + data: ["室外温度"], + // selectedMode: 'single', + textStyle: { + color: "#b6bee7", + fontSize:fontSize(12) + } + }, + tooltip: { + trigger: "axis", + formatter: function(params) { + var result = params[0].name + '
'; // 获取横轴数据项名称 + for (var i = 0; i < params.length; i++) { + var seriesName = params[i].seriesName; // 获取系列名称 + var value = params[i].value; // 获取数据值 + result += seriesName + ': ' + ''+value+'' + '℃
'; // 拼接字符串 + } + return result; + }, + // borderColor: '#00fcff', + borderWidth: 1 + }, + grid:{ + show: true, + top: '20%', + bottom:'15%', + left:'8%', + right:'4%', + borderWidth: 0, + borderColor: '#767da1', + }, + xAxis: { + type: 'category', + data: timesLine.value, + axisLabel: { + textStyle: { + color: "#b6bee7", + fontSize:fontSize(10) + } + }, + axisLine: { + lineStyle: { + color: '#767da180' // 设置x轴的线条颜色 + } + }, + axisTick: { + show: true // 去掉x轴刻度 + }, + splitArea: { + show: false, + interval:0, areaStyle: { - normal: { - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - {offset: 0, color: "#128dff"}, - {offset: 0.5, color: "rgba(18,141,252,.2)"}, - {offset: 1, color: "rgba(18,141,252,.0)"} - ]) - } - }, //设置折线区域渐变颜色 + color: ['rgb(54,68,148,.8)', 'rgb(37,51,133,.8)'] //这里重点,用于设置颜色的数组, + //(有了这个属性,那我们完全可以自己在根据某些条件来生成这样一个数组) + } + } + }, + yAxis: { + type: 'value', + // name:'℃', + nameTextStyle: { + color: "#b6bee7", + fontSize:fontSize(10), + nameLocation: "start" + }, + axisLabel: { + textStyle: { + color: "#b6bee7", + fontSize:fontSize(10) + } + }, + splitLine: { + show: true, + lineStyle: {color: "#767da180", type: "dashed"} //dashed + } //s是否显示为虚线的条纹背景 + }, + series: [ + { + name: "室外温度", + data: outdoorLine.value, + type: 'line', + smooth: true, + symbol: "none", //去掉圆点 + itemStyle: { //线条颜色 + color: '#F5901A', + } } ] }; - option && dqglChart.setOption(option); + option && outdoorChart.setOption(option); window.addEventListener("resize", function () { - dqglChart.resize(); + outdoorChart.resize(); }); }; - - /** 页面销毁时*/ onBeforeUnmount(() => { if(dcglChart) { @@ -1117,34 +1320,40 @@ onBeforeUnmount(() => { flex-wrap: wrap; width: 49%; height: 100%; - .item{ - width: 24%; - height: 48.5%; - padding: 0 .1rem; - border: 1px solid #1085B6; - &:first-child{ - margin-bottom: 0.08rem; - } - .dev_name{ - color: #19C3F4; - font-size: .14rem; - text-align: center; - line-height: .4rem; - } - .line{ - width: 100%; - height: 1px; - background-image: url("../../assets/images/line.png"); - background-size: 100% 100%; - } - .data{ - color: #F5901A; - font-size: .26rem; - font-weight: bold; - line-height: .8rem; - text-align: center; - } + div{ + width: 100%; + height: 50%; + padding: 10px 0; + //border: 1px solid red; } + //.item{ + // width: 24%; + // height: 48.5%; + // padding: 0 .1rem; + // border: 1px solid #1085B6; + // &:first-child{ + // margin-bottom: 0.08rem; + // } + // .dev_name{ + // color: #19C3F4; + // font-size: .14rem; + // text-align: center; + // line-height: .4rem; + // } + // .line{ + // width: 100%; + // height: 1px; + // background-image: url("../../assets/images/line.png"); + // background-size: 100% 100%; + // } + // .data{ + // color: #F5901A; + // font-size: .26rem; + // font-weight: bold; + // line-height: .8rem; + // text-align: center; + // } + //} } } } diff --git a/psdc-ui/src/views/emonitor/wdcgq/index.vue b/psdc-ui/src/views/emonitor/wdcgq/index.vue index e112ad7..a31bc84 100644 --- a/psdc-ui/src/views/emonitor/wdcgq/index.vue +++ b/psdc-ui/src/views/emonitor/wdcgq/index.vue @@ -1,11 +1,18 @@