From eb8a6c6d3dcec5f49803669d69b1c22f70583640 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 10 三月 2025 10:41:51 +0800
Subject: [PATCH] 完成设施和环境条件搬迁
---
src/views/index.vue | 337 +++++++++++++++++++++++++++++++------------------------
1 files changed, 188 insertions(+), 149 deletions(-)
diff --git a/src/views/index.vue b/src/views/index.vue
index db59dcc..2fcc034 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -1,33 +1,40 @@
<template>
- <div class="index">
+ <div class="bg-1">
<el-row :gutter="25">
<el-col :lg="14" :md="14" :sm="24" :xl="14" :xs="24">
<div class="left-1">
<div class="say">
<div style="display: flex;align-items: center;flex-wrap: wrap;">
- <div class="say-1">{{user.name}} 鎮ㄥソ锛佺鎮ㄥ紑蹇冩瘡涓�澶�</div>
- <div class="say-2">褰撳墠鏃堕棿锛� {{now}}</div>
+ <div class="say-1">{{ user.name }} 鎮ㄥソ锛佺鎮ㄥ紑蹇冩瘡涓�澶�</div>
+ <div class="say-2">褰撳墠鏃堕棿锛� {{ now }}</div>
</div>
</div>
</div>
<div v-loading="workLoading" class="left-2 card" style="overflow: hidden;">
- <div v-for="(item,index) in workDay" :key="index" class="left-2-item">
+ <div v-for="(item, index) in workDay" :key="index" class="left-2-item">
<div class="left-item-title">
<span style="font-size: 18px;">{{ item }}</span>
<span style="font-size: 14px;color: #999999;">{{ weekdays[index] }}</span>
</div>
<div class="left-item-body">
- <div v-for="(m,i) in workList[index]" :key="i" :class="{color0:m.type==0,color1:m.type==1,color2:m.type==2}" class="body-item">
+ <div v-for="(m, i) in workList[index]" :key="i"
+ :class="{ color0: m.type == 0, color1: m.type == 1, color2: m.type == 2 }" class="body-item">
<div>
<span style="font-size: 12px;margin-bottom: 17px;">{{ m.text }}</span>
<div style="display: flex">
<span class="body-item-name">{{ m.name }}</span>
- <span v-if="m.insState == 0" class="body-item-insState" style="background-color: #909399;font-size: 12px;">寰呮楠�</span>
- <span v-if="m.insState == 1" class="body-item-insState" style="background-color: #E6A23C;font-size: 12px;">妫�楠屼腑</span>
- <span v-if="m.insState == 2" class="body-item-insState" style="background-color: #67C23A;font-size: 12px;">宸叉楠�</span>
- <span v-if="m.insState == 3" class="body-item-insState" style="background-color: #E6A23C;font-size: 12px;">寰呭鏍�</span>
- <span v-if="m.insState == 4" class="body-item-insState" style="background-color: #F56C6C;font-size: 9px;">澶嶆牳鏈�氳繃</span>
- <span v-if="m.insState == 5" class="body-item-insState" style="background-color: #67C23A;font-size: 10px;">澶嶆牳閫氳繃</span>
+ <span v-if="m.insState == 0" class="body-item-insState"
+ style="background-color: #909399;font-size: 12px;">寰呮楠�</span>
+ <span v-if="m.insState == 1" class="body-item-insState"
+ style="background-color: #E6A23C;font-size: 12px;">妫�楠屼腑</span>
+ <span v-if="m.insState == 2" class="body-item-insState"
+ style="background-color: #67C23A;font-size: 12px;">宸叉楠�</span>
+ <span v-if="m.insState == 3" class="body-item-insState"
+ style="background-color: #E6A23C;font-size: 12px;">寰呭鏍�</span>
+ <span v-if="m.insState == 4" class="body-item-insState"
+ style="background-color: #F56C6C;font-size: 9px;">澶嶆牳鏈�氳繃</span>
+ <span v-if="m.insState == 5" class="body-item-insState"
+ style="background-color: #67C23A;font-size: 10px;">澶嶆牳閫氳繃</span>
</div>
</div>
</div>
@@ -42,7 +49,7 @@
<img alt="" src="@/assets/index_image/index-0.svg">
</div>
<div class="mun">
- <p style="font-size: 20px;">{{getNumberFourTypes.totalNumberOfMessages}}</p>
+ <p style="font-size: 20px;">{{ getNumberFourTypes.totalNumberOfMessages }}</p>
<p style="font-size: 14px;margin-bottom: 10px;">鎴戠殑寰呭姙</p>
</div>
</div>
@@ -78,52 +85,55 @@
<div class="right-2-title">
<span style="color: #333333;font-size: 16px;">鎴戠殑鏃ョ▼</span>
<span style="cursor: pointer;font-size: 12px;
-color: #3A7BFA;" @click="dialogVisible=true">娣诲姞鎴戠殑鏃ョ▼</span>
+color: #3A7BFA;" @click="dialogVisible = true">娣诲姞鎴戠殑鏃ョ▼</span>
</div>
<div class="right-2-body">
<div class="calendar" style="width: 49%;">
<div class="control">
<el-button class="prevm" icon="el-icon-arrow-left" @click="prevMonth(calendarValue)"></el-button>
- <span>{{ calendarValue.getFullYear()+'骞�'+(calendarValue.getMonth() + 1)+'鏈�' }}</span>
+ <span>{{ calendarValue.getFullYear() + '骞�' + (calendarValue.getMonth() + 1) + '鏈�' }}</span>
<el-button class="nextm" icon="el-icon-arrow-right" @click="nextMonth(calendarValue)"></el-button>
</div>
<el-calendar v-model="calendarValue">
- <template
- slot="dateCell"
- slot-scope="{date, data}">
- <span>
- {{ data.day.split('-').slice(2)+'' }}
- </span>
+ <template slot="dateCell" slot-scope="{date, data}">
+ <span>
+ {{ data.day.split('-').slice(2) + '' }}
+ </span>
<!-- <el-badge v-if="data.isSelected" is-dot class="item">
</el-badge> -->
</template>
</el-calendar>
</div>
<div v-loading="scheduleLoading" class="right-2-list" style="width: 49%;height: 286px;">
- <div v-for="(m,i) in listScheduleByMe" :key="i" class="list2-item">
+ <div v-for="(m, i) in listScheduleByMe" :key="i" class="list2-item">
<span>{{ m.scheduleTimes }}</span>
<el-tooltip :content="m.text" effect="dark" placement="top" style="margin-left: 10px;">
- <p class="ellipsis-multiline" >{{ m.text }}</p>
+ <p class="ellipsis-multiline">{{ m.text }}</p>
</el-tooltip>
</div>
- <span v-if="listScheduleByMe.length==0" style="color:rgb(144, 147, 153);font-size: 14px;text-align: center;margin: 120px 0;display: inline-block;width: 100%;">鏆傛棤鏁版嵁</span>
+ <span v-if="listScheduleByMe.length == 0"
+ style="color:rgb(144, 147, 153);font-size: 14px;text-align: center;margin: 120px 0;display: inline-block;width: 100%;">鏆傛棤鏁版嵁</span>
</div>
</div>
</div>
<div class="right-3 card" style="overflow: hidden;">
<div class="right-3-tab">
<!-- <div :class="{active:currentIndex==4}" class="tab-item" style="cursor: pointer;" @click="currentIndex=4">棰勮鎻愰啋</div>-->
- <div :class="{active:currentIndex==5}" class="tab-item" style="cursor: pointer;" @click="currentIndexChange">CNAS閫氱煡閫氬憡</div>
+ <div :class="{ active: currentIndex == 5 }" class="tab-item" style="cursor: pointer;"
+ @click="currentIndexChange">
+ CNAS閫氱煡閫氬憡</div>
</div>
<div v-loading="listLoading" class="right-3-list">
- <scroll-pagination v-if="list.length>0||listLoading" :finishLoding="finishLoding" :list="list" @load="getList">
- <div v-for="(m,i) in list" :key="i" class="list3-item">
+ <scroll-pagination v-if="list.length > 0 || listLoading" :finishLoding="finishLoding" :list="list"
+ @load="getList">
+ <div v-for="(m, i) in list" :key="i" class="list3-item">
<div class="list3-item-title">
<!-- <img alt="" src="../../../static/img/index-tip.svg">-->
<p style="color: #FF7756">{{ m.theme }}</p>
</div>
<div class="list3-item-info">
- <p class="ellipsis-multiline" style="width: 73%;-webkit-line-clamp: 1;cursor: pointer;" @click="goNoticeDetail(m)">
+ <p class="ellipsis-multiline" style="width: 73%;-webkit-line-clamp: 1;cursor: pointer;"
+ @click="goNoticeDetail(m)">
<!-- 缂栧彿<span style="color:#3A7BFA;"> SB20240101-001 </span>鐨勮澶囧皢浜�2023-09-09 11:11:11杩囨湡 -->
{{ m.content }}
</p>
@@ -131,7 +141,9 @@
</div>
</div>
</scroll-pagination>
- <div v-if="list.length<1&&!listLoading" style="color:#909399;font-size:14px;text-align: center;margin-top:80px" >鏆傛棤鏁版嵁</div>
+ <div v-if="list.length < 1 && !listLoading"
+ style="color:#909399;font-size:14px;text-align: center;margin-top:80px">鏆傛棤鏁版嵁
+ </div>
</div>
</div>
</el-col>
@@ -142,11 +154,7 @@
<el-col :span="22" class="search_thing">
<div class="search_label"><span style="color: red;margin-right: 4px;">*</span>鏃堕棿锛�</div>
<div class="search_input">
- <el-date-picker
- v-model="query.time"
- format="yyyy-MM-dd HH:mm:ss"
- placeholder="閫夋嫨鏃ユ湡鏃堕棿"
- size="small"
+ <el-date-picker v-model="query.time" format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡鏃堕棿" size="small"
style="width: 100%;" type="datetime" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</div>
@@ -154,24 +162,23 @@
<el-col :span="22" class="search_thing">
<div class="search_label"><span style="color: red;margin-right: 4px;">*</span>鍐呭锛�</div>
<div class="search_input">
- <el-input v-model="query.text" :rows="2"
- placeholder="璇疯緭鍏ュ唴瀹�" size="small" type="textarea"></el-input>
+ <el-input v-model="query.text" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" size="small" type="textarea"></el-input>
</div>
</el-col>
</el-row>
</div>
<span slot="footer" class="dialog-footer">
- <el-row>
- <el-button @click="handleCancel">鍙� 娑�</el-button>
- <el-button :loading="loading" type="primary" @click="submit">纭� 瀹�</el-button>
- </el-row>
- </span>
+ <el-row>
+ <el-button @click="handleCancel">鍙� 娑�</el-button>
+ <el-button :loading="loading" type="primary" @click="submit">纭� 瀹�</el-button>
+ </el-row>
+ </span>
</el-dialog>
</div>
</template>
<script>
-import {getYearAndMonthAndDays} from '@/utils/date.js'
+import { getYearAndMonthAndDays } from '@/utils/date.js'
import ScrollPagination from '@/components/index/scroll-paging.vue'
export default {
components: {
@@ -182,35 +189,35 @@
user: {},
now: null,
calendarValue: new Date(),
- currentIndex:5,
- dialogVisible:false,
- query:{
- time:'',
- text:''
+ currentIndex: 5,
+ dialogVisible: false,
+ query: {
+ time: '',
+ text: ''
},
- loading:false,
- workLoading:false,
- workList:[],
- workDay:[],
- weekdays:[],
- listScheduleByMe:[],
- scheduleLoading:false,
- list:[],
- currentPage:1,
+ loading: false,
+ workLoading: false,
+ workList: [],
+ workDay: [],
+ weekdays: [],
+ listScheduleByMe: [],
+ scheduleLoading: false,
+ list: [],
+ currentPage: 1,
pageSize: 8, // 涓�椤�7鏉�
total: null,
listLoading: true, // 缁勪欢loading鐨勫睍绀�,榛樿涓簍rue
finishLoding: false, // 鍔犺浇瀹屾垚锛屾樉绀哄凡缁忔病鏈夋洿澶氫簡
- timer:null,
- keyMap:{},
+ timer: null,
+ keyMap: {},
getNumberFourTypes: {},
}
},
- watch:{
- calendarValue(val){
+ watch: {
+ calendarValue(val) {
this.getScheduleByMe()
},
- currentIndex(){
+ currentIndex() {
this.keyMap = {}
this.currentPage = 1;
this.list = [];
@@ -230,7 +237,7 @@
this.list = [];
this.getList();
this.getScheduleByMe()
- this.timer&&clearInterval(this.timer)
+ this.timer && clearInterval(this.timer)
this.timer = setInterval(() => {
this.init();
this.currentPage = 1;
@@ -238,16 +245,16 @@
this.list = [];
this.getList();
this.getScheduleByMe()
- },1000*60*10)
+ }, 1000 * 60 * 10)
this.getNumberFourTypesFun()
},
methods: {
- changeState (val) {
+ changeState(val) {
if (val == 0) {
return '寰呮楠�'
}
},
- currentIndexChange () {
+ currentIndexChange() {
this.keyMap = {}
this.currentPage = 1;
this.list = [];
@@ -258,35 +265,35 @@
this.getNumberFourTypes = res.data
})
},
- getList(){
+ getList() {
const key = `_${this.currentPage}`
const value = this.keyMap[key]
// 濡傛灉value瀛樺湪锛岃〃绀虹紦瀛樻湁鍊硷紝閭d箞闃绘璇锋眰
- if(value) {
+ if (value) {
return
}
// value涓嶅瓨鍦紝琛ㄧず绗竴娆¤姹�,璁剧疆鍗犱綅
this.keyMap[key] = 'temp'
- if(this.currentPage==1){
+ if (this.currentPage == 1) {
this.listLoading = true
}
- if(this.list.length==0){
+ if (this.list.length == 0) {
this.finishLoding = false;
}
- this.$axios.get(this.$api.informationNotification.page+'?size='+this.pageSize+'¤t='+this.currentPage+'&messageType='+this.currentIndex).then(res => {
- if(res.code === 201){
+ this.$axios.get(this.$api.informationNotification.page + '?size=' + this.pageSize + '¤t=' + this.currentPage + '&messageType=' + this.currentIndex).then(res => {
+ if (res.code === 201) {
return
}
let list = res.data.records;
this.total = res.data.total;
- if(list.length==0){
+ if (list.length == 0) {
this.finishLoding = true;
- }else{
- if(list.length<this.pageSize){
+ } else {
+ if (list.length < this.pageSize) {
this.finishLoding = true;
}
this.list = this.list.concat(list)
- if(this.total==this.list.length){
+ if (this.total == this.list.length) {
this.finishLoding = true;
}
this.currentPage++;
@@ -376,19 +383,19 @@
// 灏嗗緱鍒扮殑骞存湀鏃ユ牸寮忚浆鎹负鏍囧噯鏃堕棿锛屼笌楗夸簡涔堟椂闂存牸寮忕浉鍚屾墠鑳借仈鍔�
this.calendarValue = new Date(prevtime);
},
- handleCancel(){
+ handleCancel() {
this.dialogVisible = false;
this.query = {
- time:'',
- text:''
+ time: '',
+ text: ''
}
},
- submit(){
- if(!this.query.time){
+ submit() {
+ if (!this.query.time) {
this.$message.error('鏃堕棿鏈~鍐�')
return
}
- if(!this.query.text){
+ if (!this.query.text) {
this.$message.error('鍐呭鏈~鍐�')
return
}
@@ -404,16 +411,16 @@
this.getScheduleByMe()
})
},
- init(){
+ init() {
this.workLoading = true;
this.$axios.get(this.$api.report.calendarWorkByWeek).then(res => {
if (res.code == 201) return
this.workLoading = false;
this.workList = [];
- for(let i=0;i<7;i++){
+ for (let i = 0; i < 7; i++) {
this.workList.push(res.data[`work${i}`])
}
- this.workDay = res.data.weekDays.map(m=>{
+ this.workDay = res.data.weekDays.map(m => {
let arr = m.split('-')
return arr[2]
})
@@ -428,8 +435,8 @@
weekdays.push(day);
}
weekdays.reverse()
- weekdays = weekdays.map(m=>{
- let day =''
+ weekdays = weekdays.map(m => {
+ let day = ''
switch (m) {
case 0:
day = '鏄熸湡澶�'
@@ -457,56 +464,48 @@
})
return weekdays;
},
- getScheduleByMe(){
+ getScheduleByMe() {
this.scheduleLoading = true;
this.$axios.post(this.$api.report.ScheduleByMe, {
- date:getYearAndMonthAndDays(this.calendarValue)
+ date: getYearAndMonthAndDays(this.calendarValue)
}).then(res => {
this.loading = false;
this.scheduleLoading = false;
if (res.code == 201) {
return
}
- this.listScheduleByMe = res.data.map(m=>{
- if(m.scheduleTime){
+ this.listScheduleByMe = res.data.map(m => {
+ if (m.scheduleTime) {
let time = m.scheduleTime.split(' ')[1].split(':')
m.scheduleTimes = time[0] + ':' + time[1]
- }else{
+ } else {
m.scheduleTimes = ''
}
return m
})
})
},
- goNoticeDetail(row){
- this.$axios.put(this.$api.informationNotification.triggerModificationStatusToRead+'/'+row.id).then(res => {
+ goNoticeDetail(row) {
+ this.$axios.put(this.$api.informationNotification.triggerModificationStatusToRead + '/' + row.id).then(res => {
row.num = Math.random(100);
this.$bus.$emit("change", JSON.stringify(row));
this.$parent.addTab({
v: "娑堟伅璇︽儏",
i: "el-icon-s-tools",
u: "notice-detail",
- k:35,
+ k: 35,
p: "abcd"
- },29);
+ }, 29);
})
},
},
- deactivated(){
- this.timer&&clearInterval(this.timer)
+ deactivated() {
+ this.timer && clearInterval(this.timer)
}
}
</script>
<style scoped lang="scss">
-.index {
- width: 100%;
- height: calc(100% - 50px);
- overflow-y: auto;
- padding: 20px 10px 10px;
- background: rgb(245, 247, 251);
-}
-
.left-1 {
background-image: url("~@/assets/index_image/index-img1.png");
background-size: 100% 100%;
@@ -545,14 +544,14 @@
border-radius: 3px;
}
-.card{
+.card {
background: #FFFFFF;
border-radius: 16px;
width: 100%;
box-sizing: border-box;
}
-.right-1{
+.right-1 {
padding: 10px 10px 4px;
display: flex;
align-items: center;
@@ -560,64 +559,72 @@
margin-bottom: 16px;
}
-.right-1-item{
+.right-1-item {
width: 25%;
display: flex;
align-items: center;
justify-content: center;
}
-.right-1-item .mun{
+.right-1-item .mun {
margin-left: 6px;
color: #0166E2;
}
-.right-2{
+.right-2 {
padding: 13px 14px 8px;
margin-bottom: 16px;
}
-.right-2-title{
+.right-2-title {
display: flex;
align-items: center;
justify-content: space-between;
}
-.right-2-body{
+.right-2-body {
width: 100%;
margin-top: 20px;
display: flex;
align-items: flex-start;
justify-content: space-between;
}
+
>>>.el-calendar__header {
display: none;
}
->>>.el-calendar__body{
+
+>>>.el-calendar__body {
padding: 0;
}
+
>>>.el-calendar-table:not(.is-range) td.next {
/*闅愯棌涓嬩釜鏈堢殑鏃ユ湡*/
display: none;
}
->>>.el-calendar-day{
+
+>>>.el-calendar-day {
height: 40px;
}
->>>.el-calendar-table td{
+
+>>>.el-calendar-table td {
border: 0;
font-size: 14px;
}
->>>.el-calendar-table tr td:first-child{
+
+>>>.el-calendar-table tr td:first-child {
border-left: 0;
}
-.control{
+
+.control {
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 0px 0 10px;
}
-.control .el-button{
+
+.control .el-button {
width: 32px;
height: 32px;
border-radius: 8px;
@@ -627,17 +634,20 @@
color: #0166E2;
font-size: 20px;
}
-.list2-item{
+
+.list2-item {
line-height: 22px;
display: flex;
margin-bottom: 12px;
font-size: 14px;
}
-.right-3-tab{
+
+.right-3-tab {
display: flex;
align-items: center;
}
-.tab-item{
+
+.tab-item {
width: 50%;
box-sizing: border-box;
text-align: center;
@@ -646,56 +656,68 @@
background: #F5F7FB;
color: #333333;
}
-.tab-item.active{
+
+.tab-item.active {
background: #fff;
color: #FF3838;
padding-left: 16px;
text-align: left;
}
-.right-3-list{
+
+.right-3-list {
padding: 0 12px 8px;
box-sizing: border-box;
height: 390px;
overflow-y: auto;
}
-.list3-item{
+
+.list3-item {
padding: 6px 4px;
margin: 8px 0;
}
-.list3-item:hover{
- background: rgba(58, 123, 250,0.05);
+
+.list3-item:hover {
+ background: rgba(58, 123, 250, 0.05);
}
-.list3-item-title{
+
+.list3-item-title {
display: flex;
align-items: flex-start;
margin-bottom: 10px;
}
-.list3-item-info{
+
+.list3-item-info {
display: flex;
align-items: center;
justify-content: space-between;
color: #666666;
font-size: 14px;
}
-.left-2{
+
+.left-2 {
display: grid;
grid-template-columns: repeat(7, 1fr);
height: 777px;
}
-.left-2-item{
+
+.left-2-item {
border-right: 1px solid #F1F1F1;
overflow: hidden !important;
}
-.left-2-item:nth-last-child(1){
+
+.left-2-item:nth-last-child(1) {
border-right: 0;
}
-.left-2-item:hover{
- background: rgba(58,123,250,0.05);
+
+.left-2-item:hover {
+ background: rgba(58, 123, 250, 0.05);
}
-.left-2-item:hover .left-item-title span{
+
+.left-2-item:hover .left-item-title span {
color: #3A7BFA !important;
}
-.left-item-title{
+
+.left-item-title {
border-bottom: 1px solid #F1F1F1;
display: flex;
flex-direction: column;
@@ -703,35 +725,42 @@
justify-content: center;
padding: 20px 0;
}
-.left-item-body{
+
+.left-item-body {
box-sizing: border-box;
padding: 5px;
height: 693px;
overflow-y: auto;
}
-.body-item{
+
+.body-item {
background: #70A090;
border-radius: 16px;
overflow: hidden;
margin-bottom: 8px;
}
-.body-item.color0{
+
+.body-item.color0 {
background: #70A090;
}
-.body-item.color1{
+
+.body-item.color1 {
background: #EBD476;
}
-.body-item.color2{
+
+.body-item.color2 {
background: #FF3838;
}
-.body-item>div{
+
+.body-item>div {
height: calc(100% - 16px);
margin-top: 16px;
- background: rgba(255, 255, 255,0.9);
+ background: rgba(255, 255, 255, 0.9);
padding: 8px 8px 16px;
display: flex;
flex-direction: column;
}
+
.search_thing {
height: 50px;
margin-bottom: 26px;
@@ -743,7 +772,8 @@
text-align: left;
margin-bottom: 10px;
}
->>>.el-calendar-day span{
+
+>>>.el-calendar-day span {
display: inline-block;
width: 30px;
height: 30px;
@@ -751,26 +781,33 @@
text-align: center;
border-radius: 4px;
}
->>>.is-selected{
+
+>>>.is-selected {
background: transparent !important;
}
->>>.is-selected .el-calendar-day{
+
+>>>.is-selected .el-calendar-day {
background: transparent !important;
}
->>>.is-selected .el-calendar-day span{
+
+>>>.is-selected .el-calendar-day span {
background: #3A7BFA !important;
color: #fff !important;
}
->>>.el-calendar-day:hover{
+
+>>>.el-calendar-day:hover {
background: transparent;
}
->>>.el-calendar-day span:hover{
+
+>>>.el-calendar-day span:hover {
background: #3A7BFA !important;
color: #fff !important;
}
+
.body-item-name {
display: inline-block;
- height: 22px;width: 60px;
+ height: 22px;
+ width: 60px;
border-radius: 10px;
line-height: 22px;
text-align: center;
@@ -778,10 +815,12 @@
color: #fff;
font-size: 14px
}
+
.body-item-insState {
margin-left: 2px;
display: inline-block;
- height: 22px;width: 60px;
+ height: 22px;
+ width: 60px;
border-radius: 10px;
line-height: 22px;
text-align: center;
--
Gitblit v1.9.3