|
@@ -5,119 +5,27 @@
|
|
|
<StBack></StBack>
|
|
|
<ThreeModel1 class="three-model-layer" @when="when"></ThreeModel1>
|
|
|
<div class="sand-table-left" v-if="showPanel">
|
|
|
- <div class="com-panel-sand">
|
|
|
- <div class="com-panel-sand-header font-sm white">
|
|
|
- <div class="sand-time">{{sandTime}}</div>
|
|
|
- <div class="sand-date mg-b-8">{{sandDate}}</div>
|
|
|
- </div>
|
|
|
- <div class="com-panel-body">
|
|
|
- <div class="weather-box">
|
|
|
- <div class="weather-item">
|
|
|
- <div class="weather-icon">
|
|
|
- <div class="svg-icon svg-icon-lg svg-icon-white other-icon">
|
|
|
- <svg-icon svgid="svg-天气1" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-info">
|
|
|
- <div class="font-sm white">天气</div>
|
|
|
- <div class="font-lg green">多云转晴</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-item">
|
|
|
- <div class="weather-icon">
|
|
|
- <div class="svg-icon svg-icon-lg svg-icon-white other-icon">
|
|
|
- <svg-icon svgid="svg-温度1" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-info">
|
|
|
- <div class="font-sm white">温度</div>
|
|
|
- <div>
|
|
|
- <span class="font-lg green">26</span>
|
|
|
- <span class="font-sm white mg-l-8">℃</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-item">
|
|
|
- <div class="weather-icon">
|
|
|
- <div class="svg-icon svg-icon-lg svg-icon-white other-icon">
|
|
|
- <svg-icon svgid="svg-风速" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-info">
|
|
|
- <div class="font-sm white">风向</div>
|
|
|
- <div>
|
|
|
- <span class="font-lg green">4-5</span>
|
|
|
- <span class="font-sm white mg-l-8">级 西北风</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-item">
|
|
|
- <div class="weather-icon">
|
|
|
- <div class="svg-icon svg-icon-lg svg-icon-white other-icon">
|
|
|
- <svg-icon svgid="svg-能见度" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-info">
|
|
|
- <div class="font-sm white">能见度</div>
|
|
|
- <div>
|
|
|
- <span class="font-lg green">20</span>
|
|
|
- <span class="font-sm white mg-l-8">KM</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-item">
|
|
|
- <div class="weather-icon">
|
|
|
- <div class="svg-icon svg-icon-lg svg-icon-white other-icon">
|
|
|
- <svg-icon svgid="svg-湿度1" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-info">
|
|
|
- <div class="font-sm white">湿度</div>
|
|
|
- <div>
|
|
|
- <span class="font-lg green">75.0</span>
|
|
|
- <span class="font-sm white mg-l-8">%</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-item">
|
|
|
- <div class="weather-icon">
|
|
|
- <div class="svg-icon svg-icon-lg svg-icon-white other-icon">
|
|
|
- <svg-icon svgid="svg-气压1" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-info">
|
|
|
- <div class="font-sm white">气压</div>
|
|
|
- <div>
|
|
|
- <span class="font-lg green">994</span>
|
|
|
- <span class="font-sm white mg-l-8">kPa</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-item">
|
|
|
- <div class="weather-icon">
|
|
|
- <div class="svg-icon svg-icon-lg svg-icon-white other-icon">
|
|
|
- <svg-icon svgid="svg-日出1" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-info">
|
|
|
- <div class="font-sm white">日出时间</div>
|
|
|
- <div class="font-lg green">04:36</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-item">
|
|
|
- <div class="weather-icon">
|
|
|
- <div class="svg-icon svg-icon-lg svg-icon-white other-icon">
|
|
|
- <svg-icon svgid="svg-日落1" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="weather-info">
|
|
|
- <div class="font-sm white">日落时间</div>
|
|
|
- <div class="font-lg green">18:50</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <PanelSand class="left-panel" title="气象预测" subTitle="AM10:52 实况">
|
|
|
+ <weather class="pd-t-16" />
|
|
|
+ </PanelSand>
|
|
|
+ <PanelSand class="left-panel mg-t-16" title="等级评估">
|
|
|
+ <RankTable :data="levelTableData"></RankTable>
|
|
|
+ </PanelSand>
|
|
|
+ <PanelSand class="left-panel mg-t-16" title="等级评估">
|
|
|
+ <RankTable :data="levelTableData"></RankTable>
|
|
|
+ </PanelSand>
|
|
|
+ <PanelSandToolbar class="left-panel mg-t-16" title="部件">
|
|
|
+ <template v-slot:tools>
|
|
|
+ <div class="exchange" @click="exchange1">
|
|
|
+ <span :class="exchangeBtn1 ? 'gray' : 'green'">次数</span>
|
|
|
+ <i class="green fa fa-exchange mg-l-8 mg-r-8"></i>
|
|
|
+ <span :class="exchangeBtn1 ? 'green' : 'gray'">库存</span>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </template>
|
|
|
+ <template v-slot:default>
|
|
|
+ <RadarPieChart height="20.6vh" />
|
|
|
+ </template>
|
|
|
+ </PanelSandToolbar>
|
|
|
</div>
|
|
|
<div class="sand-table-right" v-if="showPanel">
|
|
|
<PanelSand class="right-panel" title="板块标题">
|
|
@@ -179,61 +87,12 @@
|
|
|
</template>
|
|
|
</PanelSandToolbar>
|
|
|
</div>
|
|
|
- <div class="sand-table-bottom">
|
|
|
- <div class="stb-chart-panel">
|
|
|
- <PercentCard2></PercentCard2>
|
|
|
- </div>
|
|
|
- <div class="stb-chart-panel">
|
|
|
- <PercentCard2 title="年计划完成率"></PercentCard2>
|
|
|
- </div>
|
|
|
- <div class="stb-count-panel">
|
|
|
- <div class="stb-count-panel-icon">日</div>
|
|
|
- <div class="stb-count-panel-info mg-l-16">
|
|
|
- <div class="white font-sm">今日预测发电量</div>
|
|
|
- <div class="mg-t-8">
|
|
|
- <span class="green font-num font-lg">994.76</span>
|
|
|
- <span class="white font-sm mg-l-8">kWh</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="stb-count-panel">
|
|
|
- <div class="stb-count-panel-icon">月</div>
|
|
|
- <div class="stb-count-panel-info mg-l-16">
|
|
|
- <div class="white font-sm">月预测发电量</div>
|
|
|
- <div class="mg-t-8">
|
|
|
- <span class="green font-num font-lg">994.76</span>
|
|
|
- <span class="white font-sm mg-l-8">kWh</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="stb-count-panel">
|
|
|
- <div class="stb-count-panel-icon">
|
|
|
- <div class="svg-icon svg-icon-sm svg-icon-gray-l">
|
|
|
- <svg-icon svgid="svg-风速" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="stb-count-panel-info mg-l-16">
|
|
|
- <div class="white font-sm">风速</div>
|
|
|
- <div class="mg-t-8">
|
|
|
- <span class="green font-num font-lg">994.76</span>
|
|
|
- <span class="white font-sm mg-l-8">kWh</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="stb-count-panel">
|
|
|
- <div class="stb-count-panel-icon">
|
|
|
- <div class="svg-icon svg-icon-sm svg-icon-gray-l">
|
|
|
- <svg-icon svgid="svg-功率" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="stb-count-panel-info mg-l-16">
|
|
|
- <div class="white font-sm">功率</div>
|
|
|
- <div class="mg-t-8">
|
|
|
- <span class="green font-num font-lg">994.76</span>
|
|
|
- <span class="white font-sm mg-l-8">kWh</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="sand-table-bottom" v-if="showPanel">
|
|
|
+ <Ppanel title="利用小时"></Ppanel>
|
|
|
+ <Ppanel title="设备可利用率" class="stb-p"></Ppanel>
|
|
|
+ <Ppanel title="MTBF" class="stb-p"></Ppanel>
|
|
|
+ <Ppanel title="MTTR" class="stb-p"></Ppanel>
|
|
|
+ <Ppanel title="MTTF" class="stb-p"></Ppanel>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -242,11 +101,12 @@
|
|
|
import ThreeModel1 from "./component/ThreeModel1.vue";
|
|
|
import PanelSand from "@com/coms/panel/panel-sand.vue";
|
|
|
import PanelSandToolbar from "@com/coms/panel/panel-sand-toolbar.vue";
|
|
|
+import Weather from "./component/weather.vue";
|
|
|
import StBack from "./component/st-back.vue";
|
|
|
import Table from "@com/coms/table/table.vue";
|
|
|
+import RankTable from "./component/rank-table.vue";
|
|
|
+import Ppanel from "./component/p-panel.vue";
|
|
|
import RadarPieChart from "@com/chart/pie/radar-pie-chart.vue";
|
|
|
-import SvgIcon from "@com/coms/icon/svg-icon.vue";
|
|
|
-import PercentCard2 from "@com/coms/cards/percent-card-2.0.1.vue";
|
|
|
|
|
|
export default {
|
|
|
// 名称
|
|
@@ -256,11 +116,12 @@ export default {
|
|
|
ThreeModel1,
|
|
|
PanelSand,
|
|
|
PanelSandToolbar,
|
|
|
+ Weather,
|
|
|
Table,
|
|
|
RadarPieChart,
|
|
|
StBack,
|
|
|
- SvgIcon,
|
|
|
- PercentCard2,
|
|
|
+ RankTable,
|
|
|
+ Ppanel,
|
|
|
},
|
|
|
// 数据
|
|
|
data() {
|
|
@@ -268,6 +129,7 @@ export default {
|
|
|
videoShow: true,
|
|
|
showPanel: false,
|
|
|
exchangeBtn: false,
|
|
|
+ exchangeBtn1: false,
|
|
|
ForecastPower: [
|
|
|
{
|
|
|
name: "今日预测电量",
|
|
@@ -340,8 +202,39 @@ export default {
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
- sandTime: "00:00:00",
|
|
|
- sandDate: "0000年00月00日 星期日",
|
|
|
+ levelTableData: {
|
|
|
+ column: [{
|
|
|
+ name: "编号",
|
|
|
+ field: "no",
|
|
|
+ },{
|
|
|
+ name: "等级",
|
|
|
+ field: "level",
|
|
|
+ },{
|
|
|
+ name: "分数",
|
|
|
+ field: "score",
|
|
|
+ }],
|
|
|
+ data: [{
|
|
|
+ no: "MHS_A01",
|
|
|
+ level: "AAA",
|
|
|
+ score: 98,
|
|
|
+ },{
|
|
|
+ no: "MHS_A02",
|
|
|
+ level: "AAA",
|
|
|
+ score: 95,
|
|
|
+ },{
|
|
|
+ no: "MHS_A01",
|
|
|
+ level: "AA",
|
|
|
+ score: 94,
|
|
|
+ },{
|
|
|
+ no: "MHS_A02",
|
|
|
+ level: "BB",
|
|
|
+ score: 92,
|
|
|
+ },{
|
|
|
+ no: "MHS_A01",
|
|
|
+ level: "BB",
|
|
|
+ score: 90,
|
|
|
+ }],
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
// 函数
|
|
@@ -352,26 +245,8 @@ export default {
|
|
|
exchange: function () {
|
|
|
this.exchangeBtn = !this.exchangeBtn;
|
|
|
},
|
|
|
- initDateTime: function () {
|
|
|
- const days = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
|
|
|
- const setDateTime = () => {
|
|
|
- let myDate = new Date();
|
|
|
- let year = myDate.getFullYear();
|
|
|
- let month = myDate.getMonth() + 1;
|
|
|
- month = month < 10 ? `0${month}` : month;
|
|
|
- let day = myDate.getDate();
|
|
|
- day = day < 10 ? `0${day}` : day;
|
|
|
- let xq = days[myDate.getDay()];
|
|
|
- let hour = myDate.getHours();
|
|
|
- let minute = myDate.getMinutes();
|
|
|
- minute = minute < 10 ? `0${minute}` : minute;
|
|
|
- let second = myDate.getSeconds();
|
|
|
- second = second < 10 ? `0${second}` : second;
|
|
|
- this.sandTime = `${hour}:${minute}:${second}`;
|
|
|
- this.sandDate = `${year}年${month}月${day}日 ${xq}`;
|
|
|
- window.requestAnimationFrame(setDateTime);
|
|
|
- };
|
|
|
- setDateTime();
|
|
|
+ exchange1: function () {
|
|
|
+ this.exchangeBtn1 = !this.exchangeBtn1;
|
|
|
},
|
|
|
},
|
|
|
// 生命周期钩子
|
|
@@ -386,7 +261,6 @@ export default {
|
|
|
},
|
|
|
mounted() {
|
|
|
// 渲染后
|
|
|
- this.initDateTime();
|
|
|
},
|
|
|
beforeUpdate() {
|
|
|
// 数据更新前
|
|
@@ -403,79 +277,6 @@ export default {
|
|
|
height: 91.667vh;
|
|
|
position: relative;
|
|
|
|
|
|
- .com-panel-sand {
|
|
|
- background: #53626826;
|
|
|
- padding: 0 1.481vh 1.481vh 1.481vh;
|
|
|
- border-top: 1px solid #15a952;
|
|
|
- position: relative;
|
|
|
- // width: 18.519vh;
|
|
|
-
|
|
|
- &::after {
|
|
|
- content: "";
|
|
|
- position: absolute;
|
|
|
- width: 5px;
|
|
|
- height: 5px;
|
|
|
- background: #15a952;
|
|
|
- right: -2.5px;
|
|
|
- top: -2.5px;
|
|
|
- }
|
|
|
-
|
|
|
- .com-panel-sand-header {
|
|
|
- text-align: left;
|
|
|
- position: relative;
|
|
|
- padding: 0.833vh 0;
|
|
|
- border-bottom: 1px solid #15a95266;
|
|
|
-
|
|
|
- .sand-time {
|
|
|
- color: #15A952;
|
|
|
- font-weight: 400;
|
|
|
- font-size: 24px;
|
|
|
- }
|
|
|
-
|
|
|
- .sand-date {
|
|
|
- font-size: 12px;
|
|
|
- font-weight: 400;
|
|
|
- color: #FFFFFF;
|
|
|
- }
|
|
|
-
|
|
|
- &::after,
|
|
|
- &::before {
|
|
|
- content: "";
|
|
|
- position: absolute;
|
|
|
- bottom: -1px;
|
|
|
- width: 15px;
|
|
|
- height: 1px;
|
|
|
- background: #15a952;
|
|
|
- }
|
|
|
-
|
|
|
- &::after {
|
|
|
- left: 0;
|
|
|
- }
|
|
|
-
|
|
|
- &::before {
|
|
|
- right: 0;
|
|
|
- }
|
|
|
-
|
|
|
- .com-panel-sand-sub-title {
|
|
|
- position: absolute;
|
|
|
- right: 0;
|
|
|
- top: 0.833vh;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .weather-box {
|
|
|
- .weather-item {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- margin-top: 16px;
|
|
|
-
|
|
|
- .weather-icon {
|
|
|
- margin-right: 12px;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
.i3dback {
|
|
|
position: fixed;
|
|
|
z-index: -1;
|
|
@@ -486,7 +287,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.i3dcloud {
|
|
|
- position: fixed;
|
|
|
+ position: absolute;
|
|
|
z-index: 2;
|
|
|
width: 100vw;
|
|
|
height: 100vh;
|
|
@@ -495,7 +296,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.left-panel {
|
|
|
- width: 36.852vh;
|
|
|
+ width: 360px;
|
|
|
}
|
|
|
|
|
|
.right-panel {
|
|
@@ -525,53 +326,13 @@ export default {
|
|
|
|
|
|
.sand-table-bottom {
|
|
|
position: absolute;
|
|
|
- left: 18vh;
|
|
|
+ right: calc(50vw - 50.463vh);
|
|
|
bottom: 0;
|
|
|
z-index: 2;
|
|
|
display: flex;
|
|
|
|
|
|
- .stb-chart-panel {
|
|
|
- background: #53626826;
|
|
|
- margin-right: 4px;
|
|
|
- padding: 0 16px;
|
|
|
- height: 64px;
|
|
|
- }
|
|
|
-
|
|
|
- .stb-count-panel {
|
|
|
- margin: 0 16px;
|
|
|
- display: flex;
|
|
|
- height: 64px;
|
|
|
- align-items: center;
|
|
|
-
|
|
|
- .stb-count-panel-icon {
|
|
|
- width: 37px;
|
|
|
- height: 37px;
|
|
|
- background: #5362684D;
|
|
|
- position: relative;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- font-size: 20px;
|
|
|
- color: #94A4AB;
|
|
|
-
|
|
|
- &::after,
|
|
|
- &::before {
|
|
|
- content: '';
|
|
|
- position: absolute;
|
|
|
- width: 3px;
|
|
|
- height: 3px;
|
|
|
- background: #15A952;
|
|
|
- top: 17px;
|
|
|
- }
|
|
|
-
|
|
|
- &::after {
|
|
|
- left: -3px;
|
|
|
- }
|
|
|
-
|
|
|
- &::before {
|
|
|
- right: -3px;
|
|
|
- }
|
|
|
- }
|
|
|
+ .stb-p {
|
|
|
+ margin-left: 0.926vh;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -583,7 +344,8 @@ export default {
|
|
|
padding: 0;
|
|
|
|
|
|
.pre-img {
|
|
|
- width: 98%;
|
|
|
+ width: 95%;
|
|
|
+ height: 8.657vh;
|
|
|
}
|
|
|
}
|
|
|
|