From 3b84bfca833d90ad48702c2a22c010f6ca953f9c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 11 四月 2024 09:55:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/permission.js                                                       |    2 
 src/views/screen/components/screen-examine/components/examine-chart.vue |    2 
 src/views/screen/components/screen-data/index.vue                       |   15 
 src/views/system/result/detail/detail.vue                               |  841 ++++++++++++++++++++++++++++++++++++++++++++
 src/views/system/result/detail/index1.vue                               |  185 +++++++++
 src/views/screen/components/screen-wrapper/index.vue                    |   31 +
 src/views/screen/components/screen-examine/components/examine-hola.vue  |    5 
 src/views/screen/components/screen-table/index.vue                      |    2 
 src/views/screen/components/screen-examine/index.vue                    |    2 
 9 files changed, 1,067 insertions(+), 18 deletions(-)

diff --git a/src/permission.js b/src/permission.js
index 462668d..67e53df 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -8,7 +8,7 @@
 
 NProgress.configure({ showSpinner: false })
 
-const whiteList = ['/login', '/register', '/screen']
+const whiteList = ['/login', '/register',]
 
 router.beforeEach((to, from, next) => {
   NProgress.start()
diff --git a/src/views/screen/components/screen-data/index.vue b/src/views/screen/components/screen-data/index.vue
index 5518046..300142c 100644
--- a/src/views/screen/components/screen-data/index.vue
+++ b/src/views/screen/components/screen-data/index.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="data-container">
-    <wrapper-title :title="'宸ュ崟鏁版嵁'" :path="'/monitorServe/car'"></wrapper-title>
+    <wrapper-title :title="'宸ュ崟鏁版嵁'" :path="'/work-order-center/maintenance/work-order/work-order'"></wrapper-title>
 
     <div class="data-content">
       <div class="data-panel">
@@ -14,13 +14,13 @@
         </div>
         <div class="panel-container">
           <div class="panel-item">
-            <data-hola :holaTitle="`宸ュ崟鎬绘暟`" :centerValue="1111" :holaColor="`#4ea8ff`"></data-hola>
+            <data-hola :holaTitle="`宸ュ崟鎬绘暟`" :centerValue="3000" :holaColor="`#4ea8ff`"></data-hola>
           </div>
           <div class="panel-item">
-            <data-hola :holaTitle="`宸插鐞嗗伐鍗曟暟`" :centerValue="1111" :holaColor="`#4ea8ff`"></data-hola>
+            <data-hola :holaTitle="`宸插鐞嗗伐鍗曟暟`" :centerValue="1600" :holaColor="`#5dec24`"></data-hola>
           </div>
           <div class="panel-item">
-            <data-hola :holaTitle="`鏈鐞嗗伐鍗曟暟`" :centerValue="1111" :holaColor="`#4ea8ff`"></data-hola>
+            <data-hola :holaTitle="`鏈鐞嗗伐鍗曟暟`" :centerValue="200" :holaColor="`#dfc639`"></data-hola>
           </div>
         </div>
       </div>
@@ -124,7 +124,7 @@
 <style lang="scss" scoped>
 .data-container {
   width: 100%;
-  height: 470px;
+  height: 500px;
   display: flex;
   flex-direction: column;
 
@@ -167,10 +167,11 @@
   width: 100%;
   display: flex;
   justify-content: space-around;
+  margin: 10px 0;
 
   .panel-item {
-    width: 100px;
-    height: 100px;
+    width: 120px;
+    height: 120px;
   }
 }
 </style>
\ No newline at end of file
diff --git a/src/views/screen/components/screen-examine/components/examine-chart.vue b/src/views/screen/components/screen-examine/components/examine-chart.vue
index 36bf136..d12f01e 100644
--- a/src/views/screen/components/screen-examine/components/examine-chart.vue
+++ b/src/views/screen/components/screen-examine/components/examine-chart.vue
@@ -56,7 +56,7 @@
 
     .hola-item {
       flex-shrink: 0;
-      width: 120px;
+      width: 150px;
       height: 120px;
     }
   }
diff --git a/src/views/screen/components/screen-examine/components/examine-hola.vue b/src/views/screen/components/screen-examine/components/examine-hola.vue
index e8e89d1..83a0396 100644
--- a/src/views/screen/components/screen-examine/components/examine-hola.vue
+++ b/src/views/screen/components/screen-examine/components/examine-hola.vue
@@ -151,7 +151,9 @@
 .progressChart {
   width: 100%;
   height: 100%;
-
+  display: flex;
+  flex-direction: column;
+  align-items: center;
   .chart {
     width: 100%;
     height: 75%;
@@ -166,4 +168,5 @@
     margin-top: 10px;
   }
 }
+
 </style>
diff --git a/src/views/screen/components/screen-examine/index.vue b/src/views/screen/components/screen-examine/index.vue
index 5747188..8bdd44f 100644
--- a/src/views/screen/components/screen-examine/index.vue
+++ b/src/views/screen/components/screen-examine/index.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="examine-container">
-    <wrapper-title :title="'鑰冩牳鏁版嵁'" :path="'/examine/check-rule'"></wrapper-title>
+    <wrapper-title :title="'鑰冩牳鏁版嵁'" :path="'/examine/default'"></wrapper-title>
     <div class="examine-content">
 
       <div class="examine-wrapper">
diff --git a/src/views/screen/components/screen-table/index.vue b/src/views/screen/components/screen-table/index.vue
index 0629df0..01e715d 100644
--- a/src/views/screen/components/screen-table/index.vue
+++ b/src/views/screen/components/screen-table/index.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="table-container">
-    <wrapper-title :title="'鍖哄煙璁惧鏁版嵁'" :path="'/monitorServe/face'"></wrapper-title>
+    <wrapper-title :title="'鍖哄煙璁惧鏁版嵁'" :path="'/monitorServe/recovery'"></wrapper-title>
     <div class="table-content" ref="tabContent">
       <div class="table-wrapper">
         <el-table :data="tableData" border :height="tableHeight" :max-height="tableHeight" class="rank-table">
diff --git a/src/views/screen/components/screen-wrapper/index.vue b/src/views/screen/components/screen-wrapper/index.vue
index dbc3d1b..b2dac5e 100644
--- a/src/views/screen/components/screen-wrapper/index.vue
+++ b/src/views/screen/components/screen-wrapper/index.vue
@@ -6,19 +6,19 @@
     </div>
     <div class="wrapper-content">
       <div class="left-container wrapper">
-        <screen-face class="animate-enter-x enter-left"></screen-face>
-        <screen-car class="animate-enter-x enter-left animate-delay-1"></screen-car>
-        <screen-video class="animate-enter-x enter-left animate-delay-2"></screen-video>
+        <screen-face class="enter-left" :class="{ 'animate-enter-x': isEnd }"></screen-face>
+        <screen-car class="enter-left animate-delay-1" :class="{ 'animate-enter-x': isEnd }"></screen-car>
+        <screen-video class="enter-left animate-delay-2" :class="{ 'animate-enter-x': isEnd }"></screen-video>
       </div>
       <div class="center-container center-wrapper">
         <screen-map></screen-map>
-        <screen-table class="animate-enter-y enter-top"></screen-table>
+        <screen-table class="enter-top" :class="{ 'animate-enter-y': isEnd }"></screen-table>
         <!-- <screen-detection></screen-detection> -->
 
       </div>
       <div class="right-container wrapper">
-        <screen-examine class="animate-enter-x enter-right"></screen-examine>
-        <screen-data></screen-data>
+        <screen-examine class="enter-right" :class="{ 'animate-enter-x': isEnd }"></screen-examine>
+        <screen-data class="enter-right animate-delay-1" :class="{ 'animate-enter-x': isEnd }"></screen-data>
       </div>
     </div>
   </div>
@@ -45,10 +45,29 @@
     ScreenCar,
     ScreenData
   },
