fuliqi
2024-11-06 0c7d2e6f5d16f85166888159ee7810de5c9e97a0
src/views/system/monitor/recovery/index.vue
@@ -1,13 +1,16 @@
<template>
  <div class="app-container">
    <div
      style="display: flex;flex-direction: row;min-width: 158px;max-width: 158px;margin-bottom: 5px;border-radius: 1px; user-select: none"
      style="display: flex;flex-direction: row;min-width: 300px;max-width: 300px;margin-bottom: 5px;border-radius: 1px; user-select: none"
    >
      <div @click="clickTab(null)" class="tab"
           :class="{tabActive: null == queryParams.provinceTag, tabInactive: null != queryParams.provinceTag}">全部
           :class="{tabActive: !queryParams.provinceTag && !queryParams.deptTag, tabInactive: queryParams.provinceTag || queryParams.deptTag}">全部
      </div>
      <div @click="clickTab(0)" class="tab"
           :class="{tabActive: 0 === queryParams.provinceTag, tabInactive: 0 !== queryParams.provinceTag}">省厅考核
           :class="{tabActive: queryParams.provinceTag, tabInactive: !queryParams.provinceTag}">省厅考核
      </div>
      <div @click="clickTab(1)" class="tab"
           :class="{tabActive: queryParams.deptTag, tabInactive: !queryParams.deptTag}">公安部考核
      </div>
    </div>
    <el-card class="box-card">
@@ -32,6 +35,10 @@
              <p>异常数</p>
            </div>
            <div class="dashboard-item">
              <h3 style="color: #4f4f4f">{{ count.unknownNumbers }}</h3>
              <p>未知数</p>
            </div>
            <div class="dashboard-item">
              <h3>{{ count.viewsPercentage }}%</h3>
              <p>设备运行率</p>
            </div>
@@ -47,6 +54,7 @@
          placeholder="请输入关键字"
          clearable
          @keyup.enter.native="handleQuery"
          @clear="handleQuery"
        />
      </el-form-item>
      <el-form-item label="区域" prop="onState">
@@ -69,6 +77,7 @@
          v-model="queryParams.cameraFunType"
          placeholder="请选择监控类型"
          clearable
          @change="handleQuery"
        >
          <el-option label="视频监控" value="1"/>
          <el-option label="车辆监控" value="2"/>
@@ -94,7 +103,13 @@
      </el-table-column>
      <el-table-column label="标签" align="center" width="180px" v-if="columns[0].visible">
        <template slot-scope="scope">
          <div>{{ scope.row.provinceTag == 0 ? "省厅" : "市局" }}</div>
          <div>
            {{
              (
                (scope.row.provinceTag ? '省厅、' : '') +
                (scope.row.deptTag ? '公安部、' : '')).replace(/、$/, '')
            }}
          </div>
        </template>
      </el-table-column>
      <el-table-column label="区域" align="center" prop="area" v-if="columns[1].visible"/>
@@ -140,10 +155,16 @@
          <el-form-item label="设备名称:">{{ form.name }}</el-form-item>
          <el-col :span="12">
            <el-form-item label="设备编码:">{{ form.serialNumber }}</el-form-item>
            <el-form-item label="标签:">{{ form.provinceTag == 0 ? '省厅' : '市局' }}</el-form-item>
            <el-form-item label="标签:">
              {{
                ((form.provinceTag ? '省厅、' : '') +
                  (form.deptTag ? '公安部、' : '')).replace(/、$/, '')
              }}
            </el-form-item>
            <el-form-item label="设备状态:">
              <div v-if="form.onState === 0">异常</div>
              <div v-else-if="form.onState === 1">正常</div>
              <div v-if="form.onState === 0">未知</div>
              <div v-else-if="form.onState === 1">在线</div>
              <div v-else-if="form.onState === -1">离线</div>
            </el-form-item>
            <el-form-item label="管理单位:">{{ form.unitName }}</el-form-item>
          </el-col>
@@ -225,6 +246,7 @@
        totalPosts: 0,
        totalMembers: 0,
        postsPercentage: 0,
        unknownNumbers: 0,
        totalViews: 0,
        viewsPercentage: 0,
        totalErrors: 0,
@@ -313,7 +335,16 @@
      return translatedTypes.join(', ');
    },
    clickTab(active) {
      this.queryParams.provinceTag = active
      if (active === 0) {
        this.queryParams.provinceTag = true
        this.queryParams.deptTag =null
      } else if (active === 1) {
        this.queryParams.provinceTag = null
        this.queryParams.deptTag = true
      }else {
        this.queryParams.provinceTag = null
        this.queryParams.deptTag = null
      }
      this.getList()
      this.getVideoCount()
    },