From 7998498926f9f3ed100f0e3dda291569945efb26 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 12 四月 2024 16:49:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/system/calculate/order/index.vue  |    5 
 src/views/system/calculate/rule/index.vue   |    4 
 src/views/system/template/default/index.vue |    2 
 src/views/system/result/index.vue           |  180 +++++++++++++++++++++++++++++++++--
 src/views/system/result/detail/detail.vue   |   13 ++
 src/views/system/platform/index.vue         |    5 -
 src/views/system/rule/default/index.vue     |    3 
 src/views/system/equipment/index.vue        |   16 ++
 src/views/system/calculate/record/index.vue |    5 -
 src/views/system/report/index.vue           |   22 ++--
 src/views/system/result/default/index.vue   |    1 
 src/views/system/template/index.vue         |    7 
 12 files changed, 211 insertions(+), 52 deletions(-)

diff --git a/src/views/system/calculate/order/index.vue b/src/views/system/calculate/order/index.vue
index ceabfcd..6685b32 100644
--- a/src/views/system/calculate/order/index.vue
+++ b/src/views/system/calculate/order/index.vue
@@ -75,7 +75,8 @@
     <el-card class="box-card" v-for="(item) in checkResultList">
       <div slot="header" class="clearfix">
         <span>{{ checkUnitName }}</span>
-        <el-button style="float: right; padding: 3px 0" type="text" @click="handleDetail(item)">璇︽儏</el-button>
+        <el-button style="float: right; padding: 3px 6px" type="text" @click="handleDetail(item)">璇︽儏</el-button>
+        <el-button style="float: right; padding: 3px 0" type="text" @click="handleDetail(item)">鎵撳垎</el-button>
       </div>
       <div class="text item">鑰冩牳<span class="time">{{ examineName }}</span></div>
       <div class="text item">鑰冩牳棰戠巼<span class="time">{{ "瀛e害鑰冩牳" }}</span></div>
@@ -349,7 +350,7 @@
     handleDetail(row) {
       this.detail = row;
       this.detail.carOnlineRate =  '97%';
-      this.detailTitle = row.checkUnitName + '鑰冩牳缁撴灉';
+      this.detailTitle = '鑰冩牳缁撴灉';
       this.detailOpen = true;
 
     },
diff --git a/src/views/system/calculate/record/index.vue b/src/views/system/calculate/record/index.vue
index b321768..16306e6 100644
--- a/src/views/system/calculate/record/index.vue
+++ b/src/views/system/calculate/record/index.vue
@@ -44,7 +44,6 @@
           size="mini"
           :disabled="single"
           @click="handleUpdate"
-          v-hasPermi="['system:record:edit']"
         >淇敼</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -55,7 +54,6 @@
           size="mini"
           :disabled="multiple"
           @click="handleDelete"
-          v-hasPermi="['system:record:remove']"
         >鍒犻櫎</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -65,7 +63,6 @@
           icon="el-icon-download"
           size="mini"
           @click="handleExport"
-          v-hasPermi="['system:record:export']"
         >瀵煎嚭</el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@@ -98,14 +95,12 @@
             type="text"
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:record:edit']"
           >淇敼</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
-            v-hasPermi="['system:record:remove']"
           >鍒犻櫎</el-button>
         </template>
       </el-table-column>
diff --git a/src/views/system/calculate/rule/index.vue b/src/views/system/calculate/rule/index.vue
index 6831222..5782a74 100644
--- a/src/views/system/calculate/rule/index.vue
+++ b/src/views/system/calculate/rule/index.vue
@@ -8,7 +8,6 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-          v-hasPermi="['system:rule:add']"
         >鏂板</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -46,21 +45,18 @@
             type="text"
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:rule:edit']"
           >淇敼</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-plus"
             @click="handleAdd(scope.row)"
-            v-hasPermi="['system:rule:add']"
           >鏂板</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
-            v-hasPermi="['system:rule:remove']"
           >鍒犻櫎</el-button>
         </template>
       </el-table-column>
diff --git a/src/views/system/equipment/index.vue b/src/views/system/equipment/index.vue
index fd8cf68..1b6dd83 100644
--- a/src/views/system/equipment/index.vue
+++ b/src/views/system/equipment/index.vue
@@ -16,16 +16,24 @@
               <p>璁惧鎬绘暟</p >
             </div>
             <div class="dashboard-item">
