|
@@ -0,0 +1,477 @@
|
|
|
+<template>
|
|
|
+ <div class="snapshotss-box">
|
|
|
+ <div
|
|
|
+ style="margin:16px 0;height:1px;background:rgba(228,229,231,1);border:1px solid rgba(239,240,241,1);"
|
|
|
+ ></div>
|
|
|
+ <div class="snapshotss-top">
|
|
|
+ <div class="snapshotss-top-left">
|
|
|
+ <span>今日营业时间</span>
|
|
|
+ <span>10:00-22:00</span>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-top-center">
|
|
|
+ <span>当前运行模式</span>
|
|
|
+ <span>间歇供冷</span>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-top-right">
|
|
|
+ <span>室外环境</span>
|
|
|
+ <span>多云25 °C</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-center1">
|
|
|
+ <div class="snapshotss-center1-title">系统运行状态</div>
|
|
|
+ <div class="snapshotss-center1-content">
|
|
|
+ <div class="snapshotss-cont">
|
|
|
+ <div class="snapshotss-cont-top">冷水机组</div>
|
|
|
+ <div class="snapshotss-cont-bottom">
|
|
|
+ <div class="snapshotss-cont-bot-1">
|
|
|
+ <span>0</span>
|
|
|
+ <span>0</span>
|
|
|
+ <span>12 °C</span>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-cont-bot-2">
|
|
|
+ <span>大</span>
|
|
|
+ <span>小</span>
|
|
|
+ <span>温度</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-cont">
|
|
|
+ <div class="snapshotss-cont-top">冷冻水泵</div>
|
|
|
+ <div class="snapshotss-cont-bottom">
|
|
|
+ <div class="snapshotss-cont-bot-1">
|
|
|
+ <span>0</span>
|
|
|
+ <span>0</span>
|
|
|
+ <span>12 Hz</span>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-cont-bot-2">
|
|
|
+ <span>大</span>
|
|
|
+ <span>小</span>
|
|
|
+ <span>设定频率</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-cont">
|
|
|
+ <div class="snapshotss-cont-top">冷却水泵</div>
|
|
|
+ <div class="snapshotss-cont-bottom">
|
|
|
+ <div class="snapshotss-cont-bot-1">
|
|
|
+ <span>0</span>
|
|
|
+ <span>0</span>
|
|
|
+ <span>12 Hz</span>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-cont-bot-2">
|
|
|
+ <span>大</span>
|
|
|
+ <span>小</span>
|
|
|
+ <span>设定频率</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-cont">
|
|
|
+ <div class="snapshotss-cont-top">冷却塔</div>
|
|
|
+ <div class="snapshotss-cont-bottom">
|
|
|
+ <div class="snapshotss-cont-bot-1">
|
|
|
+ <span>0</span>
|
|
|
+ <span>0</span>
|
|
|
+ <span>12 Hz</span>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-cont-bot-2">
|
|
|
+ <span>大</span>
|
|
|
+ <span>小</span>
|
|
|
+ <span>设定频率</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-center2">
|
|
|
+ <div class="snapshotss-cont2-box1">
|
|
|
+ <span>数据传输情况</span>
|
|
|
+ <span :class="imgFinish?'span1':'span2'" v-for="(item,index) in imgFinishList" :key="index">
|
|
|
+ {{item.name}}
|
|
|
+ <img v-if="imgFinish" :src="item.img1" alt />
|
|
|
+ <img v-else :src="item.img2" alt />
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-cont2-box2">
|
|
|
+ <span>实际冷量</span>
|
|
|
+ <span>2800 KW</span>
|
|
|
+ <span>未来1小时预测冷量</span>
|
|
|
+ <span>3400 KW</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="snapshotss-foot">
|
|
|
+ <div id="snapshotssLeft"></div>
|
|
|
+ <div class="snapshotssCenter"></div>
|
|
|
+ <div id="snapshotssRight"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import echarts from "echarts";
|
|
|
+
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ imgFinish: true,
|
|
|
+ imgFinishList: [
|
|
|
+ {
|
|
|
+ name: "能耗",
|
|
|
+ img1: require("../../assets/finish.png"),
|
|
|
+ img2: require("../../assets/wrong.png")
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "环境",
|
|
|
+ img1: require("../../assets/finish.png"),
|
|
|
+ img2: require("../../assets/wrong.png")
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "BA",
|
|
|
+ img1: require("../../assets/finish.png"),
|
|
|
+ img2: require("../../assets/wrong.png")
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ };
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.drawSnapshotssLeft();
|
|
|
+ this.drawSnapshotssRight();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ drawSnapshotssLeft() {
|
|
|
+ var snapshotssLeft = echarts.init(
|
|
|
+ document.getElementById("snapshotssLeft")
|
|
|
+ );
|
|
|
+ let option = {
|
|
|
+ tooltip: {
|
|
|
+ trigger: "axis"
|
|
|
+ },
|
|
|
+ legend: {
|
|
|
+ data: ["室外温度", "室内平均温度", "室内最高温度"],
|
|
|
+ icon: "stack",
|
|
|
+ right: 28
|
|
|
+ },
|
|
|
+ color: ["#0091FF", "#00D6B9", "#FFBA6B"],
|
|
|
+ grid: {
|
|
|
+ left: "3%",
|
|
|
+ right: "4%",
|
|
|
+ bottom: "3%",
|
|
|
+ containLabel: true
|
|
|
+ },
|
|
|
+
|
|
|
+ xAxis: {
|
|
|
+ type: "category",
|
|
|
+ boundaryGap: false,
|
|
|
+ data: [
|
|
|
+ "00:00",
|
|
|
+ "03:00",
|
|
|
+ "06:00",
|
|
|
+ "09:00",
|
|
|
+ "12:00",
|
|
|
+ "15:00",
|
|
|
+ "18:00",
|
|
|
+ "21:00",
|
|
|
+ "24:00"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ yAxis: {
|
|
|
+ type: "value"
|
|
|
+ },
|
|
|
+ series: [
|
|
|
+ {
|
|
|
+ name: "室外温度",
|
|
|
+ type: "line",
|
|
|
+ stack: "总量",
|
|
|
+ data: [120, 132, 101, 134, 90, 230, 210, 112, 150]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "室内平均温度",
|
|
|
+ type: "line",
|
|
|
+ stack: "总量",
|
|
|
+ data: [220, 182, 191, 234, 290, 330, 310, 220, 280]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "室内最高温度",
|
|
|
+ type: "line",
|
|
|
+ stack: "总量",
|
|
|
+ data: [150, 232, 201, 154, 190, 330, 410, 300, 340]
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ };
|
|
|
+ snapshotssLeft.setOption(option);
|
|
|
+ },
|
|
|
+ drawSnapshotssRight() {
|
|
|
+ var snapshotssRight = echarts.init(
|
|
|
+ document.getElementById("snapshotssRight")
|
|
|
+ );
|
|
|
+ snapshotssRight.setOption({
|
|
|
+ tooltip: {
|
|
|
+ trigger: "axis",
|
|
|
+ axisPointer: {
|
|
|
+ type: "cross",
|
|
|
+ animation: false,
|
|
|
+ label: {
|
|
|
+ backgroundColor: "#ccc",
|
|
|
+ borderColor: "#aaa",
|
|
|
+ borderWidth: 1,
|
|
|
+ shadowBlur: 0,
|
|
|
+ shadowOffsetX: 0,
|
|
|
+ shadowOffsetY: 0,
|
|
|
+ color: "#222"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ formatter: function(params) {
|
|
|
+ return params[2].name + "<br />" + params[2].value;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ grid: {
|
|
|
+ left: "3%",
|
|
|
+ right: "4%",
|
|
|
+ bottom: "3%",
|
|
|
+ containLabel: true
|
|
|
+ },
|
|
|
+ xAxis: {
|
|
|
+ type: "category",
|
|
|
+ data: [
|
|
|
+ "00:00",
|
|
|
+ "03:00",
|
|
|
+ "06:00",
|
|
|
+ "09:00",
|
|
|
+ "12:00",
|
|
|
+ "15:00",
|
|
|
+ "18:00",
|
|
|
+ "21:00",
|
|
|
+ "24:00"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ yAxis: {
|
|
|
+ splitNumber: 3,
|
|
|
+ splitLine: {
|
|
|
+ show: false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ series: [
|
|
|
+ {
|
|
|
+ name: "L",
|
|
|
+ type: "line",
|
|
|
+ data: [20, 30, 40, 50, 60, 50, 40, 30, 20],
|
|
|
+ lineStyle: {
|
|
|
+ opacity: 0
|
|
|
+ },
|
|
|
+ stack: "confidence-band",
|
|
|
+ symbol: "none"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "U",
|
|
|
+ type: "line",
|
|
|
+ data: [20, 30, 50, 60, 50, 40, 30, 20, 40],
|
|
|
+ lineStyle: {
|
|
|
+ opacity: 0
|
|
|
+ },
|
|
|
+ areaStyle: {
|
|
|
+ color: "#ccc"
|
|
|
+ },
|
|
|
+ stack: "confidence-band",
|
|
|
+ symbol: "none"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "line",
|
|
|
+ data: [20, 30, 40, 50, 60, 40, 30, 20, 50],
|
|
|
+ hoverAnimation: false,
|
|
|
+ symbolSize: 6,
|
|
|
+ itemStyle: {
|
|
|
+ color: "#c23531"
|
|
|
+ },
|
|
|
+ showSymbol: false
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.snapshotss-box {
|
|
|
+ .snapshotss-top {
|
|
|
+ padding: 0 40px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 40px;
|
|
|
+ .snapshotss-top-center {
|
|
|
+ margin: 0 178px;
|
|
|
+ }
|
|
|
+ span {
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+ span:nth-of-type(1) {
|
|
|
+ height: 22px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: MicrosoftYaHei;
|
|
|
+ color: rgba(100, 108, 115, 1);
|
|
|
+ line-height: 19px;
|
|
|
+ margin-bottom: 4px;
|
|
|
+ }
|
|
|
+ span:nth-of-type(2) {
|
|
|
+ height: 28px;
|
|
|
+ font-size: 20px;
|
|
|
+ font-family: PingFangTC-Medium, PingFangTC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: rgba(31, 36, 41, 1);
|
|
|
+ line-height: 28px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .snapshotss-center1 {
|
|
|
+ padding: 0 40px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ .snapshotss-center1-title {
|
|
|
+ height: 24px;
|
|
|
+ font-size: 16px;
|
|
|
+ font-family: MicrosoftYaHeiSemibold;
|
|
|
+ color: rgba(31, 36, 41, 1);
|
|
|
+ line-height: 21px;
|
|
|
+ margin-bottom: 14px;
|
|
|
+ }
|
|
|
+ .snapshotss-center1-content {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ .snapshotss-cont {
|
|
|
+ border-radius: 4px;
|
|
|
+ border: 1px solid rgba(238, 238, 238, 1);
|
|
|
+ .snapshotss-cont-top {
|
|
|
+ height: 40px;
|
|
|
+ background: rgba(248, 249, 250, 1);
|
|
|
+ border-radius: 4px;
|
|
|
+ font-size: 16px;
|
|
|
+ font-family: MicrosoftYaHeiSemibold;
|
|
|
+ color: rgba(31, 36, 41, 1);
|
|
|
+ line-height: 40px;
|
|
|
+ padding-left: 20px;
|
|
|
+ }
|
|
|
+ .snapshotss-cont-bottom {
|
|
|
+ padding: 14px 36px;
|
|
|
+ .snapshotss-cont-bot-1 {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 4px;
|
|
|
+ span {
|
|
|
+ height: 32px;
|
|
|
+ font-size: 24px;
|
|
|
+ font-family: Persagy;
|
|
|
+ color: rgba(31, 36, 41, 1);
|
|
|
+ line-height: 29px;
|
|
|
+ }
|
|
|
+ span:nth-of-type(2) {
|
|
|
+ margin: 0 50px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .snapshotss-cont-bot-2 {
|
|
|
+ span {
|
|
|
+ height: 22px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: MicrosoftYaHei;
|
|
|
+ color: rgba(100, 108, 115, 1);
|
|
|
+ line-height: 19px;
|
|
|
+ }
|
|
|
+ span:nth-of-type(2) {
|
|
|
+ margin: 0 50px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .snapshotss-center2 {
|
|
|
+ padding: 0 40px;
|
|
|
+ margin-bottom: 44px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ .snapshotss-cont2-box1,
|
|
|
+ .snapshotss-cont2-box2 {
|
|
|
+ height: 80px;
|
|
|
+ background: url("../../assets/copy.png");
|
|
|
+ background-size: 100% 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding-left: 24px;
|
|
|
+ }
|
|
|
+ .snapshotss-cont2-box1 {
|
|
|
+ padding-right: 140px;
|
|
|
+ span:nth-of-type(1) {
|
|
|
+ height: 22px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: MicrosoftYaHei;
|
|
|
+ color: rgba(100, 108, 115, 1);
|
|
|
+ line-height: 19px;
|
|
|
+ margin-right: 20px;
|
|
|
+ }
|
|
|
+ span:not(:first-child) {
|
|
|
+ height: 28px;
|
|
|
+ background: rgba(255, 255, 255, 1);
|
|
|
+ border-radius: 16px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: MicrosoftYaHei;
|
|
|
+ color: rgba(31, 36, 41, 1);
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ padding: 0 6px 0 12px;
|
|
|
+ margin-right: 20px;
|
|
|
+ img {
|
|
|
+ width: 20px;
|
|
|
+ height: 20px;
|
|
|
+ margin-left: 8px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .span1 {
|
|
|
+ border: 1px solid rgba(52, 199, 36, 1);
|
|
|
+ }
|
|
|
+ .span2 {
|
|
|
+ border: 1px solid rgba(245, 78, 69, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .snapshotss-cont2-box2 {
|
|
|
+ span:nth-of-type(1),
|
|
|
+ span:nth-of-type(3) {
|
|
|
+ height: 22px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: MicrosoftYaHei;
|
|
|
+ color: rgba(100, 108, 115, 1);
|
|
|
+ line-height: 19px;
|
|
|
+ margin-right: 16px;
|
|
|
+ }
|
|
|
+ span:nth-of-type(2),
|
|
|
+ span:nth-of-type(4) {
|
|
|
+ height: 32px;
|
|
|
+ font-size: 24px;
|
|
|
+ font-family: Persagy;
|
|
|
+ color: rgba(31, 36, 41, 1);
|
|
|
+ line-height: 29px;
|
|
|
+ margin-right: 64px;
|
|
|
+ }
|
|
|
+ span:nth-of-type(3) {
|
|
|
+ margin-right: 16px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .snapshotss-foot {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ height: 300px;
|
|
|
+ #snapshotssLeft {
|
|
|
+ width: 600px;
|
|
|
+ height: 300px;
|
|
|
+ margin-right: 24px;
|
|
|
+ }
|
|
|
+ .snapshotssCenter {
|
|
|
+ width: 1px;
|
|
|
+ height: 300px;
|
|
|
+ background: rgba(239, 240, 241, 1);
|
|
|
+ }
|
|
|
+ #snapshotssRight {
|
|
|
+ width: 600px;
|
|
|
+ height: 300px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|