zhanghua
2023-11-12 b041f8a0a7c42f95b838fdf3a400213026968e95
实时数据
5个文件已修改
5个文件已添加
550 ■■■■■ 已修改文件
src/views/smoke/realTime/components/detectorDailySumDays.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/realTime/components/devices.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/realTime/components/intimeData.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/realTime/components/tenHourData.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/realTime/components/tenMinData.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/realTime/index.vue 249 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/report/components/alarm.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/report/components/maintenance.vue 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/report/components/overallSituation.vue 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/report/components/reduceEmissions.vue 121 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smoke/realTime/components/detectorDailySumDays.vue
New file
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
}
</script>
<style>
</style>
src/views/smoke/realTime/components/devices.vue
New file
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
}
</script>
<style>
</style>
src/views/smoke/realTime/components/intimeData.vue
New file
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
}
</script>
<style>
</style>
src/views/smoke/realTime/components/tenHourData.vue
New file
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
}
</script>
<style>
</style>
src/views/smoke/realTime/components/tenMinData.vue
New file
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
}
</script>
<style>
</style>
src/views/smoke/realTime/index.vue
@@ -1,9 +1,6 @@
<template>
    <div>
        <MyHeader
            @getList="getRealTimeList"
            @exportTable="exportInTime"
        ></MyHeader>
    <MyHeader @getList="getRealTimeList" @exportTable="exportInTime"></MyHeader>
        <!-- 数据展示 -->
        <div style="width: 100%; overflow-x: scroll">
            <el-table
@@ -13,7 +10,7 @@
                :header-cell-style="{
                    background: '#F5F5F5',
                    'font-weight': '650',
                    'line-height': '45px'
          'line-height': '45px',
                }"
                :data="tableData"
                :row-class-name="tableRowClassName"
@@ -24,23 +21,11 @@
                </el-table-column>
                <el-table-column prop="Addr" label="安装地址" width="180px">
                </el-table-column>
                <el-table-column
                    prop="AcquitAtStr"
                    label="采集时间"
                    width="100px"
                >
        <el-table-column prop="AcquitAtStr" label="采集时间" width="100px">
                </el-table-column>
                <el-table-column
                    prop="FanStatusStr"
                    label="风机状态"
                    width="80px"
                >
        <el-table-column prop="FanStatusStr" label="风机状态" width="80px">
                </el-table-column>
                <el-table-column
                    prop="FilterStatusStr"
                    label="净化器状态"
                    width="95px"
                >
        <el-table-column prop="FilterStatusStr" label="净化器状态" width="95px">
                </el-table-column>
                <el-table-column
                    prop="EmissionsConc"
@@ -80,34 +65,24 @@
                </el-table-column>
                <el-table-column prop="StatusStr" label="排放状态" width="80px">
                </el-table-column>
                <el-table-column
                    prop="OnlineStatusStr"
                    label="整体状态"
                    width="80px"
                >
        <el-table-column prop="OnlineStatusStr" label="整体状态" width="80px">
                </el-table-column>
                <el-table-column prop="operation" label="操作" width="550px">
                    <template slot-scope="scope">
                        <div class="operation">
                            <span @click="handleUpload(scope.row)"
              <span @click="handleDetectorDailySumDays(scope.row)"
                                >一点一档</span
                            >
                            <span class="line">|</span>
                            <span @click="handleDispatch(scope.row)"
                                >查看每分钟数据</span
                            >
              <span @click="handleIntimeData(scope.row)">查看每分钟数据</span>
                            <span class="line">|</span>
                            <span @click="handleLearn(scope.row)"
                                >查看10min浓度</span
                            >
              <span @click="handleTenMinData(scope.row)">查看10min浓度</span>
                            <span class="line">|</span>
                            <span @click="handleNotDeal(scope.row)"
              <span @click="handleTenHourData(scope.row)"
                                >查看小时折算浓度</span
                            >
                            <span class="line">|</span>
                            <span @click="handleNotDeal(scope.row)"
                                >监测点设备管理</span
                            >
              <span @click="handleDevices(scope.row)">监测点设备管理</span>
                        </div>
                    </template>
                </el-table-column>
@@ -128,11 +103,80 @@
                </el-pagination>
            </div>
        </div>
    <el-dialog
      :destroy-on-close="true"
      :visible.sync="dialogDetectorDailySumDays"
      width="80%"
    >
      <DetectorDailySumDays
        v-if="dialogDetectorDailySumDays"
        @closeDialog="closeDialog"
        :inTimeData="inTimeData"
      ></DetectorDailySumDays>
    </el-dialog>
    <el-dialog
      :destroy-on-close="true"
      :visible.sync="dialogIntimeData"
      width="80%"
    >
      <IntimeData
        v-if="dialogIntimeData"
        @closeDialog="closeDialog"
        :inTimeData="inTimeData"
      ></IntimeData>
    </el-dialog>
    <el-dialog
      :destroy-on-close="true"
      :visible.sync="dialogTenMinData"
      width="80%"
    >
      <TenMinData
        v-if="dialogTenMinData"
        @closeDialog="closeDialog"
        :inTimeData="inTimeData"
      ></TenMinData>
    </el-dialog>
    <el-dialog
      :destroy-on-close="true"
      :visible.sync="dialogTenHourData"
      width="80%"
    >
      <TenHourData
        v-if="dialogTenHourData"
        @closeDialog="closeDialog"
        :inTimeData="inTimeData"
      ></TenHourData>
    </el-dialog>
    <el-dialog
      :destroy-on-close="true"
      :visible.sync="dialogDevices"
      width="80%"
    >
      <Devices
        v-if="dialogDevices"
        @closeDialog="closeDialog"
        :inTimeData="inTimeData"
      ></Devices>
    </el-dialog>
    </div>
</template>
<script>
import MyHeader from "./components/header";
import DetectorDailySumDays from "./components/detectorDailySumDays.vue";
import Devices from "./components/devices.vue";
import IntimeData from "./components/intimeData.vue";
import TenHourData from "./components/tenHourData.vue";
import TenMinData from "./components/tenMinData.vue";
import realTimeApi from "@/api/smoke/realTime";
export default {
    data() {
@@ -141,9 +185,22 @@
            totalNum: 0,
            pageSize: 10,
            currentPage: 1,
      dialogDetectorDailySumDays: false,
      dialogDevices: false,
      dialogIntimeData: false,
      dialogTenHourData: false,
      dialogTenMinData: false,
      inTimeData:{}
        };
    },
    components: { MyHeader },
  components: {
    MyHeader,
    DetectorDailySumDays,
    TenHourData,
    Devices,
    IntimeData,
    TenMinData,
  },
    created() {
        this.getRealTimeList();
    },