+              <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
+              <p>浜鸿劯璁惧鏁�</p >
+            </div>
+            <div class="dashboard-item">
+              <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
+              <p>杞﹁締璁惧鏁�</p >
+            </div>
+            <div class="dashboard-item">
+              <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
+              <p>瑙嗛璁惧鏁�</p >
+            </div>
+            <div class="dashboard-item">
               <h3 style="color: #3eba45">{{ count.totalMembers }}</h3>
               <p>姝e父鏁�</p >
             </div>
             <div class="dashboard-item">
               <h3 style="color: #fe640d">{{ count.postsPercentage }}</h3>
               <p>寮傚父鏁�</p >
-            </div>
-            <div class="dashboard-item">
-              <h3>{{ count.viewsPercentage }}%</h3>
-              <p>璁惧杩愯鐜�</p >
             </div>
           </div>
         </el-col>
diff --git a/src/views/system/platform/index.vue b/src/views/system/platform/index.vue
index 5b585e5..3bbe042 100644
--- a/src/views/system/platform/index.vue
+++ b/src/views/system/platform/index.vue
@@ -121,11 +121,6 @@
           <dict-tag :options="dict.type.camera_state" :value="scope.row.status"/>
         </template>
       </el-table-column>
-      <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder" width="180">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.status"/>
-        </template>
-      </el-table-column>
       <!-- <el-table-column label="澶囨敞" align="center" prop="remark" /> -->
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
diff --git a/src/views/system/report/index.vue b/src/views/system/report/index.vue
index f58d886..474fafb 100644
--- a/src/views/system/report/index.vue
+++ b/src/views/system/report/index.vue
@@ -173,15 +173,16 @@
             <el-option label="璁惧閬楀け" value="璁惧閬楀け"/>
           </el-select>
         </el-form-item>
-        <el-form-item label="鏈夋晥鏃堕棿">
+        <el-form-item label="鎶ュ鏃堕棿" prop="expirTime">
           <el-date-picker
-            v-model="expirTime"
+            v-model="form.expirTime"
             style="width: 240px"
             value-format="yyyy-MM-dd"
             type="daterange"
             range-separator="-"
-            start-placeholder="鐢熸晥鏃ユ湡"
-            end-placeholder="澶辨晥鏃ユ湡"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+            @change="handleExpirTimeChange"
           ></el-date-picker>
         </el-form-item>
         <el-form-item label="鎶ュ鍐呭" prop="reportContent">
@@ -332,7 +333,7 @@
           { required: true, message: "璇烽�夋嫨鏁呴殰绫诲瀷", trigger: "blur" }
         ],
         expirTime: [
-          { required: true, message: "璇烽�夋嫨鏈夋晥鏃堕棿", trigger: "blur" }
+          { required: true, message: "璇烽�夋嫨鎶ュ鏃堕棿", trigger: "blur" }
         ],
       }
     };
@@ -458,13 +459,14 @@
         this.auditingForm = {}
       });
     },
