-
4public/webA/index.js
-
BINsrc/assets/images/largeScreen/device-1.png
-
BINsrc/assets/images/largeScreen/device-2.png
-
BINsrc/assets/images/largeScreen/device-3.png
-
BINsrc/assets/images/largeScreen/device-4.png
-
BINsrc/assets/images/largeScreen/device-5.png
-
BINsrc/assets/images/largeScreen/device-6.png
-
BINsrc/assets/images/largeScreen/item-left.png
-
BINsrc/assets/images/largeScreen/item-right.png
-
BINsrc/assets/images/largeScreen/top-title.png
-
BINsrc/assets/images/largeScreen/top.png
-
5src/router/routers.js
-
116src/views/dashboard/LineChart.vue
-
190src/views/environmentalScreen/index.vue
-
217src/views/environmentalScreen/module/lineChart.vue
-
45src/views/system/messageCenter/index.vue
After Width: 92 | Height: 102 | Size: 5.0 KiB |
After Width: 77 | Height: 122 | Size: 4.8 KiB |
After Width: 87 | Height: 122 | Size: 4.5 KiB |
After Width: 57 | Height: 116 | Size: 3.6 KiB |
After Width: 72 | Height: 118 | Size: 7.2 KiB |
After Width: 73 | Height: 99 | Size: 4.2 KiB |
After Width: 72 | Height: 24 | Size: 1.5 KiB |
After Width: 72 | Height: 24 | Size: 1.4 KiB |
After Width: 1921 | Height: 130 | Size: 31 KiB |
After Width: 1921 | Height: 130 | Size: 23 KiB |
@ -0,0 +1,190 @@ |
|||||
|
<template> |
||||
|
<div class="env-container"> |
||||
|
<div class="env-top-title" /> |
||||
|
<div class="env-main"> |
||||
|
<div class="env-main-left"> |
||||
|
<div class="env-item container-wrap"> |
||||
|
<span class="right-top-line" /> |
||||
|
<span class="left-bottom-line" /> |
||||
|
<h3><i class="iconfont icon-kongqizhiliangshuju" />档案库空气质量数据</h3> |
||||
|
</div> |
||||
|
<div class="env-item container-wrap"> |
||||
|
<span class="right-top-line" /> |
||||
|
<span class="left-bottom-line" /> |
||||
|
<h3><i class="iconfont icon-loushuijiance" />漏水检测</h3> |
||||
|
</div> |
||||
|
<div class="env-item container-wrap"> |
||||
|
<span class="right-top-line" /> |
||||
|
<span class="left-bottom-line" /> |
||||
|
<h3><i class="iconfont icon-menjinjilu" />门禁记录</h3> |
||||
|
<el-table |
||||
|
ref="table" |
||||
|
style="min-width: 100%;" |
||||
|
height="100%" |
||||
|
:data="tableData" |
||||
|
class="warehose-el-table" |
||||
|
:row-class-name="rowBgColor" |
||||
|
> |
||||
|
<el-table-column prop="time" label="时间" align="center" min-width="60" /> |
||||
|
<el-table-column prop="warehouse" label="库房" align="center" min-width="60" /> |
||||
|
<el-table-column prop="name" label="档案名称" align="center" :show-overflow-tooltip="true" min-width="85" /> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="env-main-middle"> |
||||
|
<div class="env-3d"> |
||||
|
<iframe |
||||
|
id="myIframe" |
||||
|
ref="myIframe" |
||||
|
name="iframeMap" |
||||
|
class="iframe_box" |
||||
|
src="/webA/index.html" |
||||
|
frameborder="0" |
||||
|
scrolling="no" |
||||
|
/> |
||||
|
</div> |
||||
|
<div class="env-item container-wrap"> |
||||
|
<span class="right-top-line" /> |
||||
|
<span class="left-bottom-line" /> |
||||
|
<h3><i class="iconfont icon-shebeizhuangtai" />设备状态</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="env-main-right"> |
||||
|
<div class="env-item container-wrap"> |
||||
|
<span class="right-top-line" /> |
||||
|
<span class="left-bottom-line" /> |
||||
|
<h3><i class="iconfont icon-zhenglishi" />阅览室</h3> |
||||
|
<LineChart /> |
||||
|
</div> |
||||
|
<div class="env-item container-wrap"> |
||||
|
<span class="right-top-line" /> |
||||
|
<span class="left-bottom-line" /> |
||||
|
<h3><i class="iconfont icon-zhenglishi" />整理室</h3> |
||||
|
</div> |
||||
|
<div class="env-item container-wrap"> |
||||
|
<span class="right-top-line" /> |
||||
|
<span class="left-bottom-line" /> |
||||
|
<h3><i class="iconfont icon-baojingjilu" />报警记录</h3> |
||||
|
<el-table |
||||
|
ref="table" |
||||
|
style="min-width: 100%;" |
||||
|
height="100%" |
||||
|
:data="tableData" |
||||
|
class="warehose-el-table" |
||||
|
:row-class-name="rowBgColor" |
||||
|
> |
||||
|
<el-table-column prop="time" label="时间" align="center" min-width="60" /> |
||||
|
<el-table-column prop="warehouse" label="库房" align="center" min-width="60" /> |
||||
|
<el-table-column prop="warning" label="警情" align="center" :show-overflow-tooltip="true" min-width="85" /> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import LineChart from './module/lineChart' |
||||
|
export default { |
||||
|
name: 'Dashboard', |
||||
|
components: { |
||||
|
LineChart |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
tableData: [] |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
// 表格隔行变色 |
||||
|
rowBgColor({ row, rowIndex }) { |
||||
|
if (rowIndex % 2 === 1) { |
||||
|
return 'light-blue' |
||||
|
} else { |
||||
|
return '' |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style rel="stylesheet/scss" lang="scss" scoped> |
||||
|
@import '~@/assets/styles/lend-manage.scss'; |
||||
|
.env-container{ |
||||
|
width: 100%; |
||||
|
height: calc(100vh); |
||||
|
background-color: #031435; |
||||
|
.env-top-title{ |
||||
|
width: calc(100vw); |
||||
|
height: 130px; |
||||
|
background: url('~@/assets/images/largeScreen/top-title.png') no-repeat 0 -14px; |
||||
|
background-size: contain; |
||||
|
} |
||||
|
.env-main{ |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
padding: 0 25px; |
||||
|
.env-main-left, |
||||
|
.env-main-right{ |
||||
|
width: 458px; |
||||
|
height: calc(100vh - 150px); |
||||
|
overflow: hidden; |
||||
|
} |
||||
|
.env-main-middle{ |
||||
|
flex: 1; |
||||
|
margin: 0 20px; |
||||
|
} |
||||
|
.container-wrap{ |
||||
|
height: calc(100%/3 - 14px); |
||||
|
min-height: auto; |
||||
|
} |
||||
|
.env-item { |
||||
|
margin-bottom: 20px; |
||||
|
text-align: center; |
||||
|
h3{ |
||||
|
position: relative; |
||||
|
display: inline-block; |
||||
|
padding: 10px 70px; |
||||
|
font-size: 16px; |
||||
|
color: #fff; |
||||
|
.iconfont{ |
||||
|
margin-right: 10px; |
||||
|
font-size: 14px; |
||||
|
color: #F65163; |
||||
|
} |
||||
|
&::before{ |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
left: 0; |
||||
|
top: 50%; |
||||
|
width: 36px; |
||||
|
height: 12px; |
||||
|
margin-top: -6px; |
||||
|
background: url('~@/assets/images/largeScreen/item-left.png') no-repeat; |
||||
|
background-size: cover; |
||||
|
} |
||||
|
&::after{ |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
right: 0; |
||||
|
width: 36px; |
||||
|
height: 12px; |
||||
|
margin-top: -6px; |
||||
|
background: url('~@/assets/images/largeScreen/item-right.png') no-repeat; |
||||
|
background-size: cover; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.env-3d{ |
||||
|
height: calc(100vh - (100%/2) - 28px); |
||||
|
margin-bottom: 20px; |
||||
|
overflow: hidden; |
||||
|
.iframe_box{ |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,217 @@ |
|||||
|
<template> |
||||
|
<div style="height:84%"> |
||||
|
<div id="container" style="height:100%" /> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import echarts from 'echarts' |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
chart: null, |
||||
|
temperatureData: [16, 12, 15, 11, 20, 16, 15, 22], |
||||
|
humidnessData: [10, 50, 40, 60, 50, 30, 15, 30] |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.$nextTick(() => { |
||||
|
this.initChart() |
||||
|
}) |
||||
|
}, |
||||
|
beforeDestroy() { |
||||
|
if (!this.chart) { |
||||
|
return |
||||
|
} |
||||
|
this.chart.dispose() |
||||
|
this.chart = null |
||||
|
}, |
||||
|
methods: { |
||||
|
initChart() { |
||||
|
const dom = document.getElementById('container') |
||||
|
this.chart = echarts.init(dom, 'dark', { |
||||
|
renderer: 'canvas', |
||||
|
useDirtyRect: false |
||||
|
}) |
||||
|
this.setOptions() |
||||
|
}, |
||||
|
setOptions() { |
||||
|
this.chart.setOption({ |
||||
|
backgroundColor: '#021941', |
||||
|
tooltip: { |
||||
|
trigger: 'axis', |
||||
|
axisPointer: { |
||||
|
type: 'cross', |
||||
|
label: { |
||||
|
backgroundColor: '#6a7985' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
legend: { |
||||
|
textStyle: { |
||||
|
fontSize: '16px', |
||||
|
color: '#339CFF' |
||||
|
}, |
||||
|
data: ['温度(℃)', '湿度(%)'] |
||||
|
}, |
||||
|
grid: { |
||||
|
left: '3%', |
||||
|
right: '4%', |
||||
|
bottom: '3%', |
||||
|
containLabel: true |
||||
|
}, |
||||
|
xAxis: [{ |
||||
|
type: 'category', |
||||
|
boundaryGap: false, |
||||
|
// 坐标轴轴线相关设置 |
||||
|
axisLine: { |
||||
|
// 是否显示以及样式设置 |
||||
|
show: true, |
||||
|
// onZero: true,//表示 X 轴或者 Y 轴的轴线是否在另一个轴的 0 刻度上,只有在另一个轴为数值轴且包含 0 刻度时有效。 |
||||
|
lineStyle: { |
||||
|
width: '1', |
||||
|
color: '#113D72', |
||||
|
type: 'solid' |
||||
|
} |
||||
|
}, |
||||
|
axisLabel: { |
||||
|
fontWeight: 'bold', |
||||
|
color: '#fff' |
||||
|
}, |
||||
|
data: ['03:00', '06:00', '09:00', '12:00', '15:00', '18:00', '21:00', '24:00'] |
||||
|
}], |
||||
|
yAxis: [ |
||||
|
{ |
||||
|
type: 'value', |
||||
|
// 坐标轴最大值、最小值、强制设置数据的步长间隔 |
||||
|
max: 24, |
||||
|
min: 10, |
||||
|
interval: 2, |
||||
|
axisLabel: { |
||||
|
textStyle: { |
||||
|
color: '#fff', |
||||
|
fontWeight: 'bold' |
||||
|
}, |
||||
|
// y轴上带的单位 |
||||
|
formatter: '{value} ℃' |
||||
|
}, |
||||
|
// 轴线 |
||||
|
axisLine: { |
||||
|
show: true, |
||||
|
lineStyle: { |
||||
|
color: '#113D72', |
||||
|
width: '1', |
||||
|
type: 'solid' |
||||
|
} |
||||
|
}, |
||||
|
// 坐标轴刻度相关设置。 |
||||
|
axisTick: { |
||||
|
show: false |
||||
|
}, |
||||
|
// 分割线 |
||||
|
splitLine: { |
||||
|
show: true, |
||||
|
lineStyle: { |
||||
|
color: '#113D72', |
||||
|
type: 'dashed', |
||||
|
// 透明度 |
||||
|
opacity: 1, |
||||
|
width: 1 |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
type: 'value', |
||||
|
max: 80, |
||||
|
min: 10, |
||||
|
interval: 10, |
||||
|
axisLabel: { |
||||
|
textStyle: { |
||||
|
color: '#fff', |
||||
|
fontWeight: 'bold' |
||||
|
}, |
||||
|
formatter: '{value} %' |
||||
|
}, |
||||
|
// 轴线 |
||||
|
axisLine: { |
||||
|
show: true, |
||||
|
lineStyle: { |
||||
|
color: '#113D72', |
||||
|
width: '1', |
||||
|
type: 'solid' |
||||
|
} |
||||
|
}, |
||||
|
// 坐标轴刻度相关设置。 |
||||
|
axisTick: { |
||||
|
show: false |
||||
|
}, |
||||
|
// 分割线 |
||||
|
splitLine: { |
||||
|
show: false |
||||
|
} |
||||
|
} |
||||
|
], |
||||
|
series: [ |
||||
|
{ |
||||
|
name: '温度(℃)', |
||||
|
type: 'line', |
||||
|
smooth: 0.6, |
||||
|
gridIndex: 0, |
||||
|
lineStyle: { |
||||
|
width: 1, |
||||
|
color: '#18B08F' |
||||
|
}, |
||||
|
showSymbol: false, |
||||
|
areaStyle: { |
||||
|
opacity: 0.6, |
||||
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
||||
|
|
||||
|
{ |
||||
|
offset: 0, |
||||
|
color: 'rgba(24, 176, 143, 0)' |
||||
|
}, |
||||
|
{ |
||||
|
offset: 1, |
||||
|
color: 'rgba(23, 175, 142, 1)' |
||||
|
} |
||||
|
]) |
||||
|
}, |
||||
|
emphasis: { |
||||
|
focus: 'series' |
||||
|
}, |
||||
|
data: this.temperatureData |
||||
|
}, |
||||
|
{ |
||||
|
name: '湿度(%)', |
||||
|
type: 'line', |
||||
|
smooth: 0.4, |
||||
|
yAxisIndex: 1, |
||||
|
lineStyle: { |
||||
|
width: 1, |
||||
|
color: '#FE8042' |
||||
|
}, |
||||
|
showSymbol: false, |
||||
|
areaStyle: { |
||||
|
opacity: 0.6, |
||||
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
||||
|
{ |
||||
|
offset: 0, |
||||
|
color: 'rgba(254, 128, 66, 0)' |
||||
|
}, |
||||
|
{ |
||||
|
offset: 1, |
||||
|
color: 'rgba(254, 128, 66, 1)' |
||||
|
} |
||||
|
]) |
||||
|
}, |
||||
|
emphasis: { |
||||
|
focus: 'series' |
||||
|
}, |
||||
|
data: this.humidnessData |
||||
|
} |
||||
|
] |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |