Browse Source

Merge branch 'sl3' of ssh://61.161.152.110:29418/electronic-map into tjj2

darker 3 năm trước cách đây
mục cha
commit
24afa162ea

+ 11 - 13
src/components/chart/line/multiple-y-line-chart-normal.vue

@@ -307,13 +307,14 @@ export default {
                     type: "value",
                     name: `${item.name}${item.unit}`,
                     nameLocation: p[item.position] % 2 == 0 ? "end" : "start",
+                    nameGap: 10,
                     min: item.min,
                     max: item.max,
                     position: item.position,
-                    offset: p[item.position] * 60,
+                    offset: p[item.position] * 50,
                     axisLabel: {
                         formatter: "{value}",
-                        fontSize: util.vh(14),
+                        fontSize: 12,
                     },
                     //分格线
                     splitLine: {
@@ -349,9 +350,7 @@ export default {
                             width: 1,
                         },
                     },
-                    itemStyle: {
-                        opacity: 0,
-                    },
+                    showSymbol: false,
                     yAxisIndex: value.yAxisIndex,
                     data: value.value.map((t) => {
                         return t.value;
@@ -368,7 +367,6 @@ export default {
             const chart = echarts.init(this.$el);
 
             let option = this.option();
-            console.log(option)
             chart.clear();
             chart.setOption(option);
 
@@ -387,13 +385,13 @@ export default {
                     borderColor: partten.getColor("gray"),
                     textStyle: {
                         color: "#fff",
-                        fontSize: 14,
+                        fontSize: 12,
                     },
                 },
                 legend: {
                     show: this.showLegend,
                     data: this.legend,
-                    top: 0,
+                    top: 'top',
                     icon: "circle",
                     itemWidth: 6,
                     inactiveColor: partten.getColor("gray"),
@@ -403,10 +401,10 @@ export default {
                     },
                 },
                 grid: {
-                    top: util.vh(32),
-                    left: util.vh(50),
-                    right: util.vh(50),
-                    bottom: util.vh(20),
+                    top: 27,
+                    left: 16,
+                    right: 16,
+                    bottom: 0,
                     containLabel: true,
                 },
                 xAxis: [
@@ -415,7 +413,7 @@ export default {
                         boundaryGap: false,
                         axisLabel: {
                             formatter: "{value}",
-                            fontSize: util.vh(14),
+                            fontSize: 12,
                             textStyle: {
                                 color: partten.getColor("gray"),
                             },

+ 11 - 10
src/components/other/healthReport/index.vue

@@ -113,7 +113,7 @@
                   faultclass[1].monthwarningnum
                 }}次
               </p>
-              <p class="purple">
+              <p class="purple" v-if="yhmxdbs2.length > 0">
                 隐患集中在{{ yhmxdbs2[0] }}、{{ yhmxdbs2[1] }}、{{
                   yhmxdbs2[2]
                 }}
@@ -253,7 +253,7 @@
               yhbjcount.tdgtime
             }}分钟。
           </el-form-item>
-          <el-form-item class="text-indent-2"
+          <el-form-item class="text-indent-2" v-if="bjyhcount.length > 0"
             >其中以{{ bjyhcount[0].yhmx }}发生频次最高,为{{
               bjyhcount[0].count
             }}次;{{ bjyhcount[1].yhmx }}次之,为{{ bjyhcount[1].count }}次;{{
@@ -1877,20 +1877,21 @@ export default {
                 }
                 if (that.yhmxdbs2.length == 3) break;
               }
-              console.log(that.yhmxdbs2);
 
               // 部件隐患数据频次时长统计
-              that.bjyhcount = [];
               let ybmxdj1 = Object.assign([], ybmxdj);
               let ybmxdj2 = Object.assign([], ybmxdj);
               let array1 = ybmxdj1.sort(that.compare("count"));
               let array2 = ybmxdj2.sort(that.compare("times"));
-              that.bjyhcount.push(array1[0]);
-              that.bjyhcount.push(array1[1]);
-              that.bjyhcount.push(array1[2]);
-              that.bjyhcount.push(array2[0]);
-              that.bjyhcount.push(array2[1]);
-              that.bjyhcount.push(array2[2]);
+              if (array1.length > 0 && array2.length > 0){
+                that.bjyhcount = [];
+                that.bjyhcount.push(array1[0]);
+                that.bjyhcount.push(array1[1]);
+                that.bjyhcount.push(array1[2]);
+                that.bjyhcount.push(array2[0]);
+                that.bjyhcount.push(array2[1]);
+                that.bjyhcount.push(array2[2]);
+              }
             }
 
             //切入切出对比

+ 1 - 1
src/views/Agc/components/agc-panel.vue

@@ -5,7 +5,7 @@
         <tr>
           <td colspan="2">
             <div class="data-item">
-              <span class="data-item-name">有功设定限</span>
+              <span class="data-item-name">有功设定限</span>
               <span class="data-item-count">{{ data.jcxx.AGC002 }}</span>
               <span class="data-item-unit">MW</span>
             </div>

+ 24 - 2
src/views/HealthControl/HealthTab2.vue

@@ -30,7 +30,10 @@
       <panel class="health-report-panel" :title="'已推荐风机'" :showLine="false">
         <div class="report-items scroll">
           <div class="item" v-for="(item, index) in recommenList" :key="index">
-            <div class="title">风机编号:{{ item.wtid }}</div>
+            <div class="title">
+              <div>风机编号:{{ item.wtid }}</div>
+              <span @click="onClickReport(item)">健康报告</span>
+            </div>
             <div class="info">
               <p>推荐理由:{{ item.reason }}</p>
               <p>推荐检修时间:{{ new Date(item.recodedate).formatDate("yyyy-MM-dd hh:mm:ss") }}</p>
@@ -42,15 +45,17 @@
       </panel>
     </div>
   </div>
+  <health-report :show="reportshow" :params="reportparams" @closed="closed" />
 </template>
 
 <script>
 import VertivalBarLineChart from "../../components/chart/combination/vertival-bar-line-chart.vue";
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
 import Panel from "../../components/coms/panel/panel.vue";
+import HealthReport from "../../components/other/healthReport/index.vue";
 
 export default {
-  components: { SvgIcon, Panel, VertivalBarLineChart },
+  components: { SvgIcon, Panel, VertivalBarLineChart, HealthReport },
   data() {
     return {
       infoList: [
@@ -61,6 +66,8 @@ export default {
       bardata: { area: [], legend: [], data: [] }, // 损失电量分析echart数值
       lineData: [],
       recommenList: [], // 健康报告推荐
+      reportshow: false, //是否显示健康报告
+      reportparams: undefined,
     };
   },
   created() {
@@ -85,6 +92,14 @@ export default {
         }
       });
     },
+    // 查看健康报告
+    onClickReport(item) {
+      this.reportshow = true;
+      this.reportparams = {
+        wtId: item.wtid,
+        recorddate: new Date(item.createdate).formatDate("yyyy-MM-dd"),
+      };
+    },
     // 损失电量分析  type:1 表示24小时健康趋势,2 表示七天健康趋势 3 表示30天健康趋势
     requestCoulometry(type) {
       let that = this;
@@ -243,7 +258,14 @@ export default {
           color: @gray-l;
           line-height: 37px;
           padding-left: 16px;
+          padding-right: 16px;
           font-size: @fontsize-s;
+          display: flex;
+          flex-direction: row;
+          justify-content: space-between;
+          span {
+            cursor: pointer;
+          }
         }
 
         .info {

+ 34 - 5
src/views/Home/Home.vue

@@ -20,7 +20,11 @@
         <Row type="flex" class="plan">
           <Col :span="24">
             <com-panel title="预测电量" sub-title="(单位:万kWh)">
-              <list-bar-chart-2 :list="ForecastPower" height="15.7407vh" />
+              <list-bar-chart-2
+                :list="ForecastPower"
+                height="15.7407vh"
+                @click="showForecastBox"
+              />
             </com-panel>
           </Col>
         </Row>
@@ -80,7 +84,14 @@
     </Row>
     <Row type="flex" style="height: calc(40vh - 236px); margin-top: 20px">
       <Col :span="12">
-        <toolbar-panel title="日发电量">
+        <toolbar-panel
+          :title="
+            planBtnName.indexOf('电站') !== -1 ||
+            planBtnName.indexOf('光电厂') !== -1
+              ? '日照强度'
+              : '日发电量'
+          "
+        >
           <!-- <template v-slot:tools>
             <div class="tools">
               <div class="tool-block">
@@ -804,6 +815,7 @@ import PowerPlan from "./components/power-plan.vue";
 import Map from "./components/map.vue";
 import ListBarChart2 from "../../components/chart/bar/list-bar-chart2.vue";
 import DoubleLineChart from "@com/chart/line/double-line-chart.vue";
+import ComTable from "@com/coms/table/table.vue";
 
 import Table from "./dialog/table.vue";
 
@@ -827,6 +839,7 @@ export default {
     ListBarChart2,
     Table,
     DoubleLineChart,
+    ComTable,
   },
   data() {
     return {
@@ -908,14 +921,14 @@ export default {
         {
           name: "功率",
           min: 0,
-          max: 500,
+          max: null,
           unit: "(万kWh)",
           position: "left",
         },
         {
           name: "风速",
           min: 0,
-          max: 50,
+          max: 25,
           unit: "(m/s)",
           position: "right",
         },
@@ -1066,7 +1079,6 @@ export default {
       that.API.requestData({
         method: "POST",
         subUrl: "genreset/findPowerInfo",
-        timeout: 60000,
         data: {
           id: that.wpId,
         },
@@ -1210,6 +1222,23 @@ export default {
       }
     },
 
+    showForecastBox() {
+      let that = this;
+      that.dialogTitle = "预测电量详情";
+      that.API.requestData({
+        method: "POST",
+        subUrl: "/genreset/getForecastwindspeedInfo",
+        data: {
+          wpId: that.wpId,
+        },
+        success(res) {
+          that.dialogData = res.data;
+          that.dialogType = "table";
+          that.dialogShow = true;
+        },
+      });
+    },
+
     // 显示功率复核图表
     showPowerChart(res) {
       this.dialogTitle = res.dialogTitle;

+ 30 - 22
src/views/Home/dialog/table.vue

@@ -15,18 +15,26 @@
       <div class="left">
         <table class="table-form">
           <tr>
-            <td class="white"></td>
-            <td class="white" v-for="(item, index) in tableData.datels" :key="index">{{item}}</td>
+            <td class="white" v-if="tableData.result && tableData.result.length"></td>
+            <td class="white" v-if="tableData.retValue && tableData.retValue.length">风场</td>
+            <td
+              class="white"
+              v-for="(item, index) in tableData.datels"
+              :key="index"
+            >
+              {{ item }}
+            </td>
           </tr>
-          <tr v-for="(item, index) in tableData.result" :key="index">
-            <td class="white" v-if="item.value1">{{item.value1}}</td>
-            <td class="white" v-if="item.value2">{{item.value2}}</td>
-            <td class="white" v-if="item.value3">{{item.value3}}</td>
-            <td class="white" v-if="item.value4">{{item.value4}}</td>
-            <td class="white" v-if="item.value5">{{item.value5}}</td>
-            <td class="white" v-if="item.value6">{{item.value6}}</td>
-            <td class="white" v-if="item.value7">{{item.value7}}</td>
-            <td class="white" v-if="item.value8">{{item.value8}}</td>
+          <tr v-for="(item, index) in tableData.result || tableData.retValue" :key="index">
+            <td class="white" v-if="tableData.retValue && item.name">{{ item.name }}</td>
+            <td class="white" v-if="item.value1">{{ item.value1 }}</td>
+            <td class="white" v-if="item.value2">{{ item.value2 }}</td>
+            <td class="white" v-if="item.value3">{{ item.value3 }}</td>
+            <td class="white" v-if="item.value4">{{ item.value4 }}</td>
+            <td class="white" v-if="item.value5">{{ item.value5 }}</td>
+            <td class="white" v-if="item.value6">{{ item.value6 }}</td>
+            <td class="white" v-if="item.value7">{{ item.value7 }}</td>
+            <td class="white" v-if="item.value8">{{ item.value8 }}</td>
           </tr>
         </table>
       </div>
@@ -39,26 +47,26 @@ export default {
   data() {
     return {
       value: "",
-      tableData:{}
+      tableData: {},
     };
   },
 
-  props:{
-    data:{
-      type:Object,
-      default:() => {}
-    }
+  props: {
+    data: {
+      type: Object,
+      default: () => {},
+    },
   },
 
-  mounted(){
+  mounted() {
     this.tableData = this.data;
   },
 
-  watch:{
-    data(res){
+  watch: {
+    data(res) {
       this.tableData = res;
-    }
-  }
+    },
+  },
 };
 </script>
 

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 494 - 199
src/views/NewPages/power-benchmarking.vue