From 778914265f06262856d1521f40805281206eb677 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期四, 29 二月 2024 10:45:47 +0800
Subject: [PATCH] feat:安全隐患数据统计

---
 src/views/daoAnOffice/right/analysis/index.vue   |    1 
 src/views/daoAnOffice/right/danger/dataTable.vue |  143 ++++++++++++++++++++++++++++++++++++++++-------
 src/views/daoAnOffice/right/danger/index.vue     |   34 +++++++++-
 3 files changed, 150 insertions(+), 28 deletions(-)

diff --git a/src/views/daoAnOffice/right/analysis/index.vue b/src/views/daoAnOffice/right/analysis/index.vue
index 2b282f2..08fc9bd 100644
--- a/src/views/daoAnOffice/right/analysis/index.vue
+++ b/src/views/daoAnOffice/right/analysis/index.vue
@@ -11,7 +11,6 @@
     <template #content>
       <div class="charts-container">
         <div id="analysisChart" ref="analysisChart"></div>
-
       </div>
     </template>
   </RightTitle>
diff --git a/src/views/daoAnOffice/right/danger/dataTable.vue b/src/views/daoAnOffice/right/danger/dataTable.vue
index 0af8c9a..99fd020 100644
--- a/src/views/daoAnOffice/right/danger/dataTable.vue
+++ b/src/views/daoAnOffice/right/danger/dataTable.vue
@@ -1,16 +1,41 @@
 <template>
-  <div class="container">
-    <div class="table-top">
+  <div class="container flex flex-col">
+    <div class="table-top flex justify-between items-center">
       <div class="top-title">瀹夊叏浜嬫晠鍒楄〃</div>
       <div class="table-select flex">
-        <div class="select-item" v-for="selectItem in tableType" :key="selectItem.id">{{ selectItem.type }}</div>
+        <div class="select-item mr-2 ml-2 cursor-pointer flex items-center"
+          :class="{ 'item-active': selectItem.isActive }" v-for="selectItem in tableType" :key="selectItem.id">{{
+            selectItem.type }}</div>
       </div>
     </div>