@@ -151,7 +208,7 @@
        getRealTimeList(seachData) {
            let params;
            if (seachData) {
                params = this.getParam(seachData)
        params = this.getParam(seachData);
            } else {
                params = {
                    pageNum: this.currentPage,
@@ -162,12 +219,15 @@
            realTimeApi
                .findInTimeList(params)
                .then(({ list, total }) => {
                    list.forEach(e => {
                        e.AcquitAtStr = this.dateFormat("YYYY-mm-dd HH:MM", new Date(e.AcquitAt*1000));
                        e.FanStatusStr = this.FanStatusStr(e.FanStatus)
                        e.FilterStatusStr = this.FanStatusStr(e.FilterStatus)
                        e.OnlineStatusStr = this.OnlineStatusStr(e.OnlineStatus)
                        e.StatusStr = this.StatusStr(e.Status)
          list.forEach((e) => {
            e.AcquitAtStr = this.dateFormat(
              "YYYY-mm-dd HH:MM",
              new Date(e.AcquitAt * 1000)
            );
            e.FanStatusStr = this.FanStatusStr(e.FanStatus);
            e.FilterStatusStr = this.FanStatusStr(e.FilterStatus);
            e.OnlineStatusStr = this.OnlineStatusStr(e.OnlineStatus);
            e.StatusStr = this.StatusStr(e.Status);
                    });
                    this.tableData = list;
                    this.totalNum = total;
@@ -177,22 +237,19 @@
        exportInTime(seachData) {
            let params;
            if (seachData) {
                params = this.getParam(seachData)
        params = this.getParam(seachData);
            }
            realTimeApi
                .exportInTime(params)
                .then((res) => {
                  debugger
          debugger;
                    let time = new Date();
                    let deathdate = time.toLocaleDateString();
                    const blob = new Blob([res.data], {
                        type: "application/vnd.ms-excel;charset=utf-8",
                    });
                    if (window.navigator.msSaveBlob) {
                        window.navigator.msSaveBlob(
                            blob,
                            deathdate + "实时数据" + ".xls"
                        );
            window.navigator.msSaveBlob(blob, deathdate + "实时数据" + ".xls");
                    } else {
                        const url = window.URL.createObjectURL(blob);
                        const link = document.createElement("a");
@@ -210,31 +267,29 @@
        getParam(seachData) {
            let params;
            if (seachData) {
                const seachParams = seachData.seachData
        const seachParams = seachData.seachData;
                params = {
                    owner:
                        seachParams.owner == undefined
                            ? null
                            : seachParams.owner,
          owner: seachParams.owner == undefined ? null : seachParams.owner,
                    onlineStatus:
                        seachParams.onlineStatus == undefined
                            ? null
                            : seachParams.onlineStatus,
                    status: seachParams.status == undefined
                        ? null
                        : seachParams.status,
                    type:
                        seachParams.type == undefined
                            ? null
                            : seachParams.type,
          status: seachParams.status == undefined ? null : seachParams.status,
          type: seachParams.type == undefined ? null : seachParams.type,
                    startTime:
                        seachParams.alarmTime == undefined
                            ? null
                            : this.dateFormat("YYYY-mm-dd HH:MM:SS", seachParams.alarmTime[0]),
              : this.dateFormat(
                  "YYYY-mm-dd HH:MM:SS",
                  seachParams.alarmTime[0]
                ),
                    endTime:
                        seachParams.alarmTime == undefined
                            ? null
                            : this.dateFormat("YYYY-mm-dd HH:MM:SS", seachParams.alarmTime[1]),
              : this.dateFormat(
                  "YYYY-mm-dd HH:MM:SS",
                  seachParams.alarmTime[1]
                ),
                };
            }
            return params;
@@ -243,43 +298,43 @@
        FanStatusStr(FanStatus) {
            switch (FanStatus) {
                case 1:
                    return "开"
          return "开";
                case 2:
                    return "关"
          return "关";
                default:
                    return "异常"
          return "异常";
            }
        },
        OnlineStatusStr(Status) {
            switch (Status) {
                case 1:
                    return "在线"
          return "在线";
                case 2:
                    return "离线"
          return "离线";
                default:
                    return "异常离线"
          return "异常离线";
            }
        },
        StatusStr(Status) {
            switch (Status) {
                case "NORMAL":
                    return "正常"
          return "正常";
                case "ALARM":
                    return "预警"
          return "预警";
                case "EXCESS":
                    return "超标"
          return "超标";
                case "DOWN":
                    return "离线"
          return "离线";
                default:
                    return "异常离线"
          return "异常离线";
            }
        },
        // 设置表格斑马纹
        tableRowClassName({ row, rowIndex }) {
            if ((rowIndex + 1) % 2 === 0) {
                return 'warning-row';
        return "warning-row";
            } else {
                return 'success-row';
        return "success-row";
            }
        },
        // 当前页改变触发事件
@@ -305,18 +360,48 @@
                "d+": date.getDate().toString(),            // 日
                "H+": date.getHours().toString(),           // 时
                "M+": date.getMinutes().toString(),         // 分
                "S+": date.getSeconds().toString()          // 秒
        "S+": date.getSeconds().toString(), // 秒
                // 有其他格式化字符需求可以继续添加,必须转化成字符串
            };
            for (let k in opt) {
                ret = new RegExp("(" + k + ")").exec(fmt);
                if (ret) {
                    fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
                };
            };
          fmt = fmt.replace(
            ret[1],
            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")
          );
        }
      }
            return fmt;
        },
    }
    handleDetectorDailySumDays(row) {
      this.dialogDetectorDailySumDays = true;
      this.inTimeData = row
    },
    handleIntimeData(row) {
      this.dialogIntimeData = true;
      this.inTimeData = row
    },
    handleTenMinData(row) {
      this.dialogTenMinData = true;
      this.inTimeData = row
    },
    handleTenHourData(row) {
      this.dialogTenHourData = true;
      this.inTimeData = row
    },
    handleDevices(row) {
      this.dialogDevices = true;
      this.inTimeData = row
    },
    closeDialog() {
      this.dialogDetectorDailySumDays = false;
      this.dialogDevices = false;
      this.dialogIntimeData = false;
      this.dialogTenHourData = false;
      this.dialogTenMinData = false;
    },
  },
};
</script>
src/views/smoke/report/components/alarm.vue
@@ -24,7 +24,7 @@
        >
        </el-table-column>
        <el-table-column
          prop="CGranule"
          prop="ExcessNum"
          label="超标天数"          
          min-width="10%"
        >
src/views/smoke/report/components/maintenance.vue
@@ -1,6 +1,6 @@
<template>
    <div>
      <MyHeader @getList="getRealTimeList" @exportTable="exportInTime"></MyHeader>
      <MyHeader @getList="getRealTimeList" ></MyHeader>
      <!-- 数据展示 -->
      <div style="width: 100%; overflow-x: scroll">
        <el-table
@@ -18,55 +18,55 @@
          <el-table-column label="序号" type="index" width="80">
          </el-table-column>
          <el-table-column
            prop="AcquitAtStr"
            prop="Name"
            label="监测点"          
            min-width="15%"
          >
          </el-table-column>
          <el-table-column
            prop="Addr"
            prop="MN"
            label="设备编号"          
            min-width="10%"
          >
          </el-table-column>
          <el-table-column
            prop="FanStatusStr"
            prop="AbnormalOfflineDays"
            label="异常离线天数"          
            min-width="10%"
          >
          </el-table-column>
          <el-table-column
            prop="AA"
            prop="AbnormalOfflineToProcessDays"
            label="异常离线待处理天数"          
            min-width="10%"
          >
          </el-table-column>
          <el-table-column
            prop="EmissionsConc"
            prop="ShopClosedDays"
            label="歇业天数"          
            min-width="10%"
          >
          </el-table-column>
          <el-table-column
            prop="EmissionsConc"
            prop="FilterAbnormallyUsedDays"
            label="净化器不正常使用天数"          
            min-width="10%"
          >
          </el-table-column>
          <el-table-column
            prop="EmissionsConc"
            prop="DetectorFailureDays"
            label="监测仪故障天数"          
            min-width="10%"
          >
          </el-table-column>
          <el-table-column
            prop="EmissionsConc"
            prop="OfflineCausedByShopDays"
            label="店家原因导致离线天数"          
            min-width="10%"
          >
          </el-table-column>
          <el-table-column
            prop="EmissionsConc"
            prop="AbnormalOfflineProcessRatio"
            label="处理率"          
            min-width="10%"
          >
@@ -93,7 +93,7 @@
  
  <script>
  import MyHeader from "./header/header2.vue";
  import realTimeApi from "@/api/smoke/realTime";
import statisticsApi from "@/api/smoke/statistics";
  export default {
    data() {
      return {
@@ -119,57 +119,15 @@
          };
        }
  
        realTimeApi
          .findInTimeList(params)
          .then(({ list, total }) => {
            list.forEach((e) => {
              e.AcquitAtStr = this.dateFormat(
                "YYYY-mm-dd HH:MM",
                new Date(e.AcquitAt*1000)
              );
              e.FanStatusStr = this.FanStatusStr(e.FanStatus);
              e.FilterStatusStr = this.FanStatusStr(e.FilterStatus);
              e.OnlineStatusStr = this.OnlineStatusStr(e.OnlineStatus);
              e.StatusStr = this.StatusStr(e.Status);
            });
        statisticsApi
        .findCurAlarmList(params)
        .then((list) => {
            this.tableData = list;
            this.totalNum = total;
          this.totalNum = list.length;
          })
          .catch((err) => this.$message.error(err));
      },
      exportInTime(seachData) {
        let params;
        if (seachData) {
          params = this.getParam(seachData);
        }
        realTimeApi
          .exportInTime(params)
          .then((res) => {
            debugger;
            let time = new Date();
            let deathdate = time.toLocaleDateString();
            const blob = new Blob([res.data], {
              type: "application/vnd.ms-excel;charset=utf-8",
            });
            if (window.navigator.msSaveBlob) {
              window.navigator.msSaveBlob(
                blob,
                deathdate + "监测总体情况报表" + ".xls"
              );
            } else {
              const url = window.URL.createObjectURL(blob);
              const link = document.createElement("a");
              link.style.display = "none";
              link.href = url;
              link.download = deathdate + "监测总体情况报表" + ".xls";
              document.body.appendChild(link);
              link.click();
              document.body.removeChild(link);
            }
            this.$message.success("操作成功");
          })
          .catch((err) => this.$message.error(err));
      },
      getParam(seachData) {
        let params;
        if (seachData) {
src/views/smoke/report/components/overallSituation.vue
@@ -20,42 +20,42 @@
            >
                <el-table-column label="序号" type="index" width="50">
                </el-table-column>
                <el-table-column prop="AcquitAtStr" label="采集时间" width="auto" min-width="20%">
                <el-table-column prop="AcquitDate" label="采集时间" width="auto" min-width="20%">
                </el-table-column>
                <el-table-column prop="Addr" label="设备总数" width="auto" min-width="10%">
                <el-table-column prop="Total" label="设备总数" width="auto" min-width="10%">
                </el-table-column>
                <el-table-column
                    prop="FanStatusStr"
                    prop="ComplianceCount"
                    label="达标数"
                    width="auto" min-width="10%"
                >
                </el-table-column>
                <el-table-column
                    prop="达标比例"
                    label="净化器状态"
                    prop="CompliancePercent"
                    label="达标比例"
                    width="auto" min-width="10%"
                >
                </el-table-column>
                <el-table-column
                    prop="EmissionsConc"
                    prop="ExceedStandardCount"
                    label="超标数"
                    width="auto" min-width="10%"
                >
                </el-table-column>
                <el-table-column
                    prop="CEmissions"
                    prop="ExceedStandardPercent"
                    label="超标比例"
                    width="auto" min-width="10%"
                >
                </el-table-column>
                <el-table-column
                    prop="GranuleConc"
                    prop="OnlineCount"
                    label="在线数"
                    width="auto" min-width="10%"
                >
                </el-table-column>
                <el-table-column
                    prop="CGranule"
                    prop="OnlinePercent"
                    label="在线比例"
                    width="auto" min-width="10%"
                >
@@ -82,7 +82,7 @@
<script>
import MyHeader from "./header/header1.vue";
import realTimeApi from "@/api/smoke/realTime";
import statisticsApi from "@/api/smoke/statistics";
export default {
    data() {
        return {
@@ -108,18 +108,13 @@
                };
            }
            realTimeApi
                .findInTimeList(params)
                .then(({ list, total }) => {
                    list.forEach(e => {
                        e.AcquitAtStr = this.dateFormat("YYYY-mm-dd HH:MM", new Date(e.AcquitAt*1000));
                        e.FanStatusStr = this.FanStatusStr(e.FanStatus)
                        e.FilterStatusStr = this.FanStatusStr(e.FilterStatus)
                        e.OnlineStatusStr = this.OnlineStatusStr(e.OnlineStatus)
                        e.StatusStr = this.StatusStr(e.Status)
                    });
                    this.tableData = list;
                    this.totalNum = total;
            statisticsApi
                .findDataDetectorDailyStats(params)
                .then((json) => {
                    let res = JSON.parse(json)
                    this.tableData = res.sumGroupByDates;
                    this.totalNum = res.sumGroupByDates.lengtn;
                })
                .catch((err) => this.$message.error(err));
        },
src/views/smoke/report/components/reduceEmissions.vue
@@ -1,9 +1,6 @@
<template>
    <div>
        <MyHeader
            @getList="getRealTimeList"
            @exportTable="exportInTime"
        ></MyHeader>
    <MyHeader @getList="getRealTimeList" @exportTable="exportInTime"></MyHeader>
        <!-- 数据展示 -->
        <div style="width: 100%; overflow-x: scroll">
            <el-table
@@ -13,43 +10,39 @@
                :header-cell-style="{
                    background: '#F5F5F5',
                    'font-weight': '650',
                    'line-height': '45px'
          'line-height': '45px',
                }"
                :data="tableData"
                :row-class-name="tableRowClassName"
            >
                <el-table-column label="序号" type="index" width="60px">
                </el-table-column>
                <el-table-column prop="AcquitAtStr" label="监测点" min-width="10%">
        <el-table-column prop="LocaleName" label="监测点" min-width="10%">
                </el-table-column>
                <el-table-column prop="Addr" label="安装地址"  min-width="20%">
        <el-table-column prop="LocaleAddr" label="安装地址" min-width="20%">
        </el-table-column>
        <el-table-column prop="MN" label="设备编码" min-width="10%">
                </el-table-column>
                <el-table-column
                    prop="FanStatusStr"
                    label="设备编码"
                    min-width="15%"
                >
                </el-table-column>
                <el-table-column
                    prop="AAA"
          prop="RedPm25"
                    label="PM2.5减排量(Kg)"
                    min-width="10%"
          min-width="12%"
                >
                </el-table-column>
                <el-table-column
                    prop="EmissionsConc"
          prop="RedPm10"
                    label="PM10减排量(Kg)"
                    min-width="10%"
                >
                </el-table-column>
                <el-table-column
                    prop="CEmissions"
          prop="RedEmissions"
                    label="油烟减排(Kg)"
                    min-width="10%"
                >
                </el-table-column>
                <el-table-column
                    prop="GranuleConc"
          prop="RedVocs"
                    label="vocs减排量(Kg)"
                    min-width="10%"
                >
@@ -76,7 +69,7 @@
<script>
import MyHeader from "./header/header1.vue";
import realTimeApi from "@/api/smoke/realTime";
import statisticsApi from "@/api/smoke/statistics";
export default {
    data() {
        return {
@@ -94,7 +87,7 @@
        getRealTimeList(seachData) {
            let params;
            if (seachData) {
                params = this.getParam(seachData)
        params = this.getParam(seachData);
            } else {
                params = {
                    pageNum: this.currentPage,
@@ -102,30 +95,25 @@
                };
            }
            realTimeApi
                .findInTimeList(params)
                .then(({ list, total }) => {
                    list.forEach(e => {
                        e.AcquitAtStr = this.dateFormat("YYYY-mm-dd HH:MM", new Date(e.AcquitAt*1000));
                        e.FanStatusStr = this.FanStatusStr(e.FanStatus)
                        e.FilterStatusStr = this.FanStatusStr(e.FilterStatus)
                        e.OnlineStatusStr = this.OnlineStatusStr(e.OnlineStatus)
                        e.StatusStr = this.StatusStr(e.Status)
                    });
                    this.tableData = list;
                    this.totalNum = total;
      statisticsApi
        .findDetectorDaily(params)
        .then((json) => {
          let res = JSON.parse(json);
          this.tableData = res.content;
          this.totalNum = res.total;
                })
                .catch((err) => this.$message.error(err));
        },
        exportInTime(seachData) {
            let params;
            if (seachData) {
                params = this.getParam(seachData)
        params = this.getParam(seachData);
            }
            realTimeApi
                .exportInTime(params)
                .then((res) => {
                  debugger
          debugger;
                    let time = new Date();
                    let deathdate = time.toLocaleDateString();
                    const blob = new Blob([res.data], {
@@ -153,31 +141,29 @@
        getParam(seachData) {
            let params;
            if (seachData) {
                const seachParams = seachData.seachData
        const seachParams = seachData.seachData;
                params = {
                    owner:
                        seachParams.owner == undefined
                            ? null
                            : seachParams.owner,
          owner: seachParams.owner == undefined ? null : seachParams.owner,
                    onlineStatus:
                        seachParams.onlineStatus == undefined
                            ? null
                            : seachParams.onlineStatus,
                    status: seachParams.status == undefined
                        ? null
                        : seachParams.status,
                    type:
                        seachParams.type == undefined
                            ? null
                            : seachParams.type,
          status: seachParams.status == undefined ? null : seachParams.status,
          type: seachParams.type == undefined ? null : seachParams.type,
                    startTime:
                        seachParams.alarmTime == undefined
                            ? null
                            : this.dateFormat("YYYY-mm-dd HH:MM:SS", seachParams.alarmTime[0]),
              : this.dateFormat(
                  "YYYY-mm-dd HH:MM:SS",
                  seachParams.alarmTime[0]
                ),
                    endTime:
                        seachParams.alarmTime == undefined
                            ? null
                            : this.dateFormat("YYYY-mm-dd HH:MM:SS", seachParams.alarmTime[1]),
              : this.dateFormat(
                  "YYYY-mm-dd HH:MM:SS",
                  seachParams.alarmTime[1]
                ),
                };
            }
            return params;
@@ -186,43 +172,43 @@
        FanStatusStr(FanStatus) {
            switch (FanStatus) {
                case 1:
                    return "开"
          return "开";
                case 2:
                    return "关"
          return "关";
                default:
                    return "异常"
          return "异常";
            }
        },
        OnlineStatusStr(Status) {
            switch (Status) {
                case 1:
                    return "在线"
          return "在线";
                case 2:
                    return "离线"
          return "离线";
                default:
                    return "异常离线"
          return "异常离线";
            }
        },
        StatusStr(Status) {
            switch (Status) {
                case "NORMAL":
                    return "正常"
          return "正常";
                case "ALARM":
                    return "预警"
          return "预警";
                case "EXCESS":
                    return "超标"
          return "超标";
                case "DOWN":
                    return "离线"
          return "离线";
                default:
                    return "异常离线"
          return "异常离线";
            }
        },
        // 设置表格斑马纹
        tableRowClassName({ row, rowIndex }) {
            if ((rowIndex + 1) % 2 === 0) {
                return 'warning-row';
        return "warning-row";
            } else {
                return 'success-row';
        return "success-row";
            }
        },
        // 当前页改变触发事件
@@ -248,18 +234,21 @@
                "d+": date.getDate().toString(),            // 日
                "H+": date.getHours().toString(),           // 时
                "M+": date.getMinutes().toString(),         // 分
                "S+": date.getSeconds().toString()          // 秒
        "S+": date.getSeconds().toString(), // 秒
                // 有其他格式化字符需求可以继续添加,必须转化成字符串
            };
            for (let k in opt) {
                ret = new RegExp("(" + k + ")").exec(fmt);
                if (ret) {
                    fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
                };
            };
          fmt = fmt.replace(
            ret[1],
            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")
          );
        }
      }
            return fmt;
        },
    }
  },
};
</script>