Newer
Older
ganzhou-feidu / src / pages / csdz / videoCloud / components / eventList.vue
lyg on 26 Nov 4 KB 一卡通-热力图
<!-- 视频云-监测事件列表 -->
<template>
  <div class="children">
    <div class="header">
      <span class="title">最新事件</span>
      <div class="search">
        <el-input v-model="current" suffix-icon="el-icon-search" size="mini" />
      </div>
      <img class="close" src="../../../../assets/images/global_images/close.png" alt="" srcset="" @click="closeList">
    </div>
    <div v-for="(item, index) in list" class="children-item" @click="menuClick(item)">
      <div style="width: 100%; display: flex; justify-content: space-between;">
        <span>
          <el-tag v-if="item.eventStatusName === '待立案'" size="mini">{{ item.eventStatusName }}</el-tag>
          <el-tag v-if="item.eventStatusName === '解决中'" type="warning" size="mini">{{ item.eventStatusName }}</el-tag>
          <el-tag v-if="item.eventStatusName === '已解决'" type="success" size="mini">{{ item.eventStatusName }}</el-tag>
          <el-tag v-if="item.eventStatusName === '未解决'" type="info" size="mini">{{ item.eventStatusName }}</el-tag>
          <span style="font-size: 1.15rem;font-weight: 700;margin-left: 10px;">{{ item.eventName }}
          </span>
        </span>
        <span>
          <el-tag v-if="item.urgencyName === '紧急高'" type="danger" size="mini">{{ item.urgencyName }}</el-tag>
          <el-tag v-else type="warning" size="mini">{{ item.urgencyName }}</el-tag>
        </span>
      </div>
      <div style="width: 100%;text-align: left;padding-left: 60px;">
        {{ `统一编码:${item.code}` }}
      </div>
      <div style="width: 100%;">
        <el-row :gutter="24">
          <el-col :span="10">
            <!-- <img :src="item.imgUrl" alt="" srcset="" > -->
            <img style="width: 100%; height: 6.8rem;" :src="item.imgUrl" fit="cover" />
          </el-col>
          <el-col :span="14" style="padding: 0;text-align: left;">
            <el-row :gutter="24">
              <el-col :span="12">事件来源:{{ item.report }}</el-col>
              <el-col :span="12">事件类别:{{ item.evenTypeName }}</el-col>
            </el-row>
            <el-row :gutter="24">
              <el-col :span="12">识别设备:{{ item.deviceName }}</el-col>
              <el-col :span="12">责任部门:{{ item.dutyDeptName }}</el-col>
            </el-row>
            <el-row :gutter="24">
              <el-col :span="24">时间:{{ item.createTime }}</el-col>
            </el-row>
            <el-row :gutter="24">
              <el-col :span="24">位置:{{ item.location }}</el-col>
            </el-row>
          </el-col>
        </el-row>
      </div>

    </div>
    <!-- 分页 -->
    <el-pagination style="color: #fff; width: 100%;" small background size="mini" layout="total, prev, pager, next" :total="total" :current-page="currentPage" :page-size="pageSize" :page-sizes="[5, 10, 15, 20]"
    @size-change="handleSizeChange"   @current-change="handleCurrentChange"
    >
    </el-pagination>
  </div>
</template>

<script>
export default {
  name: 'LayerManager',
  props: {
    list: {
      type: Array,
      default: () => ([])
    },
    total: {
      type: Number,
      required: true
    }
  },
  data() {
    return {
      current: '',
      pageSize: 5,
      currentPage: 1,
      layer: require('@/assets/images/function/通用功能/图层管理未选中.png'),
      layerHover: require('@/assets/images/function/通用功能/图层管理选中.png'),
    }
  },
  computed: {
  },
  methods: {
    menuClick(e) {
      console.log(e, '列表点击')
      this.$emit('menuClick', e)
    },
    closeList() {
      this.$emit('close')
    },
    handleSizeChange(val) {
        console.log(`每页 ${val} 条`);
        this.pageSize = val
        this.$emit('changePage', { offset: this.currentPage, limit: this.pageSize})
      },
      handleCurrentChange(val) {
        this.currentPage = val
        this.$emit('changePage', { offset: this.currentPage, limit: this.pageSize})
      }
  }
}
</script>

<style scoped>
.children {
  position: absolute;
  z-index: 111111;
  right: 1rem;
  top: 8rem;
  width: 500px;
  background: url("../../../../assets/images/popup/case/事件看板背景.png") !important;
  background-size: 100% 101% !important;
  height: calc(100vh- 5rm - 4rem);
  overflow-y: scroll;
  overflow-x: hidden;
}

.children-item {
  width: 96% !important;
  margin: 10px auto !important;
  color: #fff !important;
  border: 1px solid #fff;
  border-radius: 6px;
  padding: 10px;
  box-sizing: border-box;

}

.header {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  padding-top: 10px;
  height: 1.7rem;
}

.title {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 2rem;
  height: 2rem;
}

.search {
  height: 2rem;
}

.close {
  width: 1.5rem;
  height: 1.5rem;
}
.el-pagination__total{
  color: #fff;
}
</style>