From 663dbe4ddca1fa409e6acbc1f77d924c161b0c39 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 09 六月 2025 17:04:50 +0800
Subject: [PATCH] 提交一把订单

---
 company/src/components/enterprise/additionSubtractionApplication.vue |  284 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 188 insertions(+), 96 deletions(-)

diff --git a/company/src/components/enterprise/additionSubtractionApplication.vue b/company/src/components/enterprise/additionSubtractionApplication.vue
index 135a6fc..af434aa 100644
--- a/company/src/components/enterprise/additionSubtractionApplication.vue
+++ b/company/src/components/enterprise/additionSubtractionApplication.vue
@@ -12,7 +12,10 @@
                 <el-form-item label="淇濋櫓鏂规">
                     <span>{{form.solutionsName}}</span>
                 </el-form-item>
-                <el-form-item label="鐢宠鏃ユ湡" prop="applyStartTime">
+                <el-form-item label=" ">
+                    <span style="color: #F95601; font-size: 14px;">鎵规敼鎻愮ず锛氾紙娆℃棩鐢熸晥鎶曚繚璇蜂簬17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
+                </el-form-item>
+<!--                <el-form-item label="鐢宠鏃ユ湡" prop="applyStartTime">
                     <div style="display: flex; flex-direction: column;">
                         <el-date-picker
                             @change="changeApplyStartTime"
@@ -25,7 +28,7 @@
                         </el-date-picker>
                         <span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
                     </div>
-                </el-form-item>
+                </el-form-item>-->
                 <el-form-item label="鎶曚繚骞撮緞" v-if="item">
                     <span>{{item.minAge}} 鑷� {{item.maxAge}}</span>
                 </el-form-item>
@@ -65,20 +68,35 @@
                     align="center"
                     label="淇濋櫓鐢熸晥姝㈡湡">
                 </el-table-column>
-                <el-table-column
-                    prop="insureNum"
-                    align="center"
-                    label="鎶曚繚浜烘暟">
+<!--                <el-table-column-->
+<!--                    prop="insureNum"-->
+<!--                    align="center"-->
+<!--                    label="鎶曚繚浜烘暟">-->
+<!--                </el-table-column>-->
+<!--                <el-table-column-->
+<!--                    prop="guaranteeNum"-->
+<!--                    align="center"-->
+<!--                    label="鍦ㄤ繚浜烘暟">-->
+<!--                </el-table-column>-->
+                <el-table-column prop="guaranteeNum"  align="center" label="褰撳墠鍦ㄤ繚浜烘暟" width="120">
+                    <template slot-scope="{row}">
+                        <span>{{(row.guaranteeNum||0)}} 浜�</span>
+                    </template>
                 </el-table-column>
                 <el-table-column
                     prop="serviceDays"
                     align="center"
-                    label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+                    label="淇濆崟鏃堕暱锛堝ぉ锛�">
                 </el-table-column>
-                <el-table-column
-                    prop="currentFee"
-                    align="center"
-                    label="宸蹭骇鐢熻垂鐢�(鍏�)">
+<!--                <el-table-column-->
+<!--                    prop="currentFee"-->
+<!--                    align="center"-->
+<!--                    label="宸蹭骇鐢熻垂鐢�(鍏�)">-->
+<!--                </el-table-column>-->
+                <el-table-column prop="fee" label="鎵规敼璐圭敤鍚堣"  align="center" width="120">
+                    <template slot-scope="{row}">
+                        <span>{{row.changeMoney+' 鍏�'}}</span>
+                    </template>
                 </el-table-column>
                 <el-table-column
                     prop="fee"
@@ -96,15 +114,18 @@
         <div class="btns">
             <div class="btns_item">
                 <el-button type="primary" @click="seleUser">閫夊彇鍛樺伐</el-button>
-                <el-button type="primary" @click="uploadUser" v-if="activeName !== '1'">瀵煎叆鍛樺伐</el-button>
+                <el-button type="primary" @click="uploadUser">瀵煎叆鍛樺伐</el-button>
                 <el-button type="primary" @click="addUser" v-if="activeName !== '1'">娣诲姞鍛樺伐</el-button>
                 <el-button type="danger" @click="deleItem">鍒犻櫎</el-button>
             </div>
             <div class="btns_item" v-if="activeName !== '1'">
