|
@@ -2,28 +2,19 @@
|
|
|
<div class="health-7">
|
|
|
<div class="power-info mg-b-16">
|
|
|
<div class="info-tab">
|
|
|
- <div class="tab active">
|
|
|
+ <div
|
|
|
+ class="tab"
|
|
|
+ v-for="(item, index) in infoList"
|
|
|
+ :key="index"
|
|
|
+ :class="item.active ? 'active' : ''"
|
|
|
+ @click="onClickInfo(item)"
|
|
|
+ >
|
|
|
<i class="svg-icon svg-icon svg-icon-sm">
|
|
|
- <svg-icon :svgid="'svg-24-houre'" />
|
|
|
+ <svg-icon :svgid="item.svgid" />
|
|
|
</i>
|
|
|
- <span> 24小时健康趋势 </span>
|
|
|
- </div>
|
|
|
- <div class="tab">
|
|
|
- <i class="svg-icon svg-icon svg-icon-sm">
|
|
|
- <svg-icon :svgid="'svg-h-day'" />
|
|
|
- </i>
|
|
|
- <span> 7日健康趋势 </span>
|
|
|
- </div>
|
|
|
- <div class="tab">
|
|
|
- <i class="svg-icon svg-icon svg-icon-sm">
|
|
|
- <svg-icon :svgid="'svg-h-month'" />
|
|
|
- </i>
|
|
|
- <span>30日健康趋势</span>
|
|
|
+ <span> {{ item.title }} </span>
|
|
|
</div>
|
|
|
<div class="empty"></div>
|
|
|
- <div class="tab">
|
|
|
- <span>全部风场健康趋势</span>
|
|
|
- </div>
|
|
|
</div>
|
|
|
<div class="info-chart">
|
|
|
<panel class="info-chart-panel" :title="'损失电量分析'">
|
|
@@ -37,7 +28,7 @@
|
|
|
</panel>
|
|
|
</div>
|
|
|
<div class="data-list">
|
|
|
- <Table :data="tableData" :canScroll="false" />
|
|
|
+ <Table :data="tableData" :canScroll="true" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -53,124 +44,120 @@ export default {
|
|
|
components: { SvgIcon, Panel, VertivalBarLineChart, NormalLineChart, Table },
|
|
|
data() {
|
|
|
return {
|
|
|
+ infoList: [
|
|
|
+ // {title: '24小时健康趋势', svgid: 'svg-24-houre', active: false, type: 'houre'},
|
|
|
+ { title: "7日健康趋势", svgid: "svg-h-day", active: true, type: "day" },
|
|
|
+ { title: "30日健康趋势", svgid: "svg-h-month", active: false, type: "month"},
|
|
|
+ ],
|
|
|
tableData: {
|
|
|
column: [
|
|
|
- {
|
|
|
- name: "部件名称",
|
|
|
- field: "name",
|
|
|
- },
|
|
|
- {
|
|
|
- name: "备件数量",
|
|
|
- field: "v1",
|
|
|
- is_num: true,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "平均间隔时间(h)",
|
|
|
- field: "v2",
|
|
|
- is_num: true,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "平均消耗时间(h)",
|
|
|
- field: "v3",
|
|
|
- is_num: true,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "预计作业时间(小时)",
|
|
|
- field: "v4",
|
|
|
- is_num: true,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "损失电量统计",
|
|
|
- field: "v5",
|
|
|
- is_num: true,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "当前状态",
|
|
|
- field: "v6",
|
|
|
+ { name: "部件名称",field: "name" },
|
|
|
+ { name: "MTBF",field: "v1", is_num: true },
|
|
|
+ { name: "MTTR",field: "v2", is_num: true },
|
|
|
+ { name: "损失电量(kw/h)",field: "v3",is_num: true },
|
|
|
+ { name: "当前状态",field: "v4",
|
|
|
template: function(data) {
|
|
|
if (data == 1) return "<div class='dot green'></div>";
|
|
|
- else return "<div class='dot yellow'></div>";
|
|
|
+ else if (data == 2) return "<div class='dot purple'></div>";
|
|
|
+ else if (data == 3) return "<div class='dot yellow'></div>";
|
|
|
+ else if (data == 4) return "<div class='dot orange'></div>";
|
|
|
},
|
|
|
},
|
|
|
],
|
|
|
- data: [
|
|
|
- {
|
|
|
- name: "齿轮箱",
|
|
|
- v1: 15.78,
|
|
|
- v2: 12,
|
|
|
- v3: 2.3,
|
|
|
- v4: 231.23,
|
|
|
- v5: 123.23,
|
|
|
- v6: 1,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "齿轮箱",
|
|
|
- v1: 15.78,
|
|
|
- v2: 12,
|
|
|
- v3: 2.3,
|
|
|
- v4: 231.23,
|
|
|
- v5: 123.23,
|
|
|
- v6: 1,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "齿轮箱",
|
|
|
- v1: 15.78,
|
|
|
- v2: 12,
|
|
|
- v3: 2.3,
|
|
|
- v4: 231.23,
|
|
|
- v5: 123.23,
|
|
|
- v6: 1,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "齿轮箱",
|
|
|
- v1: 15.78,
|
|
|
- v2: 12,
|
|
|
- v3: 2.3,
|
|
|
- v4: 231.23,
|
|
|
- v5: 123.23,
|
|
|
- v6: 1,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "齿轮箱",
|
|
|
- v1: 15.78,
|
|
|
- v2: 12,
|
|
|
- v3: 2.3,
|
|
|
- v4: 231.23,
|
|
|
- v5: 123.23,
|
|
|
- v6: 1,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "齿轮箱",
|
|
|
- v1: 15.78,
|
|
|
- v2: 12,
|
|
|
- v3: 2.3,
|
|
|
- v4: 231.23,
|
|
|
- v5: 123.23,
|
|
|
- v6: 2,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "齿轮箱",
|
|
|
- v1: 15.78,
|
|
|
- v2: 12,
|
|
|
- v3: 2.3,
|
|
|
- v4: 231.23,
|
|
|
- v5: 123.23,
|
|
|
- v6: 2,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "齿轮箱",
|
|
|
- v1: 15.78,
|
|
|
- v2: 12,
|
|
|
- v3: 2.3,
|
|
|
- v4: 231.23,
|
|
|
- v5: 123.23,
|
|
|
- v6: 2,
|
|
|
- },
|
|
|
- ],
|
|
|
+ data: [],
|
|
|
},
|
|
|
+ wtId: undefined,
|
|
|
+ hisValue: {}, //健康走势图
|
|
|
};
|
|
|
},
|
|
|
- created() {},
|
|
|
+ created() {
|
|
|
+ this.wtId = this.$route.params.wtId;
|
|
|
+ this.$nextTick(() => {
|
|
|
+
|
|
|
+ console.log(this.wtId )
|
|
|
+ this.requestHisValue()
|
|
|
+ this.requestMttrrand()
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
+ methods:{
|
|
|
+ // 未确认缺陷按钮下的健康趋势选项
|
|
|
+ onClickInfo(item) {
|
|
|
+ this.infoList.forEach((element) => {
|
|
|
+ if (item.type == element.type) {
|
|
|
+ item.active = true;
|
|
|
+ switch (item.type) {
|
|
|
+ case "day":
|
|
|
+ this.requestCoulometry(2);
|
|
|
+ break;
|
|
|
+ case "month":
|
|
|
+ this.requestCoulometry(3);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ element.active = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 损失电量分析 type:1 表示24小时健康趋势,2 表示七天健康趋势 3 表示30天健康趋势
|
|
|
+ requestCoulometry(type) {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "recommen/findAllChartjz",
|
|
|
+ data: { wpId: 0, type: type },
|
|
|
+ success(res) {
|
|
|
+ if (res.code == 200) {
|
|
|
+ that.bardata.legend = ["优数量", "良数量", "差数量"];
|
|
|
+ that.lineData = res.data.lvchart;
|
|
|
+ that.bardata.area = res.data.datechart;
|
|
|
+ that.bardata.data[2] = res.data.cslchart;
|
|
|
+ that.bardata.data[1] = res.data.lslchart;
|
|
|
+ that.bardata.data[0] = res.data.yslchart;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //风机健康走势图
|
|
|
+ requestHisValue(){
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "healthsub/findWtHisValueForBj",
|
|
|
+ data: { wtId: that.wtId },
|
|
|
+ success(res) {
|
|
|
+ if(res.code == 200){
|
|
|
+ let data = res.data;
|
|
|
+ data.time = data.time.slice(0, 65)
|
|
|
+ that.hisValue = data
|
|
|
+ }
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //部件健康情况
|
|
|
+ requestMttrrand(){
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "healthsub/getWtMttrandMtbfByBj",
|
|
|
+ data: { wtId: that.wtId },
|
|
|
+ success(res) {
|
|
|
+ if(res.code == 200){
|
|
|
+ let data = res.data;
|
|
|
+ that.tableData.data = [
|
|
|
+ {name:data.clx[1], v1:data.clx[4], v2:data.clx[5], v3:data.clx[6], v4:data.clx[0]},
|
|
|
+ {name:data.fdj[1], v1:data.fdj[4], v2:data.fdj[5], v3:data.fdj[6], v4:data.fdj[0]},
|
|
|
+ {name:data.bj[1], v1:data.bj[4], v2:data.bj[5], v3:data.bj[6], v4:data.bj[0]},
|
|
|
+ {name:data.zk[1], v1:data.zk[4], v2:data.zk[5], v3:data.zk[6], v4:data.zk[0]},
|
|
|
+ {name:data.zz[1], v1:data.zz[4], v2:data.zz[5], v3:data.zz[6], v4:data.zz[0]},
|
|
|
+ {name:data.ph[1], v1:data.ph[4], v2:data.ph[5], v3:data.ph[6], v4:data.ph[0]},
|
|
|
+ {name:data.jc[1], v1:data.jc[4], v2:data.jc[5], v3:data.jc[6], v4:data.jc[0]},
|
|
|
+ {name:data.bpq[1], v1:data.bpq[4], v2:data.bpq[5], v3:data.bpq[6], v4:data.bpq[0]},
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|
|
|
|
|
@@ -284,9 +271,17 @@ export default {
|
|
|
background: @green;
|
|
|
}
|
|
|
|
|
|
+ &.purple {
|
|
|
+ background: @purple;
|
|
|
+ }
|
|
|
+
|
|
|
&.yellow {
|
|
|
background: @yellow;
|
|
|
}
|
|
|
+
|
|
|
+ &.orange {
|
|
|
+ background: @orange;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|