Просмотр исходного кода

Merge branch 'master' of http://124.70.43.205:3000/yangxiao/sis_zhfx

chenminghua 4 лет назад
Родитель
Сommit
4f64bc4015
1 измененных файлов с 729 добавлено и 651 удалено
  1. 729 651
      src/views/NewPages/alarm-center-1.vue

+ 729 - 651
src/views/NewPages/alarm-center-1.vue

@@ -1,675 +1,753 @@
 <template>
-	<div class="alarm-center-1">
-		<div class="action-bar">
-			<div class="query mg-b-16">
-				<div class="query-items">
-					<div class="query-item">
-						<div class="lable">风场:</div>
-						<div class="search-input">
-							<el-select v-model="wpvalue" clearable placeholder="请选择" popper-class="select">
-								<el-option v-for="item in wpoptions" :key="item.id" :label="item.name" :value="item.id">
-								</el-option>
-							</el-select>
-						</div>
-					</div>
-					<div class="query-item">
-						<div class="lable">开始日期:</div>
-						<div class="search-input">
-							<el-date-picker v-model="startdate" type="date" placeholder="选择日期"
-								popper-class="date-select">
-							</el-date-picker>
-						</div>
-					</div>
-					<div class="query-item">
-						<div class="lable">结束日期:</div>
-						<div class="search-input">
-							<el-date-picker v-model="enddate" type="date" placeholder="选择日期" popper-class="date-select">
-							</el-date-picker>
-						</div>
-					</div>
-					<div class="query-item">
-						<div class="lable">规则:</div>
-						<el-cascader style="width: 240px" size="mini" popper-class="search-select"
-							:options="cascaderOptions" :props="cascaderProps" v-model="cascaderSel" collapse-tags
-							:clearable="true"></el-cascader>
-					</div>
-				</div>
-				<div class="query-actions">
-					<button class="btn green" @click="searchData">搜索</button>
-					<button class="btn green" @click="searchTree">筛选</button>
-					<button class="btn green" @click="fx">分析</button>
-				</div>
-			</div>
-		</div>
-		<panel-3 class="table-panel">
-			<table-3 :data="tableData" :height="'85vh'">
-				<template v-for="(item, i) in column" :key="i" #[item]="scope">
-					<div class="bar" @click="showChart(scope)">
-						<div class="bar-percent" :style="{ width: scope?.data?.countStyle }"> </div>
-						<span class="value">{{ scope?.data?.count }} 次数</span>
-					</div>
-					
-					<div class="bar" @click="showChart(scope)">
-						<div class="bar-percent" :style="{ width: scope?.data?.timeStyle}"></div>
-						<span class="value">{{scope?.data?.time }} 分钟</span>
-					</div>
-				</template>
-			</table-3>
-		</panel-3>
-		<el-dialog :title="dialogTitle" v-model="dialogVisible" width="70%" top="10vh" custom-class="modal"
-			:close-on-click-modal="false">
-			<div class="searchForm">
-				<div class="choose">
-					<button class="btn green">等间隔</button>
-					<!-- <button :class="chooseStatus?'btn green':'btn'" @click="switchChange(1,'original')">原始数据</button> -->
-				</div>
-				<el-select v-if="!chooseStatus" @change="switchChange(selectValue)" class="inputs" v-model="selectValue"
-					placeholder="请选择">
-					<el-option v-for="item in timeoptions" :key="item.value" :label="item.label" :value="item.value">
-					</el-option>
-				</el-select>
-			</div>
-			<multiple-y-line-chart-normal height="500px" :list="Analysis" :yAxises="AnalysisYAxises"
-				:showLegend="true" />
-		</el-dialog>
-		<el-dialog :title="dialogTitleFX" v-model="dialogVisibleFX" width="70%" top="10vh" custom-class="modal"
-			:close-on-click-modal="false" :destroy-on-close='true'>
-			<FX :date='startdate' :wpid='wpvalue' />
-		</el-dialog>
-	</div>
+  <div class="alarm-center-1">
+    <div class="action-bar">
+      <div class="query mg-b-16">
+        <div class="query-items">
+          <div class="query-item">
+            <div class="lable">风场:</div>
+            <div class="search-input">
+              <el-select
+                v-model="wpvalue"
+                clearable
+                placeholder="请选择"
+                popper-class="select"
+              >
+                <el-option
+                  v-for="item in wpoptions"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="query-item">
+            <div class="lable">开始日期:</div>
+            <div class="search-input">
+              <el-date-picker
+                v-model="startdate"
+                type="date"
+                placeholder="选择日期"
+                popper-class="date-select"
+              >
+              </el-date-picker>
+            </div>
+          </div>
+          <div class="query-item">
+            <div class="lable">结束日期:</div>
+            <div class="search-input">
+              <el-date-picker
+                v-model="enddate"
+                type="date"
+                placeholder="选择日期"
+                popper-class="date-select"
+              >
+              </el-date-picker>
+            </div>
+          </div>
+          <div class="query-item">
+            <div class="lable">规则:</div>
+            <el-cascader
+              style="width: 240px"
+              size="mini"
+              popper-class="search-select"
+              :options="cascaderOptions"
+              :props="cascaderProps"
+              v-model="cascaderSel"
+              collapse-tags
+              :clearable="true"
+            ></el-cascader>
+          </div>
+        </div>
+        <div class="query-actions">
+          <button class="btn green" @click="searchData">搜索</button>
+          <button class="btn green" @click="searchTree">筛选</button>
+          <button class="btn green" @click="fx">分析</button>
+        </div>
+      </div>
+    </div>
+    <panel-3 class="table-panel">
+      <table-3 :data="tableData" :height="'85vh'">
+        <template v-for="(item, i) in column" :key="i" #[item]="scope">
+          <div class="bar" @click="showChart(scope)">
+            <div
+              class="bar-percent"
+              :style="{ width: scope?.data?.countStyle }"
+            ></div>
+            <span class="value">{{ scope?.data?.count }} 次数</span>
+          </div>
+
+          <div class="bar" @click="showChart(scope)">
+            <div
+              class="bar-percent"
+              :style="{ width: scope?.data?.timeStyle }"
+            ></div>
+            <span class="value">{{ scope?.data?.time }} 分钟</span>
+          </div>
+        </template>
+      </table-3>
+    </panel-3>
+    <el-dialog
+      :title="dialogTitle"
+      v-model="dialogVisible"
+      width="70%"
+      top="10vh"
+      custom-class="modal"
+      :close-on-click-modal="false"
+    >
+      <div class="searchForm">
+        <div class="choose">
+          <button class="btn green">等间隔</button>
+          <!-- <button :class="chooseStatus?'btn green':'btn'" @click="switchChange(1,'original')">原始数据</button> -->
+        </div>
+        <el-select
+          v-if="!chooseStatus"
+          @change="switchChange(selectValue)"
+          class="inputs"
+          v-model="selectValue"
+          placeholder="请选择"
+        >
+          <el-option
+            v-for="item in timeoptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </div>
+      <multiple-y-line-chart-normal
+        height="500px"
+        :list="Analysis"
+        :yAxises="AnalysisYAxises"
+        :showLegend="true"
+      />
+    </el-dialog>
+    <el-dialog
+      :title="dialogTitleFX"
+      v-model="dialogVisibleFX"
+      width="70%"
+      top="10vh"
+      custom-class="modal"
+      :close-on-click-modal="false"
+      :destroy-on-close="true"
+    >
+      <FX :date="startdate" :wpid="wpvalue" />
+    </el-dialog>
+  </div>
 </template>
 
 <script>
