Commit 503782f5 authored by 李志鸣's avatar 李志鸣

fea(Led Avi 轮播): 腻子、中涂、密封防腐模块开发

parent 82a87bf7
......@@ -531,10 +531,10 @@
}
// 轻客车体样式
.car-out {
background: url('../../../assets/images/LedCarouselAvi/car_out.png');
background-position: center 0;
background-repeat: no-repeat;
background-size: 100% 100%;
background: url('../../../assets/images/LedCarouselAvi/car_out.png') !important;
background-position: center 0 !important;
background-repeat: no-repeat !important;
background-size: 100% 100% !important;
}
}
</style>
\ No newline at end of file
<template>
<!-- 中涂工作区 -->
<div></div>
<div class="page-pack">
<div class="container">
<!-- 在线车体数量 -->
<div class="online-number">
<span>数量:{{onlineNumber !== null ? onlineNumber : '0' }}</span>
</div>
<div class="view-pack">
<!-- 第一行 -->
<div class="HDG1-115"
v-if="realData.hasOwnProperty('HDG1-115') && realData['HDG1-115'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-115'].busType)">
</div>
<div class="HDG1-116"
v-if="realData.hasOwnProperty('HDG1-116') && realData['HDG1-116'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-116'].busType)">
</div>
<div class="HDG1-117"
v-if="realData.hasOwnProperty('HDG1-117') && realData['HDG1-117'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-117'].busType)">
</div>
<div class="HDG1-118"
v-if="realData.hasOwnProperty('HDG1-118') && realData['HDG1-118'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-118'].busType)">
</div>
<div class="HDG1-119"
v-if="realData.hasOwnProperty('HDG1-119') && realData['HDG1-119'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-119'].busType)">
</div>
<!-- 第二行 -->
<div class="HDG1-120"
v-if="realData.hasOwnProperty('HDG1-120') && realData['HDG1-120'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-120'].busType)">
</div>
<div class="HDG1-121"
v-if="realData.hasOwnProperty('HDG1-121') && realData['HDG1-121'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-121'].busType)">
</div>
<div class="HDG1-122"
v-if="realData.hasOwnProperty('HDG1-122') && realData['HDG1-122'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-122'].busType)">
</div>
<div class="HDG1-123"
v-if="realData.hasOwnProperty('HDG1-123') && realData['HDG1-123'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-123'].busType)">
</div>
<div class="HDG1-124"
v-if="realData.hasOwnProperty('HDG1-124') && realData['HDG1-124'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-124'].busType)">
</div>
<div class="HDG5-18"
v-if="realData.hasOwnProperty('HDG5-18') && realData['HDG5-18'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-18'].busType)">
</div>
<!-- 第三行 -->
<div class="HDG1-125"
v-if="realData.hasOwnProperty('HDG1-125') && realData['HDG1-125'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-125'].busType)">
</div>
<div class="HDG1-126"
v-if="realData.hasOwnProperty('HDG1-126') && realData['HDG1-126'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-126'].busType)">
</div>
<div class="HDG1-127"
v-if="realData.hasOwnProperty('HDG1-127') && realData['HDG1-127'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-127'].busType)">
</div>
<div class="HDG1-128"
v-if="realData.hasOwnProperty('HDG1-128') && realData['HDG1-128'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-128'].busType)">
</div>
<div class="HDG1-129"
v-if="realData.hasOwnProperty('HDG1-129') && realData['HDG1-129'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-129'].busType)">
</div>
<div class="HDG5-19"
v-if="realData.hasOwnProperty('HDG5-19') && realData['HDG5-19'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-19'].busType)">
</div>
<!-- 第四行 -->
<div class="HDG1-130"
v-if="realData.hasOwnProperty('HDG1-130') && realData['HDG1-130'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-130'].busType)">
</div>
<div class="HDG1-131"
v-if="realData.hasOwnProperty('HDG1-131') && realData['HDG1-131'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-131'].busType)">
</div>
<div class="HDG1-132"
v-if="realData.hasOwnProperty('HDG1-132') && realData['HDG1-132'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-132'].busType)">
</div>
<div class="HDG1-133"
v-if="realData.hasOwnProperty('HDG1-133') && realData['HDG1-133'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-133'].busType)">
</div>
<div class="HDG5-20"
v-if="realData.hasOwnProperty('HDG5-20') && realData['HDG5-20'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-20'].busType)">
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {}
return {
// 定时器
timer: '',
// 中涂工作区真实数据
realData: {},
// 车体在线数量
onlineNumber: null
}
},
methods: {
// 获取中涂工作区真实数据
getMiddleCoatInformation () {
let params = {areaNo: '5'};
this.$fetch('area-controller/realTime-get', params).then(res => {
for (let item of res) {
if (item.code === '5') {
this.realData = _.cloneDeep(item.stationMap);
this.onlineNumber = _.cloneDeep(item.onlineNum);
break;
}
}
})
},
// 解析车体样式
resolveCarTypeStyle (type) {
if (type === 'OTHER') {
return 'car-out';
} else {
return '';
}
}
},
mounted () {
setTimeout(() => {
// 获取中涂工作区真实数据
this.getMiddleCoatInformation();
this.timer = setInterval(() => {
// 获取中涂工作区真实数据
this.getMiddleCoatInformation();
}, 20000);
}, 0)
},
beforeDestroy () {
clearInterval(this.timer);
}
}
</script>
<style lang="scss" scoped>
.page-pack {
width: 100%;
height: 100%;
.container {
width: 1556px;
height: 1037px;
background: url("../../../assets/images/LedCarouselAvi/middle_coat_bg.png") no-repeat;
overflow: hidden;
position: relative;
// 在线车体数量
.online-number {
width: 270px;
height: 50px;
position: absolute;
right: 126px;
top: 43px;
text-align: center;
line-height: 50px;
font-size: 35px;
color: rgb(255,255,255);
}
// 显示区域
.view-pack {
width: 1344px;
height: 336px;
position: relative;
margin-top: 353px;
margin-left: 106px;
div {
width: 70px;
height: 40px;
position: absolute;
background: url("../../../assets/images/LedCarouselAvi/car.png");
background-position: center 0;
background-repeat: no-repeat;
background-size: 100% 100%;
}
// 第一行
.HDG1-115 {
top: 34px;
left: 25px;
}
.HDG1-116 {
top: 34px;
left: 213px;
}
.HDG1-117 {
top: 34px;
left: 401px;
}
.HDG1-118 {
top: 34px;
left: 587px;
}
.HDG1-119 {
top: 34px;
left: 775px;
}
// 第二行
.HDG1-120 {
top: 103px;
left: 79px;
}
.HDG1-121 {
top: 103px;
left: 261px;
}
.HDG1-122 {
top: 103px;
left: 450px;
}
.HDG1-123 {
top: 103px;
left: 632px;
}
.HDG1-124 {
top: 103px;
left: 825px;
}
.HDG5-18 {
top: 103px;
left: 1130px;
}
// 第三行
.HDG1-125 {
top: 178px;
left: 25px;
}
.HDG1-126 {
top: 178px;
left: 213px;
}
.HDG1-127 {
top: 178px;
left: 401px;
}
.HDG1-128 {
top: 178px;
left: 587px;
}
.HDG1-129 {
top: 178px;
left: 775px;
}
.HDG5-19 {
top: 185px;
left: 1130px;
}
// 第四行
.HDG1-130 {
top: 266px;
left: 24px;
}
.HDG1-131 {
top: 266px;
left: 400px;
}
.HDG1-132 {
top: 266px;
left: 632px;
}
.HDG1-133 {
top: 266px;
left: 812px;
}
.HDG5-20 {
top: 266px;
left: 1130px;
}
}
}
// 轻客车体样式
.car-out {
background: url('../../../assets/images/LedCarouselAvi/car_out.png') !important;
background-position: center 0 !important;
background-repeat: no-repeat !important;
background-size: 100% 100% !important;
}
}
</style>
\ No newline at end of file
<template>
<!-- 腻子工作区 -->
<div></div>
<div class="page-pack">
<div class="container">
<!-- 在线车体数量 -->
<div class="online-number">
<span>数量:{{onlineNumber !== null ? onlineNumber : '0' }}</span>
</div>
<div class="view-pack">
<!-- 第一行 -->
<div class="HDG1-95"
v-if="realData.hasOwnProperty('HDG1-95') && realData['HDG1-95'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-95'].busType)">
</div>
<div class="HDG1-96"
v-if="realData.hasOwnProperty('HDG1-96') && realData['HDG1-96'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-96'].busType)">
</div>
<div class="HDG1-97"
v-if="realData.hasOwnProperty('HDG1-97') && realData['HDG1-97'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-97'].busType)">
</div>
<div class="HDG1-98"
v-if="realData.hasOwnProperty('HDG1-98') && realData['HDG1-98'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-98'].busType)">
</div>
<div class="HDG1-99"
v-if="realData.hasOwnProperty('HDG1-99') && realData['HDG1-99'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-99'].busType)">
</div>
<div class="HDG5-13"
v-if="realData.hasOwnProperty('HDG5-13') && realData['HDG5-13'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-13'].busType)">
</div>
<!-- 第二行 -->
<div class="HDG1-100"
v-if="realData.hasOwnProperty('HDG1-100') && realData['HDG1-100'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-100'].busType)">
</div>
<div class="HDG1-101"
v-if="realData.hasOwnProperty('HDG1-101') && realData['HDG1-101'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-101'].busType)">
</div>
<div class="HDG1-102"
v-if="realData.hasOwnProperty('HDG1-102') && realData['HDG1-102'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-102'].busType)">
</div>
<div class="HDG1-103"
v-if="realData.hasOwnProperty('HDG1-103') && realData['HDG1-103'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-103'].busType)">
</div>
<div class="HDG1-104"
v-if="realData.hasOwnProperty('HDG1-104') && realData['HDG1-104'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-104'].busType)">
</div>
<div class="HDG5-14"
v-if="realData.hasOwnProperty('HDG5-14') && realData['HDG5-14'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-14'].busType)">
</div>
<!-- 第三行 -->
<div class="HDG1-105"
v-if="realData.hasOwnProperty('HDG1-105') && realData['HDG1-105'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-105'].busType)">
</div>
<div class="HDG1-106"
v-if="realData.hasOwnProperty('HDG1-106') && realData['HDG1-106'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-106'].busType)">
</div>
<div class="HDG1-107"
v-if="realData.hasOwnProperty('HDG1-107') && realData['HDG1-107'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-107'].busType)">
</div>
<div class="HDG1-108"
v-if="realData.hasOwnProperty('HDG1-108') && realData['HDG1-108'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-108'].busType)">
</div>
<div class="HDG1-109"
v-if="realData.hasOwnProperty('HDG1-109') && realData['HDG1-109'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-109'].busType)">
</div>
<div class="HDG5-15"
v-if="realData.hasOwnProperty('HDG5-15') && realData['HDG5-15'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-15'].busType)">
</div>
<!-- 第四行 -->
<div class="HDG1-110"
v-if="realData.hasOwnProperty('HDG1-110') && realData['HDG1-110'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-110'].busType)">
</div>
<div class="HDG1-111"
v-if="realData.hasOwnProperty('HDG1-111') && realData['HDG1-111'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-111'].busType)">
</div>
<div class="HDG1-112"
v-if="realData.hasOwnProperty('HDG1-112') && realData['HDG1-112'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-112'].busType)">
</div>
<div class="HDG1-113"
v-if="realData.hasOwnProperty('HDG1-113') && realData['HDG1-113'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-113'].busType)">
</div>
<div class="HDG1-114"
v-if="realData.hasOwnProperty('HDG1-114') && realData['HDG1-114'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-114'].busType)">
</div>
<div class="HDG5-16"
v-if="realData.hasOwnProperty('HDG5-16') && realData['HDG5-16'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-16'].busType)">
</div>
<!-- 第五行 -->
<div class="HDG5-17"
v-if="realData.hasOwnProperty('HDG5-17') && realData['HDG5-17'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-17'].busType)">
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {}
return {
// 定时器
timer: '',
// 腻子工作区真实数据
realData: {},
// 车体在线数量
onlineNumber: null
}
},
methods: {
// 获取腻子工作区实时数据
getPuttyInformation () {
let params = {areaNo: '4'};
this.$fetch('area-controller/realTime-get', params).then(res => {
for (let item of res) {
if (item.code === '4') {
this.realData = _.cloneDeep(item.stationMap);
this.onlineNumber = _.cloneDeep(item.onlineNum);
break;
}
}
})
},
// 解析车体样式
resolveCarTypeStyle (type) {
if (type === 'OTHER') {
return 'car-out';
} else {
return '';
}
}
},
mounted () {
setTimeout(() => {
// 获取腻子工作区实时数据
this.getPuttyInformation();
this.timer = setInterval(() => {
// 获取腻子工作区实时数据
this.getPuttyInformation();
}, 20000);
}, 0)
},
beforeDestroy () {
clearInterval(this.timer);
}
}
</script>
<style lang="scss" scoped>
.page-pack {
height: 100%;
width: 100%;
.container {
width: 1556px;
height: 1037px;
background: url("../../../assets/images/LedCarouselAvi/putty_bg.png") no-repeat;
overflow: hidden;
position: relative;
// 在线车体数量
.online-number {
width: 270px;
height: 50px;
position: absolute;
right: 126px;
top: 43px;
text-align: center;
line-height: 50px;
font-size: 35px;
color: rgb(255,255,255);
}
// 显示区域
.view-pack {
width: 1337px;
height: 460px;
margin-top: 274px;
margin-left: 110px;
position: relative;
div {
width: 70px;
height: 40px;
position: absolute;
background: url("../../../assets/images/LedCarouselAvi/car.png");
background-position: center 0;
background-repeat: no-repeat;
background-size: 100% 100%;
}
// 第一行
.HDG1-95 {
top: 46px;
left: 27px;
}
.HDG1-96 {
top: 46px;
left: 269px;
}
.HDG1-97 {
top: 46px;
left: 452px;
}
.HDG1-98 {
top: 46px;
left: 633px;
}
.HDG1-99 {
top: 46px;
left: 778px;
}
.HDG5-13 {
top: 46px;
left: 1139px;
}
// 第二行
.HDG1-100 {
top: 137px;
left: 27px;
}
.HDG1-101 {
top: 137px;
left: 269px;
}
.HDG1-102 {
top: 137px;
left: 452px;
}
.HDG1-103 {
top: 137px;
left: 633px;
}
.HDG1-104 {
top: 137px;
left: 778px;
}
.HDG5-14 {
top: 137px;
left: 1139px;
}
// 第三行
.HDG1-105 {
top: 222px;
left: 60px;
}
.HDG1-106 {
top: 222px;
left: 213px;
}
.HDG1-107 {
top: 222px;
left: 434px;
}
.HDG1-108 {
top: 222px;
left: 583px;
}
.HDG1-109 {
top: 222px;
left: 778px;
}
.HDG5-15 {
top: 222px;
left: 1140px;
}
// 第四行
.HDG1-110 {
top: 307px;
left: 60px;
}
.HDG1-111 {
top: 307px;
left: 213px;
}
.HDG1-112 {
top: 307px;
left: 434px;
}
.HDG1-113 {
top: 307px;
left: 583px;
}
.HDG1-114 {
top: 307px;
left: 778px;
}
.HDG5-16 {
top: 307px;
left: 1140px;
}
// 第五行
.HDG5-17 {
top: 398px;
left: 1140px;
}
}
}
// 轻客车体样式
.car-out {
background: url('../../../assets/images/LedCarouselAvi/car_out.png') !important;
background-position: center 0 !important;
background-repeat: no-repeat !important;
background-size: 100% 100% !important;
}
}
</style>
\ No newline at end of file
......@@ -92,24 +92,67 @@
:class="resolveCarTypeStyle(realData['HDG1-82'].busType)">
</div>
<div class="HDG1-83"
>
v-if="realData.hasOwnProperty('HDG1-83') && realData['HDG1-83'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-83'].busType)">
</div>
<div class="HDG1-84"
v-if="realData.hasOwnProperty('HDG1-84') && realData['HDG1-84'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-84'].busType)">
</div>
<div class="HDG5-10"
v-if="realData.hasOwnProperty('HDG5-10') && realData['HDG5-10'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-10'].busType)">
</div>
<div class="HDG1-84"></div>
<div class="HDG5-10"></div>
<!-- 第五行 -->
<div class="HDG1-85"></div>
<div class="HDG1-86"></div>
<div class="HDG1-87"></div>
<div class="HDG1-88"></div>
<div class="HDG1-89"></div>
<div class="HDG5-11"></div>
<div class="HDG1-85"
v-if="realData.hasOwnProperty('HDG1-85') && realData['HDG1-85'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-85'].busType)">
</div>
<div class="HDG1-86"
v-if="realData.hasOwnProperty('HDG1-86') && realData['HDG1-86'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-86'].busType)">
</div>
<div class="HDG1-87"
v-if="realData.hasOwnProperty('HDG1-87') && realData['HDG1-87'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-87'].busType)">
</div>
<div class="HDG1-88"
v-if="realData.hasOwnProperty('HDG1-88') && realData['HDG1-88'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-88'].busType)">
</div>
<div class="HDG1-89"
v-if="realData.hasOwnProperty('HDG1-89') && realData['HDG1-89'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-89'].busType)">
</div>
<div class="HDG5-11"
v-if="realData.hasOwnProperty('HDG5-11') && realData['HDG5-11'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-11'].busType)">
</div>
<!-- 第六行 -->
<div class="HDG1-90"></div>
<div class="HDG1-91"></div>
<div class="HDG1-92"></div>
<div class="HDG1-93"></div>
<div class="HDG1-94"></div>
<div class="HDG5-12"></div>
<div class="HDG1-90"
v-if="realData.hasOwnProperty('HDG1-90') && realData['HDG1-90'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-90'].busType)">
</div>
<div class="HDG1-91"
v-if="realData.hasOwnProperty('HDG1-91') && realData['HDG1-91'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-91'].busType)">
</div>
<div class="HDG1-92"
v-if="realData.hasOwnProperty('HDG1-92') && realData['HDG1-92'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-92'].busType)">
</div>
<div class="HDG1-93"
v-if="realData.hasOwnProperty('HDG1-93') && realData['HDG1-93'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-93'].busType)">
</div>
<div class="HDG1-94"
v-if="realData.hasOwnProperty('HDG1-94') && realData['HDG1-94'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG1-94'].busType)">
</div>
<div class="HDG5-12"
v-if="realData.hasOwnProperty('HDG5-12') && realData['HDG5-12'].state !== 'FREE'"
:class="resolveCarTypeStyle(realData['HDG5-12'].busType)">
</div>
</div>
</div>
</div>
......@@ -354,10 +397,10 @@
}
// 轻客车体样式
.car-out {
background: url('../../../assets/images/LedCarouselAvi/car_out.png');
background-position: center 0;
background-repeat: no-repeat;
background-size: 100% 100%;
background: url('../../../assets/images/LedCarouselAvi/car_out.png') !important;
background-position: center 0 !important;
background-repeat: no-repeat !important;
background-size: 100% 100% !important;
}
}
</style>
\ No newline at end of file
......@@ -393,10 +393,10 @@
}
// 轻客车体样式
.car-out {
background: url('../../../assets/images/LedCarouselAvi/car_out.png');
background-position: center 0;
background-repeat: no-repeat;
background-size: 100% 100%;
background: url('../../../assets/images/LedCarouselAvi/car_out.png') !important;
background-position: center 0 !important;
background-repeat: no-repeat !important;
background-size: 100% 100% !important;
}
}
</style>
\ No newline at end of file
......@@ -119,6 +119,11 @@
id: 8,
label: '旋转辊床',
code: 'ROTARY_ROLLER_BED'
},
{
id: 9,
label: 'VOC',
code: 'VOC'
}
],
// 搜索组件关键字列表
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment