he wei
2023-12-23 fc842d9e22aef1946df050257be41b4bfbd838a9
src/views/hrTestRecord/index.vue
@@ -4,60 +4,22 @@
      <div class="panel-content flex-c">
        <div class="search">
          <div class="s-item">
            <div class="label">设备名称</div>
            <div class="label">操作类型</div>
            <div class="value">
              <el-select
                v-model="devType"
                v-model="cmdType"
                class="dark"
                size="mini"
                @change="getList"
                filterable
                placeholder="请选择"
              >
                <el-option label="全部" value=""></el-option>
                <el-option
                  v-for="(item, idx) in devtypes"
                  :key="'type_' + idx"
                  :label="item"
                  :value="idx"
                >
                </el-option>
              </el-select>
            </div>
          </div>
          <div class="s-item">
            <div class="label">参数类型</div>
            <div class="value">
              <el-select
                v-model="almLevel"
                class="dark"
                size="mini"
                @change="getList"
                placeholder="请选择"
              >
                <el-option
                  v-for="(item, idx) in almLevels"
                  v-for="(item, idx) in opInfo"
                  :key="'level_' + idx"
                  :label="item"
                  :value="idx"
                >
                </el-option>
              </el-select>
            </div>
          </div>
          <div class="s-item">
            <div class="label">参数名称</div>
            <div class="value">
              <el-select
                v-model="almLevel"
                class="dark"
                size="mini"
                @change="getList"
                placeholder="请选择"
              >
                <el-option
                  v-for="(item, idx) in almLevels"
                  :key="'level_' + idx"
                  :label="item"
                  :value="idx"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
@@ -116,7 +78,7 @@
              show-overflow-tooltip
              align="center"
            ></el-table-column>
            <el-table-column
            <!-- <el-table-column
              prop="cztime"
              fixed="right"
              width="240px"
@@ -130,11 +92,8 @@
                  @click="details(scope.row)"
                  >详情</el-button
                >
                <!-- <el-button class="l-green" disabled="" size="mini"
                  >告警详情</el-button
                > -->
              </template>
            </el-table-column>
            </el-table-column> -->
          </el-table>
        </div>
        <!-- 底部分页 -->
