From 410593e3cbd8084cde43610bde5d2089b105980f Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期四, 28 十二月 2023 10:16:02 +0800
Subject: [PATCH] #
---
Monitor-APP/pages/home/home.vue | 896 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 651 insertions(+), 245 deletions(-)
diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue
index 92ce788..456d233 100644
--- a/Monitor-APP/pages/home/home.vue
+++ b/Monitor-APP/pages/home/home.vue
@@ -15,86 +15,52 @@
<view class="mian-item-box">
<y-box>
<view class="box-item">
- <text class="item-title">鑷姩鍖栫珛浣撲粨搴�</text>
- <text class="item-subTitle">Automatic Storageand Retrieval System</text>
- <text class="item-text" style="text-align: left;">鍒╃敤绔嬩綋浠撳簱璁惧鍙疄鐜颁粨搴撻珮灞傚悎鐞嗗寲銆佸瓨鍙栬嚜鍔ㄥ寲銆佹搷浣滅畝渚垮寲锛涜嚜鍔ㄥ寲绔嬩綋浠撳簱鏄綋鍓嶆妧鏈按骞宠緝楂樼殑褰㈠紡銆傝嚜鍔ㄥ寲绔嬩綋浠撳簱鐨勪富浣撶敱璐ф灦銆佸贩閬撳紡鍫嗗灈璧烽噸鏈恒�佸叆锛堝嚭锛夊簱宸ヤ綔鍙板拰鑷姩杩愯繘锛堝嚭锛夊強鎿嶄綔鎺у埗绯荤粺缁勬垚銆傝揣鏋舵槸閽㈢粨鏋勬垨閽㈢瓔娣峰嚌鍦熺粨鏋勭殑寤虹瓚鐗╂垨缁撴瀯浣擄紝璐ф灦鍐呮槸鏍囧噯灏哄鐨勮揣浣嶇┖闂达紝宸烽亾鍫嗗灈璧烽噸鏈虹┛琛屼簬璐ф灦涔嬮棿鐨勫贩閬撲腑锛屽畬鎴愬瓨銆佸彇璐х殑宸ヤ綔銆傜鐞嗕笂閲囩敤璁$畻鏈哄強鏉″舰鐮佹妧鏈��</text>
+ <text class="item-title">绌挎杞﹁繍琛屾暟鎹�</text>
+ <text class="item-subTitle">Shuttle operation data</text>
+ <view style="width: 100%;height: 28vh;">
+ <qiun-data-charts type="column" :chartData="chartsDataLine2" :opts="opts1" />
+ </view>
</view>
<view class="box-item">
- <text class="item-title">浠撳簱鏁版嵁</text>
- <text class="item-subTitle">warehouse data</text>
+ <text class="item-title">鎻愬崌鏈鸿繍琛屾暟鎹�</text>
+ <text class="item-subTitle">Hoist operating data</text>
<view class="img-box">
-
- <view class="item-img">
- <image src="../../static/a1.png" mode="aspectFit"></image>
- <view class="flex-col" style="width: calc(100% - 5vw);">
- <view class="flex-row" style="position: relative;" >
- <view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.xDistance}}</view>
- <view style="position: absolute;bottom: 0;left: 10vw;">KM</view>
- </view>
- <view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌璺濈(鍗冪背)</view>
- </view>
+ <view style="width: 100%;height: 25vh;">
+ <qiun-data-charts type="column" :chartData="chartsDataPie3" :opts="opts" />
</view>
-
- <view class="item-img">
- <image src="../../static/b1.png" mode="aspectFit"></image>
- <view class="flex-col" style="width: calc(100% - 5vw);">
- <view class="flex-row" style="position: relative;" >
- <view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.yDistance}}</view>
- <view style="position: absolute;bottom: 0;left: 10vw;">KM</view>
- </view>
- <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷璺濈(鍗冪背)</view>
- </view>
- </view>
-
- <view class="item-img">
- <image src="../../static/c1.png" mode="aspectFit"></image>
- <view class="flex-col" style="width: calc(100% - 5vw);">
- <view class="flex-row" style="position: relative;" >
- <view style="-width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.xDuration}}</view>
- <view style="position: absolute;bottom: 0;left: 10vw;">H</view>
- </view>
- <view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌鏃堕暱(灏忔椂)</view>
- </view>
- </view>
-
- <view class="item-img">
- <image src="../../static/d1.png" mode="aspectFit"></image>
- <view class="flex-col" style="width: calc(100% - 5vw);">
- <view class="flex-row" style="position: relative;" >
- <view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.yDuration}}</view>
- <view style="position: absolute;bottom: 0;left: 10vw;">H</view>
- </view>
- <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷鏃堕暱(灏忔椂)</view>
- </view>
- </view>
-
</view>
</view>
<view class="box-item">
<view class="flex-row" style="width: 100%;">
<!-- 宸︿晶 -->
- <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;">
+ <view class="flex-col"
+ style="align-items: flex-start;justify-content: flex-start;">
<text class="item-title">搴撲綅浣跨敤鐜�</text>
<text class="item-subTitle">EQUIPMENT USAGE THIS MONTH</text>
</view>
<!-- 鍙充晶 -->
<view style="margin-left: auto;">
<!-- 鐧惧垎姣� -->
- <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" >
+ <view class="flex-col"
+ style="align-items: flex-end;justify-content: flex-end;">
<!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" -->
<text class="item-title">{{baseInfo.usedPr}}%</text>
<text class="item-subTitle">鍚屾瘮涓婃湀 + 5%</text>
</view>
</view>
</view>
-
- <view class="flex-col" style="width: 100%;align-items: flex-start;position: relative;font-size: 1vw">
+
+ <view class="flex-col"
+ style="width: 100%;align-items: flex-start;position: relative;font-size: 1vw">
<!-- 杩涘害鏉� -->
- <view class="flex-row" style="width: 100%;position: relative;margin-top: 5%;">
+ <view class="flex-row" style="width: 100%;position: relative;">
<view class="progressBar" style="width: 80%;height: 2vw;">
<view class="progress" :style="'width:'+ baseInfo.usedPr + '%'"></view>
</view>
- <view style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;">{{baseInfo.used}}</view>
+ <view
+ style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;">
+ {{baseInfo.used}}
+ </view>
</view>
</view>
</view>
@@ -110,14 +76,16 @@
<view class="box-item">
<view class="flex-row" style="width: 100%;">
<!-- 宸︿晶 -->
- <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;">
+ <view class="flex-col"
+ style="align-items: flex-start;justify-content: flex-start;">
<text class="item-title">鍏ュ嚭搴撶粺璁�</text>
<text class="item-subTitle">ORDER STATISTICS</text>
</view>
<!-- 鍙充晶 -->
<view style="margin-left: auto;">
<!-- 鐧惧垎姣� -->
- <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" >
+ <view class="flex-col"
+ style="align-items: flex-end;justify-content: flex-end;">
<!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" -->
<text class="item-title">31</text>
<text class="item-subTitle">浠婃棩璁㈠崟鏁�</text>
@@ -125,31 +93,34 @@
</view>
</view>
<view class="charts-box">
- <qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/>
+ <qiun-data-charts type="line" :chartData="chartsDataLine1"
+ :opts="opts3" />
</view>
</view>
</y-box>
</view>
-
-
+
+
<!-- null -->
<view style="height: 2%;"></view>
-
-
+
+
<view style="height: 43%;">
<y-box>
<view class="box-item">
<view class="flex-row" style="width: 100%;">
<!-- 宸︿晶 -->
- <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;">
+ <view class="flex-col"
+ style="align-items: flex-start;justify-content: flex-start;">
<text class="item-title">搴撳瓨绫诲瀷</text>
<text class="item-subTitle">INCOME DATE</text>
</view>
<!-- 鍙充晶 -->
<view style="margin-left: auto;">
<!-- 鐧惧垎姣� -->
- <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" >
- <text class="item-title">浠婂ぉ</text>
+ <view class="flex-col"
+ style="align-items: flex-end;justify-content: flex-end;">
+ <text class="item-title">浠婂ぉ</text>
<text class="item-subTitle">Today</text>
</view>
</view>
@@ -157,35 +128,46 @@
<view class="flex-row" style="width: 100%;">
<!-- 宸� -->
<view class="charts-box-ring">
- <qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}" :eopts="ringOpts" :chartData="chartsDataPie2" :echartsH5="true" :echartsApp="true"/>
+ <qiun-data-charts type="pie" :opts="opts4"
+ :chartData="chartsDataPie2" />
</view>
<!-- 鍙� -->
<view>
<view class="flex-row sub-info">
<image src="../../static/g1.png" mode="aspectFit"></image>
<view style="width: 8vw;height: 4vw;line-height: 4vw;">鍦ㄥ簱</view>
- <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.stockCount}}</view>
+ <view
+ style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">
+ {{baseInfo.stockCount}}
+ </view>
</view>
<view class="flex-row sub-info" style="margin-top: 2vh;">
<image src="../../static/f1.png" mode="aspectFit"></image>
<view style="width: 8vw;height: 4vw;line-height: 4vw;">绌哄簱</view>
- <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.emptyCount}}</view>
+ <view
+ style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">
+ {{baseInfo.emptyCount}}
+ </view>
</view>
<view class="flex-row sub-info" style="margin-top: 2vh;">
<image src="../../static/e1.png" mode="aspectFit"></image>
<view style="width: 8vw;height: 4vw;line-height: 4vw;">閿佸畾</view>
- <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.noneCount}}</view>
+ <view
+ style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">
+ {{baseInfo.noneCount}}
+ </view>
</view>
</view>
</view>
</view>
-
+
</y-box>
</view>
<view style="height: 2%;"></view>
<view style="height: 18%;">
<y-box>
- <view class="flex-col" style="width: 100%;height: 100%;font-size: 4vh;justify-content: center;letter-spacing: 1vh;">
+ <view class="flex-col"
+ style="width: 100%;height: 100%;font-size: 4vh;justify-content: center;letter-spacing: 1vh;">
鑷姩浠撳簱WCS鐩戞帶骞冲彴
</view>
</y-box>
@@ -194,7 +176,7 @@
</view>
</view>
</view>
-
+
</view>
</uni-transition>
<!-- 鍏ㄦ澘/鎷f枡淇℃伅 -->
@@ -214,12 +196,18 @@
<!-- 鏂囨湰瀹瑰櫒 -->
<view class="text-content">
<!-- head -->
- <view class="swiper-head">
- <view style="width: 20%;">鐩爣绔欙細{{infoText.staNo}}</view>
- <view style="width: 30%;">鍟嗗搧缂栧彿</view>
- <view style="width: 20%;">鍟嗗搧鍚嶇О</view>
- <view style="width: 20%;">瑙勬牸</view>
- <view style="width: 10%;">鏁伴噺</view>
+ <!-- <view class="swiper-head">
+ <view style="flex: 1;">浣滀笟鏁伴噺锛歿{infoText.barcode}}</view>
+ <view style="flex: 1;">鍓╀綑鏁伴噺</view>
+ </view> -->
+ <view class="swiper-head" v-show="swiperList.length > 0">
+ <view style="flex: 2;">鎵樼洏鐮侊細{{infoText.barcode}} <br /> 璁㈠崟鍙�</view>
+ <view style="flex: 2;">{{infoText.title2}} <br />鍟嗗搧缂栧彿</view>
+ <view style="flex: 2;">绠辩爜</view>
+ <view style="flex: 2;">鍟嗗搧鍚嶇О</view>
+ <view style="flex: 5;">瑙勬牸</view>
+ <view style="flex: 1;">浣滀笟鏁伴噺</view>
+ <view style="flex: 1;">鍓╀綑鏁伴噺</view>
</view>
<!-- body -->
<view class="swiper-body">
@@ -227,15 +215,19 @@
circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶�
vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚�
display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� -->
- <swiper class="swiper-body-main" vertical="true"
- display-multiple-items="8"
- circular="true" :autoplay="true" :interval="3000" :duration="1000">
- <swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i">
- <view style="width: 20%;">No:{{i+1}}</view>
- <view style="width: 30%;">{{item.matNo}}</view>
- <view style="width: 20%;">{{item.maknx}}</view>
- <view style="width: 20%;">{{item.specs}}</view>
- <view style="width: 10%;">{{item.count}}</view>
+ <swiper class="swiper-body-main" vertical="true" display-multiple-items="15"
+ circular="true" :autoplay="true" :interval="3000" :duration="1000">
+ <swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i"
+ :style="item.color">
+ <view style="flex: 2;word-break: break-all;">
+ {{item.orderNo ? item.orderNo : '--'}}
+ </view>
+ <view style="flex: 2;">{{item.matNo}}</view>
+ <view style="flex: 2;">{{item.containerCode}}</view>
+ <view style="flex: 2;">{{item.maknx}}</view>
+ <view style="flex: 5;">{{item.specs}}</view>
+ <view style="flex: 1;">{{item.count}}</view>
+ <view style="flex: 1;">{{item.total}}</view>
</swiper-item>
</swiper>
</view>
@@ -256,7 +248,7 @@
<view class="button-left"></view>
<view class="button-right"></view>
<!-- 涓讳綋 -->
- <view class="info-main" >
+ <view class="info-main">
<view class="info-box">
<y-box>
<view class="info-box-text">
@@ -267,7 +259,7 @@
</view>
</view>
</uni-transition>
-
+
<!-- 鑷畾涔夊脊鍑哄眰 -->
<view class="eject-mask" v-show="ejectShow">
<view class="eject">
@@ -313,9 +305,25 @@
</view>
</view>
</view>
+ <!-- 灏忚溅寮傚父 -->
+ <view class="board">
+ <uni-transition ref="ani" custom-class="transition" :mode-class="newModeClass" :show="errorBoardShow">
+ <view class="error-board">
+ <text v-for="item in carInfo">{{item}}</text>
+ </view>
+ </uni-transition>
+ </view>
+
<view style="color: #FFF;position: fixed;bottom: 10px;left: 10px;" v-show="timeOut">
杩炴帴瓒呮椂: {{times}} s
</view>
+
+ <!-- 鐗堟湰鍙� -->
+ <!-- #ifdef APP-PLUS -->
+ <view class="version">
+ 褰撳墠鐗堟湰:{{version}}
+ </view>
+ <!-- #endif -->
</view>
</template>
<!-- {"msg":"鎿嶄綔鎴愬姛","code":200,"data":[{"title":"鍏ㄦ澘鍑哄簱","workNo":7460,"staNo":110,"sourceStaNo":null,"locNo":null,"sourceLocNo":"0807102","matDtos":[{"matNo":"50460834","maknx":"200x60妗岄潰","count":26.0}],"emptyMk":false,"ioType":101}]} -->
@@ -325,9 +333,13 @@
export default {
data() {
return {
+ version: '1231313',
+ newModeClass: 'slide-top',
+ errorBoardShow: false,
+ carInfo: [],
series: [],
homeViewShow: true,
- infoViewShow: false ,
+ infoViewShow: false,
errorInfoViewShow: false,
homeMode: [],
infoMode: [],
@@ -348,6 +360,14 @@
"categories": [],
"series": []
},
+ "Line2": {
+ "categories": [],
+ "series": []
+ },
+ "Line3": {
+ "categories": [],
+ "series": []
+ },
"Pie": {
"series": [{
"data": []
@@ -356,9 +376,11 @@
},
duration: 1000,
calendar: '',
- ringOpts:{},
+ ringOpts: {},
chartsDataLine1: {},
+ chartsDataLine2: {},
chartsDataPie2: {},
+ chartsDataPie3: {},
fontSize: '',
height: '',
showCharts: false,
@@ -373,7 +395,8 @@
infoType: 0,
text: '',
infoText: {
- title: '',
+ title: '鑷姩浠撳簱WCS鐩戞帶骞冲彴',
+ title2: '',
staNo: "",
matnr: "",
maknx: "",
@@ -393,7 +416,86 @@
timeOut: false,
times: 0,
currDate: '',
- textred: 'textred'
+ textred: 'textred',
+ opts1: {
+ fontSize: 8,
+ dataLabel: true,
+ fontColor: "#ffffff",
+ legend: {
+ show: true,
+ fontColor: "#ffffff",
+ },
+ xAxis: {
+ disableGrid: true,
+ fontColor: "#ffffff",
+ fontSize: 8,
+ axisLineColor: "#ffffff",
+ },
+ yAxis: {
+ gridColor: "#ffffff",
+ },
+ extra: {
+ column: {
+ type: "group",
+ width: 30,
+ activeBgColor: "#000000",
+ activeBgOpacity: 0.08,
+ labelPosition: "center"
+ }
+ }
+ },
+ opts: {
+ color: ["#73C0DE", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
+ "#ea7ccc"
+ ],
+ fontColor: "#ffffff",
+ fontSize: 8,
+ padding: [15, 15, 0, 5],
+ enableScroll: false,
+ legend: {},
+ xAxis: {
+ disableGrid: true,
+ fontColor: "#ffffff",
+ fontSize: 8,
+ axisLineColor: "#ffffff",
+ },
+ yAxis: {
+ data: [{
+ min: 0
+ }]
+ },
+ extra: {
+ column: {
+ type: "stack",
+ width: 50,
+ activeBgColor: "#000000",
+ activeBgOpacity: 0.08,
+ labelPosition: "center"
+ }
+ },
+ },
+ opts3: {
+ fontSize: 8,
+ fontColor: "#ffffff",
+ xAxis: {
+ fontColor: "#ffffff",
+ fontSize: 8,
+ }
+ },
+ opts4: {
+ fontColor: "#ffffff",
+ fontSize: 8,
+ legend: {
+ show: true,
+ position: "bottom",
+ fontColor: "#FFFFFF",
+ },
+ extra: {
+ pie: {
+ borderColor: "rgba(0,0,0,0)",
+ }
+ }
+ }
}
},
onShow() {
@@ -414,45 +516,180 @@
that.baseLedId = BaseLedId
that.basePort = BasePort
that.baseCrnId = BaseCrnId
- // this.getUrl()
- },
- onLoad() {
- setInterval(()=>{
+
+
+ this.getVersion()
+ this.getDate2()
+ setTimeout(() => {
+ this.getShuttle()
this.getServerData()
this.initlineChart()
this.initPieChart()
this.getOther()
+ setTimeout(() => {
+ this.getShuttle()
+ this.getServerData()
+ this.initlineChart()
+ this.initPieChart()
+ this.getOther()
+ }, 2000)
+ }, 1000)
+ },
+ onLoad() {
+ setInterval(() => {
+ this.getServerData()
this.getDate2()
- // this.getInfo()
- // this.getError()
- this.getInfo2()
- this.getError2()
this.getUrl()
+ this.getInfo()
+ this.getError()
+ this.getCarInfo()
+ // this.getCarInfoTest()
+ // this.getInfo2()
+ // this.getError2()
this.controller()
- },1000)
+ }, 1000)
+
+ // setInterval(()=>{
+ // this.changeErrorShow()
+ // },5000)
+ setInterval(() => {
+ this.getShuttle()
+ this.getServerData()
+ this.initlineChart()
+ this.initPieChart()
+ this.getOther()
+ }, 600000)
+
+ // #ifdef APP-PLUS
+ setTimeout(()=>{
+ plus.runtime.restart()
+ },28800000)
+ // #endif
+
+
},
methods: {
+ getVersion() {
+ let that = this
+ plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
+ that.version = wgtinfo.version //瀹㈡埛绔増鏈彿
+ })
+ },
+ getShuttleTest() {
+ let res = ycqdata.infoData2.data
+ this.shuttleInfoModel(res)
+ },
+ getShuttle() {
+ let that = this
+ uni.request({
+ url: that.commonUrl + "/monitor/deviceRunStatistic",
+ method: "GET",
+ success(result) {
+ var res = result.data
+ that.shuttleInfoModel(res)
+ }
+ })
+
+ },
+ shuttleInfoModel(res) {
+ if (res.code == 200 && res.data != '') {
+ let shuttleSeriesData = []
+ let shuttleCategories = []
+ let shuttleSeries = []
+ let shuttleData = {
+ name: "绌挎杞﹁繍琛屾鏁�",
+ textColor: "#FFFFFF",
+ data: null
+ }
+ for (let k of res.data.shuttle) {
+ shuttleSeriesData.push(k.count)
+ shuttleCategories.push(k.shuttle_no)
+ }
+ shuttleData.data = shuttleSeriesData
+ shuttleSeries.push(shuttleData)
+ this.chartsData.Line2.categories = shuttleCategories
+ this.chartsData.Line2.series = shuttleSeries
+ let liftSeriesData = []
+ let liftCategories = []
+ let liftSeries = []
+ let liftData = {
+ name: "鎻愬崌鏈鸿繍琛屾鏁�",
+ textColor: "#FFFFFF",
+ data: null
+ }
+ for (let k of res.data.lift) {
+ liftSeriesData.push(k.count)
+ liftCategories.push(k.lift_no)
+ }
+ liftData.data = liftSeriesData
+ liftSeries.push(liftData)
+ this.chartsData.Line3.categories = liftCategories
+ this.chartsData.Line3.series = liftSeries
+ } else {
+
+ }
+ },
+ changeErrorShow() {
+ this.errorBoardShow = !this.errorBoardShow
+ },
+ getCarInfoTest() {
+ let that = this
+ var result = ycqdata.carError
+ var res = result.data
+ that.carInfoModel(res)
+ },
+ getCarInfo() {
+ let that = this
+ uni.request({
+ url: that.commonUrl + "/monitor/device/error",
+ method: "GET",
+ success(result) {
+ var res = result.data
+ that.carInfoModel(res)
+ }
+ })
+ },
+ carInfoModel(res) {
+ let infoList = []
+
+ if (res.code == 200 && res.data != '') {
+ let str = ''
+ for (let k of res.data) {
+ str = `${k.deviceNo}鍙�${k.device}-${k.errorMsg}`
+ infoList.push(str)
+ }
+ this.carInfo = infoList
+ this.errorBoardShow = true
+ } else {
+ this.errorBoardShow = false
+ }
+ },
timeOuts() {
console.log(this.times);
},
getUrl() {
- this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + "/" +this.baseUrl
+ this.commonUrl = this.baseHttp + this.baseIP + ':' + this.basePort + "/" + this.baseUrl
},
getServerData() {
- this.chartsDataLine1=JSON.parse(JSON.stringify(this.chartsData.Line))
- this.chartsDataPie2=JSON.parse(JSON.stringify(this.chartsData.Pie))
+ this.chartsDataLine1 = JSON.parse(JSON.stringify(this.chartsData.Line))
+ this.chartsDataPie2 = JSON.parse(JSON.stringify(this.chartsData.Pie))
+
+ // this.chartsDataLine1 = JSON.parse(JSON.stringify(demodata.Line))
+ // this.chartsDataPie2 = JSON.parse(JSON.stringify(demodata.Pie))
+ this.chartsDataLine2 = JSON.parse(JSON.stringify(this.chartsData.Line2))
+ this.chartsDataPie3 = JSON.parse(JSON.stringify(this.chartsData.Line3))
},
// 鑾峰彇閿欒淇℃伅
getInfo2() {
let that = this
var result = ycqdata.dataInfo2
- var res = result.data
+ var res = result.data
that.infoModel(res)
},
- getError2 () {
+ getError2() {
let that = this
let result = ycqdata.dataError2
- var res = result.data
+ var res = result.data
if (res.data && res.data !== "") {
var errorInfo = res.data
if (that.infoType == 1) {
@@ -475,28 +712,32 @@
let that = this
uni.request({
url: that.commonUrl + "/monitor/led",
- method:"GET",
- data: {ledId:that.baseLedId},
+ method: "GET",
+ data: {
+ ledId: that.baseLedId
+ },
success(result) {
- var res = result.data
+ var res = result.data
that.infoModel(res)
}
})
-
+
},
getError() {
let that = this
uni.request({
url: that.commonUrl + "/monitor/led/error",
- data: {ledId:that.baseLedId},
- method:"GET",
+ data: {
+ ledId: that.baseLedId
+ },
+ method: "GET",
success(result) {
- var res = result.data
+ var res = result.data
if (res.data && res.data !== "") {
var errorInfo = res.data
if (that.infoType == 1) {
that.infoType = 3
- that.infoText.title = "鍏朵粬淇℃伅"
+ that.infoText.title = "鍏朵粬淇℃伅"
// that.infoText.title = "寮傚父"
that.infoText.error = errorInfo
return
@@ -509,11 +750,12 @@
if (that.infoType == 1) {
return
}
+ that.infoText.title = '鑷姩浠撳簱WCS鐩戞帶骞冲彴'
that.infoType = 0
}
}
})
-
+
},
infoModel(res) {
let that = this
@@ -525,110 +767,176 @@
that.infoType = 1
if (res.data[0].ioType === 101) {
that.infoText.title = '鍏ㄦ澘鍑哄簱'
- } else if(res.data[0].ioType === 103) {
- that.infoText.title = '妫�鏂欏嚭搴�'
- } else if(res.data[0].ioType === 107) {
+ that.infoText.title2 = '鍏ㄦ澘鍑哄簱'
+ } else if (res.data[0].ioType === 103) {
+ that.infoText.title = '鎷f枡鍑哄簱'
+ that.infoText.title2 = '鎷f枡鍑哄簱'
+ } else if (res.data[0].ioType === 107) {
that.infoText.title = '鐩樼偣鍑哄簱'
+ that.infoText.title2 = '鐩樼偣鍑哄簱'
+ }
+ res.data[0].matDtos
+ for (let k in res.data[0].matDtos) {
+
+ if (res.data[0].matDtos[k].count == 0) {
+ res.data[0].matDtos[k]['color'] = 'color: #df741c'
+ }
}
that.infoText.staNo = res.data[0].staNo
+ that.infoText.barcode = res.data[0].barcode
that.swiperList = res.data[0].matDtos
- // that.infoText.matnr = res.data[0].matDtos[0].matnr
- // that.infoText.specs = res.data[0].matDtos[0].specs
- // that.infoText.maknx = res.data[0].matDtos[0].maknx
- // that.infoText.count = res.data[0].matDtos[0].count
} else {
if (that.infoType == 2 || that.infoType == 3) {
return;
}
+ that.infoText.title = '鑷姩浠撳簱WCS鐩戞帶骞冲彴'
that.infoType = 0
}
},
- // 鎺у埗鍣�
- controller() {
- switch(this.infoType) {
- // 鏈変俊鎭� 浣� 娌℃湁閿欒淇℃伅
- case 0:
- if (this.errorInfoViewShow) {
- this.errorInfoViewShow = false
- this.errorInfoMode = ['fade', 'slide-bottom']
- setTimeout(()=>{
- this.homeViewShow = true
- this.homeMode = ['fade', 'slide-bottom']
- },1000)
- } else if (this.infoViewShow) {
- this.infoViewShow = false
- this.infoMode = ['fade', 'slide-bottom']
- setTimeout(()=>{
- this.homeViewShow = true
- this.homeMode = ['fade', 'slide-bottom']
- },1000)
- } else if (this.errorInfoViewShow && this.infoViewShow) {
- this.errorInfoViewShow = false
- this.infoViewShow = false
- this.infoMode = ['fade', 'slide-bottom']
- setTimeout(()=>{
- this.homeViewShow = true
- this.homeMode = ['fade', 'slide-bottom']
- },1000)
- }
- return;
- case 1:
+ controller2() {
+ switch (this.infoType) {
+ case 1:
if (this.homeViewShow) {
this.homeViewShow = false
this.homeMode = ['fade', 'slide-bottom']
- setTimeout(()=>{
+ setTimeout(() => {
this.infoViewShow = true
this.infoMode = ['fade', 'slide-bottom']
- },1000)
+ }, 1000)
} else if (this.errorInfoViewShow) {
this.errorInfoViewShow = false
this.errorInfoMode = ['fade', 'slide-bottom']
- setTimeout(()=>{
+ setTimeout(() => {
this.infoViewShow = true
this.infoMode = ['fade', 'slide-bottom']
- },1000)
+ }, 1000)
}
-
return;
// 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
case 2:
if (this.homeViewShow) {
this.homeViewShow = false
this.homeMode = ['fade', 'slide-bottom']
- setTimeout(()=>{
+ setTimeout(() => {
this.errorInfoViewShow = true
this.errorInfoMode = ['fade', 'slide-bottom']
- },1000)
+ }, 1000)
} else if (this.infoViewShow) {
this.infoViewShow = false
this.infoMode = ['fade', 'slide-bottom']
- setTimeout(()=>{
+ setTimeout(() => {
this.errorInfoViewShow = true
this.errorInfoMode = ['fade', 'slide-bottom']
- },1000)
+ }, 1000)
}
return;
- // 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
+ // 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
case 3:
if (this.homeViewShow) {
this.homeViewShow = false
this.homeMode = ['fade', 'slide-bottom']
- setTimeout(()=>{
+ setTimeout(() => {
this.errorInfoViewShow = true
this.errorInfoMode = ['fade', 'slide-bottom']
- },1000)
+ }, 1000)
} else if (this.infoViewShow) {
this.infoViewShow = false
this.infoMode = ['fade', 'slide-bottom']
- setTimeout(()=>{
+ setTimeout(() => {
this.errorInfoViewShow = true
this.errorInfoMode = ['fade', 'slide-bottom']
- },1000)
+ }, 1000)
}
return;
-
+
}
-
+ },
+ // 鎺у埗鍣�
+ controller() {
+ switch (this.infoType) {
+ // 鏈変俊鎭� 浣� 娌℃湁閿欒淇℃伅
+ case 0:
+ if (this.errorInfoViewShow) {
+ this.errorInfoViewShow = false
+ this.errorInfoMode = ['fade', 'slide-bottom']
+ setTimeout(() => {
+ this.homeViewShow = true
+ this.homeMode = ['fade', 'slide-bottom']
+ }, 1000)
+ } else if (this.infoViewShow) {
+ this.infoViewShow = false
+ this.infoMode = ['fade', 'slide-bottom']
+ setTimeout(() => {
+ this.homeViewShow = true
+ this.homeMode = ['fade', 'slide-bottom']
+ }, 1000)
+ } else if (this.errorInfoViewShow && this.infoViewShow) {
+ this.errorInfoViewShow = false
+ this.infoViewShow = false
+ this.infoMode = ['fade', 'slide-bottom']
+ setTimeout(() => {
+ this.homeViewShow = true
+ this.homeMode = ['fade', 'slide-bottom']
+ }, 1000)
+ }
+ return;
+ case 1:
+ if (this.homeViewShow) {
+ this.homeViewShow = false
+ this.homeMode = ['fade', 'slide-bottom']
+ setTimeout(() => {
+ this.infoViewShow = true
+ this.infoMode = ['fade', 'slide-bottom']
+ }, 1000)
+ } else if (this.errorInfoViewShow) {
+ this.errorInfoViewShow = false
+ this.errorInfoMode = ['fade', 'slide-bottom']
+ setTimeout(() => {
+ this.infoViewShow = true
+ this.infoMode = ['fade', 'slide-bottom']
+ }, 1000)
+ }
+
+ return;
+ // 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
+ case 2:
+ if (this.homeViewShow) {
+ this.homeViewShow = false
+ this.homeMode = ['fade', 'slide-bottom']
+ setTimeout(() => {
+ this.errorInfoViewShow = true
+ this.errorInfoMode = ['fade', 'slide-bottom']
+ }, 1000)
+ } else if (this.infoViewShow) {
+ this.infoViewShow = false
+ this.infoMode = ['fade', 'slide-bottom']
+ setTimeout(() => {
+ this.errorInfoViewShow = true
+ this.errorInfoMode = ['fade', 'slide-bottom']
+ }, 1000)
+ }
+ return;
+ // 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
+ case 3:
+ if (this.homeViewShow) {
+ this.homeViewShow = false
+ this.homeMode = ['fade', 'slide-bottom']
+ setTimeout(() => {
+ this.errorInfoViewShow = true
+ this.errorInfoMode = ['fade', 'slide-bottom']
+ }, 1000)
+ } else if (this.infoViewShow) {
+ this.infoViewShow = false
+ this.infoMode = ['fade', 'slide-bottom']
+ setTimeout(() => {
+ this.errorInfoViewShow = true
+ this.errorInfoMode = ['fade', 'slide-bottom']
+ }, 1000)
+ }
+ return;
+
+ }
+
},
// 涓诲睆骞�
handle(type) {
@@ -646,7 +954,7 @@
this.modeClass = type
},
// 閰嶇疆
- ejected () {
+ ejected() {
this.ejectShow = true
},
// 鍙栨秷閰嶇疆
@@ -657,58 +965,72 @@
ejectConfirm() {
uni.setStorageSync('BaseIp', this.baseIP);
uni.setStorageSync('BaseLedId', this.baseLedId);
- uni.setStorageSync('BasePort',this.basePort);
- uni.setStorageSync('BaseCrnId',this.baseCrnId);
- uni.setStorageSync('UPROJ',this.baseUrl);
+ uni.setStorageSync('BasePort', this.basePort);
+ uni.setStorageSync('BaseCrnId', this.baseCrnId);
+ uni.setStorageSync('UPROJ', this.baseUrl);
this.getUrl()
this.ejectShow = false
},
// 鏃ュ巻 鏈嶅姟鍣�
getDate2() {
let that = this
- if(that.commonUrl == 'undefined') {
+ if (that.commonUrl == 'undefined') {
return
}
uni.request({
url: that.commonUrl + "/monitor/date",
- method:"GET",
+ method: "GET",
success(result) {
+ // console.log(result);
var res = result.data.data
- that.calendar = res.year + "骞�" + res.month + "鏈�" + res.day + "鏃� " + res.hour + ":" + res.minute + ":" + res.second + " " + res.week
+ that.calendar = res.year + "骞�" + res.month + "鏈�" + res.day + "鏃� " + res.hour + ":" + res
+ .minute + ":" + res.second + " " + res.week
that.currDate = res.year + "/" + res.month + "/" + res.day
},
- fail(res) {
- console.log(res);
- }
-
+ fail(res) {}
+
})
},
-
// 鏃ュ巻
getDate() {
var dt = new Date();
- var year,month,day,hours,minutes,seconds,weeks
+ var year, month, day, hours, minutes, seconds, weeks
year = dt.getFullYear();
- month = (dt.getMonth()+1) < 10 ? '0'+ (dt.getMonth()+1) : (dt.getMonth()+1);
- day = dt.getDate() < 10 ? '0'+dt.getDate() : dt.getDate();
+ month = (dt.getMonth() + 1) < 10 ? '0' + (dt.getMonth() + 1) : (dt.getMonth() + 1);
+ day = dt.getDate() < 10 ? '0' + dt.getDate() : dt.getDate();
hours = dt.getHours() < 10 ? '0' + dt.getHours() : dt.getHours();
minutes = dt.getMinutes() < 10 ? '0' + dt.getMinutes() : dt.getMinutes();
- seconds = dt.getSeconds() < 10 ? '0' + dt.getSeconds() : dt.getSeconds();
- weeks = dt.getDay();
+ seconds = dt.getSeconds() < 10 ? '0' + dt.getSeconds() : dt.getSeconds();
+ weeks = dt.getDay();
switch (weeks) {
- case 0: weeks = "鏄熸湡鏃�"; break;
- case 1: weeks = "鏄熸湡涓�"; break;
- case 2: weeks = "鏄熸湡浜�"; break;
- case 3: weeks = "鏄熸湡涓�"; break;
- case 4: weeks = "鏄熸湡鍥�"; break;
- case 5: weeks = "鏄熸湡浜�"; break;
- default : weeks = "鏄熸湡鍏�";
+ case 0:
+ weeks = "鏄熸湡鏃�";
+ break;
+ case 1:
+ weeks = "鏄熸湡涓�";
+ break;
+ case 2:
+ weeks = "鏄熸湡浜�";
+ break;
+ case 3:
+ weeks = "鏄熸湡涓�";
+ break;
+ case 4:
+ weeks = "鏄熸湡鍥�";
+ break;
+ case 5:
+ weeks = "鏄熸湡浜�";
+ break;
+ default:
+ weeks = "鏄熸湡鍏�";
}
this.calendar = year + "骞�" + month + "鏈�" + day + "鏃� " + hours + ":" + minutes + ":" + seconds + " " + weeks
},
getDateFormat(value) {
- var date = new Date(this.currDate);// 鑾峰彇褰撳墠鏃堕棿
- date.setDate(date.getDate() + value);// 璁剧疆澶╂暟 -1 澶�
+ console.log(this.currDate);
+ var date = new Date(this.currDate); // 鑾峰彇褰撳墠鏃堕棿
+ console.log(date);
+ date.setDate(date.getDate() + value); // 璁剧疆澶╂暟 -1 澶�
var m = date.getMonth() + 1
var d = date.getDate()
var newDate = m + '-' + d
@@ -717,19 +1039,25 @@
/*************** 鎶樼嚎鍥� *****************************************************************************************************/
initlineChart() {
let that = this
- if(that.commonUrl == 'undefined') {
+ if (that.commonUrl == 'undefined') {
return
}
uni.request({
url: that.commonUrl + "/monitor/line/charts",
- method:'GET',
+ method: 'GET',
success(result) {
var res = result.data
if (res.code === 200) {
that.chartsData.Line.categories = [
- that.getDateFormat(-11),that.getDateFormat(-10),that.getDateFormat(-9),that.getDateFormat(-8),
- that.getDateFormat(-7),that.getDateFormat(-6),that.getDateFormat(-5),that.getDateFormat(-4),
- that.getDateFormat(-3),that.getDateFormat(-2),that.getDateFormat(-1),that.getDateFormat(0),]
+ that.getDateFormat(-11), that.getDateFormat(-10), that.getDateFormat(-9), that
+ .getDateFormat(-8),
+ that.getDateFormat(-7), that.getDateFormat(-6), that.getDateFormat(-5), that
+ .getDateFormat(-4),
+ that.getDateFormat(-3), that.getDateFormat(-2), that.getDateFormat(-1), that
+ .getDateFormat(0),
+ ]
+
+ console.log(that.chartsData.Line.categories);
that.chartsData.Line.series = res.data.rows
}
}
@@ -738,12 +1066,12 @@
/*************** 楗煎浘 *****************************************************************************************************/
initPieChart() {
let that = this
- if(that.commonUrl == 'undefined') {
+ if (that.commonUrl == 'undefined') {
return
}
uni.request({
url: that.commonUrl + "/monitor/loc/rep",
- method:'GET',
+ method: 'GET',
success(result) {
var res = result.data
if (res.code === 200) {
@@ -759,13 +1087,13 @@
},
getOther() {
let that = this
- if(that.commonUrl == 'undefined') {
+ if (that.commonUrl == 'undefined') {
return
}
uni.request({
url: that.commonUrl + "/monitor/other",
data: {
- crnId: that.baseCrnId,
+ crnId: that.baseCrnId,
ledId: that.baseLedId,
},
success(result) {
@@ -776,40 +1104,51 @@
that.baseInfo.xDuration = res.data.xDuration
that.baseInfo.yDuration = res.data.yDuration
} else if (res.code === 403) {
-
+
} else {
-
+
}
}
})
},
}
-
+
}
</script>
<style>
/* @import url("../../static/css/common.css"); */
@import url("home.css");
+ /* 鐗堟湰鍙� */
+ .version {
+ min-width: 100rpx;
+ position: fixed;
+ right: 20rpx;
+ bottom: 10rpx;
+ font-size: .1rem;
+ color: #909399;
+ }
/* 鍒� */
.flex-col {
display: flex;
flex-direction: column;
}
+
/* 琛� */
.flex-row {
display: flex;
flex-direction: row;
}
-
- .container{
+
+ .container {
width: 100vw;
min-height: 100vh;
background-color: #00163E;
color: #fff;
text-align: center;
-
+
}
+
/* 涓昏鍥� */
.home-view {
width: 100vw;
@@ -817,32 +1156,37 @@
background-image: url(../../static/background.png);
background-size: 100vw 100vh;
}
+
.home-right {
width: 50vw;
height: 89vh;
/* background-color: cadetblue; */
}
+
.home-right-box {
width: 98%;
height: 98%;
}
+
.head {
width: 100vw;
height: 11vh;
- font-size:4vw;
+ font-size: 4vw;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
transform: scale(0.7);
}
+
.time-tools {
position: absolute;
right: 2%;
top: 2%;
- font-size:1vw;
+ font-size: 1vw;
transform: scale(0.8);
}
+
.button-left {
position: absolute;
background-image: url(../../static/right.png);
@@ -853,6 +1197,7 @@
height: 8.5%;
transform: scaleX(-1);
}
+
.button-right {
position: absolute;
background-image: url(../../static/right.png);
@@ -862,6 +1207,7 @@
width: 13.5%;
height: 8.5%;
}
+
.img-box {
width: 100%;
/* background-color: #666666; */
@@ -871,6 +1217,7 @@
flex-wrap: wrap;
font-size: 1vw;
}
+
.item-img {
width: 50%;
margin-top: 5%;
@@ -880,58 +1227,66 @@
justify-content: flex-start;
align-items: flex-start;
}
- .distance {
-
- }
+
+ .distance {}
+
.item-img image {
height: 5vw;
width: 5vw;
}
+
.progressBar {
- margin-top: 9%;
+ margin-top: 5%;
/* width: 100%; */
height: 20%;
background-color: #233751;
border-radius: 5vw;
}
+
.progress {
/* width: 90%; */
height: 100%;
background-color: #FF5722;
border-radius: 5vw;
}
+
.charts-box {
- width: 80%;
- height: 24vh;
- margin-left: 10%;
- }
+ width: 80%;
+ height: 24vh;
+ margin-left: 10%;
+ }
+
.charts-box-ring {
width: 50%;
- height: 24vh;
+ height: 30vh;
/* background-color: #00ffff; */
}
+
.sub-info {
font-size: 1.5vw;
}
+
.sub-info image {
width: 3.5vw;
height: 3.5vw;
}
- .red{
+
+ .red {
color: red
}
-
-
-
-
+
+
+
+
/* 鍏辩敤 */
.main {
width: 100vw;
height: 88vh;
margin-top: 1vh;
display: flex;
-
+
}
+
.mian-item {
width: 50%;
height: 100%;
@@ -940,33 +1295,38 @@
align-items: center;
justify-content: center;
}
+
.mian-item-box {
width: 98%;
height: 98%;
}
+
.box-item {
width: 100%;
- margin-top: 4%;
+ margin-top: 2%;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
}
+
.item-title {
- font-size:1.5vw;
+ font-size: 1.5vw;
font-weight: 700;
}
+
.item-subTitle {
- font-size:0.5vw;
+ font-size: 0.5vw;
text-indent: 0em;
}
+
.item-text {
font-size: 1vw;
text-indent: 2em;
letter-spacing: 1px;
line-height: 3vh;
}
-
+
/* 鍏ㄦ澘/鎷f枡淇℃伅 */
.info-view {
width: 100vw;
@@ -974,6 +1334,7 @@
background-image: url(../../static/background.png);
background-size: 100vw 100vh;
}
+
.info-main {
width: 100vw;
height: 88vh;
@@ -981,10 +1342,12 @@
justify-content: center;
align-items: center;
}
+
.info-box {
width: 98%;
height: 98%;
}
+
/* 寮傚父淇℃伅 */
.error-info-view {
width: 100vw;
@@ -992,7 +1355,7 @@
background-image: url(../../static/background.png);
background-size: 100vw 100vh;
}
-
+
/* 寮瑰嚭:閰嶇疆鍖哄煙 */
.eject-mask {
width: 100%;
@@ -1004,30 +1367,37 @@
z-index: 999;
display: flex;
align-items: center;
- justify-content: center;
+ justify-content: center;
}
- .eject{
+
+ .eject {
position: relative;
width: 40vw;
height: 40vh;
background-color: #fff;
border-radius: 2rem;
}
+
.eject-title {
width: 100%;
height: 5vh;
line-height: 6vh;
font-size: 3vh;
font-weight: 700;
- color: #606266;
+ color: #606266;
text-align: center;
}
+
.eject-input {
margin-top: 2vh;
height: 25vh;
+
/* background-color: #00163E; */
- ::-webkit-scrollbar{display:none}
+ ::-webkit-scrollbar {
+ display: none
+ }
}
+
.item {
display: flex;
align-items: center;
@@ -1035,13 +1405,15 @@
font-size: 1.5vw;
color: #363636;
}
+
.desc {
display: inline-block;
width: 40%;
text-align: right;
color: #606266;
-
+
}
+
.input {
display: flex;
align-items: center;
@@ -1053,13 +1425,15 @@
margin-right: 20%;
text-align: start;
}
+
.eject-input input {
width: 100%;
height: 3vh;
font-size: 1vw;
-
-
+
+
}
+
.eject-button {
display: flex;
align-items: center;
@@ -1070,6 +1444,7 @@
width: 100%;
border-top: 1px solid #ccc;
}
+
.button-item {
width: 50%;
height: 100%;
@@ -1078,21 +1453,52 @@
text-align: center;
color: #909399;
}
+
.button-item:last-child {
color: #67C23A;
-
+
border-left: 1px solid #ccc;
}
+
.info-box-text {
- width: 100%;height: 100%;
- display: flex;flex-direction: column;align-items: center;justify-content: center;
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
}
+
.info-box-text-item {
- height: 20%;font-size: 8vh;
+ height: 20%;
+ font-size: 8vh;
justify-content: center;
white-space: pre-line;
}
- .textred{
+
+ .textred {
color: red;
}
+
+ .board {
+ position: absolute;
+ top: 0;
+ right: 0;
+ /* background-color: #aa00ff; */
+ /* height: 13vh; */
+ width: 100%;
+ /* box-shadow: rgba(0,0,0,.35) 0px 5px 15px; */
+ }
+
+ .error-board {
+ margin: .2rem;
+ height: 11vh;
+ background-color: #F56C6C;
+ box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
+ border-radius: .2rem;
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ font-size: 2rem;
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.1