-	import Panel3 from "../../components/coms/panel/panel3.vue";
-	import Table3 from "../../components/coms/table/table3.vue";
-	import MultipleYLineChartNormal from "./multiple-y-line-chart-normal.vue";
-	import FX from "./alarm-center-yjfx.vue";
-	import BASE from '@tools/basicTool.js';
-	export default {
-		components: {
-			Panel3,
-			Table3,
-			MultipleYLineChartNormal,
-			FX
-		},
-		data() {
-			return {
-				dialogTitleFX: "",
-				dialogVisibleFX: false,
-				dialogTitle: "",
-				chooseStatus: false,
-				dialogVisible: false,
-				chooseTime: [],
-				wpvalue: "",
-				wpid: "",
-				wtId: "",
-				descName: "",
-				AnalysisName: "",
-				AnalysisUnit: "",
-				Analysis: [{
-					title: "",
-					yAxisIndex: 0, // 使用单位
-					value: [],
-				}, ],
-				AnalysisYAxises: [{
-						name: "",
-						min: "",
-						max: "",
-						unit: "",
-						position: "left",
-					},
-					{
-						name: "",
-						min: "",
-						max: "",
-						unit: "",
-						position: "right",
-					},
-				],
-				selectValue: "60",
-				timeoptions: [{
-						value: "60",
-						label: "一分钟",
-					},
-					{
-						value: "300",
-						label: "五分钟",
-					},
-					{
-						value: "600",
-						label: "十分钟",
-					},
-					{
-						value: "1800",
-						label: "三十分钟",
-					},
-					{
-						value: "3600",
-						label: "一小时",
-					},
-					{
-						value: "86400",
-						label: "一天",
-					},
-				],
-				wpoptions: "",
-				options: [],
-				cascaderOptions: [],
-				cascaderSel: [],
-				cascaderProps: {
-					multiple: true
-				},
-				column: [
-					"风机偏航过程震动",
-					"齿轮箱轴承温升超过40度",
-					"三相电流不平衡",
-					"断轴或联轴器打滑",
-					"风速突变",
-				],
-				columnObj: [{
-						name: "风机编号",
-						field: "name",
-						width: "100px",
-						minWidth: "100px",
-					},
-					{
-						name: "风机偏航过程震动",
-						field: "风机偏航过程震动",
-						align: "left",
-						slot: true,
-						sortable: true,
-						minWidth: "200px",
-					},
-					{
-						name: "齿轮箱轴承温升超过40度",
-						field: "齿轮箱轴承温升超过40度",
-						align: "left",
-						slot: true,
-						sortable: true,
-						minWidth: "200px",
-					},
-					{
-						name: "三相电流不平衡",
-						field: "三相电流不平衡",
-						align: "left",
-						slot: true,
-						sortable: true,
-						minWidth: "200px",
-					},
-					{
-						name: "断轴或联轴器打滑",
-						field: "断轴或联轴器打滑",
-						align: "left",
-						slot: true,
-						sortable: true,
-						minWidth: "200px",
-					},
-					{
-						name: "风速突变",
-						align: "left",
-						field: "风速突变",
-						slot: true,
-						sortable: true,
-						minWidth: "200px",
-					},
-				],
-				startdate: new Date(
-					new Date(new Date().setDate(new Date().getDate() - 1))
-				).formatDate("yyyy-MM-dd"),
-				enddate: new Date(new Date()).formatDate("yyyy-MM-dd"),
-				tableData: {
-					column: [{
-							name: "风机编号",
-							field: "name"
-						},
-						{
-							name: "主轴温度温差大于8度",
-							field: "v1",
-							align: "left",
-							slot: true,
-						},
-						{
-							name: "浆叶角过小",
-							field: "v2",
-							align: "left",
-							slot: true
-						},
-					],
-					data: [{
-						name: "MG01_01",
-						v1: {
-							count: 12,
-							time: 0
-						}
-					}],
-				},
-			};
-		},
-		created() {
-			
-			this.$nextTick(() => {
-				this.search();
-			});
-		},
-		methods: {
-			//对比
-			showChart(column) {
-				let that = this;
-				that.dialogTitle = column.column.name;
-				that.wtId = column.row.name;
-				that.descName = column.column.name;
+import Panel3 from "../../components/coms/panel/panel3.vue";
+import Table3 from "../../components/coms/table/table3.vue";
+import MultipleYLineChartNormal from "./multiple-y-line-chart-normal.vue";
+import FX from "./alarm-center-yjfx.vue";
+import BASE from "@tools/basicTool.js";
+export default {
+  components: {
+    Panel3,
+    Table3,
+    MultipleYLineChartNormal,
+    FX,
+  },
+  data() {
+    return {
+      dialogTitleFX: "",
+      dialogVisibleFX: false,
+      dialogTitle: "",
+      chooseStatus: false,
+      dialogVisible: false,
+      chooseTime: [],
+      wpvalue: "",
+      wpid: "",
+      wtId: "",
+      descName: "",
+      AnalysisName: "",
+      AnalysisUnit: "",
+      Analysis: [
+        {
+          title: "",
+          yAxisIndex: 0, // 使用单位
+          value: [],
+        },
+      ],
+      AnalysisYAxises: [
+        {
+          name: "",
+          min: "",
+          max: "",
+          unit: "",
+          position: "left",
+        },
+        {
+          name: "",
+          min: "",
+          max: "",
+          unit: "",
+          position: "right",
+        },
+      ],
+      selectValue: "60",
+      timeoptions: [
+        {
+          value: "60",
+          label: "一分钟",
+        },
+        {
+          value: "300",
+          label: "五分钟",
+        },
+        {
+          value: "600",
+          label: "十分钟",
+        },
+        {
+          value: "1800",
+          label: "三十分钟",
+        },
+        {
+          value: "3600",
+          label: "一小时",
+        },
+        {
+          value: "86400",
+          label: "一天",
+        },
+      ],
+      wpoptions: "",
+      options: [],
+      cascaderOptions: [],
+      cascaderSel: [],
+      cascaderProps: {
+        multiple: true,
+      },
+      column: [
+        "风机偏航过程震动",
+        "齿轮箱轴承温升超过40度",
+        "三相电流不平衡",
+        "断轴或联轴器打滑",
+        "风速突变",
+      ],
+      columnObj: [
+        {
+          name: "风机编号",
+          field: "name",
+          width: "100px",
+          minWidth: "100px",
+        },
+        {
+          name: "风机偏航过程震动",
+          field: "风机偏航过程震动",
+          align: "left",
+          slot: true,
+          sortable: true,
+          minWidth: "200px",
+        },
+        {
+          name: "齿轮箱轴承温升超过40度",
+          field: "齿轮箱轴承温升超过40度",
+          align: "left",
+          slot: true,
+          sortable: true,
+          minWidth: "200px",
+        },
+        {
+          name: "三相电流不平衡",
+          field: "三相电流不平衡",
+          align: "left",
+          slot: true,
+          sortable: true,
+          minWidth: "200px",
+        },
+        {
+          name: "断轴或联轴器打滑",
+          field: "断轴或联轴器打滑",
+          align: "left",
+          slot: true,
+          sortable: true,
+          minWidth: "200px",
+        },
+        {
+          name: "风速突变",
+          align: "left",
+          field: "风速突变",
+          slot: true,
+          sortable: true,
+          minWidth: "200px",
+        },
+      ],
+      startdate: new Date(
+        new Date(new Date().setDate(new Date().getDate() - 1))
+      ).formatDate("yyyy-MM-dd"),
+      enddate: new Date(new Date()).formatDate("yyyy-MM-dd"),
+      tableData: {
+        column: [
+          {
+            name: "风机编号",
+            field: "name",
+          },
+          {
+            name: "主轴温度温差大于8度",
+            field: "v1",
+            align: "left",
+            slot: true,
+          },
+          {
+            name: "浆叶角过小",
+            field: "v2",
+            align: "left",
+            slot: true,
+          },
+        ],
+        data: [
+          {
+            name: "MG01_01",
+            v1: {
+              count: 12,
+              time: 0,
+            },
+          },
+        ],
+      },
+    };
+  },
+  created() {
+    this.$nextTick(() => {
+      this.search();
+    });
+  },
+  methods: {
+    //对比
+    showChart(column) {
+      let that = this;
+      that.dialogTitle = column.column.name;
+      that.wtId = column.row.name;
+      that.descName = column.column.name;
+
+      that.requestDetailData(
+        that.wpvalue,
+        that.startdate,
+        that.enddate,
+        60,
+        column.row.name,
+        column.column.name
+      );
+    },
+    requestDetailData(station, startTs, endTs, interval, wtId, name) {
+      let that = this;
+      BASE.showLoading();
+      that.API.requestData({
+        method: "GET",
+        subUrl: "/analysis/detail",
+        data: {
+          // station: that.wpvalue,
+          // startTs: new Date(that.startdate).getTime(),
+          // endTs: new Date(that.enddate).getTime(),
+          // // interval: 360,
+          // interval:1,
+          // wtId: column.row.name,
+          // name: column.column.name,
+          station: station,
+          startTs: new Date(
+            new Date(startTs).formatDate("yyyy/MM/dd")
+          ).getTime(),
+          endTs: new Date(new Date(endTs).formatDate("yyyy/MM/dd")).getTime(),
+          interval: interval,
+          wtId: wtId,
+          name: name,
+        },
+        success(res) {
+          if (res.data.length == 1) {
+            that.dialogVisible = true;
+            BASE.closeLoading();
+            let yaxises = [
+              {
+                name: "",
+                min: 0,
+                max: null,
+                unit: "",
+                position: "left",
+              },
+            ];
+            // yaxises.name = res.data[0].name;
+            yaxises.unit = res.data[0].unit;
+            that.AnalysisYAxises = yaxises;
+            let aKey1 = ["doubleValue"];
+            let aList1 = [
+              {
+                title: "",
+                // yAxisIndex:"",
+                smooth: true,
+                value: [],
+              },
+            ];
+            aKey1.forEach((keyEle, keyIndex) => {
+              aList1[keyIndex].title = res.data[keyIndex].name;
+              res.data[keyIndex].data.forEach((rEle) => {
+                aList1[keyIndex].value.push({
+                  text: new Date(rEle.ts).formatDate("hh:mm"),
+                  value: rEle.doubleValue,
+                });
+              });
+            });
+            that.Analysis = aList1;
+          } else if (res.data.length == 2) {
+            that.dialogVisible = true;
+            BASE.closeLoading();
+            let aKey2 = ["doubleValue", "doubleValue"];
+            let aList2 = [
+              {
+                title: "",
+                //  yAxisIndex:"",
+                smooth: true,
+                value: [],
+              },
+              {
+                title: "",
+                // yAxisIndex:"",
+                smooth: true,
+                value: [],
+              },
+            ];
+            let yaxises1 = [
+              {
+                name: "",
+                min: 0,
+                max: null,
+                unit: "",
+                position: "left",
+              },
+              {
+                name: "",
+                min: 0,
+                max: null,
+                unit: "",
+                position: "right",
+              },
+            ];
+            yaxises1.forEach((aEle, aIndex) => {
+              res.data.forEach((rEle) => {
+                // aEle.name = rEle.name;
+                aEle.unit = rEle.unit;
+              });
+            });
+            that.AnalysisYAxises = yaxises1;
+            aKey2.forEach((keyEle, keyIndex) => {
+              aList2[keyIndex].title = res.data[keyIndex].name;
+              res.data[keyIndex].data.forEach((rEle) => {
+                aList2[keyIndex].value.push({
+                  text: new Date(rEle.ts).formatDate("hh:mm"),
+                  value: rEle.doubleValue,
+                });
+              });
+            });
+            // res.data.forEach((rEle,rIndex)=>{
+            // })
+            // aKey2.forEach((keyEle, keyIndex) => {
+            //   res.data.forEach((rEle) => {
+            //     // alist2[keyIndex].yAxisIndex = keyIndex;
+            //     aList2[keyIndex].title = res.data[keyIndex].name;
+            //     rEle.data.forEach((tEle,tIndex) => {
+            //       aList2[keyIndex].value.push({
+            //         text: new Date(tEle.ts).formatDate("hh:mm"),
+            //         // value: tEle[keyEle],
+            //         // value:res.data[keyIndex].data[tIndex].doubleValue
+
+            //       });
+            //     });
+            //   });
+            // });
 
-				that.requestDetailData(
-					that.wpvalue,
-					that.startdate,
-					that.enddate,
-					60,
-					column.row.name,
-					column.column.name
-				);
-			},
-			requestDetailData(station, startTs, endTs, interval, wtId, name) {
-				let that = this;
-				BASE.showLoading();
-				that.API.requestData({
-					method: "GET",
-					subUrl: "/analysis/detail",
-					data: {
-						// station: that.wpvalue,
-						// startTs: new Date(that.startdate).getTime(),
-						// endTs: new Date(that.enddate).getTime(),
-						// // interval: 360,
-						// interval:1,
-						// wtId: column.row.name,
-						// name: column.column.name,
-						station: station,
-						startTs: new Date(new Date(startTs).formatDate("yyyy/MM/dd")).getTime(),
-						endTs: new Date(new Date(endTs).formatDate("yyyy/MM/dd")).getTime(),
-						interval: interval,
-						wtId: wtId,
-						name: name,
-					},
-					success(res) {
-						if (res.data.length == 1) {
-							that.dialogVisible = true;
-							BASE.closeLoading();
-							let yaxises = [{
-								name: "",
-								min: 0,
-								max: null,
-								unit: "",
-								position: "left",
-							}, ];
-							// yaxises.name = res.data[0].name;
-							yaxises.unit = res.data[0].unit;
-							that.AnalysisYAxises = yaxises;
-							let aKey1 = ["doubleValue"];
-							let aList1 = [{
-								title: "",
-								// yAxisIndex:"",
-								smooth: true,
-								value: [],
-							}, ];
-							aKey1.forEach((keyEle, keyIndex) => {
-								aList1[keyIndex].title = res.data[keyIndex].name;
-								res.data[keyIndex].data.forEach((rEle) => {
-									aList1[keyIndex].value.push({
-										text: new Date(rEle.ts).formatDate("hh:mm"),
-										value: rEle.doubleValue,
-									});
-								});
-							});
-							that.Analysis = aList1;
-						} else if (res.data.length == 2) {
-							that.dialogVisible = true;
-							BASE.closeLoading();
-							let aKey2 = ["doubleValue", "doubleValue"];
-							let aList2 = [{
-									title: "",
-									//  yAxisIndex:"",
-									smooth: true,
-									value: [],
-								},
-								{
-									title: "",
-									// yAxisIndex:"",
-									smooth: true,
-									value: [],
-								},
-							];
-							let yaxises1 = [{
-									name: "",
-									min: 0,
-									max: null,
-									unit: "",
-									position: "left",
-								},
-								{
-									name: "",
-									min: 0,
-									max: null,
-									unit: "",
-									position: "right",
-								},
-							];
-							yaxises1.forEach((aEle, aIndex) => {
-								res.data.forEach((rEle) => {
-									// aEle.name = rEle.name;
-									aEle.unit = rEle.unit;
-								});
-							});
-							that.AnalysisYAxises = yaxises1;
-							aKey2.forEach((keyEle, keyIndex) => {
-								aList2[keyIndex].title = res.data[keyIndex].name;
-								res.data[keyIndex].data.forEach((rEle) => {
-									aList2[keyIndex].value.push({
-										text: new Date(rEle.ts).formatDate("hh:mm"),
-										value: rEle.doubleValue,
-									});
-								});
-							});
-							// res.data.forEach((rEle,rIndex)=>{
-							// })
-							// aKey2.forEach((keyEle, keyIndex) => {
-							//   res.data.forEach((rEle) => {
-							//     // alist2[keyIndex].yAxisIndex = keyIndex;
-							//     aList2[keyIndex].title = res.data[keyIndex].name;
-							//     rEle.data.forEach((tEle,tIndex) => {
-							//       aList2[keyIndex].value.push({
-							//         text: new Date(tEle.ts).formatDate("hh:mm"),
-							//         // value: tEle[keyEle],
-							//         // value:res.data[keyIndex].data[tIndex].doubleValue
+            that.Analysis = aList2;
+          } else if (res.data.length == 4) {
+            that.dialogVisible = true;
+            BASE.closeLoading();
+            let aKey4 = [
+              "doubleValue",
+              "doubleValue",
+              "doubleValue",
+              "doubleValue",
+            ];
+            let aList4 = [
+              {
+                title: "",
+                // yAxisIndex:"",
+                smooth: true,
+                value: [],
+              },
+              {
+                title: "",
+                // yAxisIndex:"",
+                smooth: true,
+                value: [],
+              },
+              {
+                title: "",
+                // yAxisIndex:"",
+                smooth: true,
+                value: [],
+              },
+              {
+                title: "",
+                // yAxisIndex:"",
+                smooth: true,
+                value: [],
+              },
+            ];
+            let yaxises2 = [
+              {
+                name: "",
+                min: 0,
+                max: null,
+                unit: "",
+                position: "left",
+              },
+              {
+                name: "",
+                min: 0,
+                max: null,
+                unit: "",
+                position: "right",
+              },
+            ];
+            yaxises2.forEach((aEle, aIndex) => {
+              res.data.forEach((rEle) => {
+                // aEle.name = rEle.name;
+                aEle.unit = rEle.unit;
+              });
+            });
+            that.AnalysisYAxises = yaxises2;
+            aKey4.forEach((keyEle, keyIndex) => {
+              aList4[keyIndex].title = res.data[keyIndex].name;
+              res.data[keyIndex].data.forEach((rEle) => {
+                aList4[keyIndex].value.push({
+                  text: new Date(rEle.ts).formatDate("hh:mm"),
+                  value: rEle.doubleValue,
+                });
+              });
+            });
+            that.Analysis = aList4;
+          } else if (res.data.length == 0) {
+            that.dialogVisible = false;
+            BASE.closeLoading();
+            that.BASE.showMsg({
+              type: "warning",
+              msg: "暂无数据",
+            });
+          }
+        },
+      });
+    },
+    //切换数据类型
+    switchChange(interval, status) {
+      if (status === "interval") {
+        this.chooseStatus = false;
+        this.selectValue = "60";
+      } else if (status === "original") {
+        this.chooseStatus = true;
+      }
+      this.requestDetailData(
+        this.wpvalue,
+        this.startdate,
+        this.enddate,
+        interval,
+        this.wtId,
+        this.descName
+      );
+    },
 
-							//       });
-							//     });
-							//   });
-							// });
+    async search() {
+      const { data } = await this.API.requestData({
+        subUrl: "powercompare/windfarmAjax",
+      });
+      this.wpoptions = data.data;
+      this.wpvalue = data.data[0].id;
+      this.searchData();
+    },
 
-							that.Analysis = aList2;
-						} else if (res.data.length == 4) {
-							that.dialogVisible = true;
-							BASE.closeLoading();
-							let aKey4 = [
-								"doubleValue",
-								"doubleValue",
-								"doubleValue",
-								"doubleValue",
-							];
-							let aList4 = [{
-									title: "",
-									// yAxisIndex:"",
-									smooth: true,
-									value: [],
-								},
-								{
-									title: "",
-									// yAxisIndex:"",
-									smooth: true,
-									value: [],
-								},
-								{
-									title: "",
-									// yAxisIndex:"",
-									smooth: true,
-									value: [],
-								},
-								{
-									title: "",
-									// yAxisIndex:"",
-									smooth: true,
-									value: [],
-								},
-							];
-							let yaxises2 = [{
-									name: "",
-									min: 0,
-									max: null,
-									unit: "",
-									position: "left",
-								},
-								{
-									name: "",
-									min: 0,
-									max: null,
-									unit: "",
-									position: "right",
-								},
-							];
-							yaxises2.forEach((aEle, aIndex) => {
-								res.data.forEach((rEle) => {
-									// aEle.name = rEle.name;
-									aEle.unit = rEle.unit;
-								});
-							});
-							that.AnalysisYAxises = yaxises2;
-							aKey4.forEach((keyEle, keyIndex) => {
-								aList4[keyIndex].title = res.data[keyIndex].name;
-								res.data[keyIndex].data.forEach((rEle) => {
-									aList4[keyIndex].value.push({
-										text: new Date(rEle.ts).formatDate("hh:mm"),
-										value: rEle.doubleValue,
-									});
-								});
-							});
-							that.Analysis = aList4;
-						} else if (res.data.length == 0) {
-							that.dialogVisible = false;
-							BASE.closeLoading();
-							that.BASE.showMsg({
-								type: "warning",
-								msg: "暂无数据",
-							});
-						}
-					},
-				});
-			},
-			//切换数据类型
-			switchChange(interval, status) {
-				if (status === 'interval') {
-					this.chooseStatus = false
-					this.selectValue = '60'
-				} else if (status === 'original') {
-					this.chooseStatus = true
-				}
-				this.requestDetailData(
-					this.wpvalue,
-					this.startdate,
-					this.enddate,
-					interval,
-					this.wtId,
-					this.descName
-				);
-			},
+    async searchTree() {
+      let arr = [];
+      let columnObj = [
+        {
+          name: "风机编号",
+          field: "name",
+          minWidth: "100px",
+        },
+      ];
+      this.cascaderSel.forEach((e) => {
+        let obj = {
+          name: e[1],
+          field: e[1],
+          align: "left",
+          slot: true,
+          sortable: true,
+          minWidth: "200px",
+        };
+        columnObj.push(obj);
 
-			async search() {
-				const {
-					data
-				} = await this.API.requestData({
-					subUrl: "powercompare/windfarmAjax",
-				});
-				this.wpoptions = data.data;
-				this.wpvalue = data.data[0].id;
-				this.searchData();
-			},
+        arr.push(e[1]);
+      });
+      this.columnObj = columnObj;
+      this.column = arr;
+      this.searchData();
+    },
 
-			async searchTree() {
-				let arr = [];
-				let columnObj = [{
-					name: "风机编号",
-					field: "name",
-					minWidth: "100px",
-				}, ];
-				this.cascaderSel.forEach((e) => {
-					let obj = {
-						name: e[1],
-						field: e[1],
-						align: "left",
-						slot: true,
-						sortable: true,
-						minWidth: "200px",
-					};
-					columnObj.push(obj);
+    async searchData() {
+      let enddate = new Date(
+        Date.parse(new Date(this.enddate)) + 24 * 3600 * 1000
+      ).formatDate("yyyy-MM-dd");
+      const { data } = await this.API.requestData({
+        showLoading: true,
+        baseURL: "http://192.168.1.18:8075/",
+        subUrl: "alarm/count/query/new2",
+        data: {
+          stationid: this.wpvalue,
+          startdate: new Date(this.startdate).formatDate("yyyy-MM-dd"),
+          enddate: enddate,
+        },
+      });
+      ////////
+      this.tableData = [];
+      const resData = data.data;
+      // const resData =this.resdata;
+      const column = this.columnObj;
+      let dataAll = []; // 总数据集合
+      resData.forEach((e) => {
+        let obj = {
+          name: Object.keys(e)[0],
+        };
+        let wpid = Object.keys(e)[0];
+        this.wpid = wpid;
 
-					arr.push(e[1]);
-				});
-				this.columnObj = columnObj;
-				this.column = arr;
-				this.searchData();
-			},
+        e[wpid].forEach((k) => {
+          column.forEach((c) => {
+            if (k.alertText == c.name) {
+              const countStyle = k.count / (k.count + k.time);
+              const timeStyle = k.time / (k.count + k.time);
+              let obj1 = {
+                count: k.count,
+                countStyle: countStyle ? countStyle * 100 + "px" : "0",
+                time: k.time,
+                timeStyle: timeStyle ? timeStyle * 100 + "px" : "0",
+              };
+              obj[k.alertText] = obj1;
+            }
+          });
+        });
+        dataAll.push(obj);
+      });
 
-			async searchData() {
-				let enddate = new Date(Date.parse(new Date(this.enddate)) + (24*3600*1000)).formatDate("yyyy-MM-dd");
-				const {
-					data
-				} = await this.API.requestData({
-					showLoading:true,
-					baseURL: "http://192.168.1.18:8075/",
-					subUrl: "alarm/count/query/new2",
-					data: {
-						stationid: this.wpvalue,
-						startdate: new Date(this.startdate).formatDate("yyyy-MM-dd"),
-						enddate: enddate,
-					},
-				});
-				////////
-				this.tableData = [];
-				const resData = data.data;
-				// const resData =this.resdata;
-				const column = this.columnObj;
-				let dataAll = []; // 总数据集合
-				resData.forEach((e) => {
-					let obj = {
-						name: Object.keys(e)[0],
-					};
-					let wpid = Object.keys(e)[0];
-					this.wpid = wpid;
+      this.tableData.column = column;
+      this.tableData.data = dataAll;
 
-					e[wpid].forEach((k) => {
-						column.forEach((c) => {
-							if (k.alertText == c.name) {
-								let obj1 = {
-									count: k.count,
-									countStyle:((k.count / (k.count + k.time)) * 100) + 'px',
-									time: k.time,
-									timeStyle:((k.time / (k.count + k.time)) * 100) + 'px'
-								};
-								obj[k.alertText] = obj1;
-							}
-						});
-					});
-					dataAll.push(obj);
-				});
-				
-				this.tableData.column = column;
-				this.tableData.data = dataAll;
-				
-				///////////////////// 获取规则list
-				const map = {};
-				var windNum = [];
-				for (let i in resData) {
-					for (let k in resData[i]) {
-						map[k] = resData[i][k];
-					}
-				}
-				// nmap为新的map 整理数据结构
-				const nmap = {};
-				for (let kv in map) {
-					var nchildMap = {};
-					var childrenMap = map[kv];
-					for (var ckv in childrenMap) {
-						var cckey = childrenMap[ckv].alertText;
-						var ccvalue = childrenMap[ckv];
-						nchildMap[cckey] = ccvalue;
-					}
-					nmap[kv] = nchildMap;
-				}
-				windNum = Object.keys(nmap);
-				var cascaderOptions = [];
-				var root = {}; // 原始根节点
-				var clumnsOnes = nmap[windNum[0]];
-				for (let k in clumnsOnes) {
-					let f = clumnsOnes[k].relatePartsText ?
-						clumnsOnes[k].relatePartsText :
-						"其他";
-					let fvalue = clumnsOnes[k].relateParts ? clumnsOnes[k].relateParts : "";
+      ///////////////////// 获取规则list
+      const map = {};
+      var windNum = [];
+      for (let i in resData) {
+        for (let k in resData[i]) {
+          map[k] = resData[i][k];
+        }
+      }
+      // nmap为新的map 整理数据结构
+      const nmap = {};
+      for (let kv in map) {
+        var nchildMap = {};
+        var childrenMap = map[kv];
+        for (var ckv in childrenMap) {
+          var cckey = childrenMap[ckv].alertText;
+          var ccvalue = childrenMap[ckv];
+          nchildMap[cckey] = ccvalue;
+        }
+        nmap[kv] = nchildMap;
+      }
+      windNum = Object.keys(nmap);
+      var cascaderOptions = [];
+      var root = {}; // 原始根节点
+      var clumnsOnes = nmap[windNum[0]];
+      for (let k in clumnsOnes) {
+        let f = clumnsOnes[k].relatePartsText
+          ? clumnsOnes[k].relatePartsText
+          : "其他";
+        let fvalue = clumnsOnes[k].relateParts ? clumnsOnes[k].relateParts : "";
 
-					if (root[f]) {
-						// 已经存在此子节点
-						if (!root[f].children[k]) {
-							// 不存在子节点
-							root[f].children[k] = {};
-							root[f].children[k].value = root[f].children[k].label = k;
-							root[f].fobj.children.push(root[f].children[k]);
-						}
-					} // 不存在子节点
-					else {
-						root[f] = {};
-						// root[f].value = fvalue;
-						// root[f].label = f;
-						root[f].children = {};
-						root[f].children[k] = {};
-						root[f].children[k].value = root[f].children[k].label = k;
+        if (root[f]) {
+          // 已经存在此子节点
+          if (!root[f].children[k]) {
+            // 不存在子节点
+            root[f].children[k] = {};
+            root[f].children[k].value = root[f].children[k].label = k;
+            root[f].fobj.children.push(root[f].children[k]);
+          }
+        } // 不存在子节点
+        else {
+          root[f] = {};
+          // root[f].value = fvalue;
+          // root[f].label = f;
+          root[f].children = {};
+          root[f].children[k] = {};
+          root[f].children[k].value = root[f].children[k].label = k;
 
-						// 将对象放入 cascaderOptions
-						let childrenArray = [];
-						childrenArray.push(root[f].children[k]);
-						let fobj = {};
-						fobj.value = fvalue;
-						fobj.label = f;
-						fobj.children = childrenArray;
-						cascaderOptions.push(fobj);
-						root[f].fobj = fobj;
-					}
-				}
-				this.cascaderOptions = cascaderOptions;
-			},
-			fx() {
-				this.startdate = new Date(this.startdate).formatDate("yyyy-MM-dd");
-				this.dialogTitleFX = "预警分析";
-				this.dialogVisibleFX = true;
-			}
-		},
-	};
+          // 将对象放入 cascaderOptions
+          let childrenArray = [];
+          childrenArray.push(root[f].children[k]);
+          let fobj = {};
+          fobj.value = fvalue;
+          fobj.label = f;
+          fobj.children = childrenArray;
+          cascaderOptions.push(fobj);
+          root[f].fobj = fobj;
+        }
+      }
+      this.cascaderOptions = cascaderOptions;
+    },
+    fx() {
+      this.startdate = new Date(this.startdate).formatDate("yyyy-MM-dd");
+      this.dialogTitleFX = "预警分析";
+      this.dialogVisibleFX = true;
+    },
+  },
+};
 </script>
 
 <style lang="less">
