Selaa lähdekoodia

修改场内对标页面接口,完善设备对标页面功能

baiyanting 2 vuotta sitten
vanhempi
commit
7bb284f399

+ 86 - 77
src/api/performance.js

@@ -1,136 +1,145 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
 
 //获取场站
 export function getStation(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/wpByCplist?companyids=${data.companyids}&type=${data.type || '-1'}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/wpByCplist?companyids=${data.companyids}&type=${
+      data.type || "-1"
+    }`,
+    method: "get",
+  });
 }
 
 //获取项目
 export function getProject(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/pjByWplist?wpids=${data.wpids}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/pjByWplist?wpids=${data.wpids}`,
+    method: "get",
+  });
 }
 
 //获取线路
 export function getLine(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/lnByPjlist?pjids=${data.pjids}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/lnByPjlist?pjids=${data.pjids}`,
+    method: "get",
+  });
 }
 
 //风机绩效榜
 export function performance(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/performance?companyid=${data.companyid}&getype=${data.getype}&sttype=${data.sttype}&beginDate=${data.beginDate}&endDate=${data.endDate}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&target=${data.target}&sort=${data.sort}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/performance?companyid=${data.companyid}&getype=${data.getype}&sttype=${data.sttype}&beginDate=${data.beginDate}&endDate=${data.endDate}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&target=${data.target}&sort=${data.sort}`,
+    method: "get",
+  });
 }
 
 //风机绩效榜明细
 export function performanceMX(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/performanceMX?companyid=${data.companyid}&getype=${data.getype}&sttype=${data.sttype}&beginDate=${data.beginDate}&endDate=${data.endDate}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&target=${data.target}&sort=${data.sort}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/performanceMX?companyid=${data.companyid}&getype=${data.getype}&sttype=${data.sttype}&beginDate=${data.beginDate}&endDate=${data.endDate}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&target=${data.target}&sort=${data.sort}`,
+    method: "get",
+  });
 }
 
 //场际对标
 export function cjdb(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/cjdb?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/cjdb?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
+    method: "get",
+  });
 }
 
 //对标详情
 export function details(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/details?id=${data.id}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/details?id=${data.id}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
+    method: "get",
+  });
 }
 
 //场际对标
 export function cndb(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/cndb?companys=${data.companys}&type=${data.type}&wpid=${data.wpids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/cndb?companys=${data.companys}&type=${data.type}&wpid=${data.wpids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
+    method: "get",
+  });
 }
 
 //项目对标
 export function xmdb(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/xmdb?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&projectids=${data.projectids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/xmdb?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&projectids=${data.projectids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
+    method: "get",
+  });
 }
 
 //线路对标
 export function xldb(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/xldb?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/xldb?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
+    method: "get",
+  });
 }
 
 //五项损失率
 export function wxssl(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/wxssl?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/wxssl?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
+    method: "get",
+  });
 }
 
 //同环比
 export function thb(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/benchmarking/cndbthb?companys=${data.companys}&type=${data.type}&wpid=${data.wpids}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/benchmarking/cndbthb?companys=${data.companys}&type=${data.type}&wpid=${data.wpids}`,
+    method: "get",
+  });
 }
 
 //值际对标
 export function zjdb(data) {
-    return request({
-        baseURL: process.env.VUE_APP_Economy,
-        url: `/pro-econ-benchmarking-between/zjwxssl?beginDate=${data.beginDate}&endDate=${data.endDate}`,
-        method: 'get',
-    })
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `/pro-econ-benchmarking-between/zjwxssl?beginDate=${data.beginDate}&endDate=${data.endDate}`,
+    method: "get",
+  });
 }
 //公司对标
 export function gsdb(data) {
-    return request({
-      baseURL: process.env.VUE_APP_Economy,
-      url: `benchmarking/gsdb?companys=${data.companys}&type=${data.type}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
-      method: "get",
-    });
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `benchmarking/gsdb?companys=${data.companys}&type=${data.type}&beginDate=${data.beginDate}&endDate=${data.endDate}&target=${data.target}&sort=${data.sort}`,
+    method: "get",
+  });
 }
 
 //阵区对标
 export function zqdb(data) {
-    return request({
-      baseURL: process.env.VUE_APP_Economy,
-      url: `benchmarking/zqdb?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&squareids=${data.squareids}&beginDate=${data.beginDate}&endDate=${data.endDate}`,
-      method: "get",
-    });
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `benchmarking/zqdb?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&squareids=${data.squareids}&beginDate=${data.beginDate}&endDate=${data.endDate}`,
+    method: "get",
+  });
+}
+//设备对标
+export function sbdb(data) {
+  return request({
+    baseURL: process.env.VUE_APP_Economy,
+    url: `benchmarking/sbdb?companys=${data.companys}&type=${data.type}&wpids=${data.wpids}&projectids=${data.projectids}&lineids=${data.lineids}&squareids=${data.squareids}&windturbineids=${data.windturbineids}&beginDate=${data.beginDate}&endDate=${data.endDate}`,
+    method: "get",
+  });
 }
-

+ 209 - 145
src/views/layout/economicsOperation/benchmarkingManagement/machineBenchmarking/index.vue

@@ -1,132 +1,158 @@
 <template>
   <div class="parcel-box">
     <div class="title">
-      <el-select
-        size="mini"
-        :disabled="displayDetail"
-        v-model="tabIndex"
-        placeholder="请选择"
-        @change="tabClick"
-      >
-        <el-option
-          v-for="item in tabOptions"
-          :key="item.id"
-          :label="item.name"
-          :value="item.id"
-        >
-        </el-option>
-      </el-select>
-      <el-select
-        size="mini"
-        :disabled="displayDetail"
-        v-model="company"
-        placeholder="请选择"
-        @change="handleCompanyChange(company)"
-      >
-        <el-option
-          v-for="item in companyOptions"
-          :key="item.id"
-          :label="item.aname"
-          :value="item.id"
-        >
-        </el-option>
-      </el-select>
-      <el-select
-        size="mini"
-        :disabled="displayDetail"
-        v-model="stationObj"
-        multiple
-        collapse-tags
-        placeholder="请选择"
-        @change="handleStationChange(stationObj)"
-        clearable
-      >
-        <el-option
-          v-for="item in stationList"
-          :key="item.id"
-          :label="item.aname"
-          :value="item.id"
-        >
-        </el-option>
-      </el-select>
-      <el-select
-        size="mini"
-        v-model="projectObj"
-        placeholder="请选择"
-        multiple
-        collapse-tags
-        @change="handleProjectChange(projectObj)"
-        clearable
-      >
-        <el-option
-          v-for="item in projectList"
-          :key="item.id"
-          :label="item.aname"
-          :value="item.id"
-        >
-        </el-option>
-      </el-select>
-      <el-select
-        size="mini"
-        v-model="lineObj"
-        placeholder="请选择"
-        multiple
-        collapse-tags
-        @change="handleLineChange(lineObj)"
-        clearable
-      >
-        <el-option
-          v-for="item in lineList"
-          :key="item.id"
-          :label="item.aname"
-          :value="item.id"
-        >
-        </el-option>
-      </el-select>
-      <el-select
-        size="mini"
-        v-model="wtIds"
-        placeholder="请选择"
-        multiple
-        collapse-tags
-        @change="handleWtChange(wtIds)"
-        clearable
-      >
-        <el-option
-          v-for="item in wtList"
-          :key="item.id"
-          :label="item.aname"
-          :value="item.id"
-        >
-        </el-option>
-      </el-select>
-
-      <div class="station">
-        开始日期
-        <div class="search-input">
-          <el-date-picker
-            v-model="starTime"
+      <div class="machine-form">
+        <div class="machine-select">
+          <el-select
+            size="mini"
             :disabled="displayDetail"
-            type="date"
-            value-format="YYYY-MM-DD"
-            placeholder="选择日期"
-            popper-class="date-select"
+            v-model="tabIndex"
+            placeholder="请选择"
+            @change="tabClick"
           >
-          </el-date-picker>
-        </div>
-      </div>
-      <div class="station">
-        结束日期
-        <div class="search-input">
-          <el-date-picker
-            v-model="endTime"
+            <el-option
+              v-for="item in tabOptions"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+          <el-select
+            size="mini"
+            :disabled="displayDetail"
+            v-model="company"
+            placeholder="请选择"
+            @change="handleCompanyChange(company)"
+          >
+            <el-option
+              v-for="item in companyOptions"
+              :key="item.id"
+              :label="item.aname"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+          <el-select
+            size="mini"
+            :disabled="displayDetail"
+            v-model="stationObj"
+            multiple
+            collapse-tags
+            placeholder="请选择"
+            @change="handleStationChange(stationObj)"
+            clearable
+          >
+            <el-option
+              v-for="item in stationList"
+              :key="item.id"
+              :label="item.aname"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+          <el-select
+            size="mini"
+            v-model="projectObj"
+            :disabled="displayDetail"
+            placeholder="请选择"
+            multiple
+            collapse-tags
+            @change="handleProjectChange(projectObj)"
+            clearable
+          >
+            <el-option
+              v-for="item in projectList"
+              :key="item.id"
+              :label="item.aname"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+          <el-select
+            size="mini"
+            v-model="lineObj"
+            :disabled="displayDetail"
+            placeholder="请选择"
+            multiple
+            collapse-tags
+            @change="handleLineChange(lineObj)"
+            clearable
+          >
+            <el-option
+              v-for="item in lineList"
+              :key="item.id"
+              :label="item.aname"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+          <el-select
+            size="mini"
+            :disabled="displayDetail"
+            v-model="squareObj"
+            placeholder="请选择"
+            multiple
+            collapse-tags
+            @change="handleSquareChange(squareObj)"
+            clearable
+          >
+            <el-option
+              v-for="item in squareList"
+              :key="item.id"
+              :label="item.aname"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+          <el-select
+            v-model="windturbineids"
             :disabled="displayDetail"
-            type="date"
-            value-format="YYYY-MM-DD"
-            placeholder="选择日期"
-            popper-class="date-select"
+            placeholder="请选择"
+            size="mini"
+            clearable
+            multiple
+            collapse-tags
+            @change="handleWtidsChange(windturbineids)"
           >
-          </el-date-picker>
+            <el-option
+              v-for="(item, index) in wtList"
+              :key="index"
+              :label="item.aname"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+        </div>
+        <div class="machine-date">
+          <div class="station">
+            开始日期
+            <div class="search-input">
+              <el-date-picker
+                v-model="starTime"
+                :disabled="displayDetail"
+                type="date"
+                value-format="YYYY-MM-DD"
+                placeholder="选择日期"
+                popper-class="date-select"
+              >
+              </el-date-picker>
+            </div>
+          </div>
+          <div class="station">
+            结束日期
+            <div class="search-input">
+              <el-date-picker
+                v-model="endTime"
+                :disabled="displayDetail"
+                type="date"
+                value-format="YYYY-MM-DD"
+                placeholder="选择日期"
+                popper-class="date-select"
+              >
+              </el-date-picker>
+            </div>
+          </div>
         </div>
       </div>
       <div class="but">
@@ -135,7 +161,7 @@
           size="mini"
           :disabled="displayDetail"
           class="buttons"
-          @click="gerZqdb"
+          @click="gerSbdb"
           >搜索</el-button
         >
         <el-button
@@ -606,9 +632,10 @@ import {
   GetStationByCompany,
   GetProjectList,
   GetLineList,
+  GetSquareList,
   GeWtList,
 } from "@/api/headerNav.js";
-import { getStation, zqdb, details } from "@/api/performance";
+import { getStation, sbdb, details } from "@/api/performance";
 import PieChart from "../../homePage/components/pieChart.vue";
 import BarCharts from "../../homePage/components/barCharts.vue";
 import dayinfo from "../compontent/dayinfo.vue";
@@ -629,7 +656,9 @@ export default {
       projectList: [],
       lineObj: [],
       lineList: [],
-      wtIds: [],
+      squareObj: [],
+      squareList: [],
+      windturbineids: [],
       wtList: [],
       starTime: "",
       endTime: "",
@@ -692,7 +721,7 @@ export default {
       this.stationObj = [];
       this.projectObj = [];
       this.initialization();
-      //   this.gerZqdb();
+      //   this.gerSbdb();
       //   this.initialization()
     },
     initialization() {
@@ -712,7 +741,7 @@ export default {
         if (res.data.length) {
           this.stationObj = [res.data[0].id];
           this.stationList = res.data;
-          this.gerZqdb();
+          this.gerSbdb();
           this.getProject(this.stationObj);
         } else {
           this.stationList = [];
@@ -726,7 +755,7 @@ export default {
         } else {
           this.projectList = [];
         }
-        this.gerZqdb();
+        this.gerSbdb();
       });
     },
     getLineList(projectids) {
@@ -736,28 +765,41 @@ export default {
         } else {
           this.lineList = [];
         }
-        this.gerZqdb();
+        this.gerSbdb();
       });
     },
-    getWtList(lineids) {
-      GeWtList(lineids.join(",")).then((res) => {
+    getSquareList(lineids) {
+      GetSquareList(lineids.join(",")).then((res) => {
         if (res.data.length) {
-          this.projectList = res.data;
+          this.squareList = res.data;
         } else {
-          this.projectList = [];
+          this.squareList = [];
         }
-        this.gerZqdb();
+        this.gerSbdb();
+      });
+    },
+    getWtList(squareids) {
+      GeWtList(squareids.join(",")).then((res) => {
+        if (res.data.length) {
+          this.wtList = res.data;
+        } else {
+          this.wtList = [];
+        }
+        this.gerSbdb();
       });
     },
 
-    gerZqdb() {
-      zqdb({
+    gerSbdb() {
+      sbdb({
         companys: this.company,
         type: this.tabIndex,
         wpids: this.stationObj.join(","),
         projectids: this.projectObj.length ? this.projectObj.join(",") : "",
         lineids: this.lineObj.length ? this.lineObj.join(",") : "",
-        squareids: this.wtIds.length ? this.wtIds.join(",") : "",
+        squareids: this.squareObj.length ? this.squareObj.join(",") : "",
+        windturbineids: this.windturbineids.length
+          ? this.windturbineids.join(",")
+          : "",
         beginDate: this.starTime,
         endDate: this.endTime,
         target: "",
@@ -812,30 +854,34 @@ export default {
       this.stationObj = [];
       this.projectObj = [];
       this.lineObj = [];
-      this.wtIds = [];
+      this.squareObj = [];
       this.getStation(val);
     },
     handleStationChange(val) {
       this.stationObj = val;
       this.projectObj = [];
       this.lineObj = [];
-      this.wtIds = [];
-      this.getProject();
+      this.squareObj = [];
+      this.getProject(val);
     },
     handleProjectChange(val) {
       this.projectObj = val;
       this.lineObj = [];
-      this.wtIds = [];
+      this.squareObj = [];
       this.getLineList(val);
     },
     handleLineChange(val) {
       this.lineObj = val;
-      this.wtIds = [];
+      this.squareObj = [];
+      this.getSquareList(val);
+    },
+    handleSquareChange(val) {
+      this.squareObj = val;
       this.getWtList(val);
     },
-    handleWtChange(val) {
-      this.wtIds = val;
-      this.gerZqdb();
+    handleWtidsChange(val) {
+      this.windturbineids = val;
+      this.gerSbdb();
     },
     handleCurrentChange(val) {
       if (val.length > 5) {
@@ -1071,6 +1117,24 @@ export default {
 <style lang="less" scoped>
 .parcel-box {
   padding: 0 15px;
+  ::v-deep .machine-form {
+    display: flex;
+    .machine-select {
+      display: flex;
+      align-items: center;
+      margin-right: 20px;
+      .el-select {
+        width: 155px;
+        .el-input .el-input__inner {
+          width: 150px;
+        }
+      }
+    }
+    .machine-date {
+      display: flex;
+      align-items: center;
+    }
+  }
 }
 
 .title {

+ 7 - 5
src/views/layout/economicsOperation/benchmarkingManagement/siteBenchmarking/index.vue

@@ -48,7 +48,7 @@
         </el-option>
       </el-select>
 
-      <div class="station">
+      <div class="station" v-show="!displayDetail">
         开始日期
         <div class="search-input">
           <el-date-picker
@@ -62,7 +62,7 @@
           </el-date-picker>
         </div>
       </div>
-      <div class="station">
+      <div class="station" v-show="!displayDetail">
         结束日期
         <div class="search-input">
           <el-date-picker
@@ -78,6 +78,7 @@
       </div>
       <div class="but">
         <el-button
+          v-show="!displayDetail"
           round
           size="mini"
           class="buttons"
@@ -1019,10 +1020,11 @@ export default {
     },
     goDetail(row) {
       this.displayDetail = true;
+      console.log(row);
       details({
-        id: row.id,
-        beginDate: this.starTime,
-        endDate: this.endTime,
+        id: this.stationObj,
+        beginDate: row.date,
+        endDate: row.date,
         target: "",
         sort: "",
       }).then((res) => {