|
@@ -55,26 +55,34 @@
|
|
|
:key='index'
|
|
|
>
|
|
|
<div class='system-name'>
|
|
|
- <div :class='["img", item.selected ? "selected":""]'>
|
|
|
- <img :src='imgSrc(item.smsxt)' />
|
|
|
- </div>
|
|
|
+ <div :class='["img", item.selected ? "selected":""]'><img :src='imgSrc(item.smsxt)' /></div>
|
|
|
<span>{{item.smsxtname}}</span>
|
|
|
</div>
|
|
|
- <div class='system-equipments' v-if='item.assetTypeList'>
|
|
|
- <div class='number' v-for='(equip , index) in item.assetTypeList' :key='index'>
|
|
|
- <div class="title">
|
|
|
- <div class="exception" :title="equip.category_name">
|
|
|
- {{equip.category_name}}
|
|
|
- <span style="right:-1rem;" v-if='equip.is_exception_num'>{{equip.is_exception_num}}</span>
|
|
|
+ <section v-if='item.assetTypeList.length' class="system-equipments-container">
|
|
|
+ <div class="more" @click.stop.capture="expandRestItems(item, index)" v-if="item.hasArrow" :style="{transform: item.expand ? 'rotate(0)' : 'rotate(180deg)'}">
|
|
|
+ <img v-if="item.showColor" src="../../assets/images/icons/arrow.png">
|
|
|
+ <img v-else src="../../assets/images/icons/grey.png">
|
|
|
+ </div>
|
|
|
+ <div class='system-equipments' style="padding-top:2rem; margin-bottom:2rem;">
|
|
|
+ <div class='number' v-for='(equip , index) in item.assetTypeList' :key='index'>
|
|
|
+ <div class="title">
|
|
|
+ <P :style="{width: equip.category_name.length>6 ? '10rem' : 'auto'}" :title="equip.category_name">{{equip.category_name}}</p>
|
|
|
+ <span :style="{right: equip.is_exception_num > 99 ? '-2rem' : equip.is_exception_num > 9 ? '-1.5rem' :'-1rem'}" v-if='equip.is_exception_num'>{{equip.is_exception_num}}</span>
|
|
|
</div>
|
|
|
+ <p> <span>{{equip.asset_num}}</span><span>{{equip.category_name === '屋面logo' ? '个' : equip.category_name === '玻璃护栏' ? '段' : '台'}}</span></p>
|
|
|
</div>
|
|
|
- <p>
|
|
|
- <span>{{equip.asset_num}}</span>
|
|
|
- <span>台</span>
|
|
|
- </p>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div v-else style='width:65%;text-align:center;'>暂无数据</div>
|
|
|
+ <section class="system-equipments" v-show="item.expand && item.restAssetTypeList.length" style="padding-bottom:2rem;">
|
|
|
+ <div class='number' v-for='(equip , index) in item.restAssetTypeList' :key='index'>
|
|
|
+ <div class="title">
|
|
|
+ <P :title="equip.category_name">{{equip.category_name}}</p>
|
|
|
+ <span :style="{right: equip.is_exception_num > 99 ? '-2rem' : equip.is_exception_num > 9 ? '-1.5rem' :'-1rem'}" v-if='equip.is_exception_num'>{{equip.is_exception_num}}</span>
|
|
|
+ </div>
|
|
|
+ <p> <span>{{equip.asset_num}}</span><span>{{equip.category_name === '屋面logo' ? '个' : equip.category_name === '玻璃护栏' ? '段' : '台'}}</span></p>
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+ </section>
|
|
|
+ <div v-else style='width:65%;text-align:center;'> 暂无数据</div>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
@@ -85,22 +93,18 @@
|
|
|
<div class='img'>
|
|
|
<img src='../../assets/images/icons/ratio.png' />
|
|
|
</div>
|
|
|
- <p>上线管理说明书数量</p>
|
|
|
+ <p>上线管理说明书广场数量</p>
|
|
|
<strong>{{plazaInfoCount.upwcCount}}</strong>
|
|
|
</div>
|
|
|
<div class='card' @click='navToIntroduceUpdate'>
|
|
|
<div class='img'>
|
|
|
<img src='../../assets/images/icons/audit.png' />
|
|
|
</div>
|
|
|
- <p>当月说明书更新项目数量</p>
|
|
|
- <strong>{{plazaInfoCount.rptChangeCount}}</strong>
|
|
|
- </div>
|
|
|
- <div class='card' @click='navToFocusItems'>
|
|
|
- <div class='img'>
|
|
|
- <img src='../../assets/images/icons/contract.png' />
|
|
|
+ <p>当月说明书更新数量</p>
|
|
|
+ <div class="describe">
|
|
|
+ <span style="margin-right:20px;">更新广场数量 <strong>{{plazaInfoCount.rptChangeCount}}</strong></span>
|
|
|
+ <span>更新事项数量<strong>{{plazaInfoCount.zhsxChangeCount}}</strong></span>
|
|
|
</div>
|
|
|
- <p>当月重点关注事项项目数量</p>
|
|
|
- <strong>{{plazaInfoCount.zhsxChangeCount}}</strong>
|
|
|
</div>
|
|
|
</section>
|
|
|
<section class='map-container' id="map-container">
|
|
@@ -119,7 +123,7 @@
|
|
|
<transition name="selectDownUpExtendTop">
|
|
|
<div class="tool-tip" v-if="item.showToolTip">
|
|
|
<h5 style="font-weight:bold;">{{item.title + '比值'}}</h5>
|
|
|
- <p>{{item.title === '专维' ? '逾期未完成/今年即将到期任务数/总任务' : '当月即将到期/总任务'}}</p>
|
|
|
+ <p>{{item.title === '专维' ? '逾期未完成/今年即将逾期任务数/总任务' : '当月即将逾期/总任务'}}</p>
|
|
|
<div class="tip-triangle" :style="{left: item.title === '第三方检测' ? '12.5rem': '7.8rem'}"> </div>
|
|
|
</div>
|
|
|
</transition>
|
|
@@ -129,8 +133,8 @@
|
|
|
<div class='ratio'>
|
|
|
<span>{{option.cname}}</span>
|
|
|
<span v-if='item.title === "专维"'>
|
|
|
- <span>{{option.rptGlsmsStatistics.unfinished}} /</span>
|
|
|
- <span>{{option.rptGlsmsStatistics.due_num}} /</span>
|
|
|
+ <span>{{option.rptGlsmsStatistics.overdue_unfinished}} /</span>
|
|
|
+ <span>{{option.rptGlsmsStatistics.due_num || 0}} /</span>
|
|
|
<span>{{option.rptGlsmsStatistics.total}}</span>
|
|
|
</span>
|
|
|
<span v-else>
|
|
@@ -265,13 +269,21 @@ export default {
|
|
|
this.currentTime()
|
|
|
},
|
|
|
mounted() {
|
|
|
-
|
|
|
-
|
|
|
window.vm = this
|
|
|
this.getFrameworkTreeData()
|
|
|
window.addEventListener('resize', this.reinitalMap, false)
|
|
|
},
|
|
|
- methods: {
|
|
|
+ methods: {
|
|
|
+ expandRestItems (item, index) {
|
|
|
+ this.systemList.forEach(eq => {
|
|
|
+ if (eq.smsxt !== item.smsxt) {
|
|
|
+ eq.expand = false
|
|
|
+ }
|
|
|
+ eq.selected = false
|
|
|
+ })
|
|
|
+ item.selected = true
|
|
|
+ item.expand = !item.expand
|
|
|
+ },
|
|
|
showToolTip (index) {
|
|
|
this.maintainList.forEach(item => {item.showToolTip = false})
|
|
|
this.maintainList[index].showToolTip = true
|
|
@@ -320,8 +332,13 @@ export default {
|
|
|
newArr.push(item.split('&'))
|
|
|
})
|
|
|
this.crumbsHtml = newArr
|
|
|
+ this.currentZoneData = data
|
|
|
}
|
|
|
- this.currentZoneData = data
|
|
|
+ if (data.level === 0) {
|
|
|
+ this.crumbsHtml.pop()
|
|
|
+ this.currentZoneData = this.getDataByCityCcode(data.cparentcode)
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
/**
|
|
|
* @Description 通过导航进行导航
|
|
@@ -334,9 +351,9 @@ export default {
|
|
|
let level = data.level //1集团 2中心 3区域 0广场
|
|
|
if (level === this.regulateDistrictData[0].level) {
|
|
|
this.selectedZone = ''
|
|
|
- }
|
|
|
- this.currentZoneData = data
|
|
|
+ }
|
|
|
this.currentLevel = level
|
|
|
+ this.currentZoneData = data
|
|
|
this.getEventStatusData(level, data.ccode)
|
|
|
this.queryPlazaInfoCount(data.ccode, data.level, data.cid)
|
|
|
this.getSystemList(data.ccode, data.level)
|
|
@@ -347,7 +364,11 @@ export default {
|
|
|
} else {
|
|
|
this.pantProjectsMap(data, this.currentSysId)
|
|
|
}
|
|
|
- this.crumbsHtml = this.crumbsHtml.splice(0, index + 1)
|
|
|
+ if (level === 1) {
|
|
|
+ this.crumbsHtml = ''
|
|
|
+ } else {
|
|
|
+ this.crumbsHtml = this.crumbsHtml.splice(0, index + 1)
|
|
|
+ }
|
|
|
},
|
|
|
/**
|
|
|
* @Description 分区树 点击选择分区
|
|
@@ -362,13 +383,13 @@ export default {
|
|
|
let data = this.getDataByCityCcode(ids)
|
|
|
this.currentLevel = data.level
|
|
|
if (data.level === 0) { // level=0时 plazaId必填
|
|
|
- this.queryPlazaInfoCount(data.ccode, data.level, data.ccode)
|
|
|
+ // this.queryPlazaInfoCount(data.ccode, data.level, data.ccode)
|
|
|
} else {
|
|
|
this.queryPlazaInfoCount(data.ccode, data.level)
|
|
|
+ this.getSystemList(data.ccode, data.level)
|
|
|
+ this.getEventStatusData(this.currentLevel, data.ccode)
|
|
|
+ this.createNavpathByData(data)
|
|
|
}
|
|
|
- this.getSystemList(data.ccode, data.level)
|
|
|
- this.getEventStatusData(this.currentLevel, data.ccode)
|
|
|
- this.createNavpathByData(data)
|
|
|
this.currentZoneData = data
|
|
|
|
|
|
let level = data.level // //1集团 2中心 3区域 0广场
|
|
@@ -519,17 +540,22 @@ export default {
|
|
|
*/
|
|
|
barStyle(item, title) {
|
|
|
let bg = ''
|
|
|
- let type = this.selectColorByNum(item.due_num, item.total)
|
|
|
+ // let type = this.selectColorByNum(item.due_num, item.total)
|
|
|
let ratio = 0
|
|
|
if (title === '专维') {
|
|
|
- if (item.unfinished>0) {
|
|
|
- bg = 'linear-gradient(to right, #F54E45 , #F54E45)'
|
|
|
- } else {
|
|
|
- bg = this.barColors[type]
|
|
|
+ item.overdue_unfinished = item.overdue_unfinished || 0
|
|
|
+ if (item.overdue_unfinished >0 || item.due_num > 0) {
|
|
|
+ bg = 'linear-gradient(to right, #F54E45 , #F54E45)'
|
|
|
}
|
|
|
- ratio = ((item.unfinished + item.due_num) / item.total) * 100
|
|
|
+ // else {
|
|
|
+ // bg = this.barColors[type]
|
|
|
+ // }
|
|
|
+ ratio = ((item.overdue_unfinished + item.due_num) / item.total) * 100
|
|
|
} else {
|
|
|
- bg = this.barColors[type]
|
|
|
+ if (item.due_num > 0) {
|
|
|
+ bg = 'linear-gradient(to right, #F54E45 , #F54E45)'
|
|
|
+ }
|
|
|
+ // bg = this.barColors[type]
|
|
|
ratio = (item.due_num / item.total) * 100
|
|
|
}
|
|
|
return {
|
|
@@ -610,17 +636,29 @@ export default {
|
|
|
if (res.result == 'success') {
|
|
|
let result = res.data
|
|
|
if (result && Array.isArray(result)) {
|
|
|
+
|
|
|
result.forEach(item => {
|
|
|
- if (item.assetTypeList) {
|
|
|
- item.assetTypeList = item.assetTypeList.splice(0, 3)
|
|
|
+ let list = item.assetTypeList
|
|
|
+ if (list) {
|
|
|
+ if (list.length > 3) {
|
|
|
+ item.hasArrow = true
|
|
|
+ item.assetTypeList = list.splice(0, 3)
|
|
|
+ item.restAssetTypeList = list
|
|
|
+ item.showColor = list.some(item => {return item.is_exception_num > 0})
|
|
|
+ }else {
|
|
|
+ item.hasArrow = false
|
|
|
+ item.restAssetTypeList = []
|
|
|
+ }
|
|
|
}
|
|
|
})
|
|
|
res.data.forEach(item => {
|
|
|
item.selected = false
|
|
|
+ item.expand = false
|
|
|
})
|
|
|
res.data[0].selected = true
|
|
|
this.currentSelectedSys = res.data[0]
|
|
|
this.currentSysId = res.data[0].smsxt
|
|
|
+
|
|
|
this.systemList = res.data
|
|
|
resolve(res)
|
|
|
}
|
|
@@ -643,7 +681,12 @@ export default {
|
|
|
queryEventStatus(params).then(res => {
|
|
|
if (res.result === 'success') {
|
|
|
let data = res.data
|
|
|
- let orginalObj = {
|
|
|
+ data[0].forEach(item => {
|
|
|
+ if (typeof item.rptGlsmsStatistics.overdue_unfinished === 'undefined') {
|
|
|
+ item.rptGlsmsStatistics.overdue_unfinished = 0
|
|
|
+ }
|
|
|
+ })
|
|
|
+ let orginalObj = {
|
|
|
1:{title:'维保',data:[], expand: 0, showToolTip:false},
|
|
|
2:{title:'第三方检测',data:[], expand: 0, showToolTip:false},
|
|
|
0:{title:'专维',data:[], expand: 0, showToolTip:false},
|
|
@@ -653,11 +696,11 @@ export default {
|
|
|
let obj = {}
|
|
|
let sortData = data[key]
|
|
|
if (data.hasOwnProperty(key)) {
|
|
|
- // 维保,第三方检测排名按照即将到期任务数量从多到少排序,多的靠前。专维按照 逾期未完成 + 即将到期任务数据排序,多的靠前
|
|
|
- // due_num 即将到期 unfinished 逾期未完成
|
|
|
+ // 维保,第三方检测排名按照即将逾期任务数量从多到少排序,多的靠前。专维按照 逾期未完成 + 即将逾期任务数据排序,多的靠前
|
|
|
+ // due_num 即将逾期 unfinished 逾期未完成
|
|
|
if (key == '0') {
|
|
|
sortData.forEach(item => {
|
|
|
- item.sort = item.rptGlsmsStatistics.due_num + item.rptGlsmsStatistics.unfinished
|
|
|
+ item.sort = item.rptGlsmsStatistics.overdue_unfinished + item.rptGlsmsStatistics.unfinished
|
|
|
})
|
|
|
} else {
|
|
|
sortData.forEach(item => {
|
|
@@ -683,6 +726,7 @@ export default {
|
|
|
center: new L.LatLng(38, 103),
|
|
|
zoom: 4,
|
|
|
crs: L.CRS.EPSG3857,
|
|
|
+ // minZoom:
|
|
|
zoomControl: false,
|
|
|
boxZoom: false,
|
|
|
attributionControl: false,
|
|
@@ -929,6 +973,7 @@ export default {
|
|
|
num += item.is_exception_num
|
|
|
}
|
|
|
})
|
|
|
+
|
|
|
}
|
|
|
layerArr.push({
|
|
|
name,
|
|
@@ -949,6 +994,7 @@ export default {
|
|
|
this.loadingInstance.close()
|
|
|
if (this.currentLevel === 3) {
|
|
|
layerArr.forEach(item => {
|
|
|
+
|
|
|
let center = [item.data.latitude, item.data.longitude]
|
|
|
let contentHtml = that.createPopupHtmlContent(item.list.assetTypeList, item.fullName)
|
|
|
if (contentHtml) {
|
|
@@ -997,13 +1043,15 @@ export default {
|
|
|
feaureGroup.on('click', ev => {
|
|
|
this.currentZoneData = data
|
|
|
this.currentLevel = data.level
|
|
|
- this.getEventStatusData(data.level, data.ccode)
|
|
|
- this.queryPlazaInfoCount(data.ccode, data.level)
|
|
|
+ if (data.level !== 0) {
|
|
|
+ this.getEventStatusData(data.level, data.ccode)
|
|
|
+ this.queryPlazaInfoCount(data.ccode, data.level)
|
|
|
+ this.getSystemList(data.ccode, data.level)
|
|
|
+ }
|
|
|
if (type !== 'project') {
|
|
|
groupLayer.clearLayers()
|
|
|
}
|
|
|
this.createNavpathByData(data)
|
|
|
- this.getSystemList(data.ccode, data.level)
|
|
|
if (type === 'group') {
|
|
|
this.pantZonesMap(data, this.currentSysId)
|
|
|
}
|
|
@@ -1038,16 +1086,16 @@ export default {
|
|
|
let item = data[i]
|
|
|
if (item.is_exception_num) {
|
|
|
html += `<div class="line">
|
|
|
- <span>${item.category_name}</span>
|
|
|
- <span>${item.asset_num || '--'}台</span>
|
|
|
+ <span>${item.category_name}</span>
|
|
|
+ <span>${item.asset_num || '--'}${item.category_name === '屋面logo' ? '个' : item.category_name === '玻璃护栏' ? '段' : '台'}</span>
|
|
|
<span><span style="display: inline-block;width: 16px;height: 16px;line-height: 16px;border-radius: 8px; color: white; background : #F54E45;text-align: center;cursor: default;">!</span><em>${
|
|
|
item.is_exception_num
|
|
|
}</em></span>
|
|
|
</div>`
|
|
|
} else {
|
|
|
html += `<div class="line">
|
|
|
- <span>${item.category_name}</span>
|
|
|
- <span>${item.asset_num || '--'}台</span>
|
|
|
+ <span>${item.category_name}</span>
|
|
|
+ <span>${item.asset_num || '--'}${item.category_name === '屋面logo' ? '个' : item.category_name === '玻璃护栏' ? '段' : '台'}</span>
|
|
|
</div>`
|
|
|
}
|
|
|
}
|
|
@@ -1181,7 +1229,6 @@ export default {
|
|
|
display: inline-block;
|
|
|
width: 18px;
|
|
|
height: 18px;
|
|
|
- background: red;
|
|
|
border-radius: 90px;
|
|
|
font-size: 1.2rem;
|
|
|
text-align: center;
|
|
@@ -1242,7 +1289,7 @@ export default {
|
|
|
font-size: 1.6rem;
|
|
|
font-weight: bolder;
|
|
|
line-height: 2rem;
|
|
|
- cursor: pointer;
|
|
|
+ cursor: pointer;
|
|
|
img{
|
|
|
width: 2rem;
|
|
|
margin-left: 1.2rem;
|
|
@@ -1257,16 +1304,15 @@ export default {
|
|
|
padding: 2rem 0 2.4rem 1.6rem;
|
|
|
}
|
|
|
.system-list {
|
|
|
+ height: 80vh;
|
|
|
+ overflow-y:auto;
|
|
|
ul {
|
|
|
- height: 80vh;
|
|
|
li.system-item {
|
|
|
display: flex;
|
|
|
justify-content: flex-start;
|
|
|
align-items: center;
|
|
|
width: calc(100% - 3.2rem);
|
|
|
- height: calc(100% / 8);
|
|
|
margin-left: 1.6rem;
|
|
|
- // padding: 1rem 0;
|
|
|
box-sizing: border-box;
|
|
|
border: 1px solid white;
|
|
|
border-radius: 4px;
|
|
@@ -1304,33 +1350,52 @@ export default {
|
|
|
font-weight: bolder;
|
|
|
}
|
|
|
}
|
|
|
- .system-equipments {
|
|
|
- width: 75%;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- padding-left: 1.4rem;
|
|
|
- .number {
|
|
|
- width: 33.3%;
|
|
|
- .title{
|
|
|
- display: inline-block;
|
|
|
- width: 100%;
|
|
|
- white-space: nowrap;
|
|
|
- text-overflow: ellipsis;
|
|
|
- overflow: hidden;
|
|
|
- div.exception{
|
|
|
+ .system-equipments-container{
|
|
|
+ position: relative;
|
|
|
+ width:75%;
|
|
|
+ .more{
|
|
|
+ position: absolute;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ width: 14px;
|
|
|
+ height: 14px;
|
|
|
+ right: 8px;
|
|
|
+ top: 50%;
|
|
|
+ border-radius: 7px;
|
|
|
+ cursor: pointer;
|
|
|
+ transform: rotate(0);
|
|
|
+ transform-origin: center;
|
|
|
+ z-index: 10000;
|
|
|
+ transform: translateY(-7px);
|
|
|
+ img{
|
|
|
+ width:14px;
|
|
|
+ height: 14px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .system-equipments {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding-left: 1.4rem;
|
|
|
+ .number {
|
|
|
+ width: 33.3%;
|
|
|
+ .title{
|
|
|
+ display: inline-block;
|
|
|
position: relative;
|
|
|
- display: inline;
|
|
|
- color: #1f2429;
|
|
|
- font-size: 1.4rem;
|
|
|
- line-height: 4rem;
|
|
|
- white-space: nowrap;
|
|
|
- text-overflow: ellipsis;
|
|
|
- overflow: hidden;
|
|
|
+ p{
|
|
|
+ display: inline-block;
|
|
|
+ position: relative;
|
|
|
+ color: #1f2429;
|
|
|
+ font-size: 1.4rem;
|
|
|
+ line-height: 2rem;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
span {
|
|
|
position: absolute;
|
|
|
- top: -1rem;
|
|
|
- right: -1rem;
|
|
|
- line-height: 1.6rem;
|
|
|
+ top: -1.6rem;
|
|
|
+ right: -2rem;
|
|
|
padding: 2px 4px;
|
|
|
border-radius: 0.9rem;
|
|
|
font-size: 1.2rem;
|
|
@@ -1338,16 +1403,16 @@ export default {
|
|
|
background: #fde3e2;
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- p:nth-of-type(2) {
|
|
|
- span:first-child {
|
|
|
- color: #1f2429;
|
|
|
- font-size: 1.8rem;
|
|
|
- font-weight: bold;
|
|
|
+ p:nth-of-type(2) {
|
|
|
+ span:first-child {
|
|
|
+ color: #1f2429;
|
|
|
+ font-size: 1.8rem;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
li.selected {
|
|
@@ -1371,7 +1436,7 @@ export default {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
.card {
|
|
|
- width: calc((100% - 24px) / 3);
|
|
|
+ width: 50%;
|
|
|
box-sizing: border-box;
|
|
|
padding: 12px 16px;
|
|
|
border-radius: 4px;
|
|
@@ -1389,15 +1454,16 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ div:first-child.card{
|
|
|
+ margin-right: 12px;
|
|
|
+ }
|
|
|
+
|
|
|
div:nth-of-type(1) .img {
|
|
|
background: rgba(130, 199, 252, 0.14);
|
|
|
}
|
|
|
div:nth-of-type(2) .img {
|
|
|
background: rgba(0, 214, 185, 0.14);
|
|
|
}
|
|
|
- div:nth-of-type(3) .img {
|
|
|
- background: rgba(255, 186, 107, 0.14);
|
|
|
- }
|
|
|
p {
|
|
|
color: #646c73;
|
|
|
margin: 12px 0 8px 0;
|