-                <el-button type="primary" @click="sele">閫夊彇娲鹃仯鍗曚綅</el-button>
+<!--                <el-button type="primary" @click="sele">閫夊彇娲鹃仯鍗曚綅</el-button>-->
+                <el-button type="primary" @click="sele(1)" v-if="item && item.hasDispatchUnit !== 1">閫夊彇娲鹃仯鍗曚綅</el-button>
+                <el-button type="primary" @click="sele(2)" v-if="item && item.hasDispatchUnit === 1">閫夊彇宸ョ</el-button>
             </div>
         </div>
         <el-table
+            v-if="item"
             :data="activeName === '0' ? form.addDetailList : form.delDetailList"
             border
             show-summary
@@ -137,6 +158,7 @@
                 </template>
             </el-table-column>
             <el-table-column
+                v-if="item && item.hasDispatchUnit !== 1"
                 prop="duName"
                 label="娲鹃仯鍗曚綅">
             </el-table-column>
@@ -148,7 +170,7 @@
                 label="璐圭敤">
                 <template slot-scope="{row}">
                     <span v-if="activeName === '0'">{{row.fee}}</span>
-                    <span v-else>{{row.fee ? '-' + row.fee : ''}}</span>
+                    <span v-else>{{row.reducePrice ?  row.reducePrice : '0'}}</span>
                 </template>
             </el-table-column>
           <el-table-column
@@ -167,9 +189,9 @@
             </el-table-column>
         </el-table>
         <div class="info" v-if="item">
-            <span v-if="item.specialAgreement">{{item.specialAgreement}}</span>
-            <span v-if="item.specialInfo">{{item.specialInfo}}</span>
-            <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
+          <span v-if="item.specialAgreement" v-html="item.specialAgreement"></span>
+          <span v-if="item.specialInfo" v-html="item.specialInfo"> </span>
+          <span v-if="item.ortherInfo" v-html="item.ortherInfo"> </span>
         </div>
         <!--    閫夋嫨鍛樺伐    -->
         <selectEmployees ref="selectEmployees" @result="getValue" />
@@ -182,7 +204,7 @@
         <!--    璇︽儏    -->
         <ApplyChangeDetails1 ref="ApplyChangeDetails1" @success="success" />
         <!-- 鍔犲噺淇濊鎯� -->
-        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />
+<!--        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />-->
     </GlobalWindow>
 </template>
 
@@ -190,20 +212,28 @@
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import selectEmployees from '@/components/enterprise/selectEmployees'
-import addEmployee from '@/components/enterprise/addEmployee'
+import addEmployee from '@/components/enterprise/addEmployeeWithDu'
 import importEmployees from '@/components/enterprise/importEmployees'
 import confirmJobType from '@/components/enterprise/confirmJobType'
 import ApplyChangeDetails1 from '@/components/business/ApplyChangeDetails1'
-import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
+// import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
 import { all } from '@/api/business/solutions'
