xiangpei
2024-09-03 16eb67ab6b103663d30cad9ba74360f982e131cb
src/views/system/data-manage/index.vue
@@ -3,17 +3,35 @@
    <div class="container">
      <el-row type="flex" justify="center">
        <el-col :span="24">
          <h3 style="color: rgb(104,104,103);padding-top: 20px;padding-bottom: 20px;">视频运行监控</h3>
          <h3
            style="
              color: rgb(104, 104, 103);
              padding-top: 20px;
              padding-bottom: 20px;
            "
          >
            视频运行监控
          </h3>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :xl="4" :lg="4" :md="6" :sm="6" :xs="12" v-for="(item, index) in videoData" :key="index"
          :style="item.name == '' ? 'display:none' : ''" class="col-margin">
          <el-link @click="handleDetail(item, index)">
            <el-card style="width:150px;height: 150px;text-align: center;">
              <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i>
              <div>{{ item.name }}</div>
        <el-col
          :xl="4"
          :lg="4"
          :md="6"
          :sm="6"
          :xs="12"
          v-for="(item, index) in videoData"
          :key="index"
          :style="item.ruleName == '' ? 'display:none' : ''"
          class="col-margin"
        >
          <el-link @click="handleDetail(item, item.ruleIndex, item.apiUrl)" style="width: 100%">
            <el-card
              style="min-width: 150px;width:100%; height: 150px; text-align: center"
            >
              <i style="font-size: 40px; padding: 15px" :class="item.icon"></i>
              <div>{{ item.ruleName }}</div>
            </el-card>
          </el-link>
        </el-col>
@@ -23,17 +41,34 @@
    <div class="container">
      <el-row type="flex" justify="center">
        <el-col :span="24">
          <h3 style="color: rgb(104,104,103);padding-top: 20px;padding-bottom: 20px;">车辆运行监控</h3>
          <h3
            style="
              color: rgb(104, 104, 103);
              padding-top: 20px;
              padding-bottom: 20px;
            "
          >
            车辆运行监控
          </h3>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :xl="4" :lg="4" :md="6" :sm="6" :xs="12" v-for="(item, index) in carData" :key="index"
          :style="item.name == '' ? 'display:none' : ''" class="col-margin">
          <el-link @click="handleDetail(item, index)">
            <el-card style="width:150px;height: 150px;text-align: center;">
              <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i>
              <div>{{ item.name }}</div>
        <el-col
          :xl="4"
          :lg="4"
          :md="6"
          :sm="6"
          :xs="12"
          v-for="(item, index) in carData"
          :key="index"
          :style="item.ruleName == '' ? 'display:none' : ''"
          class="col-margin"
        >
          <el-link @click="handleDetail(item, item.ruleIndex, item.apiUrl)" style="width: 100%">
            <el-card style="min-width: 150px;width:100%; height: 150px; text-align: center">
              <i style="font-size: 40px; padding: 15px" :class="item.icon"></i>
              <div>{{ item.ruleName }}</div>
            </el-card>
          </el-link>
        </el-col>
@@ -43,17 +78,34 @@
    <div class="container">
      <el-row type="flex" justify="center">
        <el-col :span="24">
          <h3 style="color: rgb(104,104,103);padding-top: 20px;padding-bottom: 20px;">人脸运行监控</h3>
          <h3
            style="
              color: rgb(104, 104, 103);
              padding-top: 20px;
              padding-bottom: 20px;
            "
          >
            人脸运行监控
          </h3>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :xl="4" :lg="4" :md="6" :sm="6" :xs="12" v-for="(item, index) in faceData" :key="index"
          :style="item.name == '' ? 'display:none' : ''" class="col-margin">
          <el-link @click="handleDetail(item, index)">
            <el-card style="width:150px;height: 150px;text-align: center;">
              <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i>
              <div>{{ item.name }}</div>
        <el-col
          :xl="4"
          :lg="4"
          :md="6"
          :sm="6"
          :xs="12"
          v-for="(item, index) in faceData"
          :key="index"
          :style="item.ruleName == '' ? 'display:none' : ''"
          class="col-margin"
        >
          <el-link @click="handleDetail(item, item.ruleIndex, item.apiUrl)" style="width: 100%">
            <el-card style="min-width: 150px;width:100%; height: 150px; text-align: center">
              <i style="font-size: 40px; padding: 15px" :class="item.icon"></i>
              <div>{{ item.ruleName }}</div>
            </el-card>
          </el-link>
        </el-col>
