quanyawei
2024-02-04 7beb37c5170f93a33c059c72fac3233b82865481
fix:修改成16位风向值
4 files modified
691 ■■■■ changed files
src/components/Wind/Map.vue 25 ●●●● patch | view | raw | blame | history
src/components/Wind/WRatingArr.js 491 ●●●● patch | view | raw | blame | history
src/components/Wind/dataModel.css 4 ●●●● patch | view | raw | blame | history
src/views/deviceDetail/index.vue 171 ●●●●● patch | view | raw | blame | history
src/components/Wind/Map.vue
@@ -1549,32 +1549,15 @@
          console.log('level', level)
          if (deviceDetails.a01008) {
            var windDirs = dushu === '-' ? 0 : Number(dushu)
            console.log('windDirs', windDirs)
            WWindUtil.windValueFormat(windDirs)
            console.log('windDirs', WWindUtil.windValueFormat(windDirs))
            windDeg = windDirs
            windTip = 'inline'
            if (windDirs === 0 || windDirs === '-') {
              windDir = '-'
              windTip = 'none'
            } else if (windDirs > 0 && windDirs < 90) {
              windDir = '东北风'
              windTip = 'inline'
            } else if (windDirs === 90) {
              windDir = '东风'
              windTip = 'inline'
            } else if (windDirs > 90 && windDirs < 180) {
              windDir = '东南风'
              windTip = 'inline'
            } else if (windDirs === 180) {
              windDir = '南风'
              windTip = 'inline'
            } else if (windDirs > 180 && windDirs < 270) {
              windDir = '西南风'
              windTip = 'inline'
            } else if (windDirs === 270) {
              windDir = '西风'
              windTip = 'inline'
            } else if (windDirs > 270 && windDirs < 360) {
              windDir = '西北风'
            } else {
              windDir = WWindUtil.windValueFormat(windDirs)
              windTip = 'inline'
            }
          }
src/components/Wind/WRatingArr.js
@@ -1,228 +1,227 @@
/**
 * 气象-风向转化工具
 */
var WWindUtil = {};
var WWindUtil = {}
/**
 * 风向json
 */
