fuliqi
2024-10-15 46a177111a14de992ccb8fb9ba74dd14ad4e2eec
动态列自动刷新+点位在线增加未知状态
7个文件已修改
92 ■■■■■ 已修改文件
src/components/RightToolbar/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/check/result/detail/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/monitor/car/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/monitor/face/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/monitor/recovery/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/monitor/video/index.vue 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/point/index.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/RightToolbar/index.vue
@@ -77,6 +77,7 @@
      title: "显示/隐藏",
      // 是否显示弹出层
      open: false,
      tableKey: 0,
    };
  },
  props: {
@@ -138,11 +139,13 @@
      })
    },
    addDynamicColumn() {
      this.getDyColumn()
      this.showDynamicColumn = true
    },
    saveColumns() {
      editDynamicColumn(this.dynamicColumnList).then(res => {
        this.$message.success("保存成功")
        this.$emit('refreshHeader');
        this.showDynamicColumn = false
      })
    },
@@ -153,13 +156,10 @@
      })
    },
    delColumn(id, index) {
      if (! id) {
        this.dynamicColumnList.splice(index, 1)
        return
      }
      deleteDynamicColumnById(id).then(res => {
        this.$message.success("删除成功")
        this.getDyColumn();
        this.$emit('refreshHeader');
      })
    },
    dynamicColumnClose() {
src/views/system/check/result/detail/index.vue
@@ -155,12 +155,12 @@
    this.date = year + '-' + month;
    this.queryParams.date = this.date;
    let examineTag = this.$route.query.examineTag;
    if (examineTag === '2') {
      examineTag = '0'
    }
    if (examineTag === '3') {
    if (examineTag === '2' || examineTag === '3') {
      examineTag = '1'
    }
    if (examineTag === '4' || examineTag === '5') {
      examineTag = '2'
    }
    this.queryParams.examineTag = examineTag;
    this.queryParamsList.examineTag = examineTag;
    this.activeIndex = examineTag;
src/views/system/monitor/car/index.vue
@@ -35,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>
@@ -174,8 +178,9 @@
              }}
            </el-form-item>
            <el-form-item label="设备状态:">
              <div v-if="form.onState === 0">离线</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>
@@ -264,6 +269,7 @@
        totalPosts: 0,
        totalMembers: 0,
        postsPercentage: 0,
        unknownNumbers: 0,
        totalViews: 0,
        viewsPercentage: 0,
        totalCar: 0,
src/views/system/monitor/face/index.vue
@@ -35,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>
@@ -213,8 +217,9 @@
              }}
            </el-form-item>
            <el-form-item label="设备状态:">
              <div v-if="form.onState === 0">离线</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>
@@ -301,6 +306,7 @@
        totalPosts: 0,
        totalMembers: 0,
        postsPercentage: 0,
        unknownNumbers: 0,
        totalViews: 0,
        totalFace: 0,
        viewsPercentage: 0
src/views/system/monitor/recovery/index.vue
@@ -35,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>
@@ -156,8 +160,9 @@
              }}
            </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>
@@ -239,6 +244,7 @@
        totalPosts: 0,
        totalMembers: 0,
        postsPercentage: 0,
        unknownNumbers: 0,
        totalViews: 0,
        viewsPercentage: 0,
        totalErrors: 0,
src/views/system/monitor/video/index.vue
@@ -37,6 +37,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>
@@ -109,7 +113,7 @@
                  placeholder="选择月">
                </el-date-picker>
              </el-form-item>
              <el-form-item label="区县" prop="deptIds" required>
              <el-form-item label="区县" prop="deptIds">
                <el-select v-model="exportForm.deptIds" multiple clearable>
                  <el-option
                    v-for="dept in deptList"
