Biao 3 years ago
parent
commit
52af9ef047

+ 1 - 2
src/App.vue

@@ -557,7 +557,7 @@ body {
   height: 40px !important;
 }
 .el-tree-node__label {
-  font-size: 18px !important;
+  font-size: 14px !important;
 }
 .el-pagination.is-background .el-pager li:not(.disabled).active {
   background-color: #05bb4c !important;
@@ -576,5 +576,4 @@ body {
   background-color: #040c0b;
   border: 0px;
 }
-
 </style>

+ 67 - 1
src/api/economic/index.js

@@ -525,6 +525,65 @@ const energyDaily = (data) => {
     });
 };
 
+//测点数据查询---- 获取左侧菜单
+const datacenterTables = (data) => {
+    return request({
+        url: `/consumer/dataquery/tables`,
+        method: "get",
+    });
+};
+//测点数据查询---- 获取表格数据
+const datacenterRealtimeData = (data) => {
+    return request({
+        url: `/consumer/dataquery/realtimeData?tableid=${data.tableid}&pointId=${data.pointId}&pointName=${data.pointName}&pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
+        method: "get",
+    });
+};
+//测点数据查询---- 获取详情
+const datacenterHistoryData = (data) => {
+    return request({
+        url: `/consumer/dataquery/historyData?pointId=${data.pointId}&begin=${data.begin}&end=${data.end}`,
+        method: "get",
+    });
+};
+//测点数据查询---- 导出excel
+const datacenterRealtimeExport = (data) => {
+    return request({
+        url: `/consumer/dataquery/realtimeExport?tableid=${data.tableid}&pointId=${data.pointId}&pointName=${data.pointName}`,
+        method: "get",
+    });
+};
+//测点历史数据查询-获取设备结构
+const paramComparisonEquipmentStructure = (data) => {
+    return request({
+        url: `/consumer/paramComparison/equipmentStructure`,
+        method: "get",
+    });
+};
+//测点历史数据查询-获取关键节点
+const paramComparisonEquipmentParams = (data) => {
+    return request({
+        url: `/consumer/paramComparison/equipmentParams`,
+        method: "get",
+    });
+};
+//测点历史数据查询-渲染图表
+const paramComparisonGeneratingCurve = (data) => {
+    if (data.interval && data.type) {
+        return request({
+            url: `/consumer/paramComparison/generatingCurve?begin=${data.begin}&end=${data.end}&interval=${data.interval?data.interval:''}&type=${data.type?data.type:''}&paramtype=${data.paramtype}&wts=${data.wts}&params=${data.params}`,
+            method: "get",
+        });
+    } else {
+        return request({
+            url: `/consumer/paramComparison/generatingCurve?begin=${data.begin}&end=${data.end}&paramtype=${data.paramtype}&wts=${data.wts}&params=${data.params}`,
+            method: "get",
+        });
+    }
+
+};
+
+
 
 
 export default {
@@ -599,5 +658,12 @@ export default {
     analysisplusCommit,
     safetyMeasure,
     dangerContent,
-    energyDaily
+    energyDaily,
+    datacenterTables,
+    datacenterRealtimeData,
+    datacenterHistoryData,
+    datacenterRealtimeExport,
+    paramComparisonEquipmentStructure,
+    paramComparisonEquipmentParams,
+    paramComparisonGeneratingCurve
 }

+ 23 - 51
src/views/Home/components/map.vue

@@ -117,35 +117,21 @@
       </svg>
     </div>
     <div class="map-img">
-      <!-- 宁夏地图总览 -->
+      <!-- 地图总览 -->
       <SvgMapNX v-if="mapName === 'nx'" :show="showType" :data="sourceMap" :xtData="xtMap" @clickLabel="clickLabel" ></SvgMapNX>
 	  
-      <!-- 麻黄山风电场 -->
-      <MHSFDC v-if="mapName === 'MHS_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></MHSFDC>
+      <!-- 崇礼风电场 -->
+      <CLFDC v-if="mapName === 'CL_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></CLFDC>
 	  
-      <!-- 香山风电场 -->
-      <XSFDC v-if="mapName === 'XS_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></XSFDC>
+      <!-- 康宝风电场 -->
+      <KBFDC v-if="mapName === 'KB_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></KBFDC>
 	  
-      <!-- 牛首山风电场 -->
-      <NSSFDC v-if="mapName === 'NSS_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></NSSFDC>
+      <!-- 代县风电场 -->
+      <DXFDC v-if="mapName === 'DX_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></DXFDC>
 	  
-      <!-- 青山风电场 -->
-      <QSFDC v-if="mapName === 'QS_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></QSFDC>
+      <!-- 寿阳风电场 -->
+      <SYFDC v-if="mapName === 'SY_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></SYFDC>
 	  
-      <!-- 石板泉风电场 -->
-      <SBQFDC v-if="mapName === 'SBQ_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></SBQFDC>
-	  
-	  <!-- 马场湖 -->
-	  <MCHGDC v-if="mapName === 'MCH_GDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></MCHGDC>
-	  
-	  <!-- 大武口 -->
-	  <DWKGDC v-if="mapName === 'DWK_GDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></DWKGDC>
-	  
-	  <!-- 平罗 -->
-	  <PLGDC v-if="mapName === 'PL_GDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></PLGDC>
-	  
-	  <!-- 宣和 -->
-	  <XHGDC v-if="mapName === 'XH_GDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></XHGDC>
     </div>
   </div>
 </template>
@@ -154,25 +140,14 @@
 // 宁夏地图总览
 import SvgMapNX from "./map/svg-map-nx.vue";
 
-// 麻黄山风电场
-import MHSFDC from "./map/MHS_FDC.vue";
-// 香山风电场
-import XSFDC from "./map/XS_FDC.vue";
-// 牛首山风电场
-import NSSFDC from "./map/NSS_FDC.vue";
-// 青山风电场
-import QSFDC from "./map/QS_FDC.vue";
-// 石板泉风电场
-import SBQFDC from "./map/SBQ_FDC.vue";
-
-// 马场湖
-import MCHGDC from "./map/MCH_GDC.vue";
-// 大武口
-import DWKGDC from "./map/DWK_GDC.vue";
-// 平罗
-import PLGDC from "./map/PL_GDC.vue";
-// 马场湖
-import XHGDC from "./map/XH_GDC.vue";
+// 崇礼风电场
+import CLFDC from "./map/CL_FDC.vue";
+// 康宝风电场
+import KBFDC from "./map/KB_FDC.vue";
+// 代县风电场
+import DXFDC from "./map/DX_FDC.vue";
+// 寿阳风电场
+import SYFDC from "./map/SY_FDC.vue";
 
 import SvgIcon from "../../../components/coms/icon/svg-icon.vue";
 import compassIcon from "@/assets/icon/svg_fill/compass.svg";
@@ -182,15 +157,11 @@ export default {
   // 使用组件
   components: {
     SvgMapNX,
-    MHSFDC,
-    XSFDC,
-    NSSFDC,
-    QSFDC,
-    SBQFDC,
-	MCHGDC,
-	DWKGDC,
-	PLGDC,
-	XHGDC,
+    CLFDC,
+    KBFDC,
+    DXFDC,
+    SYFDC,
+ 
     SvgIcon,
   },
   props: {
@@ -277,6 +248,7 @@ export default {
       this.$emit("mapClickBack", wpId, planBtnName);
     },
     clickLabel(wpId, planBtnName) {
+      console.log(111111111,wpId,planBtnName);
       this.mapName = wpId;
       this.currentTitle = planBtnName;
       this.mapIndex = 1;

File diff suppressed because it is too large
+ 539 - 0
src/views/Home/components/map/CL_FDC.vue


File diff suppressed because it is too large
+ 0 - 319
src/views/Home/components/map/DWK_GDC.vue


src/views/Home/components/map/QS_FDC.vue → src/views/Home/components/map/DX_FDC.vue


File diff suppressed because it is too large
+ 685 - 0
src/views/Home/components/map/KB_FDC.vue


File diff suppressed because it is too large
+ 0 - 313
src/views/Home/components/map/MCH_GDC.vue


File diff suppressed because it is too large
+ 0 - 579
src/views/Home/components/map/MHS_FDC.vue


File diff suppressed because it is too large
+ 0 - 766
src/views/Home/components/map/NSS_FDC.vue


File diff suppressed because it is too large
+ 0 - 386
src/views/Home/components/map/PL_GDC.vue


File diff suppressed because it is too large
+ 1 - 1
src/views/Home/components/map/SBQ_FDC.vue


File diff suppressed because it is too large
+ 0 - 346
src/views/Home/components/map/XH_GDC.vue


File diff suppressed because it is too large
+ 0 - 449
src/views/Home/components/map/XS_FDC.vue


+ 1 - 1
src/views/Home/components/map/svg-map-nx.vue

@@ -470,7 +470,7 @@
             <g
               v-if="showType === 'all' || showType === 'fc'"
               class="item-label"
-              @click.stop="clickLabel('DX_FDC', '寿阳风电场')"
+              @click.stop="clickLabel('SY_FDC', '寿阳风电场')"
               @mouseover="mouseover(3)"
               @mouseout="mouseout"
             >

+ 340 - 202
src/views/NewPages/history-search.vue

@@ -1,112 +1,207 @@
 <template>
-  <div class="searchPage1">
+  <div class="">
     <div class="query mg-b-8">
       <div class="query-items">
         <div class="query-item">
           <div class="lable">日期:</div>
           <div class="search-input">
-            <el-date-picker size="medium" v-model="form.dateArea" type="datetimerange" :picker-options="pickerOptions" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"> </el-date-picker>
+            <el-date-picker
+              size="medium"
+              v-model="form.dateArea"
+              type="datetimerange"
+              :picker-options="pickerOptions"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              align="right"
+            >
+            </el-date-picker>
           </div>
         </div>
         <div class="query-item">
           <div class="lable">间隔:</div>
           <div class="search-input">
-            <el-input v-model="form.interval" type="number" ></el-input>
+            <el-input v-model="form.interval" type="number"></el-input>
           </div>
         </div>
         <div class="query-item">
           <div class="lable">间隔:</div>
           <div class="search-input">
-            <el-checkbox v-model="form.autoReq" label="刷新" :border="true"></el-checkbox>
+            <el-checkbox
+              v-model="form.autoReq"
+              label="刷新"
+              :border="true"
+            ></el-checkbox>
           </div>
         </div>
         <div class="query-item">
           <div class="lable"></div>
           <div class="search-input">
             <transition name="el-zoom-in-center">
-              <el-radio-group v-model="form.type" size="small" v-show="form.interval">
-                <el-radio label="0" @click.prevent="getRadio('0')">最大</el-radio>
-                <el-radio label="1" @click.prevent="getRadio('1')">最小</el-radio>
-                <el-radio label="2" @click.prevent="getRadio('2')">平均</el-radio>
+              <el-radio-group
+                v-model="form.type"
+                size="small"
+                v-show="form.interval"
+              >
+                <el-radio label="0" @click.prevent="getRadio('0')"
+                  >最大</el-radio
+                >
+                <el-radio label="1" @click.prevent="getRadio('1')"
+                  >最小</el-radio
+                >
+                <el-radio label="2" @click.prevent="getRadio('2')"
+                  >平均</el-radio
+                >
               </el-radio-group>
             </transition>
           </div>
         </div>
       </div>
-      <div class="query-actions">
-        <button class="btn green" @click="renderCharts">生成曲线</button>
-      </div>
+      <div class="query-actions"></div>
     </div>
-    <div class="cardBox">
-      <el-card class="box-card">
-        <template v-slot:header class="clearfix">
-          <span>类型</span>
-          <!-- <el-button style="float: right; padding: 3px 0" type="text">操作按钮</el-button> -->
-        </template>
-        <div>
-          <el-radio-group
-            v-model="form.fjType"
-            size="small"
-            @change="
-              (fjType) => {
-                resetForm();
-              }
-            "
-          >
-            <el-form ref="form" :model="form">
-              <el-form-item style="margin-bottom:5px;">
-                <el-radio border size="medium" label="1">单风机多参数对比</el-radio>
-              </el-form-item>
-              <el-form-item style="margin-bottom:5px;">
-                <el-radio border size="medium" label="2">多风机单参数对比</el-radio>
-              </el-form-item>
-            </el-form>
-          </el-radio-group>
-        </div>
-      </el-card>
-      <el-card class="box-card">
-        <template v-slot:header class="clearfix">
-          <span>设备结构</span>
-        </template>
-        <div>
-          <div class="treeBox">
-            <el-input size="small" placeholder="输入以检索" :disabled="!treeData.length" v-model="filterText"></el-input>
-            <el-tree ref="treeRef" node-key="id" :data="treeData" :props="treeProps" :show-checkbox="true" :highlight-current="true" :filter-node-method="filterNode" @check-change="getTreeChecked"></el-tree>
+    <div class="left-box">
+      <div class="steps">
+        <el-steps :active="active" finish-status="success">
+          <el-step title="类型"></el-step>
+          <el-step title="设备结构"></el-step>
+          <el-step title="关键参数"></el-step>
+        </el-steps>
+      </div>
+      <div class="btns">
+        <button class="next-btn btn" @click="last">上一步</button>
+        <button v-if="this.active <= 2" class="next-btn btn" @click="next">
+          下一步
+        </button>
+        <button
+          v-if="this.active === 3"
+          class="btn green"
+          @click="renderCharts"
+        >
+          生成曲线
+        </button>
+
+        <button class="next-btn btn" @click="reset">重置</button>
+      </div>
+      <div class="cardBox">
+        <el-card class="box-card leixing" v-show="this.active === 1">
+          <template v-slot:header class="clearfix">
+            <span>类型</span>
+            <!-- --------------- -->
+            <!-- <el-button style="float: right; padding: 3px 0" type="text">操作按钮</el-button> -->
+            <!-- ------------- -->
+          </template>
+          <div>
+            <el-radio-group
+              v-model="form.fjType"
+              size="big"
+              @change="
+                (fjType) => {
+                  resetForm();
+                }
+              "
+            >
+              <el-form ref="form" :model="form">
+                <el-form-item style="margin-bottom: 5px; float: left">
+                  <el-radio border size="medium" label="1"
+                    >单风机多参数对比</el-radio
+                  >
+                </el-form-item>
+                <el-form-item
+                  style="margin-bottom: 5px; float: left; margin-left: 20px"
+                >
+                  <el-radio border size="medium" label="2"
+                    >多风机单参数对比</el-radio
+                  >
+                </el-form-item>
+              </el-form>
+            </el-radio-group>
           </div>
-        </div>
-      </el-card>
-      <el-card class="box-card">
-        <template v-slot:header class="clearfix">
-          <span>关键参数</span>
-        </template>
-        <div class="selectBox treeBox">
-          <el-input size="small" placeholder="输入以检索" :disabled="!gjcsOptions.length" v-model="filterText1"></el-input>
-          <el-tree ref="treeRef1" node-key="code" :data="gjcsOptions" :props="{ children: null, label: 'description' }" :show-checkbox="true" :highlight-current="true" :filter-node-method="filterNode1" @check-change="getTreeChecked1"></el-tree>
-          <!-- <el-select style="width:100%;" v-model="form.gjcs" filterable clearable :multiple="!treeIsMultiple"
+        </el-card>
+        <el-card class="box-card" v-show="this.active === 2">
+          <template v-slot:header class="clearfix">
+            <span>设备结构</span>
+          </template>
+          <div>
+            <div class="treeBox">
+              <el-input
+                size="small"
+                placeholder="输入以检索"
+                :disabled="!treeData.length"
+                v-model="filterText"
+              ></el-input>
+              <el-tree
+                ref="treeRef"
+                node-key="id"
+                :data="treeData"
+                :props="treeProps"
+                :show-checkbox="true"
+                :highlight-current="true"
+                :filter-node-method="filterNode"
+                @check-change="getTreeChecked"
+              ></el-tree>
+            </div>
+          </div>
+        </el-card>
+        <el-card class="box-card" v-show="this.active === 3">
+          <template v-slot:header class="clearfix">
+            <span>关键参数</span>
+          </template>
+          <div class="selectBox treeBox">
+            <el-input
+              size="small"
+              placeholder="输入以检索"
+              :disabled="!gjcsOptions.length"
+              v-model="filterText1"
+            ></el-input>
+            <el-tree
+              ref="treeRef1"
+              node-key="code"
+              :data="gjcsOptions"
+              :props="{ children: null, label: 'description' }"
+              :show-checkbox="true"
+              :highlight-current="true"
+              :filter-node-method="filterNode1"
+              @check-change="getTreeChecked1"
+            ></el-tree>
+            <!-- ----------------------- -->
+            <!-- <el-select style="width:100%;" v-model="form.gjcs" filterable clearable :multiple="!treeIsMultiple"
             placeholder="输入以检索" @change="(res) => { this.$forceUpdate(); }">
             <el-option v-for="item in gjcsOptions" :key="item.id" :label="item.description" :value="item.code">
             </el-option>
           </el-select> -->
-        </div>
-      </el-card>
+            <!-- ----------------------------- -->
+          </div>
+        </el-card>
+      </div>
     </div>
-    <div class="chartsBox">
-      <div id="lineChart" style="width:100%;height:100%;"></div>
+    <div class="right-box">
+      <div class="chartsBox">
+        <div id="lineChart" style="width: 100%; height: 100%"></div>
+      </div>
     </div>
   </div>
 </template>
 
 <script>
 import * as echarts from "echarts";
+import api from "@api/economic/index.js";
 
 export default {
   data() {
     return {
+      active: 1,
       form: {
         pointId: "",
         pointName: "",
         autoReq: false,
-        dateArea: [this.fmtDate(new Date(new Date().setTime(new Date().getTime() - 3600 * 1000 * 24))), this.fmtDate(new Date())],
+        dateArea: [
+          this.fmtDate(
+            new Date(
+              new Date().setTime(new Date().getTime() - 3600 * 1000 * 24)
+            )
+          ),
+          this.fmtDate(new Date()),
+        ],
         interval: "",
         type: "",
         fjType: "1",
@@ -215,55 +310,56 @@ export default {
   },
 
   methods: {
+    next() {
+      if (this.active++ > 2) {
+        this.active = 0;
+      }
+    },
+    last() {
+      if (this.active-- < 0) {
+        this.active = 0;
+      }
+    },
+    reset() {
+      this.active = 1;
+    },
+
     // 获取设备结构
     getEquipmentStructure() {
-      let that = this;
-      that.API.requestData({
-        baseURL: "http://10.155.32.4:8031/",
-        subUrl: "paramComparison/equipmentStructure",
-        timeout: 30000,
-        success(res) {
-          // 请求成功的回调
-          let treeData = [];
+      api.paramComparisonEquipmentStructure({}).then((res) => {
+        // 请求成功的回调
+        let treeData = [];
 
-          res.data.forEach((ele) => {
-            let findRes = treeData.find((findEle) => {
-              return ele.windpowerstationid === findEle.label;
-            });
-            if (!findRes) {
-              let treeTemp = {
-                label: ele.windpowerstationid,
-                children: [],
-              };
-              treeTemp.children.push({
-                label: ele.name,
-                id: ele.id,
-              });
-              treeData.push(treeTemp);
-            } else {
-              findRes.children.push({
-                label: ele.name,
-                id: ele.id,
-              });
-            }
+        res.data.forEach((ele) => {
+          let findRes = treeData.find((findEle) => {
+            return ele.windpowerstationid === findEle.label;
           });
-          that.treeData = treeData;
-        },
+          if (!findRes) {
+            let treeTemp = {
+              label: ele.windpowerstationid,
+              children: [],
+            };
+            treeTemp.children.push({
+              label: ele.name,
+              id: ele.id,
+            });
+            treeData.push(treeTemp);
+          } else {
+            findRes.children.push({
+              label: ele.name,
+              id: ele.id,
+            });
+          }
+        });
+        this.treeData = treeData;
       });
     },
-
     // 获取关键节点
     getEquipmentParams() {
-      let that = this;
-      that.API.requestData({
-        baseURL: "http://10.155.32.4:8031/",
-        subUrl: "paramComparison/equipmentParams",
-        success(res) {
-          that.gjcsOptions = res.data;
-        },
+      api.paramComparisonEquipmentParams({}).then((res) => {
+        this.gjcsOptions = res.data;
       });
     },
-
     // 获取单选结果
     getRadio(type) {
       if (type === this.form.type && this.form.type !== "") {
@@ -272,22 +368,25 @@ export default {
         this.form.type = type;
       }
     },
-
     // 渲染图表
     renderCharts() {
       let that = this;
-      that.$nextTick(() => {
-        let begin = that.form.dateArea.length ? new Date(that.form.dateArea[0]).formatDate("yyyy-MM-dd hh:mm:ss") : "";
-        let end = that.form.dateArea.length ? new Date(that.form.dateArea[1]).formatDate("yyyy-MM-dd hh:mm:ss") : "";
-        let interval = that.form.interval;
-        let type = that.form.type;
-        let paramtype = that.form.fjType;
+      this.$nextTick(() => {
+        let begin = this.form.dateArea.length
+          ? new Date(this.form.dateArea[0]).formatDate("yyyy-MM-dd hh:mm:ss")
+          : "";
+        let end = this.form.dateArea.length
+          ? new Date(this.form.dateArea[1]).formatDate("yyyy-MM-dd hh:mm:ss")
+          : "";
+        let interval = this.form.interval;
+        let type = this.form.type;
+        let paramtype = this.form.fjType;
         let wts = [];
-        let wtsArray = that.$refs.treeRef.getCheckedNodes();
+        let wtsArray = this.$refs.treeRef.getCheckedNodes();
         let params = [];
-        let paramsArray = that.$refs.treeRef1.getCheckedNodes();
+        let paramsArray = this.$refs.treeRef1.getCheckedNodes();
         // let params = that.form.gjcs;
-
+        // console.log("wtsArray", wtsArray);
         wtsArray.forEach((pEle) => {
           if (pEle.id) {
             wts.push(pEle.id);
@@ -301,7 +400,6 @@ export default {
         paramsArray.forEach((pEle) => {
           params.push(pEle.code);
         });
-
         let data = {};
         data.begin = begin;
         data.end = end;
@@ -310,106 +408,94 @@ export default {
         data.paramtype = paramtype;
         data.wts = wts.toString();
         data.params = params.toString();
-
+        console.log("data", data);
         if (begin && end && paramtype && wts.length && params.length) {
-          that.API.requestData({
-            baseURL: "http://10.155.32.4:8031/",
-            subUrl: "paramComparison/generatingCurve",
-            timeout: 10000,
-            data,
-            success(res) {
-              if (res.data.length) {
-                let xAxisData = []; // x轴标题
-                let seriesData = []; // 折线图数据
-
-                let keyArray = [];
-
-                if (that.form.fjType === "1") {
-                  params.forEach((ele) => {
-                    let findRes = that.gjcsOptions.find((findEle) => {
-                      return ele === findEle.code;
-                    });
-                    keyArray.push(findRes.description);
-                  });
-                } else {
-                  wtsArray.forEach((pEle) => {
-                    if (pEle.id) {
-                      keyArray.push(pEle.label);
-                    } else {
-                      pEle.children.forEach((cEle) => {
-                        keyArray.push(cEle.label);
-                      });
-                    }
-                  });
-                }
-
-                keyArray.forEach((ele) => {
-                  seriesData.push({
-                    data: [],
-                    type: "line",
-                    smooth: true,
-                    name: ele,
-                  });
-                });
-
-                res.data.forEach((pEle) => {
-                  xAxisData.push(that.fmtDate(new Date(pEle.time)));
-                  keyArray.forEach((cEle, cIndex) => {
-                    seriesData[cIndex].data.push(pEle[cEle] || null);
+          api.paramComparisonGeneratingCurve(data).then((res) => {
+            if (res.data.length) {
+              let xAxisData = []; // x轴标题
+              let seriesData = []; // 折线图数据
+              let keyArray = [];
+              if (this.form.fjType === "1") {
+                params.forEach((ele) => {
+                  let findRes = this.gjcsOptions.find((findEle) => {
+                    return ele === findEle.code;
                   });
+                  keyArray.push(findRes.description);
                 });
-
-                document.getElementById("lineChart").removeAttribute("_echarts_instance_");
-                let chartDom = document.getElementById("lineChart");
-                let myChart = echarts.init(chartDom);
-                let option = {
-                  xAxis: {
-                    type: "category",
-                    data: xAxisData,
-                  },
-                  yAxis: {
-                    type: "value",
-                  },
-                  series: seriesData,
-                  tooltip: {
-                    trigger: "axis",
-                    axisPointer: {
-                      type: "cross",
-                      label: {
-                        backgroundColor: "#6a7985",
-                      },
-                    },
-                  },
-                };
-                option && myChart.setOption(option);
               } else {
-                that.BASE.showMsg({
-                  type: "warning",
-                  msg: "所选参数暂无数据,请切换参数后再次尝试",
+                wtsArray.forEach((pEle) => {
+                  if (pEle.id) {
+                    keyArray.push(pEle.label);
+                  } else {
+                    pEle.children.forEach((cEle) => {
+                      keyArray.push(cEle.label);
+                    });
+                  }
                 });
               }
-            },
+              keyArray.forEach((ele) => {
+                seriesData.push({
+                  data: [],
+                  type: "line",
+                  smooth: true,
+                  name: ele,
+                });
+              });
+              res.data.forEach((pEle) => {
+                xAxisData.push(this.fmtDate(new Date(pEle.time)));
+                keyArray.forEach((cEle, cIndex) => {
+                  seriesData[cIndex].data.push(pEle[cEle] || null);
+                });
+              });
+              document
+                .getElementById("lineChart")
+                .removeAttribute("_echarts_instance_");
+              let chartDom = document.getElementById("lineChart");
+              let myChart = echarts.init(chartDom);
+              let option = {
+                xAxis: {
+                  type: "category",
+                  data: xAxisData,
+                },
+                yAxis: {
+                  type: "value",
+                },
+                series: seriesData,
+                tooltip: {
+                  trigger: "axis",
+                  axisPointer: {
+                    type: "cross",
+                    label: {
+                      backgroundColor: "#6a7985",
+                    },
+                  },
+                },
+              };
+              option && myChart.setOption(option);
+            } else {
+              this.BASE.showMsg({
+                type: "warning",
+                msg: "所选参数暂无数据,请切换参数后再次尝试",
+              });
+            }
           });
         } else {
-          that.BASE.showMsg({
+          this.BASE.showMsg({
             msg: "无法生成,请检查 日期、设备结构与关键参数是否已选择",
           });
         }
       });
     },
-
     // 过滤树形节点
     filterNode(value, data) {
       if (!value) return true;
       return data.label.indexOf(value) !== -1;
     },
-
     // 过滤树形节点
     filterNode1(value, data) {
       if (!value) return true;
       return data.description.indexOf(value) !== -1;
     },
-
     // 获取树形选中
     getTreeChecked(data, checked, node) {
       if (!this.treeIsMultiple) {
@@ -423,7 +509,6 @@ export default {
         }
       }
     },
-
     // 获取树形选中
     getTreeChecked1(data, checked, node) {
       if (this.treeIsMultiple) {
@@ -437,15 +522,18 @@ export default {
         }
       }
     },
-
     // 重置表单
     resetForm() {
-      this.form.fjType === "1" ? (this.treeIsMultiple = false) : (this.treeIsMultiple = true);
+      this.form.fjType === "1"
+        ? (this.treeIsMultiple = false)
+        : (this.treeIsMultiple = true);
       this.$refs.treeRef.setCheckedKeys([]);
       this.$refs.treeRef1.setCheckedKeys([]);
       this.form.gjcs = "";
       this.$forceUpdate();
-      document.getElementById("lineChart").removeAttribute("_echarts_instance_");
+      document
+        .getElementById("lineChart")
+        .removeAttribute("_echarts_instance_");
       echarts.init(document.getElementById("lineChart"));
     },
 
@@ -458,7 +546,19 @@ export default {
       let hour = curDate.getHours();
       let minutes = curDate.getMinutes();
       let seconds = curDate.getSeconds();
-      return year + "-" + (mouth < 10 ? "0" + mouth : mouth) + "-" + (day < 10 ? "0" + day : day) + " " + (hour < 10 ? "0" + hour : hour) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
+      return (
+        year +
+        "-" +
+        (mouth < 10 ? "0" + mouth : mouth) +
+        "-" +
+        (day < 10 ? "0" + day : day) +
+        " " +
+        (hour < 10 ? "0" + hour : hour) +
+        ":" +
+        (minutes < 10 ? "0" + minutes : minutes) +
+        ":" +
+        (seconds < 10 ? "0" + seconds : seconds)
+      );
     },
   },
 
@@ -474,6 +574,22 @@ export default {
 };
 </script>
 <style lang="less" scoped>
+.left-box {
+  width: 27%;
+}
+.right-box {
+  width: 500px;
+  height: 500px;
+  // background-color: aqua;
+  position: absolute;
+  top: 300px;
+  right: 900px;
+}
+.searchPage1 {
+  display: flex;
+  flex-direction: row;
+  width: 37%;
+}
 .searchBox1 {
   width: 80%;
   display: flex;
@@ -497,26 +613,32 @@ export default {
 
 .cardBox {
   width: 100%;
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-  margin-top: 20px;
+  // display: flex;
+  // // justify-content: space-between;
+  // align-items: center;
+  // font-size: 16px;
+  // margin-top: 20px;
 
   .el-card {
-    width: 32%;
-    height: 255px;
+    width: 100%;
+    height: 650px;
+    margin-left: 20px;
 
     .treeBox {
       width: 100%;
 
       .el-tree {
         width: 100%;
-        height: 160px;
+        height: 700px;
         margin-top: 10px;
         overflow-y: scroll;
       }
     }
   }
+  // .leixing {
+  //   width: 10%;
+  //   height: 260px;
+  // }
 }
 
 .selectBox {
@@ -527,8 +649,8 @@ export default {
 }
 
 .chartsBox {
-  width: 100%;
-  height: 400px;
+  width: 1400px;
+  height: 600px;
 }
 </style>
 <style lang="less">
@@ -541,4 +663,20 @@ export default {
     padding: 10px 20px;
   }
 }
+.el-checkbox__input {
+  display: block;
+}
+.steps {
+  margin: 30px;
+  width: 100%;
+  margin-top: 35px;
+}
+.next-btn {
+  // float: left;
+  // margin-bottom: 40px;
+  // margin-left: 27px;
+}
+.btns {
+  margin: 20px;
+}
 </style>

+ 329 - 212
src/views/historySearch/index.vue

@@ -5,25 +5,48 @@
         <div class="query-item">
           <div class="lable">日期:</div>
           <div class="search-input">
-            <el-date-picker size="medium" v-model="form.dateArea" type="datetimerange"
-            :picker-options="pickerOptions" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right">
-          </el-date-picker>
+            <el-date-picker
+              size="medium"
+              v-model="form.dateArea"
+              type="datetimerange"
+              :picker-options="pickerOptions"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              align="right"
+            >
+            </el-date-picker>
           </div>
         </div>
         <div class="query-item">
           <div class="lable">间隔:</div>
           <div class="search-input">
-            <el-input placeholder="请输入间隔" clearable v-model="form.interval" type="number"></el-input>
+            <el-input
+              placeholder="请输入间隔"
+              clearable
+              v-model="form.interval"
+              type="number"
+            ></el-input>
           </div>
         </div>
         <div class="query-item">
           <div class="lable"></div>
           <div class="search-input">
             <transition name="el-zoom-in-center">
-              <el-radio-group v-model="form.type" size="small" v-show="form.interval">
-                <el-radio label="0" @click.native.prevent="getRadio('0')">最大</el-radio>
-                <el-radio label="1" @click.native.prevent="getRadio('1')">最小</el-radio>
-                <el-radio label="2" @click.native.prevent="getRadio('2')">平均</el-radio>
+              <el-radio-group
+                v-model="form.type"
+                size="small"
+                v-show="form.interval"
+              >
+                <el-radio label="0" @click.native.prevent="getRadio('0')"
+                  >最大</el-radio
+                >
+                <el-radio label="1" @click.native.prevent="getRadio('1')"
+                  >最小</el-radio
+                >
+                <el-radio label="2" @click.native.prevent="getRadio('2')"
+                  >平均</el-radio
+                >
               </el-radio-group>
             </transition>
           </div>
@@ -40,13 +63,25 @@
           <!-- <el-button style="float: right; padding: 3px 0" type="text">操作按钮</el-button> -->
         </div>
         <div>
-          <el-radio-group v-model="form.fjType" size="small" @change="(fjType) => { resetForm(); }">
+          <el-radio-group
+            v-model="form.fjType"
+            size="small"
+            @change="
+              (fjType) => {
+                resetForm();
+              }
+            "
+          >
             <el-form ref="form" :model="form">
-              <el-form-item style="margin-bottom:5px;">
-                <el-radio border size="medium" label="1">单风机多参数对比</el-radio>
+              <el-form-item style="margin-bottom: 5px">
+                <el-radio border size="medium" label="1"
+                  >单风机多参数对比</el-radio
+                >
               </el-form-item>
-              <el-form-item style="margin-bottom:5px;">
-                <el-radio border size="medium" label="2">多风机单参数对比</el-radio>
+              <el-form-item style="margin-bottom: 5px">
+                <el-radio border size="medium" label="2"
+                  >多风机单参数对比</el-radio
+                >
               </el-form-item>
             </el-form>
           </el-radio-group>
@@ -58,9 +93,22 @@
         </div>
         <div>
           <div class="treeBox">
-            <el-input size="small" placeholder="输入以检索" :disabled="!treeData.length" v-model="filterText"></el-input>
-            <el-tree ref="treeRef" node-key="id" :data="treeData" :props="treeProps" :show-checkbox="true"
-              :highlight-current="true" :filter-node-method="filterNode" @check-change="getTreeChecked"></el-tree>
+            <el-input
+              size="small"
+              placeholder="输入以检索"
+              :disabled="!treeData.length"
+              v-model="filterText"
+            ></el-input>
+            <el-tree
+              ref="treeRef"
+              node-key="id"
+              :data="treeData"
+              :props="treeProps"
+              :show-checkbox="true"
+              :highlight-current="true"
+              :filter-node-method="filterNode"
+              @check-change="getTreeChecked"
+            ></el-tree>
           </div>
         </div>
       </el-card>
@@ -69,9 +117,22 @@
           <span>关键参数</span>
         </div>
         <div class="selectBox treeBox">
-          <el-input size="small" placeholder="输入以检索" :disabled="!gjcsOptions.length" v-model="filterText1"></el-input>
-          <el-tree ref="treeRef1" node-key="code" :data="gjcsOptions" :props="{children: null, label: 'description'}"
-            :show-checkbox="true" :highlight-current="true" :filter-node-method="filterNode1" @check-change="getTreeChecked1"></el-tree>
+          <el-input
+            size="small"
+            placeholder="输入以检索"
+            :disabled="!gjcsOptions.length"
+            v-model="filterText1"
+          ></el-input>
+          <el-tree
+            ref="treeRef1"
+            node-key="code"
+            :data="gjcsOptions"
+            :props="{ children: null, label: 'description' }"
+            :show-checkbox="true"
+            :highlight-current="true"
+            :filter-node-method="filterNode1"
+            @check-change="getTreeChecked1"
+          ></el-tree>
           <!-- <el-select style="width:100%;" v-model="form.gjcs" filterable clearable :multiple="!treeIsMultiple"
             placeholder="输入以检索" @change="(res) => { this.$forceUpdate(); }">
             <el-option v-for="item in gjcsOptions" :key="item.id" :label="item.description" :value="item.code">
@@ -81,29 +142,33 @@
       </el-card>
     </div>
     <div class="chartsBox">
-      <div id="lineChart" style="width:100%;height:100%;"></div>
+      <div id="lineChart" style="width: 100%; height: 100%"></div>
     </div>
   </div>
 </template>
 
 <script>
 import * as echarts from "echarts";
-
+import api from "@api/economic/index.js";
 export default {
-  data () {
+  data() {
     return {
       form: {
         pointId: "",
         pointName: "",
         autoReq: false,
         dateArea: [
-          this.fmtDate(new Date(new Date().setTime(new Date().getTime() - 3600 * 1000 * 24))),
-          this.fmtDate(new Date())
+          this.fmtDate(
+            new Date(
+              new Date().setTime(new Date().getTime() - 3600 * 1000 * 24)
+            )
+          ),
+          this.fmtDate(new Date()),
         ],
         interval: "",
         type: "",
         fjType: "1",
-        gjcs: ''
+        gjcs: "",
       },
 
       treeIsMultiple: false,
@@ -114,49 +179,54 @@ export default {
       gjcsOptions: [],
 
       treeProps: {
-        children: 'children',
-        label: 'label'
+        children: "children",
+        label: "label",
       },
 
       pickerOptions: {
-        shortcuts: [{
-          text: '最近一天',
-          onClick (picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24);
-            picker.$emit('pick', [start, end]);
-          }
-        }, {
-          text: '最近一周',
-          onClick (picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-            picker.$emit('pick', [start, end]);
-          }
-        }, {
-          text: '最近一个月',
-          onClick (picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-            picker.$emit('pick', [start, end]);
-          }
-        }, {
-          text: '最近三个月',
-          onClick (picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-            picker.$emit('pick', [start, end]);
-          }
-        }]
-      }
-    }
+        shortcuts: [
+          {
+            text: "最近一天",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近一周",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近一个月",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近三个月",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+        ],
+      },
+    };
   },
-
-  mounted () {
+  created() {},
+  mounted() {
     let that = this;
     that.$nextTick(() => {
       that.getEquipmentStructure();
@@ -166,70 +236,107 @@ export default {
 
   methods: {
     // 获取设备结构
-    getEquipmentStructure () {
-      let that = this;
-      that.API.requestData({
-        baseURL:"http://10.155.32.4:8031/",
-        subUrl: "paramComparison/equipmentStructure",
-        timeout:30000,
-        success (res) {
-          // 请求成功的回调
-          let treeData = [];
-
-          res.data.forEach(ele => {
-            let findRes = treeData.find(findEle => {
-              return ele.windpowerstationid === findEle.label;
-            });
-            if (!findRes) {
-              let treeTemp = {
-                label: ele.windpowerstationid,
-                children: []
-              };
-              treeTemp.children.push({
-                label: ele.name,
-                id: ele.id
-              });
-              treeData.push(treeTemp);
-            } else {
-              findRes.children.push({
-                label: ele.name,
-                id: ele.id
-              });
-            }
+    getEquipmentStructure() {
+      console.log(6666666666);
+      api.paramComparisonEquipmentStructure({}).then((res) => {
+        // 请求成功的回调
+        let treeData = [];
+
+        res.data.forEach((ele) => {
+          let findRes = treeData.find((findEle) => {
+            return ele.windpowerstationid === findEle.label;
           });
-          that.treeData = treeData;
-        }
+          if (!findRes) {
+            let treeTemp = {
+              label: ele.windpowerstationid,
+              children: [],
+            };
+            treeTemp.children.push({
+              label: ele.name,
+              id: ele.id,
+            });
+            treeData.push(treeTemp);
+          } else {
+            findRes.children.push({
+              label: ele.name,
+              id: ele.id,
+            });
+          }
+        });
+        this.treeData = treeData;
       });
+
+      let that = this;
+      // that.API.requestData({
+      //   baseURL:"http://10.155.32.4:8031/",
+      //   subUrl: "paramComparison/equipmentStructure",
+      //   timeout:30000,
+      //   success (res) {
+      //     // 请求成功的回调
+      //     let treeData = [];
+
+      //     res.data.forEach(ele => {
+      //       let findRes = treeData.find(findEle => {
+      //         return ele.windpowerstationid === findEle.label;
+      //       });
+      //       if (!findRes) {
+      //         let treeTemp = {
+      //           label: ele.windpowerstationid,
+      //           children: []
+      //         };
+      //         treeTemp.children.push({
+      //           label: ele.name,
+      //           id: ele.id
+      //         });
+      //         treeData.push(treeTemp);
+      //       } else {
+      //         findRes.children.push({
+      //           label: ele.name,
+      //           id: ele.id
+      //         });
+      //       }
+      //     });
+      //     that.treeData = treeData;
+      //   }
+      // });
     },
 
     // 获取关键节点
-    getEquipmentParams () {
-      let that = this;
-      that.API.requestData({
-        baseURL:"http://10.155.32.4:8031/",
-        subUrl: "paramComparison/equipmentParams",
-        success (res) {
-          that.gjcsOptions = res.data;
-        }
+    getEquipmentParams() {
+      console.log(666666666666666666666);
+      api.paramComparisonEquipmentParams({}).then((res) => {
+        that.gjcsOptions = res.data;
       });
+
+      // let that = this;
+      // that.API.requestData({
+      //   baseURL: "http://10.155.32.4:8031/",
+      //   subUrl: "paramComparison/equipmentParams",
+      //   success(res) {
+      //     that.gjcsOptions = res.data;
+      //   },
+      // });
     },
 
     // 获取单选结果
-    getRadio (type) {
-      if (type === this.form.type && this.form.type !== '') {
-        this.form.type = '';
+    getRadio(type) {
+      if (type === this.form.type && this.form.type !== "") {
+        this.form.type = "";
       } else {
         this.form.type = type;
       }
     },
 
     // 渲染图表
-    renderCharts () {
+    renderCharts() {
       let that = this;
       that.$nextTick(() => {
-
-        let begin = that.form.dateArea.length ? new Date(that.form.dateArea[0]).formatDate("yyyy-MM-dd hh:mm:ss") : '';
-        let end = that.form.dateArea.length ? new Date(that.form.dateArea[1]).formatDate("yyyy-MM-dd hh:mm:ss") : '';
+        let begin = that.form.dateArea.length
+          ? new Date(that.form.dateArea[0]).formatDate("yyyy-MM-dd hh:mm:ss")
+          : "";
+        let end = that.form.dateArea.length
+          ? new Date(that.form.dateArea[1]).formatDate("yyyy-MM-dd hh:mm:ss")
+          : "";
         let interval = that.form.interval;
         let type = that.form.type;
         let paramtype = that.form.fjType;
@@ -239,17 +346,17 @@ export default {
         let paramsArray = that.$refs.treeRef1.getCheckedNodes();
         // let params = that.form.gjcs;
 
-        wtsArray.forEach(pEle => {
+        wtsArray.forEach((pEle) => {
           if (pEle.id) {
             wts.push(pEle.id);
           } else {
-            pEle.children.forEach(cEle => {
+            pEle.children.forEach((cEle) => {
               wts.push(cEle.id);
             });
           }
         });
 
-        paramsArray.forEach(pEle => {
+        paramsArray.forEach((pEle) => {
           params.push(pEle.code);
         });
 
@@ -263,109 +370,103 @@ export default {
         data.params = params.toString();
 
         if (begin && end && paramtype && wts.length && params.length) {
-          that.API.requestData({
-            baseURL:"http://10.155.32.4:8031/",
-            subUrl: "paramComparison/generatingCurve",
-            timeout:10000,
-            data,
-            success (res) {
-              if (res.data.length) {
-
-                let xAxisData = []; // x轴标题
-                let seriesData = []; // 折线图数据
-
-                let keyArray = [];
-
-                if (that.form.fjType === '1') {
-                  params.forEach(ele => {
-                    let findRes = that.gjcsOptions.find(findEle => {
-                      return ele === findEle.code;
-                    });
-                    keyArray.push(findRes.description);
-                  });
-                } else {
-                  wtsArray.forEach(pEle => {
-                    if (pEle.id) {
-                      keyArray.push(pEle.label);
-                    } else {
-                      pEle.children.forEach(cEle => {
-                        keyArray.push(cEle.label);
-                      });
-                    }
-                  });
-                }
-
-                keyArray.forEach(ele => {
-                  seriesData.push({
-                    data: [],
-                    type: 'line',
-                    smooth: true,
-                    name: ele
-                  });
-                });
-
-                res.data.forEach(pEle => {
-                  xAxisData.push(that.fmtDate(new Date(pEle.time)));
-                  keyArray.forEach((cEle, cIndex) => {
-                    seriesData[cIndex].data.push((pEle[cEle] || null));
-                  });
-                });
-
-                document.getElementById("lineChart").removeAttribute("_echarts_instance_");
-                let chartDom = document.getElementById('lineChart');
-                let myChart = echarts.init(chartDom);
-                let option = {
-                  xAxis: {
-                    type: 'category',
-                    data: xAxisData
-                  },
-                  yAxis: {
-                    type: 'value'
-                  },
-                  series: seriesData,
-                  tooltip: {
-                    trigger: 'axis',
-                    axisPointer: {
-                      type: 'cross',
-                      label: {
-                        backgroundColor: '#6a7985'
-                      }
-                    }
-                  }
-                };
-                option && myChart.setOption(option);
-
-              } else {
-                that.BASE.showMsg({
-                  type:"warning",
-                  msg:"所选参数暂无数据,请切换参数后再次尝试"
-                });
-              }
-            }
-          });
+          // that.API.requestData({
+          //   baseURL: "http://10.155.32.4:8031/",
+          //   subUrl: "paramComparison/generatingCurve",
+          //   timeout: 10000,
+          //   data,
+          //   success(res) {
+          //     if (res.data.length) {
+          //       let xAxisData = []; // x轴标题
+          //       let seriesData = []; // 折线图数据
+          //       let keyArray = [];
+          //       if (that.form.fjType === "1") {
+          //         params.forEach((ele) => {
+          //           let findRes = that.gjcsOptions.find((findEle) => {
+          //             return ele === findEle.code;
+          //           });
+          //           keyArray.push(findRes.description);
+          //         });
+          //       } else {
+          //         wtsArray.forEach((pEle) => {
+          //           if (pEle.id) {
+          //             keyArray.push(pEle.label);
+          //           } else {
+          //             pEle.children.forEach((cEle) => {
+          //               keyArray.push(cEle.label);
+          //             });
+          //           }
+          //         });
+          //       }
+          //       keyArray.forEach((ele) => {
+          //         seriesData.push({
+          //           data: [],
+          //           type: "line",
+          //           smooth: true,
+          //           name: ele,
+          //         });
+          //       });
+          //       res.data.forEach((pEle) => {
+          //         xAxisData.push(that.fmtDate(new Date(pEle.time)));
+          //         keyArray.forEach((cEle, cIndex) => {
+          //           seriesData[cIndex].data.push(pEle[cEle] || null);
+          //         });
+          //       });
+          //       document
+          //         .getElementById("lineChart")
+          //         .removeAttribute("_echarts_instance_");
+          //       let chartDom = document.getElementById("lineChart");
+          //       let myChart = echarts.init(chartDom);
+          //       let option = {
+          //         xAxis: {
+          //           type: "category",
+          //           data: xAxisData,
+          //         },
+          //         yAxis: {
+          //           type: "value",
+          //         },
+          //         series: seriesData,
+          //         tooltip: {
+          //           trigger: "axis",
+          //           axisPointer: {
+          //             type: "cross",
+          //             label: {
+          //               backgroundColor: "#6a7985",
+          //             },
+          //           },
+          //         },
+          //       };
+          //       option && myChart.setOption(option);
+          //     } else {
+          //       that.BASE.showMsg({
+          //         type: "warning",
+          //         msg: "所选参数暂无数据,请切换参数后再次尝试",
+          //       });
+          //     }
+          //   },
+          // });
         } else {
           that.BASE.showMsg({
-            msg:"无法生成,请检查 日期、设备结构与关键参数是否已选择"
+            msg: "无法生成,请检查 日期、设备结构与关键参数是否已选择",
           });
         }
-
       });
     },
 
     // 过滤树形节点
-    filterNode (value, data) {
+    filterNode(value, data) {
       if (!value) return true;
       return data.label.indexOf(value) !== -1;
     },
 
     // 过滤树形节点
-    filterNode1 (value, data) {
+    filterNode1(value, data) {
       if (!value) return true;
       return data.description.indexOf(value) !== -1;
     },
 
     // 获取树形选中
-    getTreeChecked (data, checked, node) {
+    getTreeChecked(data, checked, node) {
       if (!this.treeIsMultiple) {
         if (checked === true) {
           this.checkedId = data.id;
@@ -379,7 +480,7 @@ export default {
     },
 
     // 获取树形选中
-    getTreeChecked1 (data, checked, node) {
+    getTreeChecked1(data, checked, node) {
       if (this.treeIsMultiple) {
         if (checked === true) {
           this.checkedId = data.code;
@@ -393,18 +494,22 @@ export default {
     },
 
     // 重置表单
-    resetForm () {
-      this.form.fjType === '1' ? this.treeIsMultiple = false : this.treeIsMultiple = true;
+    resetForm() {
+      this.form.fjType === "1"
+        ? (this.treeIsMultiple = false)
+        : (this.treeIsMultiple = true);
       this.$refs.treeRef.setCheckedKeys([]);
       this.$refs.treeRef1.setCheckedKeys([]);
-      this.form.gjcs = '';
+      this.form.gjcs = "";
       this.$forceUpdate();
-      document.getElementById("lineChart").removeAttribute("_echarts_instance_");
-      echarts.init(document.getElementById('lineChart'));
+      document
+        .getElementById("lineChart")
+        .removeAttribute("_echarts_instance_");
+      echarts.init(document.getElementById("lineChart"));
     },
 
     // 格式化日期
-    fmtDate (date) {
+    fmtDate(date) {
       let curDate = date || new Date();
       let year = curDate.getFullYear();
       let mouth = curDate.getUTCMonth() + 1;
@@ -412,20 +517,32 @@ export default {
       let hour = curDate.getHours();
       let minutes = curDate.getMinutes();
       let seconds = curDate.getSeconds();
-      return year + '-' + (mouth < 10 ? '0' + mouth : mouth) + '-' + (day < 10 ? '0' + day : day) + ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);
-    }
+      return (
+        year +
+        "-" +
+        (mouth < 10 ? "0" + mouth : mouth) +
+        "-" +
+        (day < 10 ? "0" + day : day) +
+        " " +
+        (hour < 10 ? "0" + hour : hour) +
+        ":" +
+        (minutes < 10 ? "0" + minutes : minutes) +
+        ":" +
+        (seconds < 10 ? "0" + seconds : seconds)
+      );
+    },
   },
 
   watch: {
-    filterText (val) {
+    filterText(val) {
       this.$refs.treeRef.filter(val);
     },
 
-    filterText1 (val) {
+    filterText1(val) {
       this.$refs.treeRef1.filter(val);
-    }
+    },
   },
-}
+};
 </script>
 <style lang="less" scoped>
 .searchBox1 {

+ 365 - 302
src/views/realSearch/index.vue

@@ -5,70 +5,147 @@
         <div class="query-item">
           <div class="lable">点名:</div>
           <div class="search-input">
-            <el-input style="width: 250px;" placeholder="请输入点名" size="middle" v-model="form.pointId" clearable></el-input>
+            <el-input
+              style="width: 250px"
+              placeholder="请输入点名"
+              size="middle"
+              v-model="form.pointId"
+              clearable
+            ></el-input>
           </div>
         </div>
         <div class="query-item">
           <div class="lable">描述:</div>
           <div class="search-input">
-            <el-input placeholder="请输入描述" size="middle" v-model="form.pointName" clearable></el-input>
+            <el-input
+              placeholder="请输入描述"
+              size="middle"
+              v-model="form.pointName"
+              clearable
+            ></el-input>
           </div>
         </div>
         <div class="query-item">
           <div class="lable"></div>
           <div class="search-input">
-            <el-checkbox v-model="form.autoReq" label="刷新" border @change="reReqAjax"></el-checkbox>
+            <el-checkbox
+              v-model="form.autoReq"
+              label="刷新"
+              border
+              @change="reReqAjax"
+            ></el-checkbox>
           </div>
         </div>
       </div>
       <div class="query-actions">
         <button class="btn green" @click="getTableData">查询</button>
-        <button class="btn green" @click="exportExcel('tableData')">导出</button>
+        <button class="btn green" @click="exportExcel('tableData')">
+          导出
+        </button>
       </div>
     </div>
     <div class="searchPage">
-      <div style="width:200px;height:100vh">
+      <div style="width: 200px; height: 100vh">
         <CollapseList :list="menus" @click="clickMenu" />
       </div>
       <div class="df-table">
-        <ComTable height="78vh" :data="tableData" :pageSize="20" @onPagging="onChangePage"></ComTable>
+        <ComTable
+          height="78vh"
+          :data="tableData"
+          :pageSize="20"
+          @onPagging="onChangePage"
+        ></ComTable>
       </div>
     </div>
-    <el-dialog title="查看详情" v-model="showDialog" width="85%" top="10vh" custom-class="modal" :close-on-click-modal="true" @closed="(res) => { pointId=''; }">
+    <el-dialog
+      title="查看详情"
+      v-model="showDialog"
+      width="85%"
+      top="10vh"
+      custom-class="modal"
+      :close-on-click-modal="true"
+      @closed="
+        (res) => {
+          pointId = '';
+        }
+      "
+    >
       <div class="query mg-b-8">
-      <div class="query-items">
-        <div class="query-item">
-          <div class="lable">点名:</div>
-          <div class="search-input">
-            <el-input readonly style="width: 300px;" size="middle" v-model="pointId" clearable></el-input>
+        <div class="query-items">
+          <div class="query-item">
+            <div class="lable">点名:</div>
+            <div class="search-input">
+              <el-input
+                readonly
+                style="width: 300px"
+                size="middle"
+                v-model="pointId"
+                clearable
+              ></el-input>
+            </div>
           </div>
-        </div>
-        <div class="query-item">
-          <div class="lable">日期:</div>
-          <div class="search-input">
-            <el-date-picker size="medium" v-model="form.dateArea" type="datetimerange"
-              :picker-options="pickerOptions" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"
-              @change="(res) => { getDatePickerChange(res); }">
-            </el-date-picker>
+          <div class="query-item">
+            <div class="lable">日期:</div>
+            <div class="search-input">
+              <el-date-picker
+                size="medium"
+                v-model="form.dateArea"
+                type="datetimerange"
+                :picker-options="pickerOptions"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                align="right"
+                @change="
+                  (res) => {
+                    getDatePickerChange(res);
+                  }
+                "
+              >
+              </el-date-picker>
+            </div>
           </div>
-        </div>
-        <div class="query-item">
-          <div class="lable">间隔:</div>
-          <div class="search-input">
-            <el-input placeholder="请输入间隔" clearable v-model="form.interval" type="number"></el-input>
+          <div class="query-item">
+            <div class="lable">间隔:</div>
+            <div class="search-input">
+              <el-input
+                placeholder="请输入间隔"
+                clearable
+                v-model="form.interval"
+                type="number"
+              ></el-input>
+            </div>
           </div>
         </div>
+        <div class="query-actions">
+          <button class="btn green" @click="getDetails">查询</button>
+          <button
+            class="btn green"
+            @click="exportExcel('detailsTableData')"
+            v-if="detailsTableData.data.length"
+          >
+            导出
+          </button>
+          <button
+            class="btn green"
+            @click="renderCharts"
+            v-if="detailsTableData.data.length"
+          >
+            查看折线图
+          </button>
+        </div>
       </div>
-      <div class="query-actions">
-        <button class="btn green" @click="getDetails">查询</button>
-        <button class="btn green" @click="exportExcel('detailsTableData')" v-if="detailsTableData.data.length">导出</button>
-        <button class="btn green" @click="renderCharts" v-if="detailsTableData.data.length">查看折线图</button>
-      </div>
-    </div>
-    <ComTable height="50vh" :data="detailsTableData"></ComTable>
+      <ComTable height="50vh" :data="detailsTableData"></ComTable>
     </el-dialog>
-    <el-dialog title="查看折线图" v-model="chartDialogShow" width="60%" top="10vh" custom-class="modal" :close-on-click-modal="true">
-      <div id="lineChart" style="width:100%;height:500px;"></div>
+    <el-dialog
+      title="查看折线图"
+      v-model="chartDialogShow"
+      width="60%"
+      top="10vh"
+      custom-class="modal"
+      :close-on-click-modal="true"
+    >
+      <div id="lineChart" style="width: 100%; height: 500px"></div>
     </el-dialog>
   </div>
 </template>
@@ -77,12 +154,13 @@
 import CollapseList from "@com/coms/collapse/collapse-list.vue";
 import ComTable from "@com/coms/table/table.vue";
 import * as echarts from "echarts";
+import api from "@api/economic/index.js";
 
 export default {
-  data () {
-    const that=this;
+  data() {
+    const that = this;
     return {
-      menus:[],
+      menus: [],
       tableid: "",
       pointId: "",
       form: {
@@ -90,10 +168,14 @@ export default {
         pointName: "",
         autoReq: false,
         dateArea: [
-          this.fmtDate(new Date(new Date().setTime(new Date().getTime() - 3600 * 1000 * 24))),
-          this.fmtDate(new Date())
+          this.fmtDate(
+            new Date(
+              new Date().setTime(new Date().getTime() - 3600 * 1000 * 24)
+            )
+          ),
+          this.fmtDate(new Date()),
         ],
-        interval: ""
+        interval: "",
       },
       showDialog: false,
       chartDialogShow: false,
@@ -104,35 +186,35 @@ export default {
             field: "index",
             is_num: false,
             is_light: false,
-            sortable: true
+            sortable: true,
           },
           {
             name: "点名",
             field: "pointId",
             is_num: false,
             is_light: false,
-            sortable: true
+            sortable: true,
           },
           {
             name: "描述",
             field: "pointName",
             is_num: false,
             is_light: false,
-            sortable: true
+            sortable: true,
           },
           {
             name: "值",
             field: "value",
             is_num: true,
             is_light: false,
-            sortable: true
+            sortable: true,
           },
           {
             name: "时间戳",
             field: "timeDate",
             is_num: false,
             is_light: false,
-            sortable: true
+            sortable: true,
           },
           {
             name: "操作",
@@ -140,12 +222,12 @@ export default {
             is_num: false,
             is_light: false,
             template() {
-								return "<el-button type='text' style='cursor: pointer;'>详情</el-button>";
-						},
-            click(e, row){
+              return "<el-button type='text' style='cursor: pointer;'>详情</el-button>";
+            },
+            click(e, row) {
               that.goDetails(row);
-            }
-          }
+            },
+          },
         ],
         data: [],
       },
@@ -156,22 +238,22 @@ export default {
             field: "index",
             is_num: false,
             is_light: false,
-            sortable: true
+            sortable: true,
           },
           {
             name: "时间戳",
             field: "timeDate",
             is_num: false,
             is_light: false,
-            sortable: true
+            sortable: true,
           },
           {
             name: "值",
             field: "value",
             is_num: true,
             is_light: false,
-            sortable: true
-          }
+            sortable: true,
+          },
         ],
         data: [],
       },
@@ -182,49 +264,54 @@ export default {
       pagesizereal: 100,
       currentPageTotal: 0,
       pickerOptions: {
-        shortcuts: [{
-          text: '最近一天',
-          onClick (picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24);
-            picker.$emit('pick', [start, end]);
-          }
-        }, {
-          text: '最近一周',
-          onClick (picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-            picker.$emit('pick', [start, end]);
-          }
-        }, {
-          text: '最近一个月',
-          onClick (picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-            picker.$emit('pick', [start, end]);
-          }
-        }, {
-          text: '最近三个月',
-          onClick (picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-            picker.$emit('pick', [start, end]);
-          }
-        }]
+        shortcuts: [
+          {
+            text: "最近一天",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近一周",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近一个月",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近三个月",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+        ],
       },
-    }
+    };
   },
 
-  components:{
+  components: {
     CollapseList,
-    ComTable
+    ComTable,
   },
 
-  mounted () {
+  mounted() {
     let that = this;
     that.$nextTick(() => {
       that.tableid = that.$route.query.tableid || "JSFW";
@@ -233,173 +320,135 @@ export default {
     });
   },
 
-  unmounted () {
+  unmounted() {
     clearInterval(this.autoReqTimmer);
     this.autoReqTimmer = null;
   },
 
   methods: {
-
     // 获取左侧菜单
-    getMenuList(){
-      let that=this;
-      that.API.requestData({
-        method: "GET",
-        baseURL: "http://10.155.32.4:8031/",
-        subUrl: "datacenter/tables",
-        success(res){
-          let JSFW = {
-            text: '计算服务',
-            children: []
-          };
-          let MHS_FDC = {
-            text: "麻黄山",
-            children: []
-          };
-          let NSS_FDC = {
-            text: "牛首山",
-            children: []
-          };
-          let QS_FDC = {
-            text: "青山",
-            children: []
-          };
-          let SBQ_FDC = {
-            text: "石板泉",
-            children: []
-          };
-          let XS_FDC = {
-            text: "香山",
-            children: []
-          };
-          let DWK_GDC = {
-            text: "大武口",
-            children: []
-          };
-          let PL_GDC = {
-            text: "平罗",
-            children: []
-          };
-          let XH_GDC = {
-            text: "宣和",
-            children: []
-          };
-          let MCH_GDC = {
-            text: "马场湖",
-            children: []
-          };
-          res.data.forEach(ele => {
-            ele.text=ele.tablename;
-            if (ele.windpowerstationid === 'MHS_FDC') {
-              MHS_FDC.children.push(ele);
-            } else if (ele.windpowerstationid === 'NSS_FDC') {
-              NSS_FDC.children.push(ele);
-            } else if (ele.windpowerstationid === 'QS_FDC') {
-              QS_FDC.children.push(ele);
-            } else if (ele.windpowerstationid === 'SBQ_FDC') {
-              SBQ_FDC.children.push(ele);
-            } else if (ele.windpowerstationid === 'XS_FDC') {
-              XS_FDC.children.push(ele);
-            } else if (ele.windpowerstationid === 'DWK_GDC') {
-              DWK_GDC.children.push(ele);
-            } else if (ele.windpowerstationid === 'PL_GDC') {
-              PL_GDC.children.push(ele);
-            } else if (ele.windpowerstationid === 'XH_GDC') {
-              XH_GDC.children.push(ele);
-            } else if (ele.windpowerstationid === 'MCH_GDC') {
-              MCH_GDC.children.push(ele);
-            } else {
-              // JSFW.children.push(ele);
-              JSFW = ele;
-            }
-          });
-          that.menus.push(JSFW, MHS_FDC, NSS_FDC, QS_FDC, SBQ_FDC, XS_FDC, DWK_GDC, PL_GDC, XH_GDC, MCH_GDC);
-        }
+    getMenuList() {
+      api.datacenterTables({}).then((res) => {
+        let JSFW = {
+          text: "计算服务",
+          children: [],
+        };
+        let CL_FDC = {
+          text: "崇礼",
+          children: [],
+        };
+        let KB_FDC = {
+          text: "康保",
+          children: [],
+        };
+        let DX_FDC = {
+          text: "代县",
+          children: [],
+        };
+        let SY_FDC = {
+          text: "寿阳",
+          children: [],
+        };
+        res.data.forEach((ele) => {
+          ele.text = ele.tablename;
+          if (ele.windpowerstationid === "CL_FDC") {
+            CL_FDC.children.push(ele);
+          } else if (ele.windpowerstationid === "KB_FDC") {
+            KB_FDC.children.push(ele);
+          } else if (ele.windpowerstationid === "DX_FDC") {
+            DX_FDC.children.push(ele);
+          } else if (ele.windpowerstationid === "SY_FDC") {
+            SY_FDC.children.push(ele);
+          } else {
+            // JSFW.children.push(ele);
+            JSFW = ele;
+          }
+        });
+        this.menus.push(JSFW, CL_FDC, KB_FDC, DX_FDC, SY_FDC);
       });
     },
 
     // 获取表格数据
-    getTableData () {
-      let that=this;
-      that.API.requestData({
-        baseURL:"http://10.155.32.4:8031/",
-        subUrl:"datacenter/realtimeData",
-        method:"GET",
-        data:{
-          tableid:that.tableid,
-          pointId:that.form.pointId,
-          pointName:that.form.pointName || "",
-          pageNum:that.currentPage,
-          pageSize:that.pagesizereal,
-        },
-        success(res){
-          res.data.forEach((ele,index) => {
-            ele.index = (index+1);
-            ele.timeDate = that.fmtDate(new Date(ele.time));
+    getTableData() {
+      api
+        .datacenterRealtimeData({
+          tableid: this.tableid,
+          pointId: this.form.pointId,
+          pointName: this.form.pointName || "",
+          pageNum: this.currentPage,
+          pageSize: this.pagesizereal,
+        })
+        .then((res) => {
+          res.data.forEach((ele, index) => {
+            ele.index = index + 1;
+            ele.timeDate = this.fmtDate(new Date(ele.time));
             if (ele.value > 0) {
               ele.value = parseFloat(ele.value).toFixed(4);
             }
           });
-          that.tableData.data = res.data || [];
-          that.currentPageTotal = res.count || [];
-        }
-      });
+          this.tableData.data = res.data || [];
+          this.currentPageTotal = res.count || [];
+        });
     },
 
     // index渲染函数
-    indexMethod (index) {
+    indexMethod(index) {
       return index + 1;
     },
 
     // 查看详情按钮被点击
-    goDetails (row) {
+    goDetails(row) {
       this.pointId = row.pointId;
       this.getDetails();
     },
 
     // 获取详情
-    getDetails () {
-      let that=this;
+    getDetails() {
+      let that = this;
       if (!that.form.dateArea || !that.form.dateArea.length) {
         that.BASE.showMsg({
-          msg:"请先选择要查询的日期区间后再试"
+          msg: "请先选择要查询的日期区间后再试",
         });
       } else {
-        let begin = (this.form.dateArea.length ? new Date(this.form.dateArea[0]).formatDate("yyyy-MM-dd hh:mm:ss") : '');
-        let end = (this.form.dateArea.length ? new Date(this.form.dateArea[1]).formatDate("yyyy-MM-dd hh:mm:ss") : '');
+        let begin = this.form.dateArea.length
+          ? new Date(this.form.dateArea[0]).formatDate("yyyy-MM-dd hh:mm:ss")
+          : "";
+        let end = this.form.dateArea.length
+          ? new Date(this.form.dateArea[1]).formatDate("yyyy-MM-dd hh:mm:ss")
+          : "";
 
         let data = {
-          pointId:that.pointId || "",
+          pointId: that.pointId || "",
           begin,
           end,
         };
 
-        if(this.form.interval) data.interval = that.form.interval;
-        
-        that.API.requestData({
-          baseURL:"http://10.155.32.4:8031/",
-          subUrl:"datacenter/historyData",
-          method:"GET",
-          data,
-          success(res){
+        if (this.form.interval) data.interval = that.form.interval;
+
+        api
+          .datacenterHistoryData({
+            pointId: this.pointId || "",
+            begin: begin,
+            end: end,
+          })
+          .then((res) => {
             if (res.data.length) {
-              res.data.forEach((ele,index) => {
-                ele.index = (index+1);
-                ele.timeDate = that.fmtDate(new Date(ele.time));
+              res.data.forEach((ele, index) => {
+                ele.index = index + 1;
+                ele.timeDate = this.fmtDate(new Date(ele.time));
                 if (ele.value > 0) {
                   ele.value = parseFloat(ele.value).toFixed(4);
                 }
               });
-              that.detailsTableData.data = res.data || [];
+              this.detailsTableData.data = res.data || [];
             } else {
-              that.BASE.showMsg({
-                type:"warning",
-                msg:"所选日期区间之内暂无数据,请重试"
+              this.BASE.showMsg({
+                type: "warning",
+                msg: "所选日期区间之内暂无数据,请重试",
               });
             }
-            that.showDialog = true;
-          }
-        });
+            this.showDialog = true;
+          });
       }
     },
 
@@ -417,73 +466,72 @@ export default {
     },
 
     // 导出excel
-    exportExcel (tableDataName) {
-      let that = this;
-      if (tableDataName === 'tableData') {
-        let tableid = that.tableid;
-        let pointId = that.form.pointId || '';
-        let pointName = that.form.pointName || '';
-
-        that.API.requestData({
-          baseURL:"http://10.155.32.4:8031/",
-          subUrl:"datacenter/realtimeExport",
-          method:"GET",
-          data:{
-            tableid,
-            pointId,
-            pointName
-          },
-          success(res){
-            const { export_json_to_excel } = require('@tools/excel/Export2Excel.js'); // 注意这个Export2Excel路径      
-            const tHeader = ['点名', '描述']; // 上面设置Excel的表格第一行的标题       
-            const filterVal = ['id', 'name']; // 上面的index、nickName、name是tableData里对象的属性key值   
-            const list = res.data; //把要导出的数据tableData存到list 
-            const data = that.formatJson(filterVal, list);
-            export_json_to_excel(tHeader, data, '导出的Excel'); // 最后一个是表名字
-          }
-        });
+    exportExcel(tableDataName) {
+      // let that = this;
+      if (tableDataName === "tableData") {
+        let tableid = this.tableid;
+        let pointId = this.form.pointId || "";
+        let pointName = this.form.pointName || "";
+        api
+          .datacenterRealtimeExport({
+            tableid: tableid,
+            pointId: pointId,
+            pointName: pointName,
+          })
+          .then((res) => {
+            const {
+              export_json_to_excel,
+            } = require("@tools/excel/Export2Excel.js"); // 注意这个Export2Excel路径
+            const tHeader = ["点名", "描述"]; // 上面设置Excel的表格第一行的标题
+            const filterVal = ["id", "name"]; // 上面的index、nickName、name是tableData里对象的属性key值
+            const list = res.data; //把要导出的数据tableData存到list
+            const data = this.formatJson(filterVal, list);
+            export_json_to_excel(tHeader, data, "导出的Excel"); // 最后一个是表名字
+          });
       } else {
-        const { export_json_to_excel } = require('@tools/excel/Export2Excel.js'); // 注意这个Export2Excel路径      
-        const tHeader = ['点名', '描述', '时间戳', '值']; // 上面设置Excel的表格第一行的标题       
-        const filterVal = ['pointId', 'pointName', 'timeDate', 'value']; // 上面的index、nickName、name是tableData里对象的属性key值   
-        const list = that[tableDataName].data; //把要导出的数据tableData存到list 
-        const data = that.formatJson(filterVal, list);
-        export_json_to_excel(tHeader, data, '导出的Excel'); // 最后一个是表名字
+        const {
+          export_json_to_excel,
+        } = require("@tools/excel/Export2Excel.js"); // 注意这个Export2Excel路径
+        const tHeader = ["点名", "描述", "时间戳", "值"]; // 上面设置Excel的表格第一行的标题
+        const filterVal = ["pointId", "pointName", "timeDate", "value"]; // 上面的index、nickName、name是tableData里对象的属性key值
+        const list = this[tableDataName].data; //把要导出的数据tableData存到list
+        const data = this.formatJson(filterVal, list);
+        export_json_to_excel(tHeader, data, "导出的Excel"); // 最后一个是表名字
       }
     },
 
-    formatJson (filterVal, jsonData) {
-      return jsonData.map(v => filterVal.map(j => v[j]));
+    formatJson(filterVal, jsonData) {
+      return jsonData.map((v) => filterVal.map((j) => v[j]));
     },
 
     // 刷新开关
-    reReqAjax () {
+    reReqAjax() {
       clearInterval(this.autoReqTimmer);
       this.autoReqTimmer = null;
       if (this.form.autoReq) {
         this.BASE.showMsg({
-          type:"success",
-          msg:"已开启自动刷新数据,每间隔 1 秒自动刷新一次数据"
+          type: "success",
+          msg: "已开启自动刷新数据,每间隔 1 秒自动刷新一次数据",
         });
         this.autoReqTimmer = setInterval(() => {
           this.getTableData(true);
         }, 1000);
       } else {
         this.BASE.showMsg({
-          type:"warning",
-          msg:"已关闭自动刷新数据"
+          type: "warning",
+          msg: "已关闭自动刷新数据",
         });
       }
     },
 
     // 分页器每页数量修改
-    getPaginationSize (value) {
+    getPaginationSize(value) {
       this.currentPageSize = value;
       this.getDetails();
     },
 
     // 分页器页数修改
-    getPaginationCurrent (value) {
+    getPaginationCurrent(value) {
       this.currentPage = value;
       this.getTableData();
     },
@@ -493,56 +541,59 @@ export default {
     },
 
     // 获取选中的时间
-    getDatePickerChange (value) {
+    getDatePickerChange(value) {
       this.detailsTableData.data = [];
     },
 
     // 渲染折线图
-    renderCharts () {
+    renderCharts() {
       this.chartDialogShow = true;
       this.$nextTick(() => {
-
         let xAxisData = [];
         let seriesData = [];
 
-        this.detailsTableData.data.forEach(ele => {
+        this.detailsTableData.data.forEach((ele) => {
           xAxisData.push(ele.timeDate);
           seriesData.push(ele.value);
         });
-        document.getElementById("lineChart").removeAttribute("_echarts_instance_");
-        let chartDom = document.getElementById('lineChart');
+        document
+          .getElementById("lineChart")
+          .removeAttribute("_echarts_instance_");
+        let chartDom = document.getElementById("lineChart");
         let myChart = echarts.init(chartDom);
 
         let option = {
           xAxis: {
-            type: 'category',
-            data: xAxisData
+            type: "category",
+            data: xAxisData,
           },
           yAxis: {
-            type: 'value'
+            type: "value",
           },
-          series: [{
-            data: seriesData,
-            type: 'line',
-            smooth: true,
-            name: "值"
-          }],
+          series: [
+            {
+              data: seriesData,
+              type: "line",
+              smooth: true,
+              name: "值",
+            },
+          ],
           tooltip: {
-            trigger: 'axis',
+            trigger: "axis",
             axisPointer: {
-              type: 'cross',
+              type: "cross",
               label: {
-                backgroundColor: '#6a7985'
-              }
-            }
-          }
+                backgroundColor: "#6a7985",
+              },
+            },
+          },
         };
         option && myChart.setOption(option);
       });
     },
 
     // 格式化日期
-    fmtDate (date) {
+    fmtDate(date) {
       let curDate = date || new Date();
       let year = curDate.getFullYear();
       let mouth = curDate.getUTCMonth() + 1;
@@ -550,16 +601,28 @@ export default {
       let hour = curDate.getHours();
       let minutes = curDate.getMinutes();
       let seconds = curDate.getSeconds();
-      return year + '-' + (mouth < 10 ? '0' + mouth : mouth) + '-' + (day < 10 ? '0' + day : day) + ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);
+      return (
+        year +
+        "-" +
+        (mouth < 10 ? "0" + mouth : mouth) +
+        "-" +
+        (day < 10 ? "0" + day : day) +
+        " " +
+        (hour < 10 ? "0" + hour : hour) +
+        ":" +
+        (minutes < 10 ? "0" + minutes : minutes) +
+        ":" +
+        (seconds < 10 ? "0" + seconds : seconds)
+      );
     },
 
     // 点击左侧菜单
-    clickMenu(item){
+    clickMenu(item) {
       this.tableid = item.tableid;
       this.getTableData();
-    }
-  }
-}
+    },
+  },
+};
 </script>
   
 <style lang="less" scoped>
@@ -597,27 +660,27 @@ export default {
 }
 
 .df-table {
-    border: 0.093vh solid fade(@darkgray, 50%);
-    position: relative;
-    overflow: auto;
-    width:calc(100% - 220px);
-    height: 87vh;
-    margin-left:20px;
-
-    &:before {
-      content: "";
-      width: 0.37vh;
-      height: 0.37vh;
-      background: @write;
-      position: absolute;
-      left: 0.278vh;
-      top: 0.278vh;
-    }
-
-    tbody {
-      height: calc(100vh - 166px);
-    }
+  border: 0.093vh solid fade(@darkgray, 50%);
+  position: relative;
+  overflow: auto;
+  width: calc(100% - 220px);
+  height: 87vh;
+  margin-left: 20px;
+
+  &:before {
+    content: "";
+    width: 0.37vh;
+    height: 0.37vh;
+    background: @write;
+    position: absolute;
+    left: 0.278vh;
+    top: 0.278vh;
   }
+
+  tbody {
+    height: calc(100vh - 166px);
+  }
+}
 </style>
 <style lang="less">
 .tableBox {
@@ -630,7 +693,7 @@ export default {
   display: flex;
   justify-content: start;
   align-items: flex-start;
-  width:100%;
+  width: 100%;
 
   .el-dialog__body {
     padding: 10px 20px;