search.vue 3.13 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
<template>
  <div>
    <el-form
      class="search-form"
      :model="form"
      ref="form"
      label-width="80px"
      :inline="true"
      size="mini"
    >
      <el-form-item label="基站名称">
        <el-select v-model="form.siteId" placeholder="请选择基站名称" clearable>
          <el-option
            v-for="item in siteList"
            :key="item.id"
            :label="item.siteName"
            :value="item.id"
          >
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="告警对象">
        <el-input
          v-model="form.alarmTargetName"
          clearable
          placeholder="请输入网元设备"
        ></el-input>
      </el-form-item>
      <el-form-item label="告警级别">
        <el-select
          v-model="form.alarmLevelName"
          placeholder="请选择告警级别"
          clearable
        >
          <el-option
            v-for="(val, key) in alarmLeval"
            :key="key"
            :label="val"
            :value="val"
          >
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="告警类型">
        <el-select
dupengyu's avatar
dupengyu committed
46
          v-model="form.alarmType"
47 48 49 50
          placeholder="请选择告警类型"
          clearable
        >
          <el-option
dupengyu's avatar
dupengyu committed
51
            v-for="(val, key) in alarmType"
52 53
            :key="key"
            :label="val"
54
            :value="key"
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
          >
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="告警产生时间" label-width="110px">
        <el-date-picker
          v-model="dateRange"
          type="daterange"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          value-format="yyyy-MM-dd"
        >
        </el-date-picker>
      </el-form-item>
      <el-form-item>
        <el-button type="success" @click="toSearch">查询</el-button>
        <el-button type="primary" @click="reset">重置</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
import { commonQuery } from "@/views/history/api";
80
import { alarmLeval, alarmType } from "@/const";
81 82 83 84 85 86 87 88

export default {
  name: "search",
  data() {
    return {
      siteList: [],
      form: formInit(),
      alarmLeval,
dupengyu's avatar
dupengyu committed
89
      alarmType,
90
      dateRange: [],
91 92 93 94 95 96 97
    };
  },
  mounted() {
    this.getInit();
  },
  methods: {
    toSearch() {
98 99
      this.form.startUploadTime = this.dateRange[0];
      this.form.endUploadTime = this.dateRange[1];
100 101 102 103
      this.$emit("search", this.form);
    },
    reset() {
      this.form = formInit();
104
      this.dateRange = []
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
      this.$emit("search");
    },
    getInit() {
      commonQuery().then((res) => {
        this.siteList = res.siteList || [];
      });
    },
  },
};

function formInit() {
  return {
    siteId: null,
    alarmTargetName: "",
    alarmLevelName: null,
  };
}
</script>
<style scoped lang="scss">
.w200 {
  width: 200px;
}
.search-form {
  padding: 10px;
  background-color: #eaf1fe;
  margin-bottom: 20px;
  border-radius: 8px;
  .el-form-item--mini.el-form-item,
  .el-form-item--small.el-form-item {
    margin-bottom: 0;
  }
}
</style>