@@ -205,18 +209,18 @@
          <div>{{ (scope.row.videoLoseTime * 60).toFixed(2) + '分钟' }}</div>
        </template>
      </el-table-column>
      <el-table-column label="OSD标注" align="center" prop="OSD" width="180" v-if="columns[10].visible">
      <el-table-column label="OSD标注" align="center" prop="osd" width="180" v-if="columns[10].visible">
        <template slot-scope="scope">
          <div v-if="scope.row.OSD === 1">正常</div>
          <div v-else-if="scope.row.OSD === 0">未知</div>
          <div v-else-if="scope.row.OSD === -1">异常</div>
          <div v-if="scope.row.osd ==true">正常</div>
          <div v-else-if="scope.row.osd == false">异常</div>
          <div v-else-if="scope.row.osd == null">未知</div>
        </template>
      </el-table-column>
      <el-table-column label="OSD时间" align="center" prop="OSDTime" width="180" v-if="columns[11].visible">
      <el-table-column label="OSD时间" align="center" prop="osdtime" width="180" v-if="columns[11].visible">
        <template slot-scope="scope">
          <div v-if="scope.row.OSDTime === 1">正常</div>
          <div v-else-if="scope.row.OSDTime === 0">未知</div>
          <div v-else-if="scope.row.OSDTime === -1">异常</div>
          <div v-if="scope.row.osdtime ==true">正常</div>
          <div v-else-if="scope.row.osdtime == false">异常</div>
          <div v-else-if="scope.row.osdtime == null">未知</div>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
@@ -254,8 +258,9 @@
              }}
            </el-form-item>
            <el-form-item label="设备状态:">
              <div v-if="form.onState === 0">离线</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>
@@ -288,9 +293,9 @@
              <div v-else-if="form.videoComplete === -1">异常</div>
            </el-form-item>
            <el-form-item label="OSD标注:">
              <div v-if="form.OSD === 1">正常</div>
              <div v-else-if="form.OSD === 0">未知</div>
              <div v-else-if="form.OSD === -1">异常</div>
              <div v-if="form.osd ==true">正常</div>
              <div v-else-if="form.osd ==false">异常</div>
              <div v-else-if="form.osd ==null">未知</div>
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -299,9 +304,9 @@
            </el-form-item>
            <el-form-item label="录像缺失时长:">{{ (form.videoLoseTime * 60).toFixed(2) + '分钟' }}</el-form-item>
            <el-form-item label="OSD时间:">
              <div v-if="form.OSDTime === 1">正常</div>
              <div v-else-if="form.OSDTime === 0">未知</div>
              <div v-else-if="form.OSDTime === -1">异常</div>
              <div v-if="form.osdtime ==true">正常</div>
              <div v-else-if="form.osdtime ==false">异常</div>
              <div v-else-if="form.osdtime ==null">未知</div>
            </el-form-item>
          </el-col>
        </el-row>
@@ -342,6 +347,7 @@
        totalPosts: 0,
        totalMembers: 0,
        postsPercentage: 0,
        unknownNumbers: 0,
        totalViews: 0,
        noStore: 0,
        partStore: 0,
@@ -395,9 +401,6 @@
      exportRules: {
        month: [
          {required: true, message: "时间不能为空", trigger: "blur"}
        ],
        deptIds: [
          {required: true, message: "部门不能为空", trigger: "blur"}
        ],
        dataType: [
          {required: true, message: "数据类型不能为空", trigger: "blur"}
src/views/system/point/index.vue
@@ -91,10 +91,10 @@
<!--        <el-button type="danger" plain icon="el-icon-receiving" size="mini" @click="handleEditBatch"-->
<!--          v-hasPermi="['point:edit']">批量修改</el-button>-->
<!--      </el-col>-->
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
      <right-toolbar @refreshHeader= "getDyColumn" :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="pointList" @selection-change="handleSelectionChange">
    <el-table :key = "refreshkey" v-loading="loading" :data="pointList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="点位名称" prop="pointName" width="200" show-overflow-tooltip/>
      <el-table-column label="标签" align="center" width="200" show-overflow-tooltip>
@@ -251,6 +251,7 @@
  dicts: ['point_tag', 'area_code'],
  data() {
    return {
      refreshkey : 0,
      dynamicColumnList: [],
      needUpdateUnit: false,
      importantTag: false,
@@ -335,7 +336,7 @@
    this.getUnitSelect();
    // this.getCascader();
    this.getDeptCascader();
    this.getDyColumn()
    this.getDyColumn();
  },
  methods: {
    getDyColumn() {
@@ -345,6 +346,8 @@
      }
      getDynamicColumnList(params).then(res => {
        this.dynamicColumnList = res.data
        this.refreshkey+=1
        console.log("加载动态列"+this.refreshkey)
      })
    },
    getDynamicValue(row, propName) {