+  data() {
+    return {
+      isEnd: false
+    }
+  },
   methods: {
     returnPath() {
       this.$router.push('/index');
+    },
+    checkAnimationEnd(event) {
+      if (this.isEnd) return;
+      if (event.propertyName === 'transform') {
+        this.isEnd = true;
+      }
     }
+  },
+  mounted() {
+    const container = document.querySelector('.screen-wrapper');
+    container.addEventListener('transitionend', this.checkAnimationEnd);
+  },
+  destroyed() {
+    const container = document.querySelector('.screen-wrapper');
+    container.removeEventListener('transitionend', this.checkAnimationEnd);
   }
 }
 </script>
diff --git a/src/views/system/result/detail/detail.vue b/src/views/system/result/detail/detail.vue
new file mode 100644
index 0000000..16209a7
--- /dev/null
+++ b/src/views/system/result/detail/detail.vue
@@ -0,0 +1,841 @@
+<template>
+  <div class="app-container">
+    <el-page-header @back="goBack" content="璇︽儏椤甸潰">
+    </el-page-header>
+    <el-container>
+      <el-main style="padding-top: 0px">
+        <h2>鑰冩牳鍒嗘暟鏄庣粏</h2>
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+<!--          <el-form-item label="鑰冩牳瀵硅薄" prop="ruleName">-->
+<!--            <el-select-->
+<!--              v-model="queryParams.address"-->
+<!--              placeholder="璇烽�夋嫨鍖哄煙"-->
+<!--              clearable-->
+<!--            >-->
+<!--              <el-option label="鑷础甯�" value="鑷础甯�"/>-->
+<!--              <el-option label="娌挎哗鍖�" value="娌挎哗鍖�"/>-->
+<!--              <el-option label="澶у畨鍖�" value="澶у畨鍖�"/>-->
+<!--              <el-option label="璐′簳鍖�" value="璐′簳鍖�"/>-->
+<!--              <el-option label="鑷祦浜曞尯" value="鑷祦浜曞尯"/>-->
+<!--              <el-option label="楂樻柊鍖�" value="楂樻柊鍖�"/>-->
+<!--              <el-option label="鑽e幙" value="鑽e幙"/>-->
+<!--              <el-option label="瀵岄『鍘�" value="瀵岄『鍘�"/>-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+          <el-form-item label="鑰冩牳鏃ユ湡" prop="createTime">
+            <div class="block">
+              <el-date-picker
+                v-model="value2"
+                align="right"
+                type="date"
+                placeholder="閫夋嫨鏃ユ湡"
+                :picker-options="pickerOptions">
+              </el-date-picker>
+            </div>
+          </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-form-item>
+        </el-form>
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="success"
+              plain
+              icon="el-icon-edit"
+              size="mini"
+              :disabled="single"
+              @click="handleScoreUpdate"
+            >淇敼</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="danger"
+              plain
+              icon="el-icon-delete"
+              size="mini"
+              :disabled="multiple"
+              @click="handleDelete"
+            >鍒犻櫎</el-button>
+          </el-col>
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getScoreList"></right-toolbar>
+        </el-row>
+
+        <el-table v-loading="loading" :data="scoreList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="鑰冩牳瑙勫垯" align="center" prop="ruleId">
+            <template slot-scope="scope">
+              <div v-if="scope.row.ruleId == 5">涓�鏈轰竴妗f敞鍐岀巼</div>
+              <div v-else-if="scope.row.ruleId == 4">涓�鏈轰竴妗e悎鏍肩巼</div>
+              <div v-else-if="scope.row.ruleId == 3">骞冲彴鍦ㄧ嚎鐜�</div>
+            </template>
+          </el-table-column>
+          <el-table-column label="鑰冩牳瀵硅薄" align="center" prop="unitName">
+            <template slot-scope="scope">
+              <div v-if="scope.row.unitName ==='鎴愰兘x杩愮淮' ">鎴愰兘x杩愮淮</div>
+              <div v-else>鑷祦浜曞尯</div>
+            </template>
+          </el-table-column>
+          <el-table-column label="鍒嗗��" align="center" prop="score" />
+          <el-table-column label="鑰冩牳鏃堕棿" align="center" prop="createTime" />
+          <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleScoreUpdate(scope.row)"
+              >淇敼</el-button>
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-delete"
+                @click="handleScoreDelete(scope.row)"
+              >鍒犻櫎</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          v-show="total>0"
+          :total="scoreTotal"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getRuleList"
+        />
+      </el-main>
+    </el-container>
+    <el-container>
+      <el-main>
+        <h2>鑰冩牳瑙勫垯</h2>
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="success"
+              plain
+              icon="el-icon-edit"
+              size="mini"
+              :disabled="single"
+              @click="handleRuleUpdate"
+            >淇敼</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="danger"
+              plain
+              icon="el-icon-delete"
+              size="mini"
+              :disabled="multiple"
+              @click="handleDelete"
+            >鍒犻櫎</el-button>
+          </el-col>
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getRuleList"></right-toolbar>
+        </el-row>
+
+        <el-table v-loading="loading" :data="ruleList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="瑙勫垯鍚嶇О" align="center" prop="ruleName" />
+          <el-table-column label="瑙勫垯鏉冮噸" align="center" prop="ruleWeight" />
+          <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleRuleUpdate(scope.row)"
+              >淇敼</el-button>
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-delete"
+                @click="handleDelete(scope.row)"
+              >鍒犻櫎</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+
+        <pagination
+          v-show="total>0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getRuleList"
+        />
+      </el-main>
+    </el-container>
+
+    <el-container>
+      <el-main>
+        <h2>鑰冩牳鎴愮哗</h2>
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+<!--          <el-form-item label="鑰冩牳瀵硅薄" prop="ruleName">-->
+<!--            <el-select-->
+<!--              v-model="queryParams.address"-->
+<!--              placeholder="璇烽�夋嫨鍖哄煙"-->
+<!--              clearable-->
+<!--            >-->
+<!--              <el-option label="鑷础甯�" value="鑷础甯�"/>-->
+<!--              <el-option label="娌挎哗鍖�" value="娌挎哗鍖�"/>-->
+<!--              <el-option label="澶у畨鍖�" value="澶у畨鍖�"/>-->
+<!--              <el-option label="璐′簳鍖�" value="璐′簳鍖�"/>-->
+<!--              <el-option label="鑷祦浜曞尯" value="鑷祦浜曞尯"/>-->
+<!--              <el-option label="楂樻柊鍖�" value="楂樻柊鍖�"/>-->
+<!--              <el-option label="鑽e幙" value="鑽e幙"/>-->
+<!--              <el-option label="瀵岄『鍘�" value="瀵岄『鍘�"/>-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+          <el-form-item label="鑰冩牳鏃ユ湡" prop="createTime">
+            <div class="block">
+              <el-date-picker
+                v-model="value2"
+                align="right"
+                type="date"
+                placeholder="閫夋嫨鏃ユ湡"
+                :picker-options="pickerOptions">
+              </el-date-picker>
+            </div>
+          </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-form-item>
+        </el-form>
+
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="warning"
+              plain
+              icon="el-icon-download"
+              size="mini"
+              @click="handleExport"
+              v-hasPermi="['system:checkRule:export']"
+            >瀵煎嚭</el-button>
+          </el-col>
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getRuleList"></right-toolbar>
+        </el-row>
+        <el-table v-loading="loading" :data="checkResultList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="鑰冩牳鏃ユ湡" align="center" prop="date" width="120px"/>
+          <el-table-column label="鑰冩牳瀵硅薄" align="center" prop="target" width="120px"/>
+          <el-table-column label="骞冲彴鍦ㄧ嚎鐜�(鏉冮噸锛�0.5)" align="center" prop="platformOnline" width="120px"/>
+          <el-table-column label="涓�鏈轰竴妗e悎鏍肩巼(鏉冮噸锛�0.5)" align="center" prop="monitorQualification" width="120px"/>
+          <el-table-column label="涓�鏈轰竴妗f敞鍐岀巼(鏉冮噸锛�0.5)" align="center" prop="monitorRegistration" width="120px"/>
+          <el-table-column label="妗f鑰冩牳姣�(鏉冮噸锛�0.5)" align="center" prop="archivesRate" width="120px"/>
+          <el-table-column label="鐐逛綅鍦ㄧ嚎鐜�(鏉冮噸锛�1)" align="center" prop="siteOnline" width="120px"/>
+          <el-table-column label="褰曞儚鍙敤鐜�(鏉冮噸锛�1)" align="center" prop="videoAvailable" width="120px"/>
+          <el-table-column label="鏍囨敞姝g‘鐜�(鏉冮噸锛�0.5)" align="center" prop="annotationAccuracy" width="120px"/>
+          <el-table-column label="鏍℃椂姝g‘鐜�(鏉冮噸锛�0.5)" align="center" prop="timingAccuracy" width="120px"/>
+          <el-table-column label="閲嶇偣鐐逛綅鍦ㄧ嚎鐜�(鏉冮噸锛�0.5)" align="center" prop="keySiteOnline" width="120px"/>
+          <el-table-column label="閲嶇偣鐐逛綅褰曞儚鍙敤鐜�(鏉冮噸锛�0.5)" align="center" prop="keyVideoAvailable" width="120px"/>
+          <el-table-column label="閲嶇偣鐐逛綅鏍囨敞姝g‘鐜�(鏉冮噸锛�0.5)" align="center" prop="keyAnnotationAccuracy" width="120px"/>
+          <el-table-column label="閲嶇偣鐐逛綅鎸夋椂姝g‘鐜�(鏉冮噸锛�0.5)" align="center" prop="keyTimingAccuracy" width="120px"/>
+          <el-table-column label="閲嶇偣鎸囨尌鍥惧儚鍏畨閮ㄥ贰妫�缁撴灉(鏉冮噸锛�0.2)" align="center" prop="keyCommandImageInspection" width="120px"/>
+          <el-table-column label="閲嶇偣鎸囨尌鍥惧儚鐩綍鏍�(鏉冮噸锛�0.8)" align="center" prop="keyCommandImageDirectoryTree" width="120px"/>
+          <el-table-column label="鍦ㄧ嚎妫�鏌ュ钩鍙伴儴缃插強杩愯鐜�(鏉冮噸锛�0.075)" align="center" prop="onlineInspectionPlatform" width="120px"/>
+          <el-table-column label="瑙嗛浼犺緭缃戣祫浜у噯纭巼(鏉冮噸锛�0.075)" align="center" prop="videoTransmissionAssetsAccuracy" width="120px"/>
+          <el-table-column label="瑙嗛浼犺緭缃戣祫浜у急鍙d护寰楀垎姣斾緥(鏉冮噸锛�0.075)" align="center" prop="videoTransmissionAssetsWeakPasswordScore" width="120px"/>
+          <el-table-column label="瑙嗛浼犺緭缃戝嵄闄╄祫浜у緱鍒嗘瘮閲�(鏉冮噸锛�0.075)" align="center" prop="videoTransmissionDangerousAssetsScore" width="120px"/>
+          <el-table-column label="瑙嗛浼犺緭缃戣竟鐣屽畬鏁存�ф娴嬫墸鍒嗛」(鏉冮噸锛�0.2)" align="center" prop="videoTransmissionBoundaryIntegrityDetection" width="120px"/>
+          <el-table-column label="鏈堣繍琛岀巼" align="center" prop="operatingRate"/>
+        </el-table>
+      </el-main>
+    </el-container>
+
+    <!-- 娣诲姞鎴栦慨鏀硅�冩牳瑙勫垯瀵硅瘽妗� -->
+    <el-dialog :title="title" :visible.sync="ruleOpen" width="600px" append-to-body>
+      <el-form ref="form" :model="ruleForm" :rules="rules" label-width="80px">
+        <el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
+          <el-input v-model="ruleForm.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" />
+        </el-form-item>
+        <el-form-item label="瑙勫垯绫诲瀷" prop="category">
+          <el-select v-model="ruleForm.category" placeholder="瑙勫垯绫诲瀷">
+            <el-option
+              v-for="item in categoryList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="瑙勫垯鎻忚堪" prop="ruleDetail">
+          <el-input v-model="ruleForm.ruleDetail" type="textarea" show-word-limit maxlength="150" placeholder="璇疯緭鍏ヨ鍒欐弿杩�"/>
+        </el-form-item>
+        <el-form-item label="鍙傛暟閰嶇疆" prop="ruleDetail">
+          <div class="row-warp">
+            <div class="row">
+              <div class="row-left">鍙傛暟鍚�</div>
+              <div class="row-right">鏉′欢</div>
+            </div>
+            <div class="row">
+              <div class="row-left">澶╃綉瑙嗛鐐逛綅鏁�</div>
+              <div class="row-right">
+                <div>涓嶅皯浜�</div>
+                <div>
+                  <el-input class="input-w" type="number" v-model="ruleForm.videoPointNum"/>{{" %"}}
+                </div>
+              </div>
+            </div>
+            <div class="row">
+              <div class="row-left">杞﹁締鍗″彛鐐逛綅鏁�</div>
+              <div class="row-right">
+                <div>涓嶅皯浜�</div>
+                <div><el-input class="input-w" type="number" v-model="ruleForm.vehicleCheckpointNum"/></div>{{" %"}}
+              </div>
+            </div>
+            <div class="row">
+              <div class="row-left">浜鸿劯鍗″彛鐐逛綅鏁�</div>
+              <div class="row-right">
+                <div>涓嶅皯浜�</div>
+                <div>
+                  <el-input class="input-w" type="number" v-model="ruleForm.faceChceckpointNum" /></div>{{" %"}}
+              </div>
+            </div>
+          </div>
+        </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>
+      </div>
+    </el-dialog>
+
+    <!-- 瑙勫垯璇︽儏 -->
+    <el-dialog title="瑙勫垯璇︽儏" :visible.sync="ruleDetailOpen" width="50%" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
+          <el-input class="input" disabled v-model="form.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" />
+        </el-form-item>
+        <el-form-item label="杩愮淮鍏徃" prop="companyName">
+          <el-input class="input" disabled :value ="companyName" placeholder="璇疯緭鍏ヨ繍缁村叕鍙稿悕绉�"></el-input>
+        </el-form-item>
+        <el-form-item label="瑙勫垯鎻忚堪" prop="ruleDesc">
+          <el-input class="input" disabled v-model="form.ruleDesc" placeholder="璇疯緭鍏ヨ鍒欐弿杩�" />
+        </el-form-item>
+        <el-form-item label="瑙勫垯璁剧疆">
+          <div >
+            <div class="line">
+              <div class="line-left">鏃堕挓鍚屾锛堣秴杩嚶�3绉掍负涓嶅悎鏍硷級24灏忔椂鍐呮湭淇鐨勶細鎵i櫎鐩稿叧闀滃ご鏁伴噺*</div>
+              <div class="line-right"><el-input disabled v-model="jsonRule.overTime" type="text"/></div>鍒�
+            </div>
+            <div class="line">
+              <div class="line-left">OSD鏍囪瘑涓嶆弧瓒炽�奊AT 751-2008 瑙嗛鍥惧儚鏂囧瓧鏍囨敞瑙勮寖銆嬶紝24灏忔椂鍐呮湭淇鐨勶細鏍囨墸闄ょ浉鍏抽暅澶存暟閲�*</div>
+              <div class="line-right"><el-input disabled v-model="jsonRule.failNum" type="text"/></div>鍒�
+            </div>
+            <div class="line">
+              <div class="line-left">鐢ㄦ埛鎶芥锛屼竴鏈轰竴妗f暟鎹」涓嶅悎鏍硷紙鎻愪緵铏氬亣鏁版嵁鎴栭敊璇暟鎹负涓嶅悎鏍硷級锛�24灏忔椂鍐呮湭淇鐨勶細鎵i櫎鐩稿叧闀滃ご鏁伴噺*</div>
+              <div class="line-right"><el-input disabled v-model="jsonRule.failNum" type="text"/></div>鍒�
+            </div>
+          </div>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="cancel">鍏抽棴</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 娣诲姞鎴栦慨鏀硅�冩牳璁″垎瀵硅瘽妗� -->
+    <el-dialog :title="title" :visible.sync="scoreOpen" width="500px" append-to-body>
+      <el-form ref="form" :model="scoreForm" :rules="rules" label-width="80px">
+        <el-form-item label="鍒嗗��" prop="score">
+          <el-input v-model="scoreForm.score" placeholder="璇疯緭鍏ュ垎鍊�" />
+        </el-form-item>
+        <el-form-item label="鑰冩牳鍚�" prop="examineId">
+          <el-select v-model="scoreForm.examineId" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in examineList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鑰冩牳瀵硅薄" prop="unitId">
+          <el-select v-model="scoreForm.unitId" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in unitList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鑰冩牳瑙勫垯" prop="ruleCategory">
+          <el-select v-model="scoreForm.ruleCategory" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in ruleCategoryList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </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>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listCheckResult, getCheckResult, delCheckResult, addCheckResult, updateCheckResult,manualScore, publishCheckResult } from "@/api/platform/check-result";
+import { listCheckRule, getCheckRule, delCheckRule, addCheckRule, updateCheckRule } from "@/api/platform/check-rule";
+import { listScore, getScore, delScore, addScore, updateScore } from "@/api/platform/check-score";
+import {unitSelect} from "@/api/platform/unit";
+import {publishSelect} from "@/api/platform/check-publish";
+
+export default {
+  name: "CheckResult",
+  dicts: ['platform_audit_state'],
+  data() {
+    return {
+      activeNames: ['1'],
+      companyName: "鎴愰兘x杩愮淮鍏徃",
+      detailTitle: '',
+      detailOpen: false,
+      detail:{
+      },
+      examineList: [],
+      unitList: [
+        {id:2,value: '鎴愰兘x杩愮淮'},
+        {id:3,value: '鑷祦浜曞尯'},
+      ],
+      ruleCategoryList: [
+        { id: 1, value: '瑙嗛鍦ㄧ嚎鐜�' },
+        { id: 2, value: '瀛樺偍鏁呴殰' },
+        { id: 3, value: '瑙嗗浘搴撳鎺ョǔ瀹氭��' },
+        { id: 4, value: '涓�鏈轰竴妗�24灏忔椂鏈慨澶�' },
+        { id: 5, value: '鏃堕挓涓嶅悓姝�24灏忔椂鏈慨澶�' },
+      ],
+      tableData: [{
+        name: '瑙嗛骞冲潎鍦ㄧ嚎鐜�',
+        content: '97%',
+        score: '-5'
+      }, {
+        name: '涓�鏈轰竴妗�24灏忔椂鏈慨澶�',
+        content: '5涓�',
+        score: '-0.5'
+      }, {
+        name: '瀛樺偍鏁呴殰',
+        content: '5灏忔椂',
+        score: '-0.3'
+      }, {
+        name: '鏃堕挓涓嶅悓姝�24灏忔椂鏈慨澶�',
+        content: '3涓�',
+        score: '-0.5'
+      }],
+      // 杩愮淮绫诲瀷
+      categoryList: [
+        { id: 1, value: '瑙嗛鐩戞帶' },
+        { id: 2, value: '杞﹁締璇嗗埆' },
+        { id: 3, value: '浜鸿劯璇嗗埆' },
+      ],
+      manualScoreOpen: false,
+      manualScoreForm: {},
+      manualScoreTitle: '',
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鑰冩牳缁撴灉琛ㄦ牸鏁版嵁
+      checkResultList: [
+        {
+          date: '2024-04-02',
+          target: '鑷祦浜曞尯',
+          platformOnline: '97%',
+          monitorQualification: '97%',
+          monitorRegistration: '97%',
+          archivesRate: '97%',
+          siteOnline: '97%',
+          videoAvailable: '97%',
+          annotationAccuracy: '97%',
+          timingAccuracy: '97%',
+          keySiteOnline: '97%',
+          keyVideoAvailable: '97%',
+          keyAnnotationAccuracy: '97%',
+          keyTimingAccuracy: '97%',
+          keyCommandImageInspection: '97%',
+          keyCommandImageDirectoryTree: '97%',
+          onlineInspectionPlatform: '97%',
+          videoTransmissionAssetsAccuracy: '97%',
+          videoTransmissionAssetsWeakPasswordScore: '97%',
+          videoTransmissionDangerousAssetsScore: '97%',
+          videoTransmissionBoundaryIntegrityDetection: '97%',
+          operatingRate: '97%',
+        },
+        {
+          date: '2024-04-03',
+          target: '鑷祦浜曞尯',
+          platformOnline: '97%',
+          monitorQualification: '97%',
+          monitorRegistration: '97%',
+          archivesRate: '97%',
+          siteOnline: '97%',
+          videoAvailable: '97%',
+          annotationAccuracy: '97%',
+          timingAccuracy: '97%',
+          keySiteOnline: '97%',
+          keyVideoAvailable: '97%',
+          keyAnnotationAccuracy: '97%',
+          keyTimingAccuracy: '97%',
+          keyCommandImageInspection: '97%',
+          keyCommandImageDirectoryTree: '97%',
+          onlineInspectionPlatform: '97%',
+          videoTransmissionAssetsAccuracy: '97%',
+          videoTransmissionAssetsWeakPasswordScore: '97%',
+          videoTransmissionDangerousAssetsScore: '97%',
+          videoTransmissionBoundaryIntegrityDetection: '97%',
+          operatingRate: '97%',
+        }
+
+      ],
+      scoreTotal: 3,
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      scoreOpen: false,
+      ruleOpen: false,
+      ruleDetailOpen: false,
+      // 閫昏緫鍒犻櫎鏃堕棿鑼冨洿
+      daterangeCheckTime: [],
+
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      scoreForm: {},
+      ruleForm: {},
+      jsonRule: {},
+      // 鑰冩牳瑙勫垯鍒楄〃
+      ruleList: [
+        {ruleName: '骞冲彴鍦ㄧ嚎鐜�',ruleWeight: 0.5},
+        {ruleName: '涓�鏈轰竴妗e悎鏍肩巼',ruleWeight: 0.5},
+        {ruleName: '涓�鏈轰竴妗e湪绾跨巼',ruleWeight: 0.5},
+      ],
+      // 鑰冩牳璁″垎琛ㄦ牸鏁版嵁
+      scoreList: [],
+      //杩濈害瑙勫垯璇锋眰鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        ruleName: null,
+        ruleStatus: null,
+        createTime: null,
+      },
+      //鑰冩牳鍒嗘暟璇锋眰鍙傛暟
+      scoreQueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        examineCategory: 2,
+      },
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        shortcuts: [{
+          text: '浠婂ぉ',
+          onClick(picker) {
+            picker.$emit('pick', new Date());
+          }
+        }, {
+          text: '鏄ㄥぉ',
+          onClick(picker) {
+            const date = new Date();
+            date.setTime(date.getTime() - 3600 * 1000 * 24);
+            picker.$emit('pick', date);
+          }
+        }, {
+          text: '涓�鍛ㄥ墠',
+          onClick(picker) {
+            const date = new Date();
+            date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', date);
+          }
+        }]
+      },
+      value1: '',
+      value2: '',
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+      }
+    };
+  },
+  created() {
+    //鑰冩牳鎴愮哗璇︽儏璺宠浆鍙傛暟鎺ユ敹
+    if(this.$route.query.detail){
+      this.detail = this.$route.query.detail
+      console.log(this.$route.query.detail,"detail------------")
+    }
+    // 鑰冩牳瑙勫垯鍒楄〃
+    // this.getRuleList();
+    // 鑰冩牳绉垎鍒楄〃
+    this.getScoreList();
+    // this.selectUnit();
+    this.selectExamine();
+  },
+  methods: {
+    handleChange(val) {
+      console.log(val);
+    },
+    // 杩愮淮鍏徃涓嬫媺鏁版嵁
+    // selectUnit() {
+    //   unitSelect().then(res => {
+    //     this.unitList = res.data;
+    //   })
+    // },
+    // 鑰冩牳涓嬫媺鏁版嵁
+    selectExamine() {
+      publishSelect().then(res => {
+        this.examineList = res.data;
+      })
+    },
+    /** 鏌ヨ鑰冩牳璁″垎鍒楄〃 */
+    getScoreList() {
+      this.loading = true;
+      listScore(this.scoreQueryParams).then(response => {
+        this.scoreList = response.rows;
+        this.loading = false;
+      });
+    },
+    /** 鏌ヨ杩濈害瑙勫垯鍒楄〃 */
+    getRuleList() {
+      this.loading = true;
+      if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
+        this.queryParams["start"] = this.daterangeCreateTime[0];
+        this.queryParams["end"] = this.daterangeCreateTime[1];
+      }
+      listCheckRule(this.queryParams).then(response => {
+        this.ruleList = response.data;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    frequencyFormatter(row) {
+      if (row.frequency === "1") {
+        return "鏈堝害鑰冩牳"
+      }
+      if (row.frequency === "2") {
+        return "瀛e害鑰冩牳"
+      }
+    },
+    examineRangeFormatter(row) {
+      if (row.examineRange === "1") {
+        return "鍒嗗眬鑰冩牳"
+      }
+      if (row.examineRange === "2") {
+        return "甯傚眬鑰冩牳"
+      }
+    },
+    /** 鏌ヨ鑰冩牳缁撴灉鍒楄〃 */
+    getCheckResult() {
+      this.loading = true;
+      getCheckResult(id).then(response => {
+        this.detail = response.data;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.scoreOpen = false;
+      this.ruleOpen = false;
+      this.ruleDetailOpen = false;
+      this.ruleDetailOpen = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        checkUnitId: null,
+        checkPublishId: null,
+        checkScore: null,
+        systemScore: null,
+        manualScore: null,
+        checkTime: null,
+        createTime: null,
+        updateTime: null,
+        deleted: null
+      };
+      this.resetForm("form");
+    },
+    cancelManualScore() {
+      this.manualScoreForm = {};
+      this.manualScoreTitle = "";
+      this.manualScoreOpen = false;
+    },
+    submitManualScore() {
+      if (! this.manualScoreForm.manualScore) {
+        this.$modal.msgWarning("璇峰~鍐欏垎鏁�");
+        return
+      }
+      manualScore(this.manualScoreForm).then(res => {
+        this.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+        this.cancelManualScore();
+        this.getList();
+      })
+    },
+    handleSetManualScore(row) {
+      this.manualScoreForm.id = row.id;
+      this.manualScoreForm.manualScore = parseInt(row.manualScore);
+      this.manualScoreTitle = row.checkUnitName + '浜哄伐鎵撳垎'
+      this.manualScoreOpen = true;
+    },
+
+    handlePublish(row) {
+      let text = row.publish == 1 ? '鍙栨秷鍙戝竷' : '鍙戝竷';
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭' + text + '鑰冩牳缁撴灉缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return publishCheckResult(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess(text + "鎴愬姛");
+      }).catch(() => {});
+
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.daterangeCheckTime = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鑰冩牳缁撴灉";
+    },
+    /** 淇敼绉垎鎸夐挳鎿嶄綔 */
+    handleScoreUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getScore(id).then(response => {
+        this.scoreForm = response.data;
+        this.scoreOpen = true;
+        this.title = "淇敼鑰冩牳璁″垎";
+      });
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleRuleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getCheckRule(id).then(response => {
+        this.ruleForm = response.data;
+        this.ruleOpen = true;
+        this.title = "淇敼鑰冩牳瑙勫垯";
+
+      });
+    },
+    // 璇︽儏鎸夐挳
+    handleRuleDetail(row) {
+      this.ruleDetailOpen = true;
+      this.form = row;
+      this.jsonRule = JSON.parse(this.form.ruleDetail);
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateCheckResult(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addCheckResult(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鑰冩牳缁撴灉缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delCheckResult(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('system/checkResult/export', {
+        ...this.queryParams
+      }, `checkResult_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style scoped>
+
+.line {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: center;
+}
+
+.line-right {
+  width: 50px;
+}
+.input{
+  width: 200px;
+}
+
+.input-w {
+  margin-left: 5px;
+  width: 70px;
+}
+.row-warp {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  text-align: center;
+  border: solid 1px gray;
+  /*padding: 3px;*/
+}
+.row {
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  border-bottom: solid 1px gray;
+  padding: 3px;
+}
+.row:last-of-type {
+  border-bottom: none;
+}
+.row-left {
+  flex: 2;
+  border-right: solid 1px gray;
+}
+.row-right {
+  flex: 4;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+}
+</style>
diff --git a/src/views/system/result/detail/index1.vue b/src/views/system/result/detail/index1.vue
new file mode 100644
index 0000000..d8b604f
--- /dev/null
+++ b/src/views/system/result/detail/index1.vue
@@ -0,0 +1,185 @@
+<template>
+  <div style="padding: 15px">
+    <div style="display: flex;flex-direction: row;">
+      <div class="now-item">
+        <div class="box now">
+          <div class="title">
+            瑙嗛
+          </div>
+          <div>
+            98
+          </div>
+        </div>
+      </div>
+      <div class="now-item">
+        <div class="box now">
+          <div class="title">
+            浜鸿劯
+          </div>
+          <div>
+            98
+          </div>
+        </div>
+      </div>
+      <div class="now-item">
+        <div class="box now">
+          <div class="title">
+            鐩戞帶
+          </div>
+          <div>
+            98
+          </div>
+        </div>
+      </div>
+      <div style="justify-content: center;align-items: center;display: flex;width: 80px">
+        <i class="el-icon-caret-left">鏈湀</i>
+      </div>
+    </div>
+
+    <div style="margin-top: 35px">
+      <el-table
+        :data="tableData"
+        style="width: 100%">
+        <el-table-column
+          label="鏈堜唤"
+          prop="month">
+        </el-table-column>
+        <el-table-column
+          label="浜鸿劯"
+          prop="renlian">
+        </el-table-column>
+        <el-table-column
+          label="瑙嗛"
+          prop="shipin">
+        </el-table-column>
+        <el-table-column
+          label="杞﹁締"
+          prop="cheliang">
+        </el-table-column>
+        <el-table-column
+          align="right">
+          <template slot="header" slot-scope="scope">
+            <el-date-picker
+              size="mini"
+              style="width: 100%"
+              v-model="searchForm.time"
+              type="monthrange"
+              range-separator="~"
+              start-placeholder="寮�濮嬫湀"
+              end-placeholder="缁撴潫鏈�">
+            </el-date-picker>
+          </template>
+          <template slot-scope="scope">
+            <el-button
+              size="mini"
+              @click="handleDetail(scope.$index, scope.row)">璇︽儏</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+
+    <div style="text-align: right; margin-top: 10px">
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage4"
+        :page-sizes="[5, 10, 20]"
+        :page-size="5"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="5">
+      </el-pagination>
+    </div>
+
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'index',
+  data() {
+    return {
+      tableData: [
+        {
+          renlian: 94,
+          shipin: 89.5,
+          cheliang: 92,
+          month: "2024骞�3鏈�"
+        },
+        {
+          renlian: 94,
+          shipin: 89.5,
+          cheliang: 92,
+          month: "2024骞�2鏈�"
+        },
+        {
+          renlian: 94,
+          shipin: 89.5,
+          cheliang: 92,
+          month: "2024骞�1鏈�"
+        },
+        {
+          renlian: 94,
+          shipin: 89.5,
+          cheliang: 92,
+          month: "2023骞�12鏈�"
+        },
+        ,
+        {
+          renlian: 94,
+          shipin: 89.5,
+          cheliang: 92,
+          month: "2023骞�11鏈�"
+        },
+      ],
+      searchForm: {
+        time: null,
+      }
+    }
+  },
+  methods: {
+    handleSizeChange(val) {
+      console.log(`姣忛〉 ${val} 鏉);
+    },
+    handleCurrentChange(val) {
+      console.log(`褰撳墠椤�: ${val}`);
+    },
+    handleDetail(index, row) {
+      console.log(index, row);
+      this.$router.push("/examine/detail/detail")
+    },
+    handleDelete(index, row) {
+      console.log(index, row);
+    }
+  },
+}
+</script>
+
+<style scoped>
+.now-item {
+  flex: 1;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.now {
+  /*background-color: #42b983;*/
+  height: 80px !important;
+}
+.box {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  box-shadow: 0 2px 6px hsla(0, 0%, 7%, .1);
+  border-radius: 10px;
+  width: 240px;
+  height: 50px;
+}
+.box:hover{
+  cursor: pointer;
+}
+
+.title {
+  font-size: larger;
+}
+</style>

--
Gitblit v1.8.0