Commit 88868e9f authored by xiexingan's avatar xiexingan

Merge

parents 9ac9e8b6 5151e096
...@@ -103,6 +103,32 @@ $el-bg-color-3: #EBEEF5; ...@@ -103,6 +103,32 @@ $el-bg-color-3: #EBEEF5;
$el-bg-color-4: #F2F6FC; $el-bg-color-4: #F2F6FC;
// 表格大概样式
.hall,.office-area-control,.use-electro-data {
.el-table__row > td {
border: none;
}
td::before {
height: 0px;
}
.el-table--border,
.el-table--group {
border-left: none;
}
.el-table--border::after,
.el-table--group::after {
width: 0;
}
}
.margin-lr-20 { .margin-lr-20 {
margin: 0 20px; margin: 0 20px;
} }
...@@ -118,4 +144,5 @@ $el-bg-color-4: #F2F6FC; ...@@ -118,4 +144,5 @@ $el-bg-color-4: #F2F6FC;
.color-green { .color-green {
color: #4ECB74; color: #4ECB74;
} }
\ No newline at end of file
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
left: 0px; left: 0px;
right: 0px; right: 0px;
background: #E6EAEE; background: #E6EAEE;
overflow: auto;
} }
.d2-theme-container-main-body { .d2-theme-container-main-body {
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<transition name="fade-scale"> <transition name="fade-scale">
<div class="d2-theme-container-main-layer" flex="dir:top"> <div class="d2-theme-container-main-layer" flex="dir:top">
<!-- 页面 --> <!-- 页面 -->
<div class="d2-theme-container-main-body" flex-box="1" style="background-color: white"> <div class="d2-theme-container-main-body" flex-box="1" >
<!-- <bim></bim> --> <!-- <bim></bim> -->
<keep-alive :include="keepAlive"> <keep-alive :include="keepAlive">
<router-view /> <router-view />
......
import page from './page'
export default page
<template>
<div class="energy-page">
<cardList cardListTitle="能耗数据分析">
<div slot="right" >
<span
:class="activeIndex === index ? 'active-hight-linght' : ''"
class="date-text"
@click="activehandle(item, index)"
v-for="(item, index) in dateList"
:key="item.value"
>{{ item.label }}</span
>
<el-date-picker
type="daterange"
range-separator="~"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
<i style=" padding-left:20px;padding-right: 20px;color:#21acfc" class="el-icon-s-unfold"></i>
<i class="el-icon-printer" style="color:#21acfc"></i>
</div>
<div slot="content" style="padding: 24px 28px 20px 23px">
<div style="margin-bottom: 20px">
<enTabs :tabList="energyTabList"></enTabs>
</div>
<el-row>
<el-col :span="24">
<energyChart></energyChart>
</el-col>
</el-row>
</div>
</cardList>
</div>
</template>
<script>
import cardList from "../../home/compontents/cardList";
import enTabs from '../../eq/hall/components/enTabs'
// import enTable from '../../eq/hall/components/enTable'
import energyChart from '../../home/compontents/energyTotalCharts'
export default {
name: "energypage",
components: {
cardList,
enTabs,
energyChart
},
data() {
return {
activeIndex: 1,
dateList: [
// {
// value: "01",
// label: "时段",
// },
{
value: "02",
label: "今日",
},
{
value: "03",
label: "本周",
},
{
value: "04",
label: "本月",
},
{
value: "05",
label: "全年",
},
],
energyTabList:[
{
value: "01",
label: "全部",
},
{
value: "02",
label: "排风机",
},
{
value: "03",
label: "多联空调",
},
{
value: "04",
label: " 多联新风",
},
]
};
},
methods: {
activehandle(item, index) {
this.activeIndex = index;
},
},
};
</script>
<style lang="scss">
.energy-page{
padding:10px 10px 40px 10px;
.el-input__inner {
// height: 30px;
}
.date-text {
padding-right: 20px;
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #1d1d1d;
cursor: pointer;
}
.active-hight-linght {
color: #21acfc;
}
}
</style>
<template>
<div class="en-table">
<el-table
border
stripe
:data="tableData"
style="width: 100%"
:header-cell-style="{
background: 'rgba(0, 151, 255, 0.08)',
color: '#333333',
}"
>
<el-table-column align="center" label="序号" width="100">
<template slot-scope="scope">
{{ scope.$index + 1 }}
</template>
</el-table-column>
<template v-for="(item, index) in tableColums">
<el-table-column
:key="index"
:prop="item.prop"
:label="item.label"
:width="item.width"
:align="item.align"
>
</el-table-column>
</template>
<el-table-column align="center" label="操作" width="100" v-if="isShowOp">
<template slot-scope="scope">
<el-button type="text" size="small">编辑</el-button>
</template>
</el-table-column>
</el-table>
<div
style="
display: flex;
justify-content: flex-end;
align-items: center;
line-height: 3;
"
>
<div style=" ;" class="record-color marg_r_18">共34860条记录</div>
<div class="record-color marg_r_8">共20页</div>
<div class="record-color">每页显示</div>
<el-pagination layout="sizes, prev, pager, next" background :total="1000">
</el-pagination>
</div>
</div>
</template>
<script >
export default {
name: "enTable",
props: ["tableData", "tableColums",'isShowOp'],
data() {
return {};
},
};
</script>
<style lang="scss">
.record-color {
color: #0097ff;
}
.marg_r_18 {
margin-right: 18px;
}
.marg_r_8 {
margin-right: 8px;
}
.en-table{
.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li{
margin: 0 !important;
}
}
</style>
<template>
<div class="en-tabs">
<ul class="ul-wrap">
<li
v-for="(item, index) in tabList"
:key="index"
:class="isActiveIndex === index ? 'isActive' : ''"
@click="tabHandle(item, index)"
>
<p :class="isActiveIndex === index ? 'isActive show-bar-border' : ''">
{{ item.label }}
</p>
</li>
</ul>
</div>
</template>
<script lang="ts">
export default {
name: "elTabs",
props:['tabList'],
data() {
return {
isActiveIndex:0,
};
},
methods: {
tabHandle(item, index) {
this.isActiveIndex = index;
this.$emit('tabHandle')
},
},
};
</script>
<style scoped lang="scss">
.en-tabs{
.show-bar-border {
border-bottom: 2px solid #0097ff;
}
.ul-wrap {
list-style: none;
margin: 0;
padding: 0;
display: flex;
color: #666;
background: rgba(229, 233, 236, 0.5);
border: 1px solid #e5e9ec;
font-size: 14px;
li {
position: relative;
padding: 0 71px;
cursor: pointer;
p {
margin: 0;
padding: 0;
padding-bottom: 14px;
padding-top: 15px;
box-sizing: border-box;
}
}
.isActive {
background: #fff;
color: #0097ff;
}
}
}
</style>
\ No newline at end of file
import page from './page'
export default page
<template>
<div class="hall full-height">
<cardList cardListTitle="候车大厅控制">
<div slot="content" style="padding: 24px 28px 20px 23px">
<div>
<el-row>
<el-form :inline="true" :model="formData" label-width="100">
<el-col :md="14" :lg="13">
<el-form-item label="定时功能启止时间:">
<el-date-picker
style="width: 200px"
type="date"
placeholder=""
>
</el-date-picker>
<span style="padding: 0 10px"></span>
<el-date-picker
style="width: 200px"
type="date"
placeholder=""
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :md="12" :lg="4">
<el-form-item label="定时设定按钮:">
<el-switch active-color="#0097FF" inactive-color="#ff4949">
</el-switch>
</el-form-item>
</el-col>
<el-col :md="12" :lg="5">
<el-form-item label="温度设定:">
<el-input
style="width: 124px"
v-model="formData.user"
placeholder=""
></el-input>
<!-- <el-button type="primary" >查询</el-button> -->
</el-form-item>
</el-col>
<el-col :md="12" :lg="4">
<el-form-item label="节能模式:">
<el-switch
active-color="#13ce66"
inactive-color="#ff4949"
></el-switch>
</el-form-item>
</el-col>
<el-col :md="12" :lg="10">
<el-form-item label="">
<el-button type="" size="small">编辑</el-button>
<el-button type="" size="small">自然通风</el-button>
<el-button type="" size="small">机械通风</el-button>
<el-button type="" size="small">供暖</el-button>
</el-form-item>
</el-col>
</el-form>
</el-row>
</div>
<!-- tabs -->
<div style="margin-bottom: 20px">
<en-tabs :tabList="tabList"></en-tabs>
</div>
<!-- table -->
<enTable :tableData="tableData" :tableColums="tableColums" isShowOp="true"></enTable>
</div>
</cardList>
</div>
</template>
<script>
import cardList from "../../home/compontents/cardList";
import enTable from "./components/enTable";
import enTabs from './components/enTabs'
const tableColums = [
{
align: "center",
prop: "A",
label: "设备名称",
width: 132,
},
{
align: "center",
prop: "B",
label: "设备描述",
width: 112,
},
{
align: "center",
prop: "C",
label: "运行状态",
width: 132,
},
{
align: "center",
prop: "D",
label: "当前频率",
width: 132,
},
{
align: "center",
prop: "E",
label: "故障报警",
width: 132,
},
{
align: "center",
prop: "F",
label: "说明",
width: 132,
},
{
align: "center",
prop: "G",
label: "设备编号",
width: 132,
},
];
const tableData = [
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
];
export default {
components: {
cardList,
enTable,
enTabs,
},
data() {
return {
tableColums,
tableData,
formData: {},
tabList: [
{
value: "01",
label: "热泵",
},
{
value: "02",
label: "风冷热泵机组",
},
{
value: "03",
label: "室内机风柜",
},
{
value: "04",
label: " 水泵",
},
],
};
},
methods: {
},
};
</script>
<style lang="scss" >
.hall {
height: 100%;
padding:10px 10px 40px 10px;
.el-input__inner {
height: 30px;
}
.el-form-item__label {
padding: 0;
}
}
</style>
import page from './page'
export default page
<template>
<div class="office-area-control" style=" padding:10px 10px 40px 10px;">
<cardList cardListTitle="办公区域控制">
<div slot="content" style="padding: 24px 28px 20px 23px">
<enTabs :tabList="officeTabList"></enTabs>
<div style="margin-top: 20px"></div>
<en-table :tableData="tableData" :tableColums="tableColums" isShowOp="true"> </en-table>
</div>
</cardList>
</div>
</template>
<script >
const tableColums = [
{
align: "center",
prop: "A",
label: "设备名称",
width: 132,
},
{
align: "center",
prop: "B",
label: "设备描述",
width: 112,
},
{
align: "center",
prop: "C",
label: "运行状态",
width: 132,
},
{
align: "center",
prop: "D",
label: "当前频率",
width: 132,
},
{
align: "center",
prop: "E",
label: "故障报警",
width: 132,
},
{
align: "center",
prop: "F",
label: "说明",
width: 132,
},
{
align: "center",
prop: "G",
label: "设备编号",
width: 132,
},
];
const tableData = [
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
];
import cardList from "../../home/compontents/cardList";
import enTabs from "../hall/components/enTabs";
import enTable from "../hall/components/enTable";
export default {
name: "officeAreaControl",
components: {
cardList,
enTabs,
enTable,
},
data() {
return {
tableData,
tableColums,
officeTabList: [
{
value: "01",
label: "多联空调",
},
{
value: "02",
label: "多联新风",
},
{
value: "03",
label: "机房空调",
},
{
value: "04",
label: "排风机",
},
],
};
},
};
</script>
<template> <template>
<div class="energy-total-charts"> <div class="energy-total-charts">
<div id="energyChart" style="height: 300px"></div> <div id="energyChart" style="height: 385px"></div>
</div> </div>
</template> </template>
...@@ -12,70 +12,123 @@ export default { ...@@ -12,70 +12,123 @@ export default {
energyChart: null, energyChart: null,
}; };
}, },
mounted(){ mounted() {
this.initChart() this.initChart();
}, },
methods: { methods: {
initChart() { initChart() {
let energyChart = document.getElementById("energyChart") let energyChart = document.getElementById("energyChart");
this.energyChart = this.$echarts.init(energyChart); this.energyChart = this.$echarts.init(energyChart);
let _this = this;
const option = { const option = {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
type: "cross", type: "cross",
label: { label: {
backgroundColor: "#6a7985", // backgroundColor: "#21ACFC",
}, },
}, },
}, },
legend: { legend: {
data: [], data: [],
}, },
// toolbox: {
// feature: {
// saveAsImage: {},
// },
// },
grid: { grid: {
left: "3%", left: "3%",
right: "4%", right: "4%",
bottom: "3%", bottom: "3%",
containLabel: true, containLabel: true,
}, },
// center: ['50%', '40%'],
xAxis: [ xAxis: [
{ {
type: "category", type: "category",
boundaryGap: false, boundaryGap: false,
data: ["02-01", "02-01", "02-01", "02-01", "02-01", "02-01", "02-01"], data: [
"02-01",
"02-01",
"02-01",
"02-01",
"02-01",
"02-01",
"02-01",
],
}, },
], ],
yAxis: [ yAxis: [
{ {
name: "单位:kwh",
type: "value", type: "value",
// itemStyle : {
// normal : {
// lineStyle:{
// color:'#00FF00'
// }
// }
}, },
], ],
series: [ series: [
{ {
name: "邮件营销", name: "能耗统计",
type: "line", type: "line",
showSymbol: false,
smooth: true,
stack: "总量", stack: "总量",
areaStyle: {}, areaStyle: {},
data: [120, 132, 101, 134, 90, 230, 210], data: [120, 132, 101, 134, 90, 230, 210],
lineStyle: {
normal: {
width: 4,
color: "#21ACFC", //设置实线的颜色
},
},
itemStyle: {
normal: {
areaStyle: {
// type : 'default',
//渐变色实现
color: new this.$echarts.graphic.LinearGradient(
0,
0,
0,
1, //变化度
[
{
offset: 0,
color: "#21ACFC",
},
{
offset: 0.5,
color: "#21ACFC",
},
{
offset: 1,
color: "rgba(33, 172, 252, 0)",
},
]
),
},
lineStyle: {
//线的颜色
color: "#349e85",
},
},
},
}, },
], ],
}; };
this.energyChart.setOption(option); this.energyChart.setOption(option);
window.addEventListener('resize',this.resizeHandle) window.addEventListener("resize", this.resizeHandle);
// background: linear-gradient(0deg, #21ACFC, rgba(33, 172, 252, 0));
}, },
}, },
resizeHandle(){ resizeHandle() {
this.energyChart.resize() this.energyChart.resize();
} },
}; };
</script> </script>
\ No newline at end of file
<template> <template>
<div class="my-pies"> <div class="my-pies">
<div id="myPies" style="height: 500px"></div> <div id="myPies" style="height: 548px"></div>
</div> </div>
</template> </template>
...@@ -22,26 +22,27 @@ export default { ...@@ -22,26 +22,27 @@ export default {
let myPie = document.getElementById("myPies"); let myPie = document.getElementById("myPies");
this.myPies = this.$echarts.init(myPie); this.myPies = this.$echarts.init(myPie);
const data = [ const data = [
{ name: "冷", value: 150 }, { name: "冷", value: 150 },
{ name: "适中", value: 80 }, { name: "适中", value: 80 },
{ name: "热", value: 80 } { name: "热", value: 80 },
] ];
const option = { const option = {
tooltip: { tooltip: {
trigger: "item", trigger: "item",
formatter: "{a} <br/>{b}: {c} ({d}%)", formatter: "{a} <br/>{b}: {c} ({d}%)",
}, },
legend: { legend: {
show: true, show: true,
left: "center", orient: 'vertical',
bottom: "0", // left: "center",
bottom: "40",
itemHeight: 13, itemHeight: 13,
itemWidth: 13, itemWidth: 13,
itemGap: 35, itemGap: 35,
icon: "circle", icon: "circle",
data: data, data: data,
formatter: function(name) { formatter: function (name) {
var total = 0; var total = 0;
var target; var target;
var value; var value;
...@@ -52,49 +53,50 @@ export default { ...@@ -52,49 +53,50 @@ export default {
target = data[i].value; target = data[i].value;
} }
} }
var arr = ["{a|" + name + "}", "{b|" + target + "}"]; return name + ' ' +((target/total)*100).toFixed(0) + '%'
return arr.join("") ;
}, },
textStyle: { textStyle: {
rich: { rich: {
a: { a: {
// color: "#B6B6B6", color: "#333333",
verticalAlign: "top", // verticalAlign: "top",
// align: "center", // align: "center",
// fontSize: 12, // fontSize: 12,
// padding: [0, 0, 28, 0] // padding: [10, 0, 28, 0]
padding:20
}, },
b: { b: {
// align: "left", // align: "left",
// fontSize: 18, // fontSize: 18,
// padding: [0, 10, 10, 0], padding: [10, 10, 10, 0],
// // lineHeight: 25, // // lineHeight: 25,
// color: "#181818" color: "#333333"
} },
} },
} },
}, },
color:['rgba(72,154,254,1)','rgba(247,243,204,1)','rgba(236,73,104,1)'],
series: [ series: [
{ {
name: "访问来源", name: "访问来源",
type: "pie", type: "pie",
radius: ["50%", "70%"], radius: ["50%", "70%"],
center: ["50%", "40%"],
avoidLabelOverlap: false, avoidLabelOverlap: false,
label: { label: {
// show: true, // show: true,
position: "center", position: "center",
normal:{ normal: {
show:true, show: true,
position:'center', position: "center",
formatter:function(){ formatter: function () {
return `调查总数\r\n \r\n20000` return `调查总数\r\n \r\n20000`;
}, },
textStyle:{ textStyle: {
fontSize:30, fontSize: 30,
color:'#333' color: "#333",
} },
} },
}, },
emphasis: { emphasis: {
label: { label: {
...@@ -106,12 +108,7 @@ export default { ...@@ -106,12 +108,7 @@ export default {
labelLine: { labelLine: {
show: false, show: false,
}, },
data: [ data: [...data ],
{ value: 335, name: "冷" },
{ value: 310, name: "热" },
{ value: 234, name: "适中" },
],
}, },
], ],
}; };
......
import page from './page' import page from './page'
export default page export default page
<template > <template >
<div class="home-page"> <div class="home-page">
<div class="home-page-top"> <div class="home-page-top">
<ul class="flex-box"> <div class="col-sm-12">
<li v-for="(item, index) in cardList" :key="index"> <div class="f-group">
<img :src="item.iconUrl" alt="" /> <div
<div class="card-desc"> class="f-item pull-left"
<span>{{ item.cardDesc }}</span> v-for="(item, index) in cardList"
</div> :key="index"
<div class="card-text"> >
<span v-if="index == 0" v-html="item.cardText"></span> <img :src="item.iconUrl" alt="" />
<span v-else-if="index == 1" v-html="item.cardText"></span> <div class="card-desc">
<span v-else>{{ item.cardText }}</span> <span>{{ item.cardDesc }}</span>
</div>
<div class="card-text">
<span v-if="index == 0" v-html="item.cardText"></span>
<span v-else-if="index == 1" v-html="item.cardText"></span>
<span v-else>{{ item.cardText }}</span>
</div>
</div> </div>
</li> </div>
</ul> </div>
</div> </div>
<div class="home-page-content"> <div class="home-page-content" >
<el-row :gutter="14"> <el-row :gutter="14" >
<el-col :span="16"> <el-col :span="16" >
<card-list :cardListTitle="cardListLeftTitle"> <card-list :cardListTitle="cardListLeftTitle">
<div slot="right"> <div slot="right">
<span <span
:class="activeIndex === index ? 'active-hight-linght' : ''" :class="activeIndex === index ? 'active-hight-linght' : ''"
class="date-text" class="date-text"
@click="activehandle(item, index)" @click="activehandle(item, index)"
v-for="(item, index) in dateList" v-for="(item, index) in dateList"
:key="item.value" :key="item.value"
>{{ item.label }}</span >{{ item.label }}</span
> >
<el-date-picker <!-- <el-date-picker
type="daterange" type="daterange"
range-separator="~" range-separator="~"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
> >
</el-date-picker> </el-date-picker> -->
</div> </div>
<div slot="content" class="content-wrap"> <div slot="content" class="content-wrap">
<!-- 卡片 --> <!-- 卡片 -->
<el-row :gutter="12" class="margin_top_25"> <el-row :gutter="12" class="margin_top_25" type="flex" justify="center">
<el-col :span="8"> <el-col :span="6">
<div class="energy-save-mode-wrap" style=""> <div class="energy-save-mode-wrap" style="">
<div class="font-style font_14"> <div class="font-style font_14" >
<span>节能模式</span> <span>节能模式</span>
</div> </div>
<div class="flex-save-warp"> <div class="flex-save-warp">
<div> <div>
<div> <div>
<p class="font_30">30</p> <p class="font_30">30</p>
<p class="font-style font_14">运行时间(h)</p> <p class="font-style font_14">运行时间(h)</p>
</div>
</div>
<div>
<p class="font_30">30</p>
<p class="font-style font_14">总能耗(kwh)</p>
</div>
</div>
</div>
</el-col>
<el-col :span="8">
<div class="handle-mode-wrap">
<div class="font-style font_14">
<span>节能模式</span>
</div>
<div class="flex-save-warp">
<div>
<div>
<p class="font_30">30</p>
<p class="font-style font_14">运行时间(h)</p>
</div>
</div>
<div>
<p class="font_30">30</p>
<p class="font-style font_14">总能耗(kwh)</p>
</div>
</div>
</div> </div>
</el-col> </div>
<el-col :span="8"> <div>
<div class="sys-save-mode-wrap"> <p class="font_30">30</p>
<div class="font-style font_14"> <p class="font-style font_14">总能耗(kwh)</p>
<span>系统节约总能耗</span> </div>
</div> </div>
<div > </div>
<div> </el-col>
<p class="font_30">30</p> <el-col :span="6">
<p class="font-style font_14">(kwh)</p> <div class="handle-mode-wrap">
</div> <div class="font-style font_14">
</div> <span>节能模式</span>
</div>
<div class="flex-save-warp">
<div>
<div>
<p class="font_30">30</p>
<p class="font-style font_14">运行时间(h)</p>
</div> </div>
</el-col> </div>
</el-row> <div>
<!-- echarts --> <p class="font_30">30</p>
<div style="height:100%"> <p class="font-style font_14">总能耗(kwh)</p>
<energy-total-charts></energy-total-charts> </div>
</div> </div>
</div> </div>
</card-list> </el-col>
</el-col> <el-col :span="6">
<el-col :span="8"> <div class="sys-save-mode-wrap">
<card-list :cardListTitle="cardListRightTitle" > <div class="font-style font_14">
<div slot="content"> <span>系统节约总能耗</span>
<my-pies></my-pies> </div>
<div >
<div>
<p class="font_30">30</p>
<p class="font-style font_14">(kwh)</p>
</div>
</div>
</div> </div>
</card-list> </el-col>
</el-col> </el-row>
</el-row> <!-- echarts -->
</div> <div style="height:100%">
<energy-total-charts></energy-total-charts>
</div>
</div>
</card-list>
</el-col>
<el-col :span="8">
<card-list :cardListTitle="cardListRightTitle" >
<div slot="content">
<my-pies></my-pies>
</div>
</card-list>
</el-col>
</el-row>
</div>
</div> </div>
</template> </template>
<script> <script>
import cardList from "./compontents/cardList"; import cardList from "./compontents/cardList";
import energyTotalCharts from './compontents/energyTotalCharts' import energyTotalCharts from "./compontents/energyTotalCharts";
import myPies from './compontents/myPies' import myPies from "./compontents/myPies";
// import CardList from './compontents/cardList.vue'; // import CardList from './compontents/cardList.vue';
export default { export default {
name: "home", name: "home",
...@@ -158,26 +164,26 @@ export default { ...@@ -158,26 +164,26 @@ export default {
}, },
], ],
dateList: [ dateList: [
{ // {
value: "01", // value: "01",
label: "时段", // label: "时段",
}, // },
{ {
value: "02", value: "02",
label: "今日", label: "今日",
}, },
{ // {
value: "03", // value: "03",
label: "本周", // label: "本周",
}, // },
{ {
value: "04", value: "04",
label: "本月", label: "本月",
}, },
{ // {
value: "05", // value: "05",
label: "全年", // label: "全年",
}, // },
], ],
}; };
}, },
...@@ -192,43 +198,52 @@ export default { ...@@ -192,43 +198,52 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import "~@/assets/style/public.scss"; @import "~@/assets/style/public.scss";
.home-page { .home-page {
height: 100%;
width: 100%;
padding:10px 10px 40px 10px;
// overflow: auto;
&-top { &-top {
ul { margin-bottom: 24px;
list-style: none; .f-group {
width: 100%;
display: flex; display: flex;
justify-content: space-around; .f-item {
padding-left: 0; box-sizing: border-box;
width: calc(20% - 19px);
li { height: 216px;
width: 304px; margin-right: 24px;
// height: 216px; padding-top: 40px;
// padding: 20px 63px 44px 54px; background-color: #fff;
padding-top: 45px; text-align: center;
margin-right: 24px;
text-align: center; box-shadow: 4px 0px 4px 0px rgba(0, 0, 0, 0.05);
background: #fff; img {
box-shadow: 4px 0px 4px 0px rgba(0, 0, 0, 0.05); width: 50px;
img { height: 50px;
width: 50px; padding-bottom: 19px;
height: 50px; }
padding-bottom: 19px; .card-desc {
} font-size: 16px;
.card-desc { font-family: Microsoft YaHei;
font-size: 16px; font-weight: 400;
font-family: Microsoft YaHei; color: #333333;
font-weight: 400; // padding-bottom: 16px;
color: #333333; }
padding-bottom: 16px; .card-text {
} font-size: 30px;
.card-text { font-family: PingFang SC;
font-size: 30px; font-weight: 600;
font-family: PingFang SC; color: #333333;
font-weight: 600; padding-bottom: 45px;
color: #333333;
padding-bottom: 45px;
}
} }
} }
.f-item:last-child {
margin-right: 0;
}
}
} }
.home-page-content { .home-page-content {
.date-text { .date-text {
...@@ -245,7 +260,11 @@ export default { ...@@ -245,7 +260,11 @@ export default {
.content-wrap { .content-wrap {
.energy-save-mode-wrap { .energy-save-mode-wrap {
padding: 24px 30px 25px 30px; // width: ;
box-sizing: border-box;
// padding: 24px 30px 25px 30px;
padding-top: 24px;;
height: 138px;
text-align: center; text-align: center;
background: #21acfc; background: #21acfc;
border-radius: 6px; border-radius: 6px;
...@@ -256,20 +275,24 @@ export default { ...@@ -256,20 +275,24 @@ export default {
} }
.handle-mode-wrap { .handle-mode-wrap {
background: #36cbcb; background: #36cbcb;
padding: 24px 30px 25px 30px; box-sizing: border-box;
text-align: center; padding: 24px 30px 25px 30px;
height: 138px;
text-align: center;
border-radius: 6px; border-radius: 6px;
.flex-save-warp { .flex-save-warp {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
} }
.sys-save-mode-wrap { .sys-save-mode-wrap {
box-sizing: border-box;
height: 138px;
background: #4ecb74; background: #4ecb74;
padding: 24px 30px 25px 30px; padding: 24px 30px 25px 30px;
text-align: center; text-align: center;
border-radius: 6px; border-radius: 6px;
.flex-save-warp { .flex-save-warp {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
...@@ -278,7 +301,7 @@ export default { ...@@ -278,7 +301,7 @@ export default {
} }
} }
</style> </style>
<style > <style lang="scss">
.date-color { .date-color {
font-size: 16px; font-size: 16px;
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
......
import page from './page'
export default page
<template>
<div class="use-electro-data">
<cardList cardListTitle="用电数据">
<div slot="right">
<i class="el-icon-menu"></i>
</div>
<div slot="content" style="padding: 24px 28px 20px 23px">
<enTabs :tabList="electroTabList" ></enTabs>
<div style="margin-top:15px">
<el-form :inline="true" :model="formInline" style="text-align:center">
<el-row>
<el-col :span="7">
<el-form-item label="设备名称:">
<el-input size="mini" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="设备编号:">
<el-input size="mini" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="运行状态:">
<el-select size="mini" placeholder="">
<el-option label="正常" value="shanghai"></el-option>
<el-option label="不正常" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item>
<el-button icon="el-icon-search" size="mini" type="primary" @click="onSubmit">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<enTable :tableColums="tableColums" :tableData="tableData" isShowOp="true"></enTable>
</div>
</cardList>
</div>
</template>
<script >
import cardList from "../../home/compontents/cardList";
import enTabs from "../../eq/hall/components/enTabs";
import enTable from "../../eq/hall/components/enTable";
const tableColums = [
{
align: "center",
prop: "A",
label: "设备名称",
width: 132,
},
{
align: "center",
prop: "G",
label: "设备编号",
width: 132,
},
{
align: "center",
prop: "B",
label: "设备位置",
width: 112,
},
{
align: "center",
prop: "C",
label: "当日功耗",
width: 132,
},
{
align: "center",
prop: "D",
label: "当月功耗",
width: 132,
},
{
align: "center",
prop: "E",
label: "设备状态",
},
];
const tableData = [
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
];
export default {
name: "useElectroData",
components: {
cardList,
enTabs,
enTable,
},
data() {
return {
tableColums,
tableData,
electroTabList: [
{
value: "01",
label: "全部",
},
{
value: "02",
label: "排风机",
},
{
value: "03",
label: "多联空调",
},
{
value: "04",
label: "多联新风",
},
],
};
},
};
</script>
<style lang="scss">
.use-electro-data{
padding:10px 10px 40px 10px;
.el-form-item{
margin-bottom: 15px;
margin-top: 15px;
}
}
</style>
\ No newline at end of file
...@@ -18,7 +18,7 @@ const frameIn = [ ...@@ -18,7 +18,7 @@ const frameIn = [
{ {
path: 'index', path: 'index',
name: 'index', name: 'index',
component: () => import('@/pages/index') component: () => import('@/pages/home')
} }
] ]
}, },
...@@ -29,10 +29,23 @@ const frameIn = [ ...@@ -29,10 +29,23 @@ const frameIn = [
meta, meta,
component: layoutHeaderAside, component: layoutHeaderAside,
children: (pre => [ children: (pre => [
{ path: 'power', name: `${pre}power`, component: () => import('@/pages/kb/power'), meta: { ...meta, title: '用电数据' } },
{ path: 'indoor', name: `${pre}indoor`, component: () => import('@/pages/kb/indoor'), meta: { ...meta, title: '室内气象数据' } }, { path: 'indoor', name: `${pre}indoor`, component: () => import('@/pages/kb/indoor'), meta: { ...meta, title: '室内气象数据' } },
{ path: 'outdoor', name: `${pre}outdoor`, component: () => import('@/pages/kb/outdoor'), meta: { ...meta, title: '室外气象数据' } } { path: 'outdoor', name: `${pre}outdoor`, component: () => import('@/pages/kb/outdoor'), meta: { ...meta, title: '室外气象数据' } }
])('kb-') ])('kb-')
}, },
//设备管理
{
path: '/eq',
name: 'eq',
component: layoutHeaderAside,
children: (pre => [
{ path: 'hall', name: `${pre}hall`, component: () => import('@/pages/eq/hall'), meta: { ...meta, title: '候车大厅控制' } },
{ path: 'office', name: `${pre}office`, component: () => import('@/pages/eq/office'), meta: { ...meta, title: '办公区域控制' } }
])('eq-')
},
// 数据分析 // 数据分析
{ {
path: '/analysis', path: '/analysis',
...@@ -41,6 +54,9 @@ const frameIn = [ ...@@ -41,6 +54,9 @@ const frameIn = [
component: layoutHeaderAside, component: layoutHeaderAside,
children: (pre => [ children: (pre => [
{ path: 'fault', name: `${pre}fault`, component: () => import('@/pages/analysis/fault'), meta: { ...meta, title: '设备故障报警' } }, { path: 'fault', name: `${pre}fault`, component: () => import('@/pages/analysis/fault'), meta: { ...meta, title: '设备故障报警' } },
{ path: 'energy', name: `${pre}energy`, component: () => import('@/pages/analysis/energy'), meta: { ...meta, title: '能耗数据分析' } },
{ path: 'indoor', name: `${pre}indoor`, component: () => import('@/pages/analysis/indoor'), meta: { ...meta, title: '室内气象分析' } }, { path: 'indoor', name: `${pre}indoor`, component: () => import('@/pages/analysis/indoor'), meta: { ...meta, title: '室内气象分析' } },
{ path: 'outdoor', name: `${pre}outdoor`, component: () => import('@/pages/analysis/outdoor'), meta: { ...meta, title: '室外气象分析' } } { path: 'outdoor', name: `${pre}outdoor`, component: () => import('@/pages/analysis/outdoor'), meta: { ...meta, title: '室外气象分析' } }
])('analysis-') ])('analysis-')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment