|
|
@@ -1,5 +1,18 @@
|
|
|
<template>
|
|
|
<div class="parcel-box">
|
|
|
+ <div class="query mg-b-8">
|
|
|
+ <div class="query-items">
|
|
|
+ <div
|
|
|
+ class="newspan"
|
|
|
+ v-for="(item, index) of optionData"
|
|
|
+ :key="index"
|
|
|
+ :class="{ active: cur == index }"
|
|
|
+ @click="handleOpen(item, index)"
|
|
|
+ >
|
|
|
+ {{ item }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="search">
|
|
|
<div class="search-left">
|
|
|
<!-- <el-select
|
|
|
@@ -41,7 +54,7 @@
|
|
|
>搜 索</el-button
|
|
|
>
|
|
|
</div>
|
|
|
- <div class="search-right">
|
|
|
+ <!-- <div class="search-right">
|
|
|
<img class="select-back" src="@assets/imgs/select-back.png" />
|
|
|
<div class="title-select">
|
|
|
<el-select
|
|
|
@@ -59,7 +72,7 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<!-- <el-button round size="mini">导出</el-button> -->
|
|
|
</div>
|
|
|
<div class="data-bodys">
|
|
|
@@ -251,6 +264,8 @@ export default {
|
|
|
companyOptions: [],
|
|
|
searchYear: dayjs().format("YYYY"),
|
|
|
selectValue: "故障损失率",
|
|
|
+ cur: 0,
|
|
|
+ optionData: ["故障损失率", "检修损失率", "限电损失率", "受累损失率", "性能损失率"],
|
|
|
selectList: [
|
|
|
{
|
|
|
name: "故障损失率",
|
|
|
@@ -310,6 +325,12 @@ export default {
|
|
|
isNumber(val) {
|
|
|
return typeof val === "number" && !isNaN(val);
|
|
|
},
|
|
|
+ // tab
|
|
|
+ handleOpen(val, index) {
|
|
|
+ this.cur = index;
|
|
|
+ this.selectValue = val;
|
|
|
+ this.search();
|
|
|
+ },
|
|
|
search() {
|
|
|
this.BASE.showLoading();
|
|
|
switch (this.selectValue) {
|
|
|
@@ -426,6 +447,55 @@ export default {
|
|
|
padding: 0 10px;
|
|
|
box-sizing: border-box;
|
|
|
height: 100%;
|
|
|
+ .newspan {
|
|
|
+ line-height: 30px;
|
|
|
+ cursor: pointer;
|
|
|
+ padding: 0 1vw;
|
|
|
+ margin: 0 2px;
|
|
|
+ color: #9ca5a8;
|
|
|
+ transition: color 0.2s ease-in-out;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+ .newspan:hover {
|
|
|
+ background: linear-gradient(
|
|
|
+ to top,
|
|
|
+ rgba(5, 187, 76, 0.5),
|
|
|
+ rgba(5, 187, 76, 0)
|
|
|
+ );
|
|
|
+ color: white;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+ .newspan:hover::after {
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+ width: 100%;
|
|
|
+ height: 0.463vh;
|
|
|
+ border: 0.093vh solid #05bb4c;
|
|
|
+ border-top: 0;
|
|
|
+ left: 0;
|
|
|
+ bottom: 0;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ .active {
|
|
|
+ background: linear-gradient(
|
|
|
+ to top,
|
|
|
+ rgba(5, 187, 76, 0.5),
|
|
|
+ rgba(5, 187, 76, 0)
|
|
|
+ );
|
|
|
+ color: white;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+ .active::after {
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+ width: 100%;
|
|
|
+ height: 4px;
|
|
|
+ border: 1px solid #05bb4c;
|
|
|
+ border-top: 0;
|
|
|
+ left: 0;
|
|
|
+ bottom: 0;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
.search {
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
@@ -511,7 +581,7 @@ export default {
|
|
|
border-radius: 5px;
|
|
|
}
|
|
|
.economicTable {
|
|
|
- height: calc(100% - 32px);
|
|
|
+ height: calc(100% - 62px);
|
|
|
.el-table__body-wrapper {
|
|
|
.columnFlex {
|
|
|
display: flex;
|
|
|
@@ -553,7 +623,6 @@ export default {
|
|
|
}
|
|
|
|
|
|
.echarts {
|
|
|
- margin-top: 20px;
|
|
|
background-color: rgba(0, 0, 0, 0.45);
|
|
|
border-radius: 5px;
|
|
|
width: 100%;
|