@@ -63,17 +115,34 @@
    <div class="container">
      <el-row type="flex" justify="center">
        <el-col :span="24">
          <h3 style="color: rgb(104,104,103);padding-top: 20px;padding-bottom: 20px;">资产管理</h3>
          <h3
            style="
              color: rgb(104, 104, 103);
              padding-top: 20px;
              padding-bottom: 20px;
            "
          >
            资产管理
          </h3>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :xl="4" :lg="4" :md="6" :sm="6" :xs="12" v-for="(item, index) in equipment" :key="index"
          :style="item.name == '' ? 'display:none' : ''" class="col-margin">
          <el-link @click="handleDetail(item, index)">
            <el-card style="width:150px;height: 150px;text-align: center;">
              <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i>
              <div>{{ item.name }}</div>
        <el-col
          :xl="4"
          :lg="4"
          :md="6"
          :sm="6"
          :xs="12"
          v-for="(item, index) in equipment"
          :key="index"
          :style="item.ruleName == '' ? 'display:none' : ''"
          class="col-margin"
        >
          <el-link @click="jumpToEquipment" style="width: 100%">
            <el-card style="min-width: 150px;width:100%; height: 150px; text-align: center">
              <i style="font-size: 40px; padding: 15px" :class="item.icon"></i>
              <div>{{ item.ruleName }}</div>
            </el-card>
          </el-link>
        </el-col>