-import { getDetail } from '@/api/business/insuranceApply'
+import { getDetail, getApplyPower } from '@/api/business/insuranceApply'
 import { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange'
 import { getDate, compareDates, getTomorrow } from '@/utils/util'
 import { mapState } from 'vuex'
 export default {
   name: 'additionSubtractionApplication',
   extends: BaseOpera,
-  components: { GlobalWindow, selectEmployees, OperaApplyChangeDetailWindow, addEmployee, importEmployees, confirmJobType, ApplyChangeDetails1 },
+  components: {
+    GlobalWindow,
+    selectEmployees,
+    // OperaApplyChangeDetailWindow,
+    addEmployee,
+    importEmployees,
+    confirmJobType,
+    ApplyChangeDetails1
+  },
   data () {
     return {
       form: {
@@ -215,10 +245,13 @@
         addDetailList: [],
         delDetailList: []
       },
+      addTrue: '',
+      delTrue: '',
       tempMemberIndex: -1,
       activeName: '0',
       pickerOptions: {},
       price: '',
+      reducePrice: '',
       endTime: '', // 	瀹為檯淇濋櫓鐢熸晥姝㈡湡
       company: [],
       seleData: [],
@@ -254,11 +287,14 @@
       this.form.solutionsName = ''
       this.form.applyStartTime = ''
       this.form.applyEndTime = ''
+      // alert(target.id)
       if (target && target.id) {
         this.$nextTick(() => {
           this.$refs.form.resetFields()
           this.form.id = target.id
           this.getDetails()
+          this.changeApplyStartTime(null)
+          this.getApplyPowerData()
         })
       } else {
         this.$nextTick(() => {
@@ -270,18 +306,31 @@
       this.visible = true
       // this.updatePickerOptions()
     },
+    // 鑾峰彇鏄惁鑳藉姞鍑忎繚
+    getApplyPowerData() {
+      getApplyPower({ applyId: this.form.id })
+        .then(res => {
+          this.addTrue = res.addTrue
+          this.delTrue = res.delTrue
+        })
+    },
     changeApplyStartTime (e) {
       getChangeCountCyclePriceVO({
         applyId: this.form.id,
         validTime: e
       }).then(res => {
         this.price = res.cyclePrice
+        this.reducePrice = 0
         this.form.addDetailList.forEach(item => {
           item.fee = res.cyclePrice
         })
         this.form.delDetailList.forEach(item => {
-          item.fee = res.cyclePrice
+          // item.fee = item.reducePrice
         })
+      }).catch(e => {
+        this.$tip.apiFailed(e)
+      }).finally(() => {
+        this.isWorking = false
       })
     },
     handleClick (e) {
@@ -289,14 +338,6 @@
     },
     // 鑾峰彇鎶曚繚璇︽儏
     getDetails () {
-      // findList({ applyId: this.form.id })
-      //     .then(res => {
-      //         res.forEach(item => {
-      //             item.idCard = item.idcardNo
-      //             item.fee = ''
-      //         })
-      //         this.tableData = res
-      //     })
       getDetail(this.form.id)
         .then(res => {
           this.list.push(res)
@@ -333,24 +374,42 @@
       columns.forEach((column, index) => {
         if (index === 0) {
           sums[index] = '鎬讳环'
-        } else if (index === 7) {
+        } else if (this.item.hasDispatchUnit === 1 && index === 6) {
           let total = 0
           if (this.activeName === '0') {
             this.form.addDetailList.forEach(item => {
-              total += item.fee
+              total += item.fee || 0
             })
-            sums[index] = total.toFixed(2)
+            sums[index] = (total || 0).toFixed(2)
           } else {
             this.form.delDetailList.forEach(item => {
-              total += item.fee
+              total += item.reducePrice
             })
-            sums[index] = '-' + total.toFixed(2)
+            sums[index] = (total || 0).toFixed(2)
+          }
+        } else if (this.item.hasDispatchUnit !== 1 && index === 7) {
+          let total = 0
+          if (this.activeName === '0') {
+            this.form.addDetailList.forEach(item => {
+              total += item.fee || 0
+            })
+            sums[index] = (total || 0).toFixed(2)
+          } else {
+            this.form.delDetailList.forEach(item => {
+              total += item.reducePrice
+            })
+            sums[index] = (total || 0).toFixed(2)
           }
         }
       })
       return sums
     },
     deleItem () {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (this.seleData.length === 0) {
         this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
         return
@@ -394,8 +453,9 @@
       }).then(res => {
         this.visible = false
         this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
-          this.$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', { applyId: this.form.id, id: res })
-        // this.$emit('success')
+        // this.$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', { applyId: this.form.id, id: res })
+        //   { applyId: this.form.id, id: res }
+        this.$emit('success')
       }).catch(e => {
         this.$tip.apiFailed(e)
       }).finally(() => {
@@ -403,100 +463,128 @@
       })
     },
     confirm () {
+      if (this.addTrue !== 0 && this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
       this.$refs.form.validate((valid) => {
         if (valid) {
           // if (this.form.addDetailList.length === 0) {
           //     this.$message.warning('鑷冲皯娣诲姞涓�椤瑰憳宸�')
           //     return
           // }
-          for (let i = 0; i < this.form.addDetailList.length; i++) {
-            if (!this.form.addDetailList[i].worktypeId || !this.form.addDetailList[i].duId) {
-              this.$message.warning('璇峰畬鍠勫姞淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
-              return
+          if (this.item.hasDispatchUnit !== 1) {
+            for (let i = 0; i < this.form.addDetailList.length; i++) {
+              if (!this.form.addDetailList[i].worktypeId || !this.form.addDetailList[i].duId) {
+                this.$message.warning('璇峰畬鍠勫姞淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
+                return
+              }
+            }
+            for (let i = 0; i < this.form.delDetailList.length; i++) {
+              if (!this.form.delDetailList[i].worktypeId || !this.form.delDetailList[i].duId) {
+                this.$message.warning('璇峰畬鍠勫噺淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
+                return
+              }
+            }
+          } else {
+            for (let i = 0; i < this.form.addDetailList.length; i++) {
+              if (!this.form.addDetailList[i].worktypeId) {
+                this.$message.warning('璇峰畬鍠勫姞淇濆伐绉嶄俊鎭�')
+                return
+              }
+            }
+            for (let i = 0; i < this.form.delDetailList.length; i++) {
+              if (!this.form.delDetailList[i].worktypeId) {
+                this.$message.warning('璇峰畬鍠勫噺淇濆伐绉嶄俊鎭�')
+                return
+              }
             }
           }
-          for (let i = 0; i < this.form.delDetailList.length; i++) {
-            if (!this.form.delDetailList[i].worktypeId || !this.form.delDetailList[i].duId) {
-              this.$message.warning('璇峰畬鍠勫噺淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
-              return
-            }
+          let arr = this.company.filter(item => item.id === this.form.solutionId)
+          const endTime = Number(arr[0].correctWarnTime.split(':')[0] + arr[0].correctWarnTime.split(':')[1])
+          const now = new Date();
+          const hours = now.getHours();
+          const minutes = now.getMinutes();
+          const date = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;
+          const startTime = Number(date.split(':')[0] + date.split(':')[1])
+          if (startTime > endTime) {
+            this.$confirm('鎮ㄥ凡瓒呰繃褰撳ぉ鏈�鏅氭壒鏀规椂闂达紝淇濆崟瀹為檯鐢熸晥鏃堕棿浠ヤ繚闄╁叕鍙稿鏍镐负鍑嗭紒', '鎻愮ず', {
+              confirmButtonText: '纭畾',
+              cancelButtonText: '鍙栨秷',
+              type: 'warning'
+            }).then(() => {
+              this.$refs.ApplyChangeDetails1.open('鍔犲噺淇濊鍗�', this.form.addDetailList, this.form.delDetailList, {
+                companyName: this.item.companyName,
+                solutionsName: this.form.solutionsName,
+                code: this.list[0].code,
+                startTime: this.list[0].startTime,
+                endTime: this.list[0].endTime,
+                applyStartTime: this.form.applyStartTime
+              })
+            }).catch(() => {
+
+            });
+          } else {
+            this.$refs.ApplyChangeDetails1.open('鍔犲噺淇濊鍗�', this.form.addDetailList, this.form.delDetailList, {
+              companyName: this.item.companyName,
+              solutionsName: this.form.solutionsName,
+              code: this.list[0].code,
+              startTime: this.list[0].startTime,
+              endTime: this.list[0].endTime,
+              applyStartTime: this.form.applyStartTime
+            })
           }
-
-          this.$refs.ApplyChangeDetails1.open('鍔犲噺淇濊鍗�', this.form.addDetailList, this.form.delDetailList, {
-            companyName: this.userInfo.company.name,
-            solutionsName: this.form.solutionsName,
-            code: this.list[0].code,
-            startTime: this.list[0].startTime,
-            endTime: this.list[0].endTime,
-            applyStartTime: this.form.applyStartTime
-          })
-
-          // return
-
-          // this.form.addDetailList.forEach(item => {
-          //     item.idcardNo = item.idCard
-          // })
-          // this.form.delDetailList.forEach(item => {
-          //     item.idcardNo = item.idCard
-          // })
-          // // let arr = JSON.parse(JSON.stringify(this.form.addDetailList))
-          // // arr.forEach(item => {
-          // //     item.idcardNo = item.idCard
-          // // })
-          // this.isWorking = true
-          // create({
-          //     applyId: this.form.id,
-          //     addDetailList: this.form.addDetailList,
-          //     delDetailList: this.form.delDetailList,
-          //     validTime: this.form.applyStartTime,
-          //     type: 0
-          // }).then(() => {
-          //     this.visible = false
-          //     this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
-          //     this.$emit('success')
-          // }).catch(e => {
-          //     this.$tip.apiFailed(e)
-          // }).finally(() => {
-          //     this.isWorking = false
-          // })
         }
       })
     },
     seleUser () {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (!this.form.solutionId) {
         this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
         return
       }
-      if (!this.form.applyStartTime) {
+      /* if (!this.form.applyStartTime) {
         this.$message.warning('璇峰厛閫夋嫨鎵瑰崟鐢熸晥璧锋湡')
         return
-      }
+      } */
       if (this.activeName === '0') {
-        this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
+        this.$refs.selectEmployees.open('閫夊彇鍔犱繚鍛樺伐', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
       } else {
-        this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.delDetailList, price: this.price, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
+        this.$refs.selectEmployees.open('閫夊彇鍑忎繚鍛樺伐', { arr: this.form.delDetailList, price: this.reducePrice, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
       }
     },
     addUser () {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (!this.form.solutionId) {
         this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
         return
       }
       if (this.activeName === '0') {
-        this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.addDetailList, price: this.price })
+        this.$refs.addEmployee.open('娣诲姞鍔犱繚鍛樺伐', { arr: this.form.addDetailList, solutionId: this.item.newVersionSolutionId, price: this.price, companyId: this.item.hasDispatchUnit === 1 ? '1' : '' })
       } else {
-        this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.delDetailList, price: this.price })
+        this.$refs.addEmployee.open('娣诲姞鍑忎繚鍛樺伐', { arr: this.form.delDetailList, solutionId: this.item.newVersionSolutionId, price: this.reducePrice, companyId: this.item.hasDispatchUnit === 1 ? '1' : '' })
       }
     },
     uploadUser () {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (!this.form.solutionId) {
         this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
         return
       }
+
       if (this.activeName === '0') {
-        this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.addDetailList, price: this.price, solutionId: this.form.solutionId })
+        this.$refs.importEmployees.open('鍔犱繚鍛樺伐鍚嶅崟', { arr: this.form.addDetailList, type: 1, price: this.price, hasDispatchUnit: this.item.hasDispatchUnit, solutionId: this.item.newVersionSolutionId })
       } else {
-        this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.delDetailList, price: this.price, solutionId: this.form.solutionId })
+        this.$refs.importEmployees.open('鍑忎繚鍛樺伐鍚嶅崟', { arr: this.form.delDetailList, type: 0, price: this.reducePrice, hasDispatchUnit: this.item.hasDispatchUnit, solutionId: this.item.newVersionSolutionId, insuranceApplyId: this.form.id })
       }
     },
     // 鍒囨崲鏂规
@@ -520,7 +608,6 @@
       }
     },
     getUser (obj) {
-      console.log(this.seleData)
       this.seleData.forEach(item => {
         if (this.activeName === '0') {
           this.form.addDetailList.forEach(row => {
@@ -546,7 +633,12 @@
       this.$refs.multipleTable.clearSelection()
     },
     // 閫夋嫨鍛樺伐
-    sele () {
+    sele (type) {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (!this.form.solutionId) {
         this.$message.warning('璇烽�夋嫨淇濋櫓鏂规')
         return
@@ -555,7 +647,7 @@
         this.$message.warning('璇烽�夋嫨鍛樺伐')
         return
       }
-      this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.item.newVersionSolutionId })
+      this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.item.newVersionSolutionId, type })
     },
     // 鏌ヨ鍏ㄩ儴鏂规
     getCompany () {

--
Gitblit v1.9.3