From aa6515758876b7df1eec75892713432b022fdc56 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期六, 16 十二月 2023 19:59:06 +0800
Subject: [PATCH] #
---
Monitor-APP/pages/home/home.vue | 1419 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 1,298 insertions(+), 121 deletions(-)
diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue
index 098cfa0..07787b7 100644
--- a/Monitor-APP/pages/home/home.vue
+++ b/Monitor-APP/pages/home/home.vue
@@ -1,54 +1,68 @@
<template>
<view class="container">
- <!-- 涓昏鍥� -->
- <uni-transition :duration="duration" :mode-class="modeClass" :styles="homeView" :show="homeViewShow">
+ <uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow">
<view class="home-view">
<view class="head">
<text>鑷姩浠撳簱WCS鐩戞帶骞冲彴</text>
</view>
<!-- 鏃ュ巻 -->
<view class="time-tools">{{calendar}}</view>
- <view class="button-left"></view>
- <view class="button-right"></view>
- <!-- 涓讳綋 -->
+ <view class="button-left" @click="ejected()"></view>
+ <view class="button-right" @click="ejected()"></view>
+ <!-- 涓昏鍥� -->
<view class="main">
<view class="mian-item">
<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">鍒╃敤绔嬩綋浠撳簱璁惧鍙疄鐜颁粨搴撻珮灞傚悎鐞嗗寲銆佸瓨鍙栬嚜鍔ㄥ寲銆佹搷浣滅畝渚垮寲锛涜嚜鍔ㄥ寲绔嬩綋浠撳簱鏄綋鍓嶆妧鏈按骞宠緝楂樼殑褰㈠紡銆傝嚜鍔ㄥ寲绔嬩綋浠撳簱鐨勪富浣撶敱璐ф灦銆佸贩閬撳紡鍫嗗灈璧烽噸鏈恒�佸叆锛堝嚭锛夊簱宸ヤ綔鍙板拰鑷姩杩愯繘锛堝嚭锛夊強鎿嶄綔鎺у埗绯荤粺缁勬垚銆傝揣鏋舵槸閽㈢粨鏋勬垨閽㈢瓔娣峰嚌鍦熺粨鏋勭殑寤虹瓚鐗╂垨缁撴瀯浣擄紝璐ф灦鍐呮槸鏍囧噯灏哄鐨勮揣浣嶇┖闂达紝宸烽亾鍫嗗灈璧烽噸鏈虹┛琛屼簬璐ф灦涔嬮棿鐨勫贩閬撲腑锛屽畬鎴愬瓨銆佸彇璐х殑宸ヤ綔銆傜鐞嗕笂閲囩敤璁$畻鏈哄強鏉″舰鐮佹妧鏈��</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>绱璧拌璺濈(绫�)</view>
- </view>
- <view class="item-img">
- <image src="../../static/a1.png" mode="aspectFit"></image>
-
- <view>绱璧拌璺濈(绫�)</view>
- </view>
- <view class="item-img">
- <image src="../../static/a1.png" mode="aspectFit"></image>
-
- <view>绱璧拌璺濈(绫�)</view>
- </view>
- <view class="item-img">
- <image src="../../static/a1.png" mode="aspectFit"></image>
-
- <view>绱璧拌璺濈(绫�)</view>
+ <view style="width: 100%;height: 25vh;">
+ <qiun-data-charts type="column" :chartData="chartsDataPie3" :opts="opts" />
</view>
</view>
</view>
<view class="box-item">
- <text class="item-title">搴撲綅浣跨敤鐜�</text>
- <text class="item-subTitle">EQUIPMENT USAGE THIS MONTH</text>
+ <view class="flex-row" style="width: 100%;">
+ <!-- 宸︿晶 -->
+ <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;">
+ <!-- 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-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>
+ </view>
</view>
</y-box>
</view>
@@ -56,56 +70,424 @@
<view class="mian-item">
<view class="mian-item-box">
<view style="width: 100%;height: 100%;">
- <view style="height: 38%;">
- <y-box></y-box>
+ <view style="height: 35%;">
+ <!-- 鎶樼嚎鍥� -->
+ <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;">
+ <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;">
+ <!-- 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>
+ </view>
+ </view>
+ </view>
+ <view class="charts-box">
+ <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;">
+ <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>
+ <text class="item-subTitle">Today</text>
+ </view>
+ </view>
+ </view>
+ <view class="flex-row" style="width: 100%;">
+ <!-- 宸� -->
+ <view class="charts-box-ring">
+ <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>
+ <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>
+ <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>
+ </view>
+ </view>
+ </view>
+
+ </y-box>
</view>
<view style="height: 2%;"></view>
- <view style="height: 38%;">
- <y-box></y-box>
- </view>
- <view style="height: 2%;"></view>
- <view style="height: 20%;">
- <y-box></y-box>
+ <view style="height: 18%;">
+ <y-box>
+ <view class="flex-col"
+ style="width: 100%;height: 100%;font-size: 4vh;justify-content: center;letter-spacing: 1vh;">
+ 鑷姩浠撳簱WCS鐩戞帶骞冲彴
+ </view>
+ </y-box>
</view>
</view>
</view>
</view>
</view>
+
</view>
</uni-transition>
<!-- 鍏ㄦ澘/鎷f枡淇℃伅 -->
- <!-- <view class="info">
-
- </view> -->
+ <uni-transition :duration="duration" :mode-class="infoMode" :show="infoViewShow">
+ <view class="home-view">
+ <view class="head">
+ <text>{{infoText.title}}</text>
+ </view>
+ <!-- 鏃ュ巻 -->
+ <view class="time-tools">{{calendar}}</view>
+ <view class="button-left" @click="ejected()"></view>
+ <view class="button-right" @click="ejected()"></view>
+ <!-- 涓讳綋 -->
+ <view class="info-main">
+ <view class="info-box">
+ <y-box>
+ <!-- 鏂囨湰瀹瑰櫒 -->
+ <view class="text-content">
+ <!-- head -->
+ <!-- <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">
+ <!-- swiper 涓�浜涜鏄�
+ circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶�
+ vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚�
+ display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� -->
+ <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>
+ </view>
+ </y-box>
+ </view>
+ </view>
+ </view>
+ </uni-transition>
<!-- 寮傚父淇℃伅 -->
- <!-- <view class="error-info"></view> -->
+ <uni-transition :duration="duration" :mode-class="errorInfoMode" :show="errorInfoViewShow">
+ <view class="error-info-view">
+ <view class="head">
+ <text>{{infoText.title}}</text>
+ </view>
+ <!-- 鏃ュ巻 -->
+ <view class="time-tools">{{calendar}}</view>
+ <view class="button-left"></view>
+ <view class="button-right"></view>
+ <!-- 涓讳綋 -->
+ <view class="info-main">
+ <view class="info-box">
+ <y-box>
+ <view class="info-box-text">
+ <view class="flex-col info-box-text-item">{{infoText.error}}</view>
+ </view>
+ </y-box>
+ </view>
+ </view>
+ </view>
+ </uni-transition>
+
+ <!-- 鑷畾涔夊脊鍑哄眰 -->
+ <view class="eject-mask" v-show="ejectShow">
+ <view class="eject">
+ <!-- 寮瑰嚭title -->
+ <view class="eject-title">淇敼 / 閰嶇疆</view>
+ <!-- input -->
+ <scroll-view scroll-y class="eject-input">
+ <view class="item">
+ <view class="desc">ip锛�</view>
+ <view class="input">
+ <input type="text" v-model="baseIP">
+ </view>
+ </view>
+ <view class="item">
+ <view class="desc">port锛�</view>
+ <view class="input">
+ <input type="text" v-model="basePort">
+ </view>
+ </view>
+ <view class="item">
+ <view class="desc">ledId锛�</view>
+ <view class="input">
+ <input type="text" v-model="baseLedId">
+ </view>
+ </view>
+ <view class="item">
+ <view class="desc">CrnId锛�</view>
+ <view class="input">
+ <input type="text" v-model="baseCrnId">
+ </view>
+ </view>
+ <view class="item">
+ <view class="desc">Url锛�</view>
+ <view class="input">
+ <input type="text" v-model="baseUrl">
+ </view>
+ </view>
+ </scroll-view>
+ <!-- button -->
+ <view class="eject-button">
+ <view class="button-item" @click="ejectClose">鍙� 娑�</view>
+ <view class="button-item" @click="ejectConfirm">纭� 璁�</view>
+ </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>
</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}]} -->
<script>
+ import demodata from '@/mockdata/demodata.json';
+ import ycqdata from '@/pages/index/data.json';
export default {
data() {
return {
+ newModeClass: 'slide-top',
+ errorBoardShow: false,
+ carInfo: [],
+ series: [],
homeViewShow: true,
- modeClass: ['fade', 'slide-top'],
- homeView: {
- justifyContent: 'center',
- alignItems: 'center',
- width: '100vw',
- height: '100vh',
- borderRadius: '5px',
- textAlign: 'center',
- backgroundColor: '#4cd964',
- boxShadow: '0 0 5px 1px rgba(0,0,0,0.2)'
+ infoViewShow: false,
+ errorInfoViewShow: false,
+ homeMode: [],
+ infoMode: [],
+ errorInfoMode: [],
+ baseInfo: {
+ xDistance: 1,
+ yDistance: 2,
+ xDuration: 3,
+ yDuration: 4,
+ usedPr: 50,
+ used: 3537,
+ stockCount: '',
+ emptyCount: '',
+ noneCount: '',
+ },
+ chartsData: {
+ "Line": {
+ "categories": [],
+ "series": []
+ },
+ "Line2": {
+ "categories": [],
+ "series": []
+ },
+ "Line3": {
+ "categories": [],
+ "series": []
+ },
+ "Pie": {
+ "series": [{
+ "data": []
+ }]
+ },
},
duration: 1000,
calendar: '',
- xDistance: '',
- yDistance: '',
- xDuration: '',
- yDuration: '',
+ ringOpts: {},
+ chartsDataLine1: {},
+ chartsDataLine2: {},
+ chartsDataPie2: {},
+ chartsDataPie3: {},
fontSize: '',
- height: ''
+ height: '',
+ showCharts: false,
+ ejectShow: false,
+ baseIP: '',
+ basePort: '',
+ baseLedId: '',
+ baseCrnId: '',
+ baseUrl: '',
+ info: null,
+ error: null,
+ infoType: 0,
+ text: '',
+ infoText: {
+ title: '鑷姩浠撳簱WCS鐩戞帶骞冲彴',
+ title2: '',
+ staNo: "",
+ matnr: "",
+ maknx: "",
+ specs: "",
+ count: "",
+ error: "",
+ barcode: "",
+ orderNo: '',
+ batch: '',
+ doneOfTray: '',
+ totalOfTray: '',
+ doneOfUnit: '',
+ totalOfUnit: '',
+ ctnNo: '1'
+ },
+ swiperList: [],
+ timeOut: false,
+ times: 0,
+ currDate: '',
+ 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() {
@@ -114,59 +496,631 @@
plus.navigator.setFullscreen(true)
// #endif
},
+ mounted() {
+ let that = this
+ const BaseIP = uni.getStorageSync('BaseIp');
+ const BaseLedId = uni.getStorageSync('BaseLedId');
+ const BasePort = uni.getStorageSync('BasePort');
+ const BaseCrnId = uni.getStorageSync('BaseCrnId');
+ const PROJ = uni.getStorageSync('UPROJ');
+ that.baseUrl = PROJ
+ that.baseIP = BaseIP
+ that.baseLedId = BaseLedId
+ that.basePort = BasePort
+ that.baseCrnId = BaseCrnId
+
+
+
+ this.getDate2()
+ setTimeout(() => {
+ setTimeout(() => {
+ this.getShuttleTest()
+ this.getServerData()
+ this.initlineChart()
+ this.initPieChart()
+ this.getOther()
+ setTimeout(() => {
+ this.getShuttleTest()
+ this.getServerData()
+ this.initlineChart()
+ this.initPieChart()
+ this.getOther()
+ }, 3000)
+ }, 1000)
+ }, 1000)
+ },
onLoad() {
- this.getDate()
- setInterval(()=>{
- this.getDate()
- },1000)
- setInterval(()=>{
- // this.handle(['fade', 'slide-top'])
- },4000)
+ setInterval(() => {
+ this.getServerData()
+ this.getDate2()
+ this.getUrl()
+ this.getInfo()
+ this.getError()
+ this.getCarInfo()
+ // this.getCarInfoTest()
+ // this.getInfo2()
+ // this.getError2()
+ this.controller()
+ }, 1000)
+
+ // setInterval(()=>{
+ // this.changeErrorShow()
+ // },5000)
+ setInterval(() => {
+ this.getShuttleTest()
+ this.getServerData()
+ this.initlineChart()
+ this.initPieChart()
+ this.getOther()
+ }, 600000)
},
methods: {
+ 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
+ },
+ 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(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
+ that.infoModel(res)
+ },
+ getError2() {
+ let that = this
+ let result = ycqdata.dataError2
+ 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.error = errorInfo
+ return
+ }
+ that.infoType = 2
+ that.infoText.title = "寮傚父"
+ that.infoText.error = errorInfo
+ } else {
+ if (that.infoType == 1) {
+ return
+ }
+ that.infoType = 0
+ }
+ },
+ getInfo() {
+ let that = this
+ uni.request({
+ url: that.commonUrl + "/monitor/led",
+ method: "GET",
+ data: {
+ ledId: that.baseLedId
+ },
+ success(result) {
+ 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",
+ success(result) {
+ 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.error = errorInfo
+ return
+ }
+ that.infoType = 2
+ that.infoText.title = "鍏朵粬淇℃伅"
+ // that.infoText.title = "寮傚父"
+ that.infoText.error = errorInfo
+ } else {
+ if (that.infoType == 1) {
+ return
+ }
+ that.infoText.title = '鑷姩浠撳簱WCS鐩戞帶骞冲彴'
+ that.infoType = 0
+ }
+ }
+ })
+
+ },
+ infoModel(res) {
+ let that = this
+ if (res.data && res.data !== "") {
+ if (that.infoType == 2 || that.infoType == 3) {
+ return;
+ }
+ // infoType1:鍙湁鎷f枡绛変俊鎭�
+ that.infoType = 1
+ if (res.data[0].ioType === 101) {
+ that.infoText.title = '鍏ㄦ澘鍑哄簱'
+ 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
+ } else {
+ if (that.infoType == 2 || that.infoType == 3) {
+ return;
+ }
+ that.infoText.title = '鑷姩浠撳簱WCS鐩戞帶骞冲彴'
+ that.infoType = 0
+ }
+ },
+ controller2() {
+ switch (this.infoType) {
+ 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;
+
+ }
+ },
+ // 鎺у埗鍣�
+ 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) {
this.homeViewShow = !this.homeViewShow
this.modeClass = type
},
+ // 鎷f枡
+ handle1(type) {
+ this.infoViewShow = !this.infoViewShow
+ this.modeClass = type
+ },
+ // 寮傚父
+ handle2(type) {
+ this.errorInfoViewShow = !this.errorInfoViewShow
+ this.modeClass = type
+ },
+ // 閰嶇疆
+ ejected() {
+ this.ejectShow = true
+ },
+ // 鍙栨秷閰嶇疆
+ ejectClose() {
+ this.ejectShow = false
+ },
+ // 纭閰嶇疆
+ 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);
+ this.getUrl()
+ this.ejectShow = false
+ },
+ // 鏃ュ巻 鏈嶅姟鍣�
+ getDate2() {
+ let that = this
+ if (that.commonUrl == 'undefined') {
+ return
+ }
+ uni.request({
+ url: that.commonUrl + "/monitor/date",
+ 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.currDate = res.year + "/" + res.month + "/" + res.day
+ },
+ 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) {
+ 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
+ return newDate
+ },
+ /*************** 鎶樼嚎鍥� *****************************************************************************************************/
+ initlineChart() {
+ let that = this
+ if (that.commonUrl == 'undefined') {
+ return
+ }
+ uni.request({
+ url: that.commonUrl + "/monitor/line/charts",
+ 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),
+ ]
+
+ console.log(that.chartsData.Line.categories);
+ that.chartsData.Line.series = res.data.rows
+ }
+ }
+ })
+ },
+ /*************** 楗煎浘 *****************************************************************************************************/
+ initPieChart() {
+ let that = this
+ if (that.commonUrl == 'undefined') {
+ return
+ }
+ uni.request({
+ url: that.commonUrl + "/monitor/loc/rep",
+ method: 'GET',
+ success(result) {
+ var res = result.data
+ if (res.code === 200) {
+ that.chartsData.Pie.series[0].data = res.data.pie
+ that.baseInfo.stockCount = res.data.stockCunt
+ that.baseInfo.emptyCount = res.data.emptyCount
+ that.baseInfo.noneCount = res.data.noneCount
+ that.baseInfo.used = res.data.used
+ that.baseInfo.usedPr = res.data.usedPr
+ }
+ }
+ })
+ },
+ getOther() {
+ let that = this
+ if (that.commonUrl == 'undefined') {
+ return
+ }
+ uni.request({
+ url: that.commonUrl + "/monitor/other",
+ data: {
+ crnId: that.baseCrnId,
+ ledId: that.baseLedId,
+ },
+ success(result) {
+ var res = result.data
+ if (res.code === 200) {
+ that.baseInfo.xDistance = res.data.xDistance
+ that.baseInfo.yDistance = res.data.yDistance
+ 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");
- .container{
- width: 100vw;
- min-height: 100vh;
- background-color: blue;
+ /* @import url("../../static/css/common.css"); */
+ @import url("home.css");
+
+ /* 鍒� */
+ .flex-col {
display: flex;
flex-direction: column;
- align-items: center;
- color: #fff;
-
}
+
+ /* 琛� */
+ .flex-row {
+ display: flex;
+ flex-direction: row;
+ }
+
+ .container {
+ width: 100vw;
+ min-height: 100vh;
+ background-color: #00163E;
+ color: #fff;
+ text-align: center;
+
+ }
+
/* 涓昏鍥� */
.home-view {
width: 100vw;
@@ -174,32 +1128,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);
@@ -210,6 +1169,7 @@
height: 8.5%;
transform: scaleX(-1);
}
+
.button-right {
position: absolute;
background-image: url(../../static/right.png);
@@ -219,17 +1179,86 @@
width: 13.5%;
height: 8.5%;
}
-
-
-
+
+ .img-box {
+ width: 100%;
+ /* background-color: #666666; */
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ flex-wrap: wrap;
+ font-size: 1vw;
+ }
+
+ .item-img {
+ width: 50%;
+ margin-top: 5%;
+ display: flex;
+ flex-direction: row;
+ /* background-color: #00ffff; */
+ justify-content: flex-start;
+ align-items: flex-start;
+ }
+
+ .distance {}
+
+ .item-img image {
+ height: 5vw;
+ width: 5vw;
+ }
+
+ .progressBar {
+ 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%;
+ }
+
+ .charts-box-ring {
+ width: 50%;
+ height: 30vh;
+ /* background-color: #00ffff; */
+ }
+
+ .sub-info {
+ font-size: 1.5vw;
+ }
+
+ .sub-info image {
+ width: 3.5vw;
+ height: 3.5vw;
+ }
+
+ .red {
+ color: red
+ }
+
+
+
+
/* 鍏辩敤 */
.main {
width: 100vw;
height: 88vh;
margin-top: 1vh;
display: flex;
-
+
}
+
.mian-item {
width: 50%;
height: 100%;
@@ -238,10 +1267,12 @@
align-items: center;
justify-content: center;
}
+
.mian-item-box {
width: 98%;
height: 98%;
}
+
.box-item {
width: 100%;
margin-top: 2%;
@@ -250,50 +1281,196 @@
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;
- text-indent: 1em;
+ font-size: 0.5vw;
+ text-indent: 0em;
}
+
.item-text {
font-size: 1vw;
text-indent: 2em;
letter-spacing: 1px;
+ line-height: 3vh;
}
- .img-box {
- width: 100%;
- background-color: #666666;
- display: flex;
- flex-direction: row;
- justify-content: flex-start;
- flex-wrap: wrap;
- }
- .item-img {
- width: 50%;
- margin-top: 3%;
- background-color: #00ffff;
- display: flex;
- flex-direction: row;
- justify-content: flex-start;
- align-items: flex-start;
- }
- .item-img image {
- height: 5vw;
- width: 5vw;
- }
+
/* 鍏ㄦ澘/鎷f枡淇℃伅 */
- .info {
+ .info-view {
width: 100vw;
min-height: 100vh;
- background-color: #666666;
+ background-image: url(../../static/background.png);
+ background-size: 100vw 100vh;
}
+
+ .info-main {
+ width: 100vw;
+ height: 88vh;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+
+ .info-box {
+ width: 98%;
+ height: 98%;
+ }
+
/* 寮傚父淇℃伅 */
- .error-info {
+ .error-info-view {
width: 100vw;
min-height: 100vh;
- background-color: #00ffff;
+ background-image: url(../../static/background.png);
+ background-size: 100vw 100vh;
+ }
+
+ /* 寮瑰嚭:閰嶇疆鍖哄煙 */
+ .eject-mask {
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0, 0, 0, 0.5);
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 999;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .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;
+ text-align: center;
+ }
+
+ .eject-input {
+ margin-top: 2vh;
+ height: 25vh;
+
+ /* background-color: #00163E; */
+ ::-webkit-scrollbar {
+ display: none
+ }
+ }
+
+ .item {
+ display: flex;
+ align-items: center;
+ margin: 1vh 0 0 0;
+ font-size: 1.5vw;
+ color: #363636;
+ }
+
+ .desc {
+ display: inline-block;
+ width: 40%;
+ text-align: right;
+ color: #606266;
+
+ }
+
+ .input {
+ display: flex;
+ align-items: center;
+ padding-left: 5px;
+ padding-right: 5px;
+ width: 100%;
+ height: 3vh;
+ border: 0.1vh solid #cfd4dc;
+ margin-right: 20%;
+ text-align: start;
+ }
+
+ .eject-input input {
+ width: 100%;
+ height: 3vh;
+ font-size: 1vw;
+
+
+ }
+
+ .eject-button {
+ display: flex;
+ align-items: center;
+ position: absolute;
+ bottom: 0;
+ height: 6vh;
+ line-height: 6vh;
+ width: 100%;
+ border-top: 1px solid #ccc;
+ }
+
+ .button-item {
+ width: 50%;
+ height: 100%;
+ font-size: 1.5vw;
+ font-weight: bold;
+ 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;
+ }
+
+ .info-box-text-item {
+ height: 20%;
+ font-size: 8vh;
+ justify-content: center;
+ white-space: pre-line;
+ }
+
+ .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