WWindUtil.WDJson = {
  "N": {
    "en": "N",
    "cn": "北",
    "desc": "北"
  N: {
    en: 'N',
    cn: '北',
    desc: '北'
  },
  "NNE": {
    "en": "NNE",
    "cn": "北东北",
    "desc": "东北偏北"
  NNE: {
    en: 'NNE',
    cn: '北东北',
    desc: '东北偏北'
  },
  "NE": {
    "en": "NE",
    "cn": "东北",
    "desc": "东北"
  NE: {
    en: 'NE',
    cn: '东北',
    desc: '东北'
  },
  "ENE": {
    "en": "ENE",
    "cn": "东东北",
    "desc": "东北偏北"
  ENE: {
    en: 'ENE',
    cn: '东东北',
    desc: '东北偏北'
  },
  "E": {
    "en": "E",
    "cn": "东",
    "desc": "东"
  E: {
    en: 'E',
    cn: '东',
    desc: '东'
  },
  "ESE": {
    "en": "ESE",
    "cn": "东东南",
    "desc": "东南偏东"
  ESE: {
    en: 'ESE',
    cn: '东东南',
    desc: '东南偏东'
  },
  "SE": {
    "en": "SNE",
    "cn": "东南",
    "desc": "东南"
  SE: {
    en: 'SNE',
    cn: '东南',
    desc: '东南'
  },
  "SSE": {
    "en": "SSE",
    "cn": "南东南",
    "desc": "东南偏南"
  SSE: {
    en: 'SSE',
    cn: '南东南',
    desc: '东南偏南'
  },
  "S": {
    "en": "S",
    "cn": "南",
    "desc": "南"
  S: {
    en: 'S',
    cn: '南',
    desc: '南'
  },
  "SSW": {
    "en": "SSW",
    "cn": "南西南",
    "desc": "西南偏南"
  SSW: {
    en: 'SSW',
    cn: '南西南',
    desc: '西南偏南'
  },
  "SW": {
    "en": "SW",
    "cn": "西南",
    "desc": "西南"
  SW: {
    en: 'SW',
    cn: '西南',
    desc: '西南'
  },
  "WSW": {
    "en": "WSW",
    "cn": "西西南",
    "desc": "西南偏西"
  WSW: {
    en: 'WSW',
    cn: '西西南',
    desc: '西南偏西'
  },
  "W": {
    "en": "W",
    "cn": "西",
    "desc": "西"
  W: {
    en: 'W',
    cn: '西',
    desc: '西'
  },
  "WNW": {
    "en": "WNW",
    "cn": "西西北",
    "desc": "西北偏西"
  WNW: {
    en: 'WNW',
    cn: '西西北',
    desc: '西北偏西'
  },
  "NW": {
    "en": "NW",
    "cn": "西北",
    "desc": "西北"
  NW: {
    en: 'NW',
    cn: '西北',
    desc: '西北'
  },
  "NNW": {
    "en": "NW",
    "cn": "北西北",
    "desc": "西北偏北"
  NNW: {
    en: 'NW',
    cn: '北西北',
    desc: '西北偏北'
  },
  "ERROR": {
    "en": "error value",
    "cn": "错误数值",
    "desc": "错误数值"
  ERROR: {
    en: 'error value',
    cn: '错误数值',
    desc: '错误数值'
  }
};
}
/**
 * 风力等级
 */
WWindUtil.WRatingArr = [
  {
    "min": 0,
    "max": 0.2,
    "level": 0,
    "name": "无风",
    "landScene": "烟示风向"
    min: 0,
    max: 0.2,
    level: 0,
    name: '无风',
    landScene: '烟示风向'
  },
  {
    "min": 0.3,
    "max": 1.5,
    "level": 1,
    "name": "1&nbsp级",
    "landScene": "烟示风向"
    min: 0.3,
    max: 1.5,
    level: 1,
    name: '1&nbsp级',
    landScene: '烟示风向'
  },
  {
    "min": 1.6,
    "max": 3.3,
    "level": 2,
    "name": "2&nbsp级",
    "landScene": "感觉有风"
    min: 1.6,
    max: 3.3,
    level: 2,
    name: '2&nbsp级',
    landScene: '感觉有风'
  },
  {
    "min": 3.4,
    "max": 5.4,
    "level": 3,
    "name": "3&nbsp级",
    "landScene": "旌旗展开"
    min: 3.4,
    max: 5.4,
    level: 3,
    name: '3&nbsp级',
    landScene: '旌旗展开'
  },
  {
    "min": 5.5,
    "max": 7.9,
    "level": 4,
    "name": "4&nbsp级",
    "landScene": "吹起尘土"
    min: 5.5,
    max: 7.9,
    level: 4,
    name: '4&nbsp级',
    landScene: '吹起尘土'
  },
  {
    "min": 8.0,
    "max": 10.7,
    "level": 5,
    "name": "5&nbsp级",
    "landScene": "小树摇摆"
    min: 8.0,
    max: 10.7,
    level: 5,
    name: '5&nbsp级',
    landScene: '小树摇摆'
  },
  {
    "min": 10.8,
    "max": 13.8,
    "level": 6,
    "name": "6&nbsp级",
    "landScene": "电线有声"
    min: 10.8,
    max: 13.8,
    level: 6,
    name: '6&nbsp级',
    landScene: '电线有声'
  },
  {
    "min": 13.9,
    "max": 17.1,
    "level": 7,
    "name": "7&nbsp级",
    "landScene": "步行困难"
    min: 13.9,
    max: 17.1,
    level: 7,
    name: '7&nbsp级',
    landScene: '步行困难'
  },
  {
    "min": 17.2,
    "max": 20.7,
    "level": 8,
    "name": "8&nbsp级",
    "landScene": "折毁树枝"
    min: 17.2,
    max: 20.7,
    level: 8,
    name: '8&nbsp级',
    landScene: '折毁树枝'
  },
  {
    "min": 20.8,
    "max": 24.4,
    "level": 9,
    "name": "9&nbsp级",
    "landScene": "小损房屋"
    min: 20.8,
    max: 24.4,
    level: 9,
    name: '9&nbsp级',
    landScene: '小损房屋'
  },
  {
    "min": 24.5,
    "max": 28.4,
    "level": 10,
    "name": "10&nbsp级",
    "landScene": "拔起树木"
    min: 24.5,
    max: 28.4,
    level: 10,
    name: '10&nbsp级',
    landScene: '拔起树木'
  },
  {
    "min": 28.5,
    "max": 32.6,
    "level": 11,
    "name": "11&nbsp级",
    "landScene": "损毁重大"
    min: 28.5,
    max: 32.6,
    level: 11,
    name: '11&nbsp级',
    landScene: '损毁重大'
  },
  {
    "min": 32.7,
    "max": 36.9,
    "level": 12,
    "name": "12&nbsp级",
    "landScene": "摧毁极大"
    min: 32.7,
    max: 36.9,
    level: 12,
    name: '12&nbsp级',
    landScene: '摧毁极大'
  },
  {
    "min": 37.0,
    "max": 41.4,
    "level": 13,
    "name": "13&nbsp级",
    "landScene": ""
    min: 37.0,
    max: 41.4,
    level: 13,
    name: '13&nbsp级',
    landScene: ''
  },
  {
    "min": 41.5,
    "max": 46.1,
    "level": 14,
    "name": "14&nbsp级",
    "landScene": ""
    min: 41.5,
    max: 46.1,
    level: 14,
    name: '14&nbsp级',
    landScene: ''
  },
  {
    "min": 46.2,
    "max": 50.9,
    "level": 15,
    "name": "15&nbsp级",
    "landScene": ""
    min: 46.2,
    max: 50.9,
    level: 15,
    name: '15&nbsp级',
    landScene: ''
  },
  {
    "min": 51.0,
    "max": 56.0,
    "level": 16,
    "name": "16&nbsp级",
    "landScene": ""
    min: 51.0,
    max: 56.0,
    level: 16,
    name: '16&nbsp级',
    landScene: ''
  },
  {
    "min": 56.1,
    "max": null,
    "level": 17,
    "name": "17&nbsp级",
    "landScene": ""
    min: 56.1,
    max: null,
    level: 17,
    name: '17&nbsp级',
    landScene: ''
  }
]
@@ -231,98 +230,97 @@
 */
WWindUtil.to16WindDirection = function (windNumberValue) {
  if (windNumberValue > 360) {
    return WWindUtil.WDJson.ERROR;
    return WWindUtil.WDJson.ERROR
  }
  let a = Math.ceil(windNumberValue / 11.25);
  let ret;
  let a = Math.ceil(windNumberValue / 11.25)
  console.log('aaaaa', a)
  let ret
  switch (a) {
    case 32:
    case 1:
      ret = WWindUtil.WDJson.N;
      break;
    case 0:
      ret = WWindUtil.WDJson.N
      break
    case 2:
    case 3:
      ret = WWindUtil.WDJson.NNE;
      break;
      ret = WWindUtil.WDJson.NNE
      break
    case 4:
    case 5:
      ret = WWindUtil.WDJson.NE;
      break;
      ret = WWindUtil.WDJson.NE
      break
    case 6:
    case 7:
      ret = WWindUtil.WDJson.ENE;
      break;
      ret = WWindUtil.WDJson.ENE
      break
    case 8:
    case 9:
      ret = WWindUtil.WDJson.E;
      break;
      ret = WWindUtil.WDJson.E
      break
    case 10:
    case 11:
      ret = WWindUtil.WDJson.ESE;
      break;
      ret = WWindUtil.WDJson.ESE
      break
    case 12:
    case 13:
      ret = WWindUtil.WDJson.SE;
      break;
      ret = WWindUtil.WDJson.SE
      break
    case 14:
    case 15:
      ret = WWindUtil.WDJson.SSE;
      break;
      ret = WWindUtil.WDJson.SSE
      break
    case 16:
    case 17:
      ret = WWindUtil.WDJson.S;
      break;
      ret = WWindUtil.WDJson.S
      break
    case 18:
    case 19:
      ret = WWindUtil.WDJson.SSW;
      break;
      ret = WWindUtil.WDJson.SSW
      break
    case 20:
    case 21:
      ret = WWindUtil.WDJson.SW;
      break;
      ret = WWindUtil.WDJson.SW
      break
    case 22:
    case 23:
      ret = WWindUtil.WDJson.WSW;
      break;
      ret = WWindUtil.WDJson.WSW
      break
    case 24:
    case 25:
      ret = WWindUtil.WDJson.W;
      break;
      ret = WWindUtil.WDJson.W
      break
    case 26:
    case 27:
      ret = WWindUtil.WDJson.WNW;
      break;
      ret = WWindUtil.WDJson.WNW
      break
    case 28:
    case 29:
      ret = WWindUtil.WDJson.NW;
      break;
      ret = WWindUtil.WDJson.NW
      break
    case 30:
    case 31:
      ret = WWindUtil.WDJson.NNW;
      break;
      ret = WWindUtil.WDJson.NNW
      break
    default:
      ret = WWindUtil.WDJson.ERROR;
      break;
      ret = WWindUtil.WDJson.ERROR
      break
  }
  return ret;
  return ret
}
/** 风向值转文字风向
@@ -330,90 +328,89 @@
 */
WWindUtil.to8WindDirection = function (windNumberValue) {
  if (windNumberValue > 360) {
    return WWindUtil.WDJson.ERROR;
    return WWindUtil.WDJson.ERROR
  }
  let a = Math.ceil(windNumberValue / 22.5);
  let ret;
  let a = Math.ceil(windNumberValue / 22.5)
  let ret
  switch (a) {
    case 16:
    case 1:
      ret = WWindUtil.WDJson.N;
      break;
      ret = WWindUtil.WDJson.N
      break
    case 2:
    case 3:
      ret = WWindUtil.WDJson.NE;
      break;
      ret = WWindUtil.WDJson.NE
      break
    case 4:
    case 5:
      ret = WWindUtil.WDJson.E;
      break;
      ret = WWindUtil.WDJson.E
      break
    case 6:
    case 7:
      ret = WWindUtil.WDJson.SE;
      break;
      ret = WWindUtil.WDJson.SE
      break
    case 8:
    case 9:
      ret = WWindUtil.WDJson.S;
      break;
      ret = WWindUtil.WDJson.S
      break
    case 10:
    case 11:
      ret = WWindUtil.WDJson.SW;
      break;
      ret = WWindUtil.WDJson.SW
      break
    case 12:
    case 13:
      ret = WWindUtil.WDJson.W;
      break;
      ret = WWindUtil.WDJson.W
      break
    case 14:
    case 15:
      ret = WWindUtil.WDJson.NW;
      break;
      ret = WWindUtil.WDJson.NW
      break
    default:
      ret = WWindUtil.WDJson.ERROR;
      break;
      ret = WWindUtil.WDJson.ERROR
      break
  }
  return ret;
  return ret
}
/** 风速转风力等级
 * @param {Object} value 风速值 (m/s)
 */
WWindUtil.WindtoLevel = function (value) {
  let vl = Number(value)
    .toFixed(1);
  console.log('vl:', vl);
  if (!vl || vl < 0) { return null; }
  let arr = WWindUtil.WRatingArr;
  let vl = Number(value).toFixed(1)
  console.log('vl:', vl)
  if (!vl || vl < 0) {
    return null
  }
  let arr = WWindUtil.WRatingArr
  if (vl >= arr[arr.length - 1].min) {
    return arr[arr.length - 1];
    return arr[arr.length - 1]
  }
  for (let i = 0; i < arr.length; i++) {
    if (vl >= arr[i].min && vl <= arr[i].max) {
      return arr[i];
      return arr[i]
    }
  }
  return null;
  return null
}
// 风向值转文字
WWindUtil.windValueFormat = function (value) {
  try {
    let vl = Number(value);
    let vl = Number(value)
    if (!vl || vl > 360 || vl < 0) {
      return '-';
      return '-'
    }
    return WWindUtil.to16WindDirection(value).desc;
    return WWindUtil.to16WindDirection(value).desc
  } catch (e) {
    return '-';
    return '-'
  }
}
@@ -422,17 +419,19 @@
 */
WWindUtil.windFormatLevel = function (value) {
  try {
    let vl = Number(value);
    let vl = Number(value)
    if (!vl || vl > 100 || vl < 0) {
      return "-";
      return '-'
    }
    return WWindUtil.WindtoLevel(value).level + "级(" + WWindUtil.WindtoLevel(value).name + ")";
    return (
      WWindUtil.WindtoLevel(value).level +
      '级(' +
      WWindUtil.WindtoLevel(value).name +
      ')'
    )
  } catch (e) {
    return "-";
    return '-'
  }
}
export {
  WWindUtil
};
export { WWindUtil }
src/components/Wind/dataModel.css
@@ -170,11 +170,11 @@
}
.marker_maptip .windBox .windInfor {
  width: 50%;
  width: 55%;
  color: #999;
  font-size: 17px;
  padding-top: 15px;
  padding-left: 30px;
  padding-left: 20px;
}
.marker_maptip .windBox .windInfor div {
src/views/deviceDetail/index.vue
@@ -38,7 +38,10 @@
            :key="i"
            style="flex: 1; display: flex"
          >
            <span style="width: 33%; font-size: 0.9rem" @click="chuan(val)">{{
            <span
              style="width: 33%; font-size: 0.9rem"
              @click="chuan(val)"
            >{{
              val.sensorCode | sensorFilter
            }}</span>
            <span
@@ -75,7 +78,10 @@
            "
          >
            <div style="position: relative">
              <img style="width: 5.5rem; height: 5.5rem" :src="compassBg">
              <img
                style="width: 5.5rem; height: 5.5rem"
                :src="compassBg"
              >
              <img
                style="
                  font-size: 2rem;
@@ -111,7 +117,9 @@
              justify-content: center;
            "
          >
            <div style="font-size: 0.9rem">空气质量指数(小时平均)</div>
            <div style="font-size: 0.9rem">
              空气质量指数(小时平均)
            </div>
            <div style="font-size: 1.5rem; margin-top: 7px">
              {{ aqi }}<span style="font-size: 0.8rem">(AQI)</span>
            </div>
@@ -119,22 +127,27 @@
        </div>
      </el-main>
    </el-aside>
    <el-container class="border-left border-right" style="margin: 0 10px">
    <el-container
      class="border-left border-right"
      style="margin: 0 10px"
    >
      <el-header
        class="title0"
        style="text-align: center; display: unset !important; margin-top: 10px"
      ><h1
        style="
      >
        <h1
          style="
            text-align: center;
            text-align: center;
            margin: 0;
            padding-top: 20px;
            font-size: 1.2rem;
          "
        @click="websocketData()"
      >
        {{ deviceName ? deviceName : '停机' }}
      </h1></el-header>
          @click="websocketData()"
        >
          {{ deviceName ? deviceName : '停机' }}
        </h1>
      </el-header>
      <el-main
        style="
          padding-left: 0;
@@ -211,8 +224,15 @@
            </div>
          </div>
        </div>
        <div class="border-top" style="display: flex; height: 50%">
          <div ref="main" class="middle1" style="flex: 1; padding-top: 2rem" />
        <div
          class="border-top"
          style="display: flex; height: 50%"
        >
          <div
            ref="main"
            class="middle1"
            style="flex: 1; padding-top: 2rem"
          />
          <!-- <line-chart :chart-data="lineChartData" /> -->
          <div
            class="border-left middle2"
@@ -223,9 +243,13 @@
              margin-left: 10px;
            "
          >
            <h3 style="font-size: 0.9rem">本月平均值</h3>
            <h3 style="font-size: 0.9rem">
              本月平均值
            </h3>
            <div>
              <div style="font-size: 0.9rem">{{ chartSensorName }}</div>
              <div style="font-size: 0.9rem">
                {{ chartSensorName }}
              </div>
              <div
                style="padding: 8px 0 0; font-size: 2.3rem; font-weight: bold"
              >
@@ -265,17 +289,30 @@
        >
          <div style="height: 100%; display: flex; flex-direction: column">
            <div style="height: 30%">
              <h3 v-if="macLat" style="text-align: center; font-size: 0.9rem">
              <h3
                v-if="macLat"
                style="text-align: center; font-size: 0.9rem"
              >
                <span>坐标:</span> {{ macLat }}, {{ macLng }}
              </h3>
              <h3 style="font-size: 0.9rem">实时监测超标预警</h3>
              <h3 style="font-size: 0.9rem">
                实时监测超标预警
              </h3>
            </div>
            <div style="height: 70%">
              <!--              padding-top: 4%-->
              <img :src="url1" alt="" style="width: 70%">
              <img
                :src="url1"
                alt=""
                style="width: 70%"
              >
            </div>
            <div>
              <img style="width: 75%" :src="url2" alt="">
              <img
                style="width: 75%"
                :src="url2"
                alt=""
              >
            </div>
          </div>
        </div>
@@ -284,7 +321,9 @@
          class="right1"
          style="height: 40%; display: flex; flex-direction: column"
        >
          <h3 style="text-align: center; font-size: 0.9rem">设备列表</h3>
          <h3 style="text-align: center; font-size: 0.9rem">
            设备列表
          </h3>
          <ul
            class="listUl"
            style="
@@ -310,7 +349,9 @@
          class="right1"
          style="height: 40%; display: flex; flex-direction: column"
        >
          <h3 style="text-align: center; font-size: 0.9rem">标准值</h3>
          <h3 style="text-align: center; font-size: 0.9rem">
            标准值
          </h3>
          <ul
            class="listUl"
            style="
@@ -336,7 +377,7 @@
<script>
// 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
// 例如:import《组件名称》from'《组件路径》';
import { WWindUtil } from '@/components/Wind/WRatingArr.js'
import json from '@/assets/json/sensor.json'
import * as echarts from 'echarts'
// import { parse } from 'path-to-regexp'
@@ -350,13 +391,13 @@
  },
  filters: {
    // 过滤器替换websocket实时数据的key值
    sensorFilter: function(value) {
    sensorFilter: function (value) {
      if (!value) return ''
      return json[value]
    }
  },
  props: {},
  data() {
  data () {
    // 这里存放数据
    return {
      circle: 0,
@@ -439,25 +480,25 @@
  },
  // 计算属性 类似于data概念
  computed: {
    leftaSide() {
    leftaSide () {
      return this.$store.state.leftaSide
    }
  },
  // 监控data中的数据变化
  watch: {
    PM2_5Data(val) {
    PM2_5Data (val) {
      // console.log('新数据' + val)
      this.myChart = null
      this.drawChart()
    },
    leftaSide(n, o) {
    leftaSide (n, o) {
      // this.myChart.resize()
      this.myChart = null
      // this.drawChart()
    }
  },
  // 生命周期 - 创建完成(可以访问当前 this 实例)
  created() {
  created () {
    this.$store.dispatch('app/toggleSideBar', 0)
    // this.$Cookies.set('sidebarStatus', 1)
    // setTimeout(() => {
@@ -489,7 +530,7 @@
    // this.ws.send('{"mac":' + '"' + this.macName + '"' + ',"accountIdInfo":' + this.$store.state.accountId + '}')
  },
  // 生命周期 - 挂载完成(可以访问 DOM 元素)
  mounted() {
  mounted () {
    // this.$nextTick(() => {
    //   console.log('zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz')
    //   this.drawChart()
@@ -503,11 +544,11 @@
    // 得到中间圆圈的宽高
    // this.getCircleWH()
  },
  beforeCreate() {}, // 生命周期 - 创建之前
  beforeMount() {}, // 生命周期 - 挂载之前
  beforeUpdate() {}, // 生命周期 - 更新之前
  updated() {}, // 生命周期 - 更新之后
  beforeDestroy() {
  beforeCreate () {}, // 生命周期 - 创建之前
  beforeMount () {}, // 生命周期 - 挂载之前
  beforeUpdate () {}, // 生命周期 - 更新之前
  updated () {}, // 生命周期 - 更新之后
  beforeDestroy () {
    if (this.ws) {
      this.ws.close()
    }
@@ -515,11 +556,11 @@
      clearInterval(this.timer) // 在Vue实例销毁前,清除我们的定时器
    }
  }, // 生命周期 - 销毁之前
  destroyed() {}, // 生命周期 - 销毁完成
  activated() {},
  destroyed () {}, // 生命周期 - 销毁完成
  activated () {},
  // 方法集合
  methods: {
    chuan(val) {
    chuan (val) {
      console.log(val)
      this.chartSensorKey[0] = {}
      this.chartSensorKey[0] = val
@@ -529,7 +570,7 @@
      // console.log(this.chartSensorKey[0].sensorCode);
      // console.log(this.chartSensorKey)
    },
    chuan2(val) {
    chuan2 (val) {
      console.log(val)
      this.chartSensorKey[0] = {}
      this.chartSensorKey[0] = val
@@ -538,7 +579,7 @@
      this.filterSensorName()
    },
    // 修改圆圈的宽高
    getCircleWH() {
    getCircleWH () {
      // var circleWHList = document.getElementsByClassName('circleWH')
      // var dom = this.$refs.test
      // var circleWHWidth = circleWHList[0].offsetWidth
@@ -546,13 +587,13 @@
      // console.log(circleWHWidth, circleWHeight, '宽高')
    },
    // 过滤图表因子名称
    filterSensorName() {
    filterSensorName () {
      this.chartSensorName = this.$options.filters.sensorFilter(
        this.chartSensorKey[0].sensorCode
      )
    },
    // 因子布局接口
    sensorLayout() {
    sensorLayout () {
      return new Promise((resolve, reject) => {
        this.$request({
          url: '/organizationLayout/getLayoutByMac',
@@ -582,7 +623,7 @@
      })
    },
    // 调用污染程度接口
    getAlarmLevels() {
    getAlarmLevels () {
      this.$axios
        .get('http://121.43.179.139:8080/screen_api_v2/screen/alarm-levels', {
          params: {
@@ -600,9 +641,9 @@
        })
    },
    // 获得实时日期更新
    getTime() {
    getTime () {
      var _this = this // 声明一个变量指向Vue实例this,保证作用域一致
      this.timer = setInterval(function() {
      this.timer = setInterval(function () {
        _this.currentTime = // 修改数据date
          _this.appendZero(new Date().getFullYear()) +
          '-' +
@@ -617,11 +658,11 @@
          _this.appendZero(new Date().getSeconds())
      }, 1000)
    },
    appendZero(obj) {
    appendZero (obj) {
      return obj < 10 ? '0' + obj : obj
    },
    // 切换设备重新加载信息
    reMac(newMac, i, name) {
    reMac (newMac, i, name) {
      this.PM2_5Data = []
      this.wsData2 = null
      this.url1 = require('@/assets/images/alarmlevel-1.png')
@@ -639,14 +680,14 @@
      }
    },
    // 遍历键名
    getkeyName() {
    getkeyName () {
      for (var kn in this.wsData2) {
        this.keyName.push(kn)
        alert(this.keyName)
      }
    },
    // 请求单台设备一个小时
    getHourlyAqi() {
    getHourlyAqi () {
      this.$request({
        url: '/deviceInfo/getHourlyAqi',
        method: 'get',
@@ -665,7 +706,7 @@
        })
    },
    // 请求单台设备某参数月平均值
    getSensorMonthAvg() {
    getSensorMonthAvg () {
      this.$request({
        url: '/deviceInfo/getMonthAvg',
        method: 'get',
@@ -685,7 +726,7 @@
        })
    },
    // 因子报警值排序
    alarmSort() {
    alarmSort () {
      this.sensorLayout().then(() => {
        var newAlarmLevel = {}
        for (let i = 0; i < this.totalArray.length; i++) {
@@ -700,7 +741,7 @@
      })
    },
    // ws请求
    websocketData() {
    websocketData () {
      if (this.ws) {
        this.ws.close()
      }
@@ -724,13 +765,13 @@
      console.log('socketUrl', socketUrl)
      this.ws = new WebSocket(socketUrl)
      this.ws.onopen = function() {
      this.ws.onopen = function () {
        console.log('websocket开启成功')
      }
      console.log(2)
      // this.ws.send('{"mac":' + '"' + this.macName + '"' + ',"accountIdInfo":' + this.$store.state.accountId + '}')
      // 获得消息事件
      this.ws.onmessage = function(msg) {
      this.ws.onmessage = function (msg) {
        // console.log(1);
        // if (JSON.parse(msg.data).名称) {
        that.wsData2 = JSON.parse(msg.data)
@@ -752,20 +793,8 @@
          that.windDeg = windDirs
          if (windDirs === 0) {
            that.windDir = '北风'
          } else if (windDirs > 0 && windDirs < 90) {
            that.windDir = '东北风'
          } else if (windDirs === 90) {
            that.windDir = '东风'
          } else if (windDirs > 90 && windDirs < 180) {
            that.windDir = '东南风'
          } else if (windDirs === 180) {
            that.windDir = '南风'
          } else if (windDirs > 180 && windDirs < 270) {
            that.windDir = '西南风'
          } else if (windDirs === 270) {
            that.windDir = '西风'
          } else if (windDirs > 270 && windDirs < 360) {
            that.windDir = '西北风'
          } else {
            that.windDir = WWindUtil.windValueFormat(windDirs)
          }
        }
        that.alarmColour = {}
@@ -1199,7 +1228,7 @@
      }
    },
    // 设备因子报警值
    queryAlarmByMac() {
    queryAlarmByMac () {
      this.$request({
        url: '/deviceInfo/queryAlarmByMac',
        method: 'get',
@@ -1231,7 +1260,7 @@
        })
    },
    // 折线图
    drawChart() {
    drawChart () {
      const that = this
      var bar_dv = this.$refs.main
      if (bar_dv) {
@@ -1251,7 +1280,7 @@
            bottom: 25
          },
          tooltip: {
            formatter: function(res) {
            formatter: function (res) {
              console.log(res, 'res')
              var result = ''
              var html1 = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:red;"></span>'
@@ -1322,8 +1351,8 @@
          ]
        }
        that.myChart.setOption(option)
        setTimeout(function() {
          window.onresize = function() {
        setTimeout(function () {
          window.onresize = function () {
            that.myChart.resize()
          }
        }, 200)