|
@@ -9,8 +9,19 @@
|
|
|
<div class="query-item">
|
|
|
<div class="lable">风场:</div>
|
|
|
<div class="search-input">
|
|
|
- <el-select v-model="value1" clearable placeholder="请选择风场" popper-class="select" @change="wpselect">
|
|
|
- <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id">
|
|
|
+ <el-select
|
|
|
+ v-model="value1"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择风场"
|
|
|
+ popper-class="select"
|
|
|
+ @change="wpselect"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
@@ -18,8 +29,19 @@
|
|
|
<div class="query-item">
|
|
|
<div class="lable">风机:</div>
|
|
|
<div class="search-input">
|
|
|
- <el-select v-model="value2" clearable placeholder="请选择风机" popper-class="select" @change="wtselect">
|
|
|
- <el-option v-for="item in options1" :key="item.id" :label="item.name" :value="item.id">
|
|
|
+ <el-select
|
|
|
+ v-model="value2"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择风机"
|
|
|
+ popper-class="select"
|
|
|
+ @change="wtselect"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options1"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.nemCode"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
@@ -39,14 +61,44 @@
|
|
|
<SvgIcon svgid="svg-wind-site"></SvgIcon>
|
|
|
</span>
|
|
|
<div class="fan-code">
|
|
|
- <div class="fan-code-text font-md green">{{value2}}</div>
|
|
|
- <div class="fan-code-label font-md gray-l" style="margin-left:20px">高频:</div>
|
|
|
- <div class="fan-code-value font-md green">{{stoptypemap && stoptypemap.top1type}}</div>
|
|
|
- <div class="fan-code-label font-md gray-l" style="margin-left:100px">中频:</div>
|
|
|
- <div class="fan-code-value font-md green">{{stoptypemap && stoptypemap.top2type}}</div>
|
|
|
- <div class="fan-code-label font-md gray-l" style="margin-left:65px">低频:</div>
|
|
|
- <div class="fan-code-value font-md green">{{stoptypemap && (stoptypemap.top3type ==
|
|
|
- 'null'?'暂无数据':stoptypemap.top3type)}}</div>
|
|
|
+ <div
|
|
|
+ :style="`color:${getWpStateColor()}`"
|
|
|
+ class="fan-code-text font-md green"
|
|
|
+ >
|
|
|
+ {{ getWpName(value2) }}
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="fan-code-label font-md gray-l"
|
|
|
+ style="margin-left: 20px"
|
|
|
+ >
|
|
|
+ 高频:
|
|
|
+ </div>
|
|
|
+ <div class="fan-code-value font-md green">
|
|
|
+ {{ stoptypemap && stoptypemap.top1type }}
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="fan-code-label font-md gray-l"
|
|
|
+ style="margin-left: 100px"
|
|
|
+ >
|
|
|
+ 中频:
|
|
|
+ </div>
|
|
|
+ <div class="fan-code-value font-md green">
|
|
|
+ {{ stoptypemap && stoptypemap.top2type }}
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="fan-code-label font-md gray-l"
|
|
|
+ style="margin-left: 65px"
|
|
|
+ >
|
|
|
+ 低频:
|
|
|
+ </div>
|
|
|
+ <div class="fan-code-value font-md green">
|
|
|
+ {{
|
|
|
+ stoptypemap &&
|
|
|
+ (stoptypemap.top3type == "null"
|
|
|
+ ? "暂无数据"
|
|
|
+ : stoptypemap.top3type)
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<!-- <span class="svg-icon svg-icon-white svg-icon-md mg-l-16">
|
|
|
<SvgIcon svgid="svg-wind-site"></SvgIcon>
|
|
@@ -64,7 +116,11 @@
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24" style="text-align: center">
|
|
|
- <StandAloneImg class="sai" :activeIndex="activeIndex" @selectSvg="selectSvg"></StandAloneImg>
|
|
|
+ <StandAloneImg
|
|
|
+ class="sai"
|
|
|
+ :activeIndex="activeIndex"
|
|
|
+ @selectSvg="selectSvg"
|
|
|
+ ></StandAloneImg>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
@@ -75,44 +131,80 @@
|
|
|
<el-col :span="6"></el-col>
|
|
|
<el-col :span="6"></el-col>
|
|
|
<el-col :span="6">
|
|
|
- <progress-bar title="风机" name="风机健康度" :progress='stoptypemap && stoptypemap.wtscore'
|
|
|
- :color="stoptypemap &&color('05bb4c')"></progress-bar>
|
|
|
+ <progress-bar
|
|
|
+ title="风机"
|
|
|
+ name="风机健康度"
|
|
|
+ :progress="stoptypemap && stoptypemap.wtscore"
|
|
|
+ :color="stoptypemap && color('05bb4c')"
|
|
|
+ ></progress-bar>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="6" class="mg-t-16">
|
|
|
- <progress-bar title="发电机" name="寿命指数" :progress='partmap && partmap.fdj.smsyl'
|
|
|
- :color="partmap &&color(partmap.fdj.jkzt)"></progress-bar>
|
|
|
+ <progress-bar
|
|
|
+ title="发电机"
|
|
|
+ name="寿命指数"
|
|
|
+ :progress="partmap && partmap.fdj.smsyl"
|
|
|
+ :color="partmap && color(partmap.fdj.jkzt)"
|
|
|
+ ></progress-bar>
|
|
|
</el-col>
|
|
|
<el-col :span="6" class="mg-t-16">
|
|
|
- <progress-bar title="齿轮箱" name="寿命指数" :progress='partmap &&partmap.clx.smsyl'
|
|
|
- :color="partmap &&color(partmap.clx.jkzt)"></progress-bar>
|
|
|
+ <progress-bar
|
|
|
+ title="齿轮箱"
|
|
|
+ name="寿命指数"
|
|
|
+ :progress="partmap && partmap.clx.smsyl"
|
|
|
+ :color="partmap && color(partmap.clx.jkzt)"
|
|
|
+ ></progress-bar>
|
|
|
</el-col>
|
|
|
<el-col :span="6" class="mg-t-16">
|
|
|
- <progress-bar title="主轴" name="寿命指数" :progress='partmap &&partmap.zz.smsyl'
|
|
|
- :color="partmap &&color(partmap.zz.jkzt)"></progress-bar>
|
|
|
+ <progress-bar
|
|
|
+ title="主轴"
|
|
|
+ name="寿命指数"
|
|
|
+ :progress="partmap && partmap.zz.smsyl"
|
|
|
+ :color="partmap && color(partmap.zz.jkzt)"
|
|
|
+ ></progress-bar>
|
|
|
</el-col>
|
|
|
<el-col :span="6" class="mg-t-16">
|
|
|
- <progress-bar title="变桨" name="寿命指数" :progress='partmap &&partmap.bj.smsyl'
|
|
|
- :color="partmap &&color(partmap.bj.jkzt)"></progress-bar>
|
|
|
+ <progress-bar
|
|
|
+ title="变桨"
|
|
|
+ name="寿命指数"
|
|
|
+ :progress="partmap && partmap.bj.smsyl"
|
|
|
+ :color="partmap && color(partmap.bj.jkzt)"
|
|
|
+ ></progress-bar>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="6" class="mg-t-16">
|
|
|
- <progress-bar title="偏航" name="寿命指数" :progress='partmap &&partmap.ph.smsyl'
|
|
|
- :color="partmap &&color(partmap.ph.jkzt)"></progress-bar>
|
|
|
+ <progress-bar
|
|
|
+ title="偏航"
|
|
|
+ name="寿命指数"
|
|
|
+ :progress="partmap && partmap.ph.smsyl"
|
|
|
+ :color="partmap && color(partmap.ph.jkzt)"
|
|
|
+ ></progress-bar>
|
|
|
</el-col>
|
|
|
<el-col :span="6" class="mg-t-16">
|
|
|
- <progress-bar title="机舱" name="寿命指数" :progress='partmap &&partmap.jc.smsyl'
|
|
|
- :color="partmap &&color(partmap.jc.jkzt)"></progress-bar>
|
|
|
+ <progress-bar
|
|
|
+ title="机舱"
|
|
|
+ name="寿命指数"
|
|
|
+ :progress="partmap && partmap.jc.smsyl"
|
|
|
+ :color="partmap && color(partmap.jc.jkzt)"
|
|
|
+ ></progress-bar>
|
|
|
</el-col>
|
|
|
<el-col :span="6" class="mg-t-16">
|
|
|
- <progress-bar title="变频器" name="寿命指数" :progress='partmap &&partmap.bpq.smsyl'
|
|
|
- :color="partmap &&color(partmap.bpq.jkzt)"></progress-bar>
|
|
|
+ <progress-bar
|
|
|
+ title="变频器"
|
|
|
+ name="寿命指数"
|
|
|
+ :progress="partmap && partmap.bpq.smsyl"
|
|
|
+ :color="partmap && color(partmap.bpq.jkzt)"
|
|
|
+ ></progress-bar>
|
|
|
</el-col>
|
|
|
<el-col :span="6" class="mg-t-16">
|
|
|
- <progress-bar title="主控" name="寿命指数" :progress='partmap &&partmap.zk.smsyl'
|
|
|
- :color="partmap &&color(partmap.zk.jkzt)"></progress-bar>
|
|
|
+ <progress-bar
|
|
|
+ title="主控"
|
|
|
+ name="寿命指数"
|
|
|
+ :progress="partmap && partmap.zk.smsyl"
|
|
|
+ :color="partmap && color(partmap.zk.jkzt)"
|
|
|
+ ></progress-bar>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
@@ -183,7 +275,12 @@
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <health-report :show="reportshow" :params="reportparams" ref="eport" @closed="closed" />
|
|
|
+ <health-report
|
|
|
+ :show="reportshow"
|
|
|
+ :params="reportparams"
|
|
|
+ ref="eport"
|
|
|
+ @closed="closed"
|
|
|
+ />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -192,15 +289,16 @@ import SvgIcon from "@com/coms/icon/svg-icon.vue";
|
|
|
import StandAloneImg from "@/views/WindSite/pages/Info/StandAloneImg.vue";
|
|
|
import ProgressBar from "@com/coms/progress-bar/progress-bar.vue";
|
|
|
import Table from "../../components/coms/table/table.vue";
|
|
|
-import HealthReport from "../../components/other/healthReport/index.vue"
|
|
|
+import HealthReport from "../../components/other/healthReport/index.vue";
|
|
|
+import axios from "axios";
|
|
|
export default {
|
|
|
- setup() { },
|
|
|
+ setup() {},
|
|
|
components: {
|
|
|
SvgIcon,
|
|
|
StandAloneImg,
|
|
|
ProgressBar,
|
|
|
Table,
|
|
|
- HealthReport
|
|
|
+ HealthReport,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -208,16 +306,16 @@ export default {
|
|
|
reportparams: undefined,
|
|
|
bsxImg: require("@assets/png/bsx.png"),
|
|
|
options: [],
|
|
|
- wtid: '',
|
|
|
- wpid: '',
|
|
|
+ wtid: "",
|
|
|
+ wpid: "",
|
|
|
options1: [],
|
|
|
value1: [],
|
|
|
value2: [],
|
|
|
colorval: {
|
|
|
- '1.0': 'green',
|
|
|
- '2.0': 'purple',
|
|
|
- '3.0': 'orange',
|
|
|
- '4.0': 'red',
|
|
|
+ "1.0": "green",
|
|
|
+ "2.0": "purple",
|
|
|
+ "3.0": "orange",
|
|
|
+ "4.0": "red",
|
|
|
},
|
|
|
activeIndex: -1,
|
|
|
gztableData: {
|
|
@@ -273,8 +371,7 @@ export default {
|
|
|
is_light: false,
|
|
|
},
|
|
|
],
|
|
|
- data: [
|
|
|
- ],
|
|
|
+ data: [],
|
|
|
},
|
|
|
yjtableData: {
|
|
|
column: [
|
|
@@ -329,8 +426,7 @@ export default {
|
|
|
is_light: false,
|
|
|
},
|
|
|
],
|
|
|
- data: [
|
|
|
- ],
|
|
|
+ data: [],
|
|
|
},
|
|
|
yxtableData: {
|
|
|
column: [
|
|
@@ -448,7 +544,7 @@ export default {
|
|
|
is_light: false,
|
|
|
},
|
|
|
{
|
|
|
- name: "得分",
|
|
|
+ name: "排名",
|
|
|
field: "topnum",
|
|
|
is_num: false,
|
|
|
is_light: false,
|
|
@@ -678,48 +774,57 @@ export default {
|
|
|
created() {
|
|
|
this.wtid = this.$route.params.wtId;
|
|
|
this.wpid = this.$route.params.wpId;
|
|
|
- this.search()
|
|
|
+ this.search();
|
|
|
},
|
|
|
methods: {
|
|
|
// 查看健康报告
|
|
|
onClickReport() {
|
|
|
// console.log(this.value2,new Date(new Date()).formatDate("yyyy-MM-dd"))
|
|
|
|
|
|
- this.reportshow = true
|
|
|
+ this.reportshow = true;
|
|
|
// this.reportparams = {wtId: this.value2, recorddate: new Date(new Date()).formatDate("yyyy-MM-dd")}
|
|
|
- this.$refs.eport.getReport(this.value2, new Date(new Date()).formatDate("yyyy-MM-dd"));
|
|
|
+ this.$refs.eport.getReport(
|
|
|
+ this.value2,
|
|
|
+ new Date(new Date()).formatDate("yyyy-MM-dd")
|
|
|
+ );
|
|
|
},
|
|
|
// 关闭健康报告
|
|
|
closed() {
|
|
|
- this.reportshow = false
|
|
|
+ this.reportshow = false;
|
|
|
},
|
|
|
color(val) {
|
|
|
- return this.colorval[val]
|
|
|
+ return this.colorval[val];
|
|
|
},
|
|
|
wpselect() {
|
|
|
- this.searchWindturbine('select')
|
|
|
+ this.searchWindturbine("select");
|
|
|
},
|
|
|
wtselect() {
|
|
|
- this.searchWtHealthInfo()
|
|
|
+ this.searchWtHealthInfo();
|
|
|
},
|
|
|
- async search() {
|
|
|
- const { data } = await this.API.requestData({
|
|
|
- subUrl: "powercompare/windfarmAjax",
|
|
|
+ search() {
|
|
|
+ axios({
|
|
|
+ baseURL: process.env.VUE_APP_API,
|
|
|
+ url: `/benchmarking/wpByCplist?companyids=SXJ_RGN&type=-1`,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.data?.data?.code === 200) {
|
|
|
+ this.options = res.data.data.data || [];
|
|
|
+ this.value1 = this.wpid;
|
|
|
+ this.searchWindturbine();
|
|
|
+ }
|
|
|
});
|
|
|
- this.options = data.data;
|
|
|
- this.value1 = this.wpid;
|
|
|
- this.searchWindturbine()
|
|
|
},
|
|
|
async searchWindturbine(statu) {
|
|
|
- const { data } = await this.API.requestData({
|
|
|
- subUrl: "/powercompare/windturbineAjax",
|
|
|
- data: {
|
|
|
- wpId: this.value1
|
|
|
+ axios({
|
|
|
+ baseURL: "http://10.81.3.155:8172",
|
|
|
+ url: `/healthmain/windturbineAjax?wpId=${this.value1}`,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.data?.code === 200) {
|
|
|
+ this.options1 = res.data.data || [];
|
|
|
+ this.value2 =
|
|
|
+ statu == "select" ? res.data.data?.[0]?.id || "" : this.wtid || "";
|
|
|
+ this.searchWtHealthInfo();
|
|
|
}
|
|
|
});
|
|
|
- this.options1 = data.data;
|
|
|
- this.value2 = statu == 'select' ? data.data[0].id : this.wtid;
|
|
|
- this.searchWtHealthInfo()
|
|
|
},
|
|
|
async searchWtHealthInfo() {
|
|
|
// const { data } = await this.API.requestData({
|
|
@@ -748,11 +853,11 @@ export default {
|
|
|
search1() {
|
|
|
const that = this;
|
|
|
this.API.requestData({
|
|
|
- subUrl: "healthsub/findWtHealthInfo1",
|
|
|
- method: 'POST',
|
|
|
+ baseURL: process.env.VUE_APP_NEW_WISDOM,
|
|
|
+ subUrl: "health/findWtHealthInfo1",
|
|
|
timeout: 30000,
|
|
|
data: {
|
|
|
- wtId: this.value2
|
|
|
+ wtId: this.value2,
|
|
|
},
|
|
|
success(res) {
|
|
|
that.yjtableData.data = res.data.yjls;
|
|
@@ -765,11 +870,12 @@ export default {
|
|
|
search2() {
|
|
|
const that = this;
|
|
|
this.API.requestData({
|
|
|
- subUrl: "healthsub/findWtHealthInfo2",
|
|
|
- method: 'POST',
|
|
|
+ baseURL: process.env.VUE_APP_NEW_WISDOM,
|
|
|
+ // subUrl: "healthsub/findWtHealthInfo2",
|
|
|
+ subUrl: "health/findWtHealthInfo2",
|
|
|
timeout: 30000,
|
|
|
data: {
|
|
|
- wtId: this.value2
|
|
|
+ wtId: this.value2,
|
|
|
},
|
|
|
success(res) {
|
|
|
that.yxtableData.data = res.data.bjyxls;
|
|
@@ -780,11 +886,12 @@ export default {
|
|
|
search3() {
|
|
|
const that = this;
|
|
|
this.API.requestData({
|
|
|
- subUrl: "healthsub/findWtHealthInfo3",
|
|
|
- method: 'POST',
|
|
|
+ baseURL: process.env.VUE_APP_NEW_WISDOM,
|
|
|
+ // subUrl: "healthsub/findWtHealthInfo3",
|
|
|
+ subUrl: "health/findWtHealthInfo3",
|
|
|
timeout: 30000,
|
|
|
data: {
|
|
|
- wtId: this.value2
|
|
|
+ wtId: this.value2,
|
|
|
},
|
|
|
success(res) {
|
|
|
that.tableData3.data = res.data.qxpcls;
|
|
@@ -793,9 +900,32 @@ export default {
|
|
|
},
|
|
|
});
|
|
|
},
|
|
|
- selectSvg: function (index) {
|
|
|
+ selectSvg(index) {
|
|
|
this.activeIndex = index;
|
|
|
},
|
|
|
+
|
|
|
+ getWpName(wtId) {
|
|
|
+ return (
|
|
|
+ this.options1.find((ele) => {
|
|
|
+ return ele.id === wtId;
|
|
|
+ })?.nemCode || ""
|
|
|
+ );
|
|
|
+ },
|
|
|
+
|
|
|
+ getWpStateColor() {
|
|
|
+ const jkzt = this?.partmap?.fj?.jkzt;
|
|
|
+ if (jkzt == 1) {
|
|
|
+ return "#05bb4c";
|
|
|
+ } else if (jkzt == 2) {
|
|
|
+ return "#4b55ae";
|
|
|
+ } else if (jkzt == 3) {
|
|
|
+ return "#edbf03";
|
|
|
+ } else if (jkzt == 4) {
|
|
|
+ return "#e17e23";
|
|
|
+ } else {
|
|
|
+ return "#05bb4c";
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|