-
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
-
74src/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> |