-    <div class="table-container">
-      <el-table :data="tableData" style="width: 100%">
-        <el-table-column prop="date" label="Date" width="180" />
-        <el-table-column prop="name" label="Name" width="180" />
-        <el-table-column prop="address" label="Address" />
+    <div class="table-container flex-1">
+      <el-table class="data-table" :data="tableData" :highlight-current-row="false" :stripe="true"
+        :header-cell-style="{ backgroundColor: 'transparent', color: '#79A5E9', borderColor: '#29466A' }"
+        :cell-style="{ color: '#79A5E9', borderColor: '#29466A', paddingTop: '10px', paddingBottom: '10px' }"
+        :row-style="{ backgroundColor: 'transparent' }">
+        <el-table-column prop="street" label="闀�/琛楅亾" align="center" />
+        <el-table-column label="鍙戠幇鏁伴噺" align="center">
+          <template #default="scope">
+            <div style="color: #6289E6;">
+              {{ scope.row.num1 }}
+            </div>
+          </template>
+        </el-table-column>
+
+        <el-table-column label="涓嬪彂閫氱煡涔�" align="center">
+          <template #default="scope">
+            <div style="color: #CFB249;">
+              {{ scope.row.num2 }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="澶勭疆鏁伴噺" align="center">
+          <template #default="scope">
+            <div style="color: #2BB06D;">
+              {{ scope.row.num3 }}
+            </div>
+          </template>
+        </el-table-column>
       </el-table>
     </div>
   </div>
@@ -20,30 +45,46 @@
 import { ref } from 'vue';
 
 const tableType = ref([
-  { id: 1, type: '鏈湀' },
-  { id: 2, type: '鏈' },
+  { id: 1, type: '鏈湀', isActive: true },
+  { id: 2, type: '鏈', isActive: false },
 ]);
 
 const tableData = [
   {
-    date: '2016-05-03',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles',
+    street: '濂庡厜濉旇閬�',
+    num1: 12,
+    num2: 5,
+    num3: 2
   },
   {
-    date: '2016-05-02',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles',
+    street: '濂庡厜濉旇閬�',
+    num1: 12,
+    num2: 5,
+    num3: 2
   },
   {
-    date: '2016-05-04',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles',
+    street: '濂庡厜濉旇閬�',
+    num1: 12,
+    num2: 5,
+    num3: 2
   },
   {
-    date: '2016-05-01',
-    name: 'Tom',
-    address: 'No. 189, Grove St, Los Angeles',
+    street: '濂庡厜濉旇閬�',
+    num1: 12,
+    num2: 5,
+    num3: 2
+  },
+  {
+    street: '濂庡厜濉旇閬�',
+    num1: 12,
+    num2: 5,
+    num3: 2
+  },
+  {
+    street: '濂庡厜濉旇閬�',
+    num1: 12,
+    num2: 5,
+    num3: 2
   },
 ];
 </script>
@@ -52,4 +93,62 @@
 .container {
   height: 360px;
 }
+
+.table-top {
+  height: 51px;
+  background-color: rgba(17, 34, 58, 0.6);
+  border: 1px solid #29466A;
+  border-bottom: none;
+}
+
+.table-select {
+  height: 100%;
+}
+
+.top-title {
+  font-size: 16px;
+  color: #447ED6;
+  margin-left: 20px;
+}
+
+.select-item {
+  padding: 0 14px;
+  height: 100%;
+  border-bottom: 2px solid RGBA(98, 137, 230, 0);
+  color: rgba(94, 134, 194, 1);
+}
+
+.item-active {
+  color: #fff;
+  border-color: RGBA(98, 137, 230, 1);
+}
+
+.data-table {
+  font-size: 14px;
+  border: 1px solid #29466A;
+  width: 100%;
+  height: 100%;
+  background: transparent;
+}
+
+.table-color1 {}
+
+
+
+::v-deep .el-table__inner-wrapper::before {
+  background-color: transparent;
+}
+
+::v-deep .el-table thead tr {
+  background-color: rgba(36, 63, 103, 0.6);
+
+}
+
+::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td {
+  background-color: rgba(36, 63, 103, 0.6);
+}
+
+.el-table__fixed-right {
+  height: 100% !important;
+}
 </style>
\ No newline at end of file
diff --git a/src/views/daoAnOffice/right/danger/index.vue b/src/views/daoAnOffice/right/danger/index.vue
index de7f11a..55bb4fa 100644
--- a/src/views/daoAnOffice/right/danger/index.vue
+++ b/src/views/daoAnOffice/right/danger/index.vue
@@ -4,34 +4,42 @@
   <RightTitle title="瀹夊叏闅愭偅鎯呭喌">
     <template #top>
       <div class="select-container flex">
-        <div class="item whitespace-no-wrap cursor-pointer" v-for="item in selectItems" :key="item.itemIndex">
+        <div class="item whitespace-no-wrap cursor-pointer" :class="{'select-active': item.isActive}" v-for="item in selectItems" :key="item.itemIndex"
+          @click="changeSelect(item)">
           {{ item.name }}
         </div>
       </div>
     </template>
 
     <template #content>
-      <InfoView v-show="isActive"></InfoView>
-      <DataView v-show="!isActive"></DataView>
+      <InfoView :key="selectItems[0].itemIndex" v-show="selectItems[0].isActive"></InfoView>
+      <DataView :key="selectItems[1].itemIndex" v-show="selectItems[1].isActive"></DataView>
+      <!-- <TransitionGroup name="fade" mode="out-in">
+        
+      </TransitionGroup> -->
     </template>
 
   </RightTitle>
 </template>
 
-<script setup lang="ts">
+<script setup>
 
 import RightTitle from "@/components/right-title";
 import DataView from './dataView.vue';
 import InfoView from './infoView.vue';
 import { ref } from 'vue';
 
-let isActive = ref(true);
 
 const selectItems = ref([
   { itemIndex: 1, name: '瀹夊叏闅愭偅', isActive: false },
   { itemIndex: 2, name: '鏁版嵁缁熻', isActive: true },
 ]);
 
+
+const changeSelect = (selectItem) => {
+  selectItems.value.map(item => item.isActive = false);
+  selectItem.isActive = true;
+}
 
 </script>
 
@@ -47,10 +55,26 @@
   background: rgba(67, 102, 155, 0.4);
   border: 1px solid rgba(47, 91, 157, 0.8);
   flex-shrink: 0;
+  color: #5B83BD;
+}
+
+.select-active {
+ color: #fff; 
 }
 
 .item:last-child {
   margin-right: 0;
 }
 
+.fade-enter-active,
+.fade-leave-active {
+  transition: opacity 0.5s;
+}
+
+.fade-enter,
+.fade-leave-to {
+  opacity: 0;
+  transition: opacity 0.5s;
+
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0