From d52e39c6d64d9bc8a90916a070969e1898ee8ea0 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 20 八月 2024 17:00:06 +0800
Subject: [PATCH] feat:运行监控展示

---
 src/views/system/data-manage/data-detail/index.vue |  113 +++++++++++++++++++++++++++-----------------------------
 1 files changed, 55 insertions(+), 58 deletions(-)

diff --git a/src/views/system/data-manage/data-detail/index.vue b/src/views/system/data-manage/data-detail/index.vue
index ec1d7c2..fd1f243 100644
--- a/src/views/system/data-manage/data-detail/index.vue
+++ b/src/views/system/data-manage/data-detail/index.vue
@@ -1,48 +1,23 @@
 <template>
   <div class="app-container">
     <el-card class="box-card">
-      <el-row type="flex" align="middle" justify="space-between">
-        <el-col :span="2">
-          <div class="icon-container">
-            <i class="el-icon-wind-power"></i>
-          </div>
-        </el-col>
-        <el-col :span="2">
+      <el-row style="display: flex; flex-direction: row; align-items: center" justify="space-between">
+        <div v-for="card in cardList" style="display: flex;flex-direction: row; margin-right: 50px">
           <div>
-            <div class="dashboard-item">
-              <h3 style="color: #5C9BF8">{{ totalKiosks }}</h3>
-              <p>鍗″彛鎬绘暟</p>
+            <div class="icon-container">
+              <i :class="card.icon"></i>
             </div>
           </div>
-        </el-col>
-        <el-col :span="2">
-          <div class="dashboard-item">
-            <h3>{{ uniqueKiosks }}</h3>
-            <p>涓嶅敮涓�鍗″彛鏁�</p>
+          <div v-for="data in card.dataList" class="dashboard-item">
+            <div style="color: #5C9BF8;margin-bottom: 20px;font-size: 20px">{{ data.value }}</div>
+            <div>{{ data.label }}</div>
           </div>
-        </el-col>
-        <el-col :span="1">
-          <div class="dashboard-item">
-            <div style="width: 1px;height: 55px;border: 1px solid #D7EBFA;margin: 20px;"></div>
-          </div>
-        </el-col>
-        <el-col :span="2">
-          <div class="icon-container">
-            <i class="el-icon-truck"></i>
-          </div>
-        </el-col>
-        <el-col :span="2">
-          <div class="dashboard-item">
-            <h3 style="color: #5C9BF8">{{ totalCarData }}</h3>
-            <p>杩囪溅鏁版嵁鎬婚噺</p>
-          </div>
-        </el-col>
-        <el-col :span="2">
-          <div class="dashboard-item">
-            <h3>{{ uniqueCarData }}</h3>
-            <p>涓嶅敮涓�鏁版嵁閲�</p>
-          </div>
-        </el-col>
+        </div>
+        <!--        <el-col :span="1">-->
+        <!--          <div class="dashboard-item">-->
+        <!--            <div style="width: 1px;height: 55px;border: 1px solid #D7EBFA;margin: 20px;"></div>-->
+        <!--          </div>-->
+        <!--        </el-col>-->
         <el-col :span="8"></el-col>
       </el-row>
     </el-card>
@@ -56,8 +31,8 @@
         <el-input v-model="queryParams.bayonetName" placeholder="璇疯緭鍏ュ崱鍙e悕绉�" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+        <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="small" @click="resetQuery">閲嶇疆</el-button>
       </el-form-item>
     </el-form>
 
@@ -82,10 +57,7 @@
     </el-row>
 
     <el-table v-loading="loading" :data="platformList" @selection-change="handleSelectionChange">
-      <template v-for="(item, index) in tableHead">
-        <el-table-column :key="item.name" :prop="item.prop" :label="item.label">
-        </el-table-column>
-      </template>
+      <el-table-column :prop="item.prop" :label="item.label" v-for="(item, index) in tableHead" :key="index" />
 
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -120,16 +92,16 @@
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
         <el-button @click="cancel">鍙� 娑�</el-button>
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
       </div>
     </el-dialog>
   </div>
 </template>
 
 <script>
-import { listPlatform, getPlatform, delPlatform, addPlatform, updatePlatform } from "@/api/platform/vehicle-data-monitor";
-import { tableColumn } from "./list";
+import { dataCenter } from "@/api/platform/data-center";
+import { videoData, carData, faceData, equipment } from "./list";
 import store from '@/store';
 
 export default {
@@ -177,7 +149,8 @@
           { required: true, message: "鍗″彛缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
         ],
       },
-      tableHead: []
+      tableHead: [],
+      cardList: []
     };
   },
   beforeRouteEnter(to, from, next) {
@@ -185,15 +158,34 @@
     next();
   },
   created() {
-    this.tableHead = tableColumn[0].columns;
-    this.getList();
+    if (this.$route.query.type === '1') {
+      let data = videoData.table.filter(item => item.index === this.$route.query.index)[0]
+      this.tableHead = data.columns;
+      this.cardList = data.card;
+    };
+    if (this.$route.query.type === '2') {
+      let data = carData.table.filter(item => item.index === this.$route.query.index)[0]
+      this.tableHead = data.columns;
+      this.cardList = data.card;
+    }
+    if (this.$route.query.type === '3') {
+      let data = faceData.table.filter(item => item.index === this.$route.query.index)[0]
+      this.tableHead = data.columns;
+      this.cardList = data.card;
+    }
+    if (this.$route.query.type === '4') {
+      let data = equipment.table.filter(item => item.index === this.$route.query.index)[0]
+      this.tableHead = data.columns;
+      this.cardList = data.card;
+    }
+    this.getList(this.$route.query.url);
   },
   methods: {
     /** 鏌ヨ鍗″彛杩囪溅鏁版嵁涓�鑷存�у垪琛� */
-    getList() {
+    getList(url) {
       this.loading = true;
-      listPlatform(this.queryParams).then(response => {
-        this.platformList = response.rows;
+      dataCenter(url, this.queryParams).then(response => {
+        this.platformList = response.data;
         this.total = response.total;
         this.loading = false;
       });
@@ -222,7 +214,7 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
-      this.getList();
+      this.getList(this.$route.query.url);
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
@@ -300,13 +292,14 @@
 
 .icon-container {
   display: flex;
+  flex-direction: row;
   justify-content: center;
   align-items: center;
-  border-radius: 20px;
+  border-radius: 10px;
   width: 20%;
   height: 80px;
   margin-left: 5%;
-  background-color: #5599F7;
+  background-color: #1890FF;
   font-size: 50px;
   color: #FFF;
   width: 85px;
@@ -318,6 +311,10 @@
 }
 
 .dashboard-item {
-  text-align: center;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  width: 150px;
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.8.0