+    handleExpirTimeChange() {
+      if (null != this.form.expirTime && '' != this.form.expirTime) {
+        this.form["beginCreateTime"] = this.form.expirTime[0];
+        this.form["endCreateTime"] = this.form.expirTime[1];
+      }
+    },
     /** 鎻愪氦鎸夐挳 */
     submitForm() {
-
-      if (null != this.expirTime && '' != this.expirTime) {
-        this.form["beginCreateTime"] = this.expirTime[0];
-        this.form["endCreateTime"] = this.expirTime[1];
-      }
 
       // todo 鍒ゆ柇鏄簨鍓嶆姤澶�
 
diff --git a/src/views/system/result/default/index.vue b/src/views/system/result/default/index.vue
index cb2b248..24237f5 100644
--- a/src/views/system/result/default/index.vue
+++ b/src/views/system/result/default/index.vue
@@ -78,6 +78,7 @@
     <el-card class="box-card" v-for="(item) in checkResultList">
       <div slot="header" class="clearfix">
         <span>{{ item.checkUnitName }}</span>
+
         <el-button style="float: right; padding: 3px 0" type="text" @click="handleDetail(item)">璇︽儏</el-button>
       </div>
       <div class="text item">鑰冩牳<span class="time">{{ item.examineName }}</span></div>
diff --git a/src/views/system/result/detail/detail.vue b/src/views/system/result/detail/detail.vue
index 731d044..58b1544 100644
--- a/src/views/system/result/detail/detail.vue
+++ b/src/views/system/result/detail/detail.vue
@@ -49,14 +49,13 @@
               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="date" width="120px" fixed/>
           <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"/>
@@ -78,6 +77,16 @@
           <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-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"  fixed="right">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleUpdate(scope.row,scope.index)"
+              >淇敼</el-button>
+            </template>
+          </el-table-column>
         </el-table>
       </el-main>
     </el-container>
diff --git a/src/views/system/result/index.vue b/src/views/system/result/index.vue
index 0d78705..77003fb 100644
--- a/src/views/system/result/index.vue
+++ b/src/views/system/result/index.vue
@@ -1,6 +1,23 @@
 <template>
   <div id="warp">
-    <el-row>
+    <div class="data-chart-container">
+      <el-card class="data-card" :body-style="{ height: '100%' }">
+        <div class="card-content">
+          <div class="title-container">
+            <h1>鑰冩牳鎴愮哗</h1>
+            <div class="select-container">
+            <el-date-picker v-model="date" type="date"  placeholder="閫夋嫨鏃ユ湡">
+            </el-date-picker>
+          </div>
+          </div>
+
+          <div class="echart-container">
+            <div id="barChart" ref="barChart"></div>
+          </div>
+        </div>
+      </el-card>
+    </div>
+    <el-row :gutter="80">
       <el-col :span="6">
         <div class="city-warp">
           <div class="city">
@@ -8,6 +25,9 @@
               鑷祦浜�
             </div>
             <div class="score-warp">
+              <div class="score-item">
+                <div style="font-size: 15px;margin-bottom: 15px">2024骞�4鏈�12鏃�</div>
+              </div>
               <div class="score-item">
                 <div>瑙嗛锛�</div>
                 <div class="score">99.5</div>
@@ -17,7 +37,7 @@
                 <div class="score">87</div>
               </div>
               <div class="score-item">
-                <div>鐩戞帶锛�</div>
+                <div>杞﹁締锛�</div>
                 <div class="score">94</div>
               </div>
             </div>
@@ -36,6 +56,9 @@
             </div>
             <div class="score-warp">
               <div class="score-item">
+                <div style="font-size: 15px;margin-bottom: 15px">2024骞�4鏈�12鏃�</div>
+              </div>
+              <div class="score-item">
                 <div>瑙嗛锛�</div>
                 <div class="score">99.5</div>
               </div>
@@ -44,9 +67,10 @@
                 <div class="score">87</div>
               </div>
               <div class="score-item">
-                <div>鐩戞帶锛�</div>
+                <div>杞﹁締锛�</div>
                 <div class="score">94</div>
               </div>
+
             </div>
             <div class="bottom-publish">
               <el-button size="medium" type="success">鍙戝竷</el-button>
@@ -63,6 +87,9 @@
             </div>
             <div class="score-warp">
               <div class="score-item">
+                <div style="font-size: 15px;margin-bottom: 15px">2024骞�4鏈�12鏃�</div>
+              </div>
+              <div class="score-item">
                 <div>瑙嗛锛�</div>
                 <div class="score">99.5</div>
               </div>
@@ -71,9 +98,10 @@
                 <div class="score">87</div>
               </div>
               <div class="score-item">
-                <div>鐩戞帶锛�</div>
+                <div>杞﹁締锛�</div>
                 <div class="score">94</div>
               </div>
+
             </div>
             <div class="bottom-publish">
               <el-button size="medium" type="success">鍙戝竷</el-button>
@@ -90,6 +118,9 @@
             </div>
             <div class="score-warp">
               <div class="score-item">
+                <div style="font-size: 15px;margin-bottom: 15px">2024骞�4鏈�12鏃�</div>
+              </div>
+              <div class="score-item">
                 <div>瑙嗛锛�</div>
                 <div class="score">99.5</div>
               </div>
@@ -98,9 +129,10 @@
                 <div class="score">87</div>
               </div>
               <div class="score-item">
-                <div>鐩戞帶锛�</div>
+                <div>杞﹁締锛�</div>
                 <div class="score">94</div>
               </div>
+
             </div>
             <div class="bottom-publish">
               <el-button size="medium" type="success">鍙戝竷</el-button>
@@ -113,7 +145,7 @@
 
     </el-row>
 
-    <el-row style="margin-top: 30px">
+    <el-row style="margin-top: 30px" :gutter="80">
       <el-col :span="6">
         <div class="city-warp">
           <div class="city">
@@ -121,6 +153,9 @@
               楂樻柊鍖�
             </div>
             <div class="score-warp">
+              <div class="score-item">
+                <div style="font-size: 15px;margin-bottom: 15px">2024骞�4鏈�12鏃�</div>
+              </div>
               <div class="score-item">
                 <div>瑙嗛锛�</div>
                 <div class="score">99.5</div>
@@ -130,7 +165,7 @@
                 <div class="score">87</div>
               </div>
               <div class="score-item">
-                <div>鐩戞帶锛�</div>
+                <div>杞﹁締锛�</div>
                 <div class="score">94</div>
               </div>
             </div>
@@ -149,6 +184,9 @@
             </div>
             <div class="score-warp">
               <div class="score-item">
+                <div style="font-size: 15px;margin-bottom: 15px">2024骞�4鏈�12鏃�</div>
+              </div>
+              <div class="score-item">
                 <div>瑙嗛锛�</div>
                 <div class="score">99.5</div>
               </div>
@@ -157,7 +195,7 @@
                 <div class="score">87</div>
               </div>
               <div class="score-item">
-                <div>鐩戞帶锛�</div>
+                <div>杞﹁締锛�</div>
                 <div class="score">94</div>
               </div>
             </div>
@@ -176,6 +214,9 @@
             </div>
             <div class="score-warp">
               <div class="score-item">
+                <div style="font-size: 15px;margin-bottom: 15px">2024骞�4鏈�12鏃�</div>
+              </div>
+              <div class="score-item">
                 <div>瑙嗛锛�</div>
                 <div class="score">99.5</div>
               </div>
@@ -184,9 +225,10 @@
                 <div class="score">87</div>
               </div>
               <div class="score-item">
-                <div>鐩戞帶锛�</div>
+                <div>杞﹁締锛�</div>
                 <div class="score">94</div>
               </div>
+
             </div>
             <div class="bottom-publish">
               <el-button size="medium" type="success">鍙戝竷</el-button>
@@ -201,22 +243,93 @@
 </template>
 
 <script>
+import * as echarts from 'echarts';
+let observer = null;
+let chart = null;
 export default {
   name: 'index',
   data() {
     return {
-
+      activeIndex: '1',
+      activeIndex2: '1',
+      date: '',
+      company: '',
+      dataList: {
+        name: ['瀵岄『鍘�', '鑽e幙', '楂樻柊鍖�', '鑷祦浜曞尯', '璐′簳鍖�', '澶у畨鍖�', '娌挎哗鍖�'],
+        data1: [95, 96, 97, 95, 94.5, 93.6, 94.5],
+        data2: [93.7, 93.5, 94.3, 96.5, 95.3, 94.2, 93.3],
+        data3: [98.3, 94.3, 93.3, 95.5, 96.8, 96.1, 95.8],
+      },
     }
   },
   methods: {
     jumpDetail() {
       this.$router.push("/examine/detail")
+    },
+    initEchart() {
+      const option = {
+        grid: {
+          left: 0,
+          right: 0,
+          bottom: 0,
+          top: '20%',
+          containLabel: true
+        },
+        legend: {
+          right: 'right',
+          top: 'top',
+          icon: 'rect',
+          orient: "vertical",
+        },
+        tooltip: {},
+        xAxis: {
+          type: 'category',
+          axisLabel: {
+          },
+          data: this.dataList.name
+        },
+        yAxis: {
+          min: 90,
+        },
+        series: [
+          {
+            type: 'bar',
+            name: '瑙嗛鑰冩牳',
+            data: this.dataList.data1,
+            itemStyle: {
+              color: 'rgba(255, 165, 0, 1)'
+            }
+          },
+          {
+            type: 'bar',
+            name: '浜鸿劯鑰冩牳',
+            data: this.dataList.data2,
+            itemStyle: {
+              color: 'rgba(85, 192, 191, 1)'
+            }
+          },
+          {
+            type: 'bar',
+            name: '杞﹁締鑰冩牳',
+            data: this.dataList.data3,
+            itemStyle: {
+              color: 'rgba(62, 144, 247, 1)'
+            }
+          },
+        ]
+      }
+      chart.setOption(option, true);
+
     }
+  },
+  mounted() {
+    chart = echarts.init(this.$refs.barChart);
+    this.initEchart();
   }
 }
 </script>
 
-<style scoped>
+<style lang = "scss" scoped>
 .score-warp {
   display: flex;
   flex-direction: column;
@@ -227,6 +340,7 @@
 .score-item {
   display: flex;
   flex-direction: row;
+
 }
 .score {
   width: 60px;
@@ -258,6 +372,48 @@
 }
 .title {
   font-size: larger;
-  margin-bottom: 25px;
+  margin-bottom: 5px;
+}
+.data-chart-container {
+  height: 400px;
+  margin-bottom: 20px;
+
+  .data-card {
+    height: 100%;
+
+    .card-content {
+      width: 100%;
+      height: 100%;
+      position: relative;
+    }
+  }
+}
+.title-container {
+  position: absolute;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  z-index: 2;
+
+
+  .more-button {
+    cursor: pointer;
+    font-size: 16px;
+    padding: 0 10px;
+  }
+}
+
+.echart-container {
+  width: 100%;
+  height: 100%;
+
+  #barChart {
+    width: 100%;
+    height: 100%;
+  }
+}
+.select-container {
+  margin: 0 20px;
+  width: 180px;
 }
 </style>
diff --git a/src/views/system/rule/default/index.vue b/src/views/system/rule/default/index.vue
index 2cf4c33..1a6dacd 100644
--- a/src/views/system/rule/default/index.vue
+++ b/src/views/system/rule/default/index.vue
@@ -85,21 +85,18 @@
             type="text"
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:rule:edit']"
           >淇敼</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-plus"
             @click="handleAdd(scope.row)"
-            v-hasPermi="['system:rule:add']"
           >鏂板</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
-            v-hasPermi="['system:rule:remove']"
           >鍒犻櫎</el-button>
         </template>
       </el-table-column>
diff --git a/src/views/system/template/default/index.vue b/src/views/system/template/default/index.vue
index 418ad37..516bdac 100644
--- a/src/views/system/template/default/index.vue
+++ b/src/views/system/template/default/index.vue
@@ -154,7 +154,7 @@
                 </div>
               </div>
               <div class="row-right">
-                  <div>鏁板��</div>
+                  <div>鎵e垎绯绘暟</div>
                   <div class="margin-5">
                     <el-input type="number" v-model="form.weight"/>
                   </div>
diff --git a/src/views/system/template/index.vue b/src/views/system/template/index.vue
index 9fe7f3c..e1480c5 100644
--- a/src/views/system/template/index.vue
+++ b/src/views/system/template/index.vue
@@ -88,12 +88,11 @@
 
     <el-card class="box-card" v-for="item in checkTemplateList" :key="item">
       <div class="text item">妯℃澘鍚嶇О锛歿{ item.templateName }}</div>
