MrShi
2 天以前 eb82684152ffb0acddf67da92e4533a0190eb258
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
46
47
48
49
50
51
52
53
54
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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
138
139
140
141
142
143
<template>
  <TableLayout :permissions="['business:warningevent:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="报警分类" prop="warningType">
        <el-select v-model="searchForm.warningType" placeholder="请选择" clearable  @change="search">
          <el-option label="安防事件" value="0"></el-option>
          <el-option label="消防事件" value="1"></el-option>
          <el-option label="车载事件" value="2"></el-option>
          <el-option label="钥匙柜事件" value="3"></el-option>
          <el-option label="天气预警" value="4"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="事件类型" prop="title">
        <el-input v-model="searchForm.title" placeholder="请输入事件类型"  clearable  @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="报警分类" prop="warningLevel" >
        <el-select v-model="searchForm.warningLevel" placeholder="请选择" clearable @change="search">
          <el-option label="低" value="0"></el-option>
          <el-option label="中" value="1"></el-option>
          <el-option label="高" value="2"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="所在位置" prop="region">
        <el-input v-model="searchForm.region" placeholder="请输入所在位置" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="发生时间" prop="date">
        <el-date-picker
            v-model="searchForm.queryStarttime"
            type="datetime"
            clearable
            value-format="yyyy-MM-dd HH:mm:ss"
            class="w200"
            placeholder="开始时间" /> 至
        <el-date-picker
            v-model="searchForm.queryEndtime"
            type="datetime"
            value-format="yyyy-MM-dd HH:mm:ss"
            class="w200"
            clearable
            placeholder="结束时间" />
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:warningevent:exportExcel']" @click="exportExcel">导出</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
        @selection-change="handleSelectionChange"
      >
<!--        <el-table-column type="selection" width="55"></el-table-column>-->
        <el-table-column prop="happenTime" label="发生时间" min-width="100px"></el-table-column>
        <el-table-column prop="title" label="事件类型" min-width="100px"></el-table-column>
        <el-table-column prop="warningType" label="报警分类" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.warningType === 0">安防事件</span>
            <span v-if="row.warningType === 1"  >消防事件</span>
            <span v-if="row.warningType === 2"  >车载事件</span>
            <span v-if="row.warningType === 3"  >钥匙柜事件</span>
            <span v-if="row.warningType === 4"  >天气预警</span>
          </template>
        </el-table-column>
        <el-table-column prop="warningLevel" label="报警等级" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.warningLevel === 0" class="status-grey">低</span>
            <span v-if="row.warningLevel === 1"  class="status-yellow" >中</span>
            <span v-if="row.warningLevel === 2"  class="status-red">高</span>
          </template>
        </el-table-column>
        <el-table-column prop="region" label="所在位置" min-width="100px"></el-table-column>
        <el-table-column prop="eventType" label="事件编码" min-width="100px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:warningevent:update', 'business:warningevent:delete'])"
          label="操作"
          min-width="120"
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:warningevent:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- 新建/修改 -->
    <OperaWarningEventWindow ref="operaWarningEventWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
 
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaWarningEventWindow from '@/components/business/OperaWarningEventWindow'
export default {
  name: 'WarningEvent',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaWarningEventWindow },
  data () {
    return {
      // 搜索
      searchForm: {
        warningType: null,
        title: '',
        region: '',
        eventType: '',
        warningLevel: '',
        queryStarttime:null,
        queryEndtime:null
      }
    }
  },
  created () {
    this.config({
      module: '报警事件记录日志表',
      api: '/business/warningEvent',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  },
  methods:{
    reset () {
      this.$refs.searchForm.resetFields()
      this.searchForm.queryStarttime = ''
      this.searchForm.queryEndtime = ''
      this.search()
    }
  }
}
</script>