-	.alarm-center-1 {
-		.action-bar {
-			display: flex;
+.alarm-center-1 {
+  .action-bar {
+    display: flex;
 
-			.query {
-				justify-content: flex-start;
-			}
-		}
+    .query {
+      justify-content: flex-start;
+    }
+  }
 
-		.table-panel {
-			width: 100%;
-			background: transparent;
-			padding: 0;
+  .table-panel {
+    width: 100%;
+    background: transparent;
+    padding: 0;
 
-			.bar {
-				display: flex;
-				align-items: center;
-				height: 16px;
-				margin: 8px 0;
+    .bar {
+      display: flex;
+      align-items: center;
+      height: 16px;
+      margin: 8px 0;
 
-				.bar-percent {
-					height: 100%;
-					background: @green;
-					margin-right: 8px;
-				}
-			}
-		}
+      .bar-percent {
+        height: 100%;
+        background: @green;
+        margin-right: 8px;
+      }
+    }
+  }
 
-		.searchForm {
-			display: flex;
-			margin-left: 36px;
-			flex-direction: row-reverse;
+  .searchForm {
+    display: flex;
+    margin-left: 36px;
+    flex-direction: row-reverse;
 
-			.inputs {
-				width: 15%;
-				margin-right: 18px;
-			}
-		}
-	}
+    .inputs {
+      width: 15%;
+      margin-right: 18px;
+    }
+  }
+}
 </style>