From 70897b9f8935d377c9e890b4b04966c1d2cd5d82 Mon Sep 17 00:00:00 2001 From: “dzb” <2632970487@qq.com> Date: 星期六, 08 十月 2022 14:34:14 +0800 Subject: [PATCH] 对接案件池违建部分接口 --- src/views/operate/disposal/casepool/pool/index.vue | 4 src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/ill/index.vue | 152 +++++++++++++++- src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue | 2 src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue | 336 +++++++++++++++++++++++++++++++++---- src/views/login/index.vue | 2 src/views/operate/baseSetting/violation/createUser/index.vue | 2 src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue | 2 src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue | 2 src/views/operate/disposal/casepool/dispatch/index.vue | 5 9 files changed, 446 insertions(+), 61 deletions(-) diff --git a/src/views/login/index.vue b/src/views/login/index.vue index f4982b5..3418821 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -132,7 +132,7 @@ // 淇濆瓨token sessionStorage.setItem('tokenHead',response.data.tokenHead); // 淇濆瓨鐢ㄦ埛鐧诲綍鍚� - sessionStorage.setItem('name',username) + sessionStorage.setItem('name',username); // 璺宠浆鍒伴椤� that.$router.push("/home"); }else{ diff --git a/src/views/operate/baseSetting/violation/createUser/index.vue b/src/views/operate/baseSetting/violation/createUser/index.vue index c53e2d0..614d479 100644 --- a/src/views/operate/baseSetting/violation/createUser/index.vue +++ b/src/views/operate/baseSetting/violation/createUser/index.vue @@ -151,7 +151,7 @@ .then(res => { console.log(res); this.eventLevelList = res.data; - }) + }) }, // 鎻愪氦鏂板杩濊绫诲瀷 handleSubmit(){ diff --git a/src/views/operate/disposal/casepool/dispatch/index.vue b/src/views/operate/disposal/casepool/dispatch/index.vue index ac95c3f..49be893 100644 --- a/src/views/operate/disposal/casepool/dispatch/index.vue +++ b/src/views/operate/disposal/casepool/dispatch/index.vue @@ -74,7 +74,7 @@ <!-- 涓婁紶椤甸潰 --> <el-dialog :visible.sync="dialogUpload" width="60%" title="涓婁紶澶勭疆缁撴灉" v-if="dialogUpload" :before-close="handleClose"> - <uploadVio v-if="mystatus === 0" :caseId="caseId" @closeDialog="closeDialog"></uploadVio> + <uploadVio v-if="mystatus === 1" :caseId="caseId" @closeDialog="closeDialog"></uploadVio> <uploadIll v-else :caseId="caseId" @closeDialog="closeDialog"></uploadIll> </el-dialog> <!-- tools --> @@ -163,7 +163,7 @@ }, ], statusArr:[], - mystatus:0, + mystatus:1, caseId:'', } }, @@ -281,6 +281,7 @@ } }) this.mystatus = idx + 1; + console.log(this.mystatus); this.statusArr[1] = this.typeList[idx].value; this.getUserList(); }, diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue index 858e326..d948e0f 100644 --- a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue +++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue @@ -1,6 +1,6 @@ <template> <div class="arrive"> - <div class="arrive-title">鍒板ぇ鐜板満鎯呭喌</div> + <div class="arrive-title">鍒拌揪鐜板満鎯呭喌</div> <div class="arrive-form"> <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on"> <!-- 鍒拌揪鏃堕棿 --> diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue index a4903eb..d5943f9 100644 --- a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue +++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue @@ -2,77 +2,300 @@ <div class="book"> <div class="book-title">鏂囩涔︾被</div> <div class="book-form"> - <el-form ref="bookForm" label-width="160px" :model="book" :rules="bookRules" autoComplete="on"> - <!-- 鏂囦功绉嶇被 --> - <el-form-item label="鏂囦功绉嶇被:" prop="kind"> - <el-input v-model="book.kind"></el-input> - </el-form-item> - <!-- 鏂囦功缂栧彿 --> - <el-form-item label="鏂囦功缂栧彿:" prop="id"> - <el-input v-model="book.id"></el-input> - </el-form-item> + <el-form ref="bookForm" label-width="120px" :model="book" :rules="bookRules" autoComplete="on"> + <div class="book-item"> + <!-- 鏂囦功绉嶇被 --> + <el-form-item label="鏂囦功绉嶇被:" prop="writType"> + <el-select v-model="book.writType" placeholder="璇疯緭鍏ユ枃涔︾绫�"> + <el-option v-for="item in kindList" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <!-- 鏂囦功缂栧彿 --> + <el-form-item label="鏂囦功缂栧彿:" prop="writCode"> + <el-input v-model="book.writCode" placeholder="璇疯緭鍏ユ枃涔︾紪鍙�"></el-input> + </el-form-item> + </div> <!-- 杩濇硶绫诲瀷 --> - <el-form-item label="杩濇硶绫诲瀷:" prop="vioKind"> - <el-input v-model="book.vioKind"></el-input> + <el-form-item label="杩濇硶绫诲瀷:" prop="illegalType" placeholder="璇疯緭鍏ヨ繚娉曠被鍨�"> + <el-input v-model="book.illegalType" placeholder="璇疯緭鍏ヨ繚娉曠被鍨�"></el-input> </el-form-item> <!-- 鏂囦功鍙戞斁鏃堕棿 --> - <el-form-item label="鏂囦功鍙戞斁鏃堕棿:" prop="giveTime"> - <el-input v-model="book.giveTime"></el-input> + <el-form-item label="鏂囦功鍙戞斁鏃堕棿:" prop="sendTime"> + <el-date-picker v-model="book.sendTime" type="datetime" placeholder="璇烽�夋嫨骞存湀鏃�"> + </el-date-picker> </el-form-item> <!-- 鏂囦功闄愬畾鏃堕棿 --> <el-form-item label="鏂囦功闄愬畾鏃堕棿" prop="limitTime"> - <el-input v-model="book.limitTime"></el-input> + <el-date-picker v-model="book.limitTime" type="datetime" placeholder="璇烽�夋嫨骞存湀鏃�"> + </el-date-picker> </el-form-item> <!-- 鏂囦功鍙戞斁鍐呭 --> - <el-form-item label="鏂囦功鍙戞斁鍐呭:" prop="content"> - <el-input v-model="book.content"></el-input> + <el-form-item label="鏂囦功鍙戞斁鍐呭:" prop="sendContent"> + <el-input v-model="book.sendContent" placeholder="璇疯緭鍏ユ枃涔﹀彂鏀惧唴瀹�"></el-input> </el-form-item> <!-- 瀹為檯鏁存敼鏃堕棿 --> - <el-form-item label="瀹為檯鏁存敼鏃堕棿:" prop="updateTime"> - <el-input v-model="book.updateTime"></el-input> + <el-form-item label="瀹為檯鏁存敼鏃堕棿:" prop="rectifyTime"> + <el-date-picker v-model="book.rectifyTime" type="datetime" placeholder="璇烽�夋嫨骞存湀鏃�"> + </el-date-picker> </el-form-item> <!-- 鏁存敼鎯呭喌 --> - <el-form-item label="鏁存敼鎯呭喌:" prop="condition"> - <el-input v-model="book.condition"></el-input> + <el-form-item label="鏁存敼鎯呭喌:" prop="rectifySituation"> + <el-input v-model="book.rectifySituation" placeholder="璇疯緭鍏ユ暣鏀规儏鍐�"></el-input> </el-form-item> <!-- 澶囨敞 --> - <el-form-item label="澶囨敞:" prop="note"> - <el-input v-model="book.note"></el-input> + <el-form-item label="澶囨敞:" prop="remark"> + <el-input v-model="book.remark" placeholder="璇疯緭鍏ュ娉�"></el-input> </el-form-item> <!-- 鏂囦功鐓х墖涓婁紶 --> - <el-form-item label="鏂囦功鐓х墖涓婁紶:" prop="bookPhoto"> - <el-input v-model="book.bookPhoto"></el-input> + <el-form-item label="鏂囦功鐓х墖涓婁紶:" prop="writPic"> + <div class="upImg"> + <div class="img-list"> + <img :src="item" alt="" v-for="(item,index) in book.writPic" :key="index"> + </div> + <div class="upload" v-if="book.writPic.length<4"> + <el-upload :file-list="fileList" class="upload-demo" + action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false" + :limit="4" :on-success="handleSuccess1" :headers="getToken()"> + <i class="el-icon-plus"></i> + </el-upload> + </div> + <div class="tip">{{book.writPic.length}} / 4</div> + </div> </el-form-item> <!-- 鏁存敼鍓嶇収鐗� --> - <el-form-item label="鏁存敼鍓嶇収鐗�:" prop="beforeUpdate"> - <el-input v-model="book.beforeUpdate"></el-input> + <el-form-item label="鏁存敼鍓嶇収鐗�:" prop="originalPic"> + <div class="upImg"> + <div class="img-list"> + <img :src="item" alt="" v-for="(item,index) in book.originalPic" :key="index"> + </div> + <div class="upload" v-if="book.originalPic.length<4"> + <el-upload :file-list="fileList" class="upload-demo" + action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false" + :limit="4" :on-success="handleSuccess2" :headers="getToken()"> + <i class="el-icon-plus"></i> + </el-upload> + </div> + <div class="tip">{{book.originalPic.length}} / 4</div> + </div> </el-form-item> <!-- 鏁存敼鍚庣収鐗� --> - <el-form-item label="鏁存敼鍚庣収鐗�:" prop="afterUpdate"> - <el-input v-model="book.afterUpdate"></el-input> + <el-form-item label="鏁存敼鍚庣収鐗�:" prop="rectifiedPic"> + <div class="upImg"> + <div class="img-list"> + <img :src="item" alt="" v-for="(item,index) in book.rectifiedPic" :key="index"> + </div> + <div class="upload" v-if="book.rectifiedPic.length<4"> + <el-upload :file-list="fileList" class="upload-demo" + action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false" + :limit="4" :on-success="handleSuccess3" :headers="getToken()"> + <i class="el-icon-plus"></i> + </el-upload> + </div> + <div class="tip">{{book.rectifiedPic.length}} / 4</div> + </div> </el-form-item> <!-- 鍏朵粬鐓х墖 --> - <el-form-item label="鍏朵粬:" prop="other"> - <el-input v-model="book.other"></el-input> + <el-form-item label="鍏朵粬:" prop="otherPic"> + <div class="upImg"> + <div class="img-list"> + <img :src="item" alt="" v-for="(item,index) in book.otherPic" :key="index"> + </div> + <div class="upload" v-if="book.otherPic.length<4"> + <el-upload :file-list="fileList" class="upload-demo" + action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false" + :limit="4" :on-success="handleSuccess4" :headers="getToken()"> + <i class="el-icon-plus"></i> + </el-upload> + </div> + <div class="tip">{{book.otherPic.length}} / 4</div> + </div> </el-form-item> </el-form> </div> </div> </template> <script> - export default{ - data(){ - return{ - book:{}, - bookRules:{ - - } +export default { + data() { + const checkKind = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('鏂囦功绉嶇被涓嶈兘涓虹┖')); } } + const checkId = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('鏂囦功缂栧彿涓嶈兘涓虹┖')); + } + } + const checkGiveTime = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('鍙戞斁鏃堕棿涓嶈兘涓虹┖')); + } + } + const checkUpTime = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('瀹為檯鏁存敼鏃堕棿涓嶈兘涓虹┖')); + } + } + const checkNote = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(); + } + } + const checkCondition = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('鏁存敼鎯呭喌涓嶈兘涓虹┖')); + } + } + const checkLimTime = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('闄愬畾鏃堕棿涓嶈兘涓虹┖')); + } + } + const checkVio = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('杩濇硶绫诲瀷涓嶈兘涓虹┖')); + } + } + const checkContent = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('鍙戞斁鍐呭涓嶈兘涓虹┖')); + } + } + return { + book: { + writPic: [], + otherPic: [], + rectifiedPic: [], + originalPic: [], + }, + bookRules: { + writType: [ + { + trigger: 'blur', validator: checkKind + } + ], + idwritCode: [ + { + trigger: 'blur', validator: checkId + } + ], + illegalType: [ + { + trigger: 'blur', validator: checkVio + } + ], + sendTime: [ + { + trigger: 'blur', validator: checkGiveTime + } + ], + limitTime: [ + { + trigger: 'blur', validator: checkLimTime + } + ], + sendContent: [ + { + trigger: 'blur', validator: checkContent + } + ], + rectifyTime: [ + { + trigger: 'blur', validator: checkUpTime + } + ], + rectifySituation: [ + { + trigger: 'blur', validator: checkCondition + } + ], + noremark: [ + { + trigger: 'blur', validator: checkNote + } + ], + }, + fileList: [], + kindList: [ + { + label: '涔︾睄1', + value: 1, + }, + { + label: '涔︾睄2', + value: 2, + }, + ] + } + }, + created() { + console.log(this.book.writPic) + }, + props: ['caseId', 'closeDialog'], + methods: { + handleSuccess1(res, file, filelist) { + const baseUrl = 'http://140.143.152.226:8410/'; + console.log(res); + // this.$set(this.book, 'writPic', baseUrl + res.data.url1); + // console.log(this.book.writPic); + if (this.book.writPic.length < 4) { + this.book.writPic.push(baseUrl + res.data.url1) + } + }, + handleSuccess2(res, file, filelist) { + const baseUrl = 'http://140.143.152.226:8410/'; + console.log(res); + if (this.book.originalPic.length < 4) { + this.book.originalPic.push(baseUrl + res.data.url1) + } + }, + handleSuccess3(res, file, filelist) { + const baseUrl = 'http://140.143.152.226:8410/'; + console.log(res); + if (this.book.rectifiedPic.length < 4) { + this.book.rectifiedPic.push(baseUrl + res.data.url1) + } + }, + handleSuccess4(res, file, filelist) { + const baseUrl = 'http://140.143.152.226:8410/'; + console.log(res); + if (this.book.otherPic.length < 4) { + this.book.otherPic.push(baseUrl + res.data.url1) + } + }, + getToken() { + const token = sessionStorage.getItem('token'); + const tokenHead = sessionStorage.getItem('tokenHead'); + if (token && tokenHead) { + return { Authorization: tokenHead + token } + } + }, } +} </script> <style lang="scss" scoped> -.book-title{ +.book-title { line-height: 60px; font-weight: 650; font-size: 20px; @@ -81,6 +304,43 @@ text-align: right; color: #4b9bb7; } + +.book-item { + display: flex; + width: 100%; +} + +.upload { + width: 60px; + height: 60px; + display: flex; + align-items: center; + justify-content: center; + font-size: 20px; + background-color: #fbfdff; + border-radius: 4px; +} + +.upImg { + display: flex; + + .tip { + position: absolute; + bottom: 0; + right: 0; + } + + .img-list { + height: 80px; + position: relative; + + img { + width: 60px; + height: 60px; + } + } +} + ::v-deep .el-textarea__inner { background-color: #09152f; border: 1px solid #17324c; diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue index d6606bb..108127b 100644 --- a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue +++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue @@ -58,7 +58,7 @@ </div> <div class="user-form-content"> <el-form ref="userForm" label-width="120px" :model="user" :rules="userRules" autoComplete="on"> - <!-- 杩濇硶绫诲瀷 --> + <!-- 绫诲瀷 --> <el-form-item label="绫诲瀷:" prop="illegalType"> <el-select v-model="user.illegalType" placeholder="璇烽�夋嫨"> <el-option v-for="item in typeOptions" :key="item.value" :label="item.label" diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/ill/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/ill/index.vue index b74dfdb..58b14d6 100644 --- a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/ill/index.vue +++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/ill/index.vue @@ -1,11 +1,14 @@ <template> <div class="ill"> <!-- 鍒拌揪鐜板満鎯呭喌 --> - <MyArrive></MyArrive> + <MyArrive ref="arrive"></MyArrive> <!-- 璋冩煡鍙栬瘉 --> - <MyEvidence></MyEvidence> + <MyEvidence ref="evidence"></MyEvidence> <!-- 鏂囩涔︾被 --> - <MyBook></MyBook> + <MyBook ref="book"></MyBook> + <!-- <div class="result"> + <el-input v-model="result" placeholder="璇疯緭鍏ュ鐞嗘剰瑙�"></el-input> + </div> --> <!-- 搴曢儴鎸夐挳 --> <div class="footer"> <el-button @click="handleSubmit" type="primary">纭畾</el-button> @@ -18,31 +21,148 @@ import MyEvidence from "../components/evidence" import MyBook from "../components/book" export default { - components:{ - MyArrive,MyEvidence,MyBook + components: { + MyArrive, MyEvidence, MyBook }, data() { return { - + // result:'', } }, - props:['caseId'], - created(){ + props: ['caseId'], + created() { console.log(this.caseId); + this.getUserId(); }, - methods:{ - handleSubmit(){ + methods: { + handleSubmit() { + const { arrive, evidence, book } = this.$refs; + const { arriveForm } = arrive.$refs; + const { evidenceForm } = evidence.$refs; + const { bookForm } = book.$refs; + arriveForm.validate((valid) => { + if (valid) { + console.log(valid); + evidenceForm.validate((flag) => { + if (flag) { + console.log(flag); + bookForm.validate((bookFlag) => { + console.log(bookFlag); + if (bookFlag) { + this.$axios({ + method: 'post', + url: `sccg/dispatch_handle/addition_dispose_result?caseId=${this.caseId}&type=2`, + data: { + arrivalAddress: arrive.arrive.arrivalAddress, + arrivalTime: arrive.arrive.arrivalTime, + situationExplain: arrive.arrive.situationExplain, + replyExplain: arrive.arrive.replyExplain, + situationPic: `${arrive.arrive.situationPic}`, + // + undertaker: evidence.evidence.undertaker, + assistant: evidence.evidence.assistant, + investigationTime: evidence.evidence.investigationTime, + address: evidence.evidence.address, + caseAction: evidence.evidence.caseAction, + description: evidence.evidence.description, + pic: `${evidence.evidence.pic}`, + // + illegalType: evidence.user.illegalType, + name: evidence.user.name, + phoneCode: evidence.user.phoneCode, + certificateType: `${evidence.user.certificateType}`, + certificateCode: evidence.user.certificateCode, + educationDegree: `${evidence.user.educationDegree}`, + career: evidence.user.career, + work: evidence.user.work, + nation: evidence.user.nation, + nativePlace: evidence.user.nativePlace, + liveAddress: evidence.user.liveAddress, + registerAddress: evidence.user.registerAddress, + // + writType: book.book.writType, + writCode: book.book.writCode, + // illegalType: book.book.illegalType, + sendTime: book.book.sendTime, + limitTime: book.book.limitTime, + sendContent: book.book.sendContent, + rectifySituation:book.book.rectifySituation, + rectifyTime: book.book.rectifyTime, + remark: book.book.remark, + writPic: `${book.book.writPic}`, + originalPic: `${book.book.originalPic}`, + rectifiedPic: `${book.book.rectifiedPic}`, + otherPic: `${book.book.otherPic}`, + } + }) + .then(res => { + console.log(res); + if (res.code === 200) { + this.$message({ + type: 'success', + message: '涓婁紶鎴愬姛', + }) + this.$emit('closeDialog', { flag: false }); + } else { + this.$message({ + type: 'warning', + message: res.message + }) + } + }) + } else { + return false; + } + }) + } else { + return false; + } + }) + } else { + evidenceForm.validate((flag) => { + if (!flag) { + console.log(bookForm); + bookForm.validate((bookFlag) => { + console.log(bookFlag); + if (!bookFlag) { + return false; + } + }) + return false; + } else { + bookForm.validate((bookFlag) => { + if (!bookFlag) { + return false + } + }) + } + }) + return false; + } + }) + }, + // 鑾峰彇鐢ㄦ埛id + getUserId(){ + const myname = sessionStorage.getItem('name'); + this.$axios({ + method:'get', + url:'sccg/admin/info?name='+myname, + }) + .then(res=>{ + console.log(res); + }) } } } </script> <style lang="scss" scoped> - .ill{ - padding: 20px 200px; - } +.ill { + padding: 20px 200px; +} + .footer { - display: flex; - justify-content: flex-end; - } + display: flex; + justify-content: flex-end; +} </style> \ No newline at end of file diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue index 350eb59..a76722b 100644 --- a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue +++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue @@ -41,7 +41,7 @@ // arrive.arrive;evidence.user;evidence.evidence; this.$axios({ method: 'post', - url: `sccg/dispatch_handle/addition_dispose_result/${this.caseId}/${1}`, + url: `sccg/dispatch_handle/addition_dispose_result?caseId=`+this.caseId+'&type=1', data:{ arrivalAddress: arrive.arrive.arrivalAddress, arrivalTime: arrive.arrive.arrivalTime, diff --git a/src/views/operate/disposal/casepool/pool/index.vue b/src/views/operate/disposal/casepool/pool/index.vue index 8a66305..b8937fd 100644 --- a/src/views/operate/disposal/casepool/pool/index.vue +++ b/src/views/operate/disposal/casepool/pool/index.vue @@ -335,6 +335,10 @@ this.tableData = res.data.records; console.log(res); }) + .catch(err=>{ + console.log(err) + this.tableData = []; + }) }, // 璁剧疆琛ㄦ牸鏂戦┈绾� tableRowClassName({ row, rowIndex }) { -- Gitblit v1.8.0