-      <div class="text item">鑰冩牳绫诲瀷锛歿{ item.examineCategory == 0 ? '鐪佸巺鑰冩牳' : '鍖哄煙鑰冩牳' }}</div>
+      <div class="text item">鑰冩牳绫诲瀷锛歿{ item.examineCategory == 0 ? '鐪佸巺鑰冩牳' : '甯傚眬鑰冩牳' }}</div>
       <div class="text item">鑰冩牳瀵硅薄锛歿{ item.deptId }}</div>
-      <div class="text item">鍙戝竷鐘舵�侊細{{ item.status == 0 ? '鍚敤' : '鍋滅敤'  }}</div>
+      <div class="text item">浣跨敤鐘舵�侊細{{ item.status == 0 ? '鍚敤' : '鍋滅敤'  }}</div>
       <div class="bottom clearfix">
-        <el-button type="text" class="button" @click="">瀹℃牳</el-button>
-        <el-button type="text" class="button" @click="">鍙戝竷</el-button>
+        <el-button type="text" class="button" @click="">鍚敤</el-button>
         <el-button type="text" class="button" @click="">澶嶅埗</el-button>
         <el-button type="text" class="button" @click="handleUpdate(item)">淇敼</el-button>
         <el-button type="text" class="button" @click="handleDelete(item)">鍒犻櫎</el-button>

--
Gitblit v1.8.0