@@ -157,127 +116,120 @@
import Panel from "@/components/panel.vue";
import gradientBtn from "@/components/gradientBtn.vue";
import createWs from "@/assets/js/websocket/plus";
const WSMixin = createWs("ckPowerDevAlarmHisCount");
import { getList } from "./js/apis";
import { getBattSetLog, getOpInfo } from "./js/apis";
export default {
  name: "",
  mixins: [WSMixin],
  components: {
    Panel,
    gradientBtn,
  },
  data() {
    return {
      almCount: {},
      pageNum: 1,
      pageSize: 10,
      devType: 0,
      almLevel: 0,
      date1: "",
      date2: "",
      devtypes: ["全部", "交流配电柜", "直流配电柜", "高频开关电源柜"],
      almLevels: ["全部", "一般", "重大", "紧急"],
      cmdType: "",
      opInfo: [],
      total: 0,
      table: {
        headers: [
          // {
          //   prop: "devName",
          //   label: "设备名称",
          //   minWidth: 180,
          // },
          {
            prop: "devName",
            label: "设备名称",
            prop: "cmdName",
            label: "操作类型",
            width: 180,
          },
          {
            prop: "paramCn",
            label: "参数名称",
            minWidth: 180,
          },
          {
            prop: "almName",
            label: "参数类型",
            prop: "value",
            label: "设置值",
            minWidth: 180,
          },
          {
            prop: "createTime",
            label: "测控时间",
            width: 180,
          },
          {
            prop: "almLevelStr",
            label: "参数名称",
            width: 120,
          },
          {
            prop: "almLevelStr",
            label: "测控日期",
            width: 120,
          },
          {
            prop: "almStartTime",
            label: "测控次数",
            width: 180,
          },
          {
            prop: "almConfirmedTime",
            label: "最后一次测控时间",
            width: 180,
          },
          // {
          //   prop: "almStartTime",
          //   label: "测控次数",
          //   width: 180,
          // },
          // {
          //   prop: "almConfirmedTime",
          //   label: "最后一次测控时间",
          //   width: 180,
          // },
        ],
        datas: [
          {
            devName: 1,
          },
        ],
        datas: [],
      },
    };
  },
  methods: {
    details() {
      this.$router.push("/data-record/power-details");
    },
    onWSMessage1(res) {
      let {
        data: { list, total },
      } = JSON.parse(res.data);
      this.table.datas = list.map((v) => {
        v.devName = ["", "交流配电柜", "直流配电柜", "高频开关电源柜"][
          v.devType
        ];
        v.almLevelStr = ["", "一般", "重大", "紧急"][v.almLevel];
        return v;
      });
      this.total = total;
    },
    onWSMessage1(res) {
      let { data } = JSON.parse(res.data);
      this.almCount = data;
    },
    // details() {
    //   this.$router.push("/data-record/power-details");
    // },
    getList() {
      let params = {
        pageNum: this.pageNum,
        pageSize: this.pageSize,
        devType: this.devType,
        almStartTime: this.date1
        cmdType: this.cmdType,
        createTime: this.date1
          ? this.date1 + " 00:00:00"
          : "2023-01-01 00:00:00",
        almStartTime1: this.date2
        createTime1: this.date2
          ? this.date2 + " 23:59:59"
          : new Date().format("yyyy-MM-dd hh:mm:ss"),
        almLevel: this.almLevel,
      };
      console.log("=====9=", params, JSON.stringify(params));
      // this.SOCKET1.send(JSON.stringify(params));
      getList(params)
      getBattSetLog(params)
        .then((res) => {
          let {
            code,
            data: { list, total },
            data,
            data2: { list, total },
          } = res.data;
          let list1 = [];
          let total1 = 0;
          if (code) {
          if (code && data) {
            list1 = list.map((v) => {
              v.devName = ["", "交流配电柜", "直流配电柜", "高频开关电源柜"][
                v.devType
              ];
              v.almLevelStr = ["", "一般", "重大", "紧急"][v.almLevel];
              v.value = v.value || '--';
              v.paramCn = v.paramCn || '--';
              return v;
            });
            total1 = total;
          }
          this.table.datas = list1;
          this.total = total1;
        })
        .catch((err) => {
          console.log(err);
        });
    },
    getOpInfo() {
      getOpInfo()
        .then((res) => {
          let { code, data, data2 } = res.data;
          let list = [];
          if (code && data) {
            list = Object.keys(data2).map((v) => ({
              label: data2[v],
              value: v,
            }));
          }
          console.log(list,'list');
          this.opInfo = list;
        })
        .catch((err) => {
          console.log(err);
@@ -307,7 +259,10 @@
    },
  },
  mounted() {},
  mounted() {
    this.getOpInfo();
    this.getList();
  },
};
</script>
@@ -323,7 +278,7 @@
      font-weight: bold;
      padding: 0 6px;
      border: 0 none;
      /deep/ span {
      :deep(span) {
        display: flex;
        color: inherit;
        justify-content: space-between;
@@ -375,7 +330,7 @@
  .p-content {
    flex: 1;
    margin-top: 4px;
    /deep/ .content {
    :deep(.content) {
      background: #011f39;
    }
    .panel-content {
@@ -384,7 +339,8 @@
    }
    .search {
      display: flex;
      justify-content: space-around;
      justify-content: space-between;
      padding: 0.4em;
      .s-item {
        display: flex;
        align-items: center;
@@ -404,8 +360,8 @@
    }
  }
  /deep/ .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
  :deep(.el-checkbox__input.is-disabled.is-checked) .el-checkbox__inner {
    background-color: #2155ff;
  }
}
</style>
</style>