@@ -85,68 +154,247 @@
</template>
<script>
import { listCheckRule } from "@/api/platform/check-rule";
export default {
  data() {
    return {
      videoData: [
        { name: '平台在线', icon: 'el-icon-connection', description: '描述信息', type: '1' },
        { name: '一机一档', icon: 'el-icon-folder', description: '描述信息', type: '1' },
        { name: '点位在线', icon: 'el-icon-search', description: '描述信息', type: '1' },
        { name: '录像可用', icon: 'el-icon-turn-off', description: '描述信息', type: '1' },
        { name: '视频标注', icon: 'el-icon-place', description: '描述信息', type: '1' },
        { name: '重点指挥图像在线率', icon: 'el-icon-film', description: '描述信息', type: '1' },
        { name: '视频图像资源安全管理', icon: 'el-icon-house', description: '描述信息', type: '1' },
        { name: '视频图像质量', icon: 'el-icon-set-up', description: '描述信息', type: '1' },
        { name: '', icon: 'el-icon-connection', description: '描述信息', type: '1' },
        { name: '', icon: 'el-icon-connection', description: '描述信息', type: '1' },
        { name: '', icon: 'el-icon-connection', description: '描述信息', type: '1' },
        { name: '', icon: 'el-icon-connection', description: '描述信息', type: '1' }
        {
          name: "平台在线",
          icon: "el-icon-connection",
          description: "描述信息",
          type: "1",
        },
        {
          name: "一机一档",
          icon: "el-icon-folder",
          description: "描述信息",
          type: "1",
        },
        {
          name: "点位在线",
          icon: "el-icon-search",
          description: "描述信息",
          type: "1",
        },
        {
          name: "录像可用",
          icon: "el-icon-turn-off",
          description: "描述信息",
          type: "1",
        },
        {
          name: "视频标注",
          icon: "el-icon-place",
          description: "描述信息",
          type: "1",
        },
        {
          name: "重点指挥图像在线率",
          icon: "el-icon-film",
          description: "描述信息",
          type: "1",
        },
        {
          name: "视频图像资源安全管理",
          icon: "el-icon-house",
          description: "描述信息",
          type: "1",
        },
        {
          name: "视频图像质量",
          icon: "el-icon-set-up",
          description: "描述信息",
          type: "1",
        },
        {
          name: "",
          icon: "el-icon-connection",
          description: "描述信息",
          type: "1",
        },
        {
          name: "",
          icon: "el-icon-connection",
          description: "描述信息",
          type: "1",
        },
        {
          name: "",
          icon: "el-icon-connection",
          description: "描述信息",
          type: "1",
        },
        {
          name: "",
          icon: "el-icon-connection",
          description: "描述信息",
          type: "1",
        },
      ],
      carData: [
        { name: '视图库对接稳定性', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '点位在线率', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '联网卡口设备目录一致率', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '车辆卡口信息采集准确率', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '车辆卡口设备抓拍数据完整性', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '车辆卡口设备抓拍数据准确性', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '车辆卡口设备时钟准确性', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '车辆卡口设备抓拍数据上传及时性', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '车辆卡口设备url可用性', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '车辆卡口设备抓拍数据大图可用性', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '', icon: 'el-icon-truck', description: '描述信息', type: '2' },
        { name: '', icon: 'el-icon-truck', description: '描述信息', type: '2' }
        {
          name: "视图库对接稳定性",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        {
          name: "点位在线率",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        {
          name: "联网卡口设备目录一致率",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        {
          name: "车辆卡口信息采集准确率",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        {
          name: "车辆卡口设备抓拍数据完整性",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        {
          name: "车辆卡口设备抓拍数据准确性",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        {
          name: "车辆卡口设备时钟准确性",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        {
          name: "车辆卡口设备抓拍数据上传及时性",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        {
          name: "车辆卡口设备url可用性",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        {
          name: "车辆卡口设备抓拍数据大图可用性",
          icon: "el-icon-truck",
          description: "描述信息",
          type: "2",
        },
        { name: "", icon: "el-icon-truck", description: "描述信息", type: "2" },
        { name: "", icon: "el-icon-truck", description: "描述信息", type: "2" },
      ],
      faceData: [
        { name: '视图库对接稳定性', icon: 'el-icon-alarm-clock', description: '描述信息', type: '3' },
        { name: '点位在线率', icon: 'el-icon-user', description: '描述信息', type: '3' },
        { name: '目录一致率', icon: 'el-icon-data-line', description: '描述信息', type: '3' },
        { name: '人脸卡口信息采集准确率', icon: 'el-icon-timer', description: '描述信息', type: '3' },
        { name: '设备抓拍图片合格性', icon: 'el-icon-money', description: '描述信息', type: '3' },
        { name: '设备抓拍图片时钟准确性', icon: 'el-icon-data-analysis', description: '描述信息', type: '3' },
        { name: '抓拍人脸数据上传及时性', icon: 'el-icon-thumb', description: '描述信息', type: '3' },
        { name: '人脸卡口设备抓拍数据大图可用性', icon: 'el-icon-pie-chart', description: '描述信息', type: '3' },
        { name: '', icon: 'el-icon-data-line', description: '描述信息', type: '3' },
        { name: '', icon: 'el-icon-timer', description: '描述信息', type: '3' },
        { name: '', icon: 'el-icon-money', description: '描述信息', type: '3' },
        { name: '', icon: 'el-icon-data-analysis', description: '描述信息', type: '3' },
        {
          name: "视图库对接稳定性",
          icon: "el-icon-alarm-clock",
          description: "描述信息",
          type: "3",
        },
        {
          name: "点位在线率",
          icon: "el-icon-user",
          description: "描述信息",
          type: "3",
        },
        {
          name: "目录一致率",
          icon: "el-icon-data-line",
          description: "描述信息",
          type: "3",
        },
        {
          name: "人脸卡口信息采集准确率",
          icon: "el-icon-timer",
          description: "描述信息",
          type: "3",
        },
        {
          name: "设备抓拍图片合格性",
          icon: "el-icon-money",
          description: "描述信息",
          type: "3",
        },
        {
          name: "设备抓拍图片时钟准确性",
          icon: "el-icon-data-analysis",
          description: "描述信息",
          type: "3",
        },
        {
          name: "抓拍人脸数据上传及时性",
          icon: "el-icon-thumb",
          description: "描述信息",
          type: "3",
        },
        {
          name: "人脸卡口设备抓拍数据大图可用性",
          icon: "el-icon-pie-chart",
          description: "描述信息",
          type: "3",
        },
        {
          name: "",
          icon: "el-icon-data-line",
          description: "描述信息",
          type: "3",
        },
        { name: "", icon: "el-icon-timer", description: "描述信息", type: "3" },
        { name: "", icon: "el-icon-money", description: "描述信息", type: "3" },
        {
          name: "",
          icon: "el-icon-data-analysis",
          description: "描述信息",
          type: "3",
        },
      ],
      equipment: [
        { name: '资产管理', icon: 'el-icon-wallet', description: '描述信息', type: '4' },
        { name: '', icon: 'el-icon-pie-chart', description: '描述信息', type: '4' },
        { name: '', icon: 'el-icon-data-line', description: '描述信息', type: '4' },
        { name: '', icon: 'el-icon-timer', description: '描述信息', type: '4' },
        { name: '', icon: 'el-icon-money', description: '描述信息', type: '4' },
        { name: '', icon: 'el-icon-data-analysis', description: '描述信息', type: '4' },
      ]
        {
          ruleName: "资产管理",
          ruleIndex: 'assetManagement',
          icon: "el-icon-wallet",
          description: "描述信息",
          ruleCategory: "4",
          apiUrl: 'assetManagement'
        }
      ],
    };
  },
  mounted() {
    this.getList();
  },
  methods: {
    handleDetail(item, index) {
      this.$router.push({
        path: `/data-manage/data-detail/index/1/1?type=${item.type}&index=${index}`,
    getList() {
      listCheckRule().then((response) => {
        this.videoData = response.data.videoRules;
        this.faceData = response.data.faceRules;
        this.carData = response.data.carRules;
        this.loading = false;
      });
    }
  }
    },
    jumpToEquipment() {
      this.$router.push({
        path: '/equipment'
      });
    },
    handleDetail(item, index, url) {
      this.$router.push({
        path: `/data-manage/data-detail/index/1/1?type=${item.ruleCategory}&index=${index}&url=${url}`,
      });
    },
  },
};
</script>
@@ -159,4 +407,7 @@
.col-margin {
  margin-bottom: 20px;
}
::v-deep .el-link--inner{
  width: 100% !important;
}
</style>