<template>
|
<view class="container">
|
<!-- 跳动信息板 -->
|
<view class="floor-screen" :class="floorMove" >
|
<!-- 头部 -->
|
<view class="head">
|
<text @click="port()">自动仓库WCS监控平台</text>
|
<view class="time-tools">{{year}}-{{month}}-{{day}} {{hours}}:{{minutes}}:{{seconds}} {{week}}</view>
|
<view class="button-left" @click="ejected()"></view>
|
<view class="button-right" @click="ledId()"></view>
|
</view>
|
<view class="main">
|
<view class="main-sides" style="width: 100%;">
|
<view class="box" style="height: 90%;">
|
<view class="box-border box-border1"></view>
|
<view class="box-border box-border2"></view>
|
<view class="box-border box-border3"></view>
|
<view class="box-border box-border4"></view>
|
<view style="width: 100%;height: 100%;" v-show="!errorShow">
|
<!-- 分有无订单划分两部分 -->
|
<!-- 左侧信息 -->
|
<view style="" :class="width">
|
<!-- 全板出库 -->
|
<view class="box-items">{{title}}</view>
|
<!-- 目标站 -->
|
<view class="box-items">{{staNo}}</view>
|
<!-- 商品编号 -->
|
<view class="box-items">{{matnr}}</view>
|
<!-- 商品名称 -->
|
<view class="box-items">{{maknx}}</view>
|
<!-- 出库数量 -->
|
<view class="box-items">{{count}}</view>
|
</view>
|
<view style="width: 50%;height: 100%;display: inline-block;float: left;" v-show="orderShow">
|
<!-- 订单号 -->
|
<view class="box-items">{{orderNo}}</view>
|
<!-- 已出托盘数 -->
|
<view class="box-items">{{doneOfTray}}</view>
|
<!-- 托盘总数量 -->
|
<view class="box-items">{{totalOfTray}}</view>
|
<!-- 已出箱数 -->
|
<view class="box-items">{{doneOfUnit}}</view>
|
<!-- 总箱数 -->
|
<view class="box-items">{{totalOfUnit}}</view>
|
</view>
|
</view>
|
<view style="width: 100%;height: 100%;" v-show="errorShow">
|
<view style="line-height: 700px;font-size: 175rpx;">{{errorMsg}}</view>
|
</view>
|
|
<!-- 全板出库 -->
|
<!-- <view style="width: 10%;height: 100%;display:inline-block;float: left;text-align: center;padding-top: 180px;">
|
<text>{{title}}</text>
|
</view> -->
|
<!-- 滚动区域 -->
|
<!-- <view style="width: 80%;height: 100%;display: inline-block;"> -->
|
<!--显示order订单编号 -->
|
<!-- <text v-show="orderShow" style="display: block;font-size: 140rpx;" >{{orderNo}}</text>
|
<swiper :class="swiper" circular="true" vertical="true" display-multiple-items="6" :autoplay="autoplay" :interval="interval" :duration="duration">
|
<swiper-item v-for="(item,index) in matList" :key="index">
|
<view style="font-size: 160rpx;">{{item}}</view>
|
</swiper-item>
|
</swiper>
|
</view> -->
|
<!-- 站台号 -->
|
<!-- <view style="width: 10%;height: 100%;display: inline-block;float: right;padding-top: 180px;">
|
<text>{{staNo}}</text>
|
</view> -->
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="top-screen" :class="topMove">
|
<view class="head">
|
<text @click="port()">自动仓库WCS监控平台</text>
|
<view class="time-tools">{{year}}-{{month}}-{{day}} {{hours}}:{{minutes}}:{{seconds}} {{week}}</view>
|
<view class="button-left" @click="ejected()"></view>
|
<view class="button-right" @click="ledId()"></view>
|
</view>
|
<view class="main">
|
<view class="main-sides">
|
<view class="box box-lg">
|
<view class="box-border box-border1"></view>
|
<view class="box-border box-border2"></view>
|
<view class="box-border box-border3"></view>
|
<view class="box-border box-border4"></view>
|
<view class="box-item introduce">
|
<h3>自动化立体仓库</h3>
|
<p class="english">Automatic Storageand Retrieval System</p>
|
<p class="introduce-content"> 利用立体仓库设备可实现仓库高层合理化、存取自动化、操作简便化;自动化立体仓库是当前技术水平较高的形式。
|
自动化立体仓库的主体由货架、巷道式堆垛起重机、入(出)库工作台和自动运进(出)及操作控制系统组成。
|
货架是钢结构或钢筋混凝土结构的建筑物或结构体,货架内是标准尺寸的货位空间,巷道堆垛起重机穿行于货架之间的巷道中,完成存、取货的工作。管理上采用计算机及条形码技术。</p>
|
</view>
|
<view class="box-item charge-info">
|
<h3>仓库数据</h3>
|
<p class="english">warehouse data</p>
|
<view class="charge-info-item">
|
<image src="../../static/a1.png" mode="aspectFit"></image>
|
<view>
|
<text class="count">{{xDistance}}</text>
|
<text class="unit">m</text>
|
</view>
|
<view>累计走行距离(米)</view>
|
</view>
|
<view class="charge-info-item">
|
<image src="../../static/b1.png" mode="aspectFit"></image>
|
<view>
|
<text class="count">{{yDistance}}</text>
|
<text class="unit">m</text>
|
</view>
|
<view>累计升降距离(米)</view>
|
</view>
|
<view class="charge-info-item">
|
<image src="../../static/c1.png" mode="aspectFit"></image>
|
<view>
|
<text class="count">{{xDuration}}</text>
|
<text class="unit">m</text>
|
</view>
|
<view>累计走行时长(秒)</view>
|
</view>
|
<view class="charge-info-item">
|
<image src="../../static/d1.png" mode="aspectFit"></image>
|
<view>
|
<text class="count">{{yDuration}}</text>
|
<text class="unit">m</text>
|
</view>
|
<view>累计升降时长(秒)</view>
|
</view>
|
</view>
|
<view class="box-item use-info">
|
<view class="use-left">
|
<h3>库位使用率</h3>
|
<p class="english">EQUIPMENT USAGE THIS MONTH</p>
|
</view>
|
<view class="use-right">
|
<h3>{{usedPr}}%</h3>
|
<p class="english">同比上月 + 5%</p>
|
</view>
|
<view class="use-main">
|
<view class="left">
|
<view class="progressBar">
|
<view class="progress" :style="'width:'+ usedPr + '%'"></view>
|
</view>
|
<!-- <progress percent="20"activeColor="#FF5722" backgroundColor="#233751" stroke-width="30"></progress> -->
|
</view>
|
<view class="right">
|
{{used}}
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="main-sides">
|
<view class="box box-tp">
|
<view class="box-border box-border1"></view>
|
<view class="box-border box-border2"></view>
|
<view class="box-border box-border3"></view>
|
<view class="box-border box-border4"></view>
|
<view class="box-item right-item">
|
<view class="sub-left">
|
<h3>入出库统计</h3>
|
<p class="english">ORDER STATISTICS</p>
|
</view>
|
<view class="sub-right">
|
<h3>31</h3>
|
<p class="english">今日订单数</p>
|
</view>
|
<view class="sub-main">
|
<view class="charts-box">
|
<qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/>
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="box box-md">
|
<view class="box-border box-border1"></view>
|
<view class="box-border box-border2"></view>
|
<view class="box-border box-border3"></view>
|
<view class="box-border box-border4"></view>
|
<view class="box-item right-item">
|
<view class="sub-left">
|
<h3>库存类型</h3>
|
<p class="english">INCOME DATE</p>
|
</view>
|
<view class="sub-right">
|
<h3>今天</h3>
|
<p class="english">Today</p>
|
</view>
|
<view class="sub-main">
|
<view class="charts-box ring">
|
<qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}" :eopts="ringOpts" :chartData="chartsDataPie2" :echartsH5="true" :echartsApp="true"/>
|
</view>
|
<view class="sub-main-right">
|
<view class="sub-info">
|
<image src="../../static/g1.png" mode="aspectFit"></image>
|
<text>在库</text>
|
<text>{{stockCount}}</text>
|
</view>
|
<view class="sub-info">
|
<image src="../../static/f1.png" mode="aspectFit"></image>
|
<text>空库</text>
|
<text>{{emptyCount}}</text>
|
</view>
|
<view class="sub-info">
|
<image src="../../static/e1.png" mode="aspectFit"></image>
|
<text>禁用</text>
|
<text>{{noneCount}}</text>
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="box box-bt">
|
<view class="box-border box-border1"></view>
|
<view class="box-border box-border2"></view>
|
<view class="box-border box-border3"></view>
|
<view class="box-border box-border4"></view>
|
<!-- <text>浙江中扬立库技术有限公司</text>
|
<text>当前版本号</text> -->
|
<view @click="crn()">嘉善边锋机械股份有限公司</view>
|
<!-- <image src="../../static/barcode.png" mode="aspectFit"></image> -->
|
</view>
|
</view>
|
</view>
|
</view>
|
<view>
|
<!-- 输入url -->
|
<uni-popup ref="url" type="dialog">
|
<uni-popup-dialog ref="inputClose" mode="input" title="配置url" :value="baseIP"
|
placeholder="示例:192.168.1.1" @confirm="baseUrlConfirm"></uni-popup-dialog>
|
</uni-popup>
|
</view>
|
<view>
|
<!-- 输入ledId -->
|
<uni-popup ref="ledId" type="dialog">
|
<uni-popup-dialog ref="inputClose" mode="input" title="配置ledId" :value="baseLedId"
|
placeholder="示例:188" @confirm="ledIdConfirm"></uni-popup-dialog>
|
</uni-popup>
|
</view>
|
<view>
|
<!-- 输入port -->
|
<uni-popup ref="port" type="dialog">
|
<uni-popup-dialog ref="inputClose" mode="input" title="配置端口号" :value="basePort"
|
placeholder="示例:9090" @confirm="portConfirm"></uni-popup-dialog>
|
</uni-popup>
|
</view>
|
<view>
|
<!-- 输入crnId -->
|
<uni-popup ref="crnId" type="dialog">
|
<uni-popup-dialog ref="inputClose" mode="input" title="配置堆垛机" :value="crnId"
|
placeholder="示例:1" @confirm="crnConfirm"></uni-popup-dialog>
|
</uni-popup>
|
</view>
|
<!-- 自定义弹出层 -->
|
<view class="eject-mask" v-show="ejectShow">
|
<view class="eject">
|
<!-- 弹出title -->
|
<view class="eject-title">修改 / 配置</view>
|
<!-- input -->
|
<view 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>
|
<!-- button -->
|
<view class="eject-button">
|
<view class="button-item" @click="ejectClose">取 消</view>
|
<view class="button-item" @click="ejectConfirm">确 认</view>
|
</view>
|
</view>
|
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import ycqdata from '@/pages/index/data.json';
|
import demodata from '@/mockdata/demodata.json';
|
export default {
|
data() {
|
return {
|
commonUrl:null, // 通用url
|
show: true,
|
modeClass: 'fade',
|
styles: {},
|
baseIP:'',
|
baseLedId:'',
|
basePort:'',
|
crnId:'',
|
value: '',
|
xDistance: 0,
|
yDistance:0,
|
xDuration:0,
|
yDuration:0,
|
used:317,
|
usedPr: 90,
|
stockCount:0,
|
emptyCount:0,
|
noneCount:0,
|
chartsData: {
|
"Line": {
|
"categories": [],
|
"series": []
|
},
|
"Pie": {
|
"series": [{
|
"data": []
|
}]
|
},
|
},
|
chartsDataLine1: {},
|
chartsDataPie2: {},
|
ringOpts:{},
|
year:2022,
|
month:4,
|
day:14,
|
hours:13,
|
minutes:38,
|
seconds:13,
|
week:'星期四',
|
ani:'',
|
// move: 'upMove 1.5s 1;',
|
move:false,
|
topMove:'topUp',
|
floorMove:'',
|
version:'',
|
// newspaper:'拣料出库(4426)\n源库位:1200101\n目标站:186\n1101842-10000-22047518517\n\n',
|
newspaper:'',
|
errorPaper:'',
|
title:'',
|
staNo:'',
|
matnr:'',
|
maknx:'',
|
count:'',
|
orderNo:null,
|
doneOfTray:'',
|
totalOfTray:'',
|
doneOfUnit:'',
|
totalOfUnit:'',
|
errorMsg:null,
|
width:'full-width',
|
errorShow:'',
|
pakinShow:'',
|
pakinGun:'',
|
orderShow:false,
|
swiper:'swiper-here',
|
autoplay:true, // 自动循环
|
interval:1000, // 调用时长
|
duration:8000, // 移动速度
|
matList:[], // 订单列表
|
ejectShow: false,
|
|
}
|
},
|
mounted() {
|
let that = this
|
const BaseIP = uni.getStorageSync('BaseIp');
|
const BaseLedId = uni.getStorageSync('BaseLedId');
|
const BasePort = uni.getStorageSync('BasePort');
|
const BaseCrnId = uni.getStorageSync('BaseCrnId');
|
that.baseIP = BaseIP
|
that.baseLedId = BaseLedId
|
that.basePort = BasePort
|
that.baseCrnId = BaseCrnId
|
this.getUrl()
|
},
|
onReady() {
|
setInterval(() => {
|
// 获得初始数据
|
this.initlineChart();
|
this.initPieChart();
|
// 主页信息
|
this.getServerData();
|
this.getOther();
|
// 其他信息
|
this.getDate();
|
this.getPakin();
|
this.getError();
|
// this.getYYY();
|
// this.getEEE();
|
this.animation();
|
},1000)
|
},
|
methods: {
|
// 获取url
|
getUrl() {
|
this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + this.baseUrl
|
},
|
// 获取错误信息
|
getYYY() {
|
let that = this
|
var result = ycqdata.dataEEE
|
// 测试用 ↓
|
var res = result.data
|
// 测试用 ↑
|
// 返回结果有值 且值不等于空值 就是有错误信息需要展示
|
if (res.data && res.data !== "") {
|
that.errorMsg = res.data
|
that.errorShow = true
|
that.move = false // 显示
|
} else {
|
that.errorPaper = ''
|
that.errorShow = false
|
if (that.pakinShow) {
|
return;
|
} else {
|
that.move = true // 隐藏
|
}
|
}
|
},
|
getEEE () {
|
let that = this
|
var newsData = ''
|
var str = ''
|
let result = ycqdata.dataYYY
|
// 测试用 ↓
|
let res = result.data
|
// 测试用 ↑
|
if(res.data && res.data !== null) {
|
if (res.data[0].ioType === 101) {
|
that.title = '全板出库'
|
} else if(res.data[0].ioType === 103) {
|
that.title = '检料出库'
|
}
|
that.staNo = '目标站:' + res.data[0].staNo
|
that.matnr = '商品编号:' + res.data[0].matDtos[0].matnr
|
that.maknx = '商品名称:' + res.data[0].matDtos[0].maknx
|
that.count = '出库数量:' + res.data[0].matDtos[0].count
|
if (res.data[0].orderNo) {
|
that.orderNo = "订单号:" + res.data[0].orderNo
|
that.orderShow = true
|
that.width = 'half-width'
|
} else {
|
that.orderNo = null;
|
that.orderShow = false
|
that.width = 'full-width'
|
}
|
that.doneOfTray = '已出托盘数:' + res.data[0].doneOfTray
|
that.totalOfTray = '托盘总数量:' + res.data[0].totalOfTray
|
that.doneOfUnit = '已出箱数:' + res.data[0].doneOfUnit
|
that.totalOfUnit = '总箱数:' + res.data[0].totalOfUnit
|
if (that.errorShow) {
|
return;
|
} else {
|
that.newspaper = newsData
|
that.move = false
|
}
|
}else {
|
that.move = true
|
}
|
|
|
},
|
// 获取错误信息
|
getError() {
|
let that = this
|
var res
|
uni.request({
|
url: that.commonUrl + "/monitor/led/error",
|
data: {
|
ledId:that.baseLedId
|
},
|
method:'GET',
|
success(result) {
|
res = result.data
|
if (res.data && res.data !== "") {
|
that.errorMsg = res.data
|
that.errorShow = true
|
that.move = false // 显示
|
} else {
|
that.errorShow = false
|
// if (that.pakinShow) {
|
// return;
|
// } else {
|
// // that.move = true // 隐藏
|
// }
|
}
|
}
|
});
|
},
|
getPakin () {
|
let that = this
|
that.matList = [] // 清空条码列表
|
var newsData = ''
|
var str = ''
|
let res
|
uni.request({
|
url: that.commonUrl + "/monitor/led",
|
data: {
|
ledId:that.baseLedId
|
},
|
method:'GET',
|
success(result) {
|
res = result.data
|
if (that.errorShow) {
|
return; // 有错误信息
|
}
|
if(res.data && res.data !== null) {
|
if (res.data[0].ioType === 101) {
|
that.title = '全板出库'
|
} else if(res.data[0].ioType === 103) {
|
that.title = '检料出库'
|
} else
|
that.title = res.data[0].title
|
that.staNo = '目标站:' + res.data[0].staNo
|
that.matnr = '商品编号:' + res.data[0].matDtos[0].matnr
|
that.maknx = '商品名称:' + res.data[0].matDtos[0].maknx
|
that.count = '出库数量:' + res.data[0].matDtos[0].count
|
if (res.data[0].orderNo) {
|
that.orderNo = "订单号:" + res.data[0].orderNo
|
that.orderShow = true
|
that.width = 'half-width'
|
} else {
|
that.orderNo = null;
|
that.orderShow = false
|
that.width = 'full-width'
|
}
|
that.doneOfTray = '已出托盘数:' + res.data[0].doneOfTray
|
that.totalOfTray = '托盘总数量:' + res.data[0].totalOfTray
|
that.doneOfUnit = '已出箱数:' + res.data[0].doneOfUnit
|
that.totalOfUnit = '总箱数:' + res.data[0].totalOfUnit
|
that.newspaper = newsData
|
that.move = false
|
}else {
|
that.move = true
|
}
|
}
|
});
|
},
|
animation() {
|
console.log(this.move);
|
if (this.move) {
|
this.topMove = 'topUp'
|
this.floorMove = 'floorUp'
|
} else {
|
this.topMove = 'topDown'
|
this.floorMove = 'floorDown'
|
}
|
},
|
getDateFormat(value) {
|
var date = new 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
|
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),]
|
that.chartsData.Line.series = res.data.rows
|
}
|
}
|
})
|
},
|
/*************** 饼图 *****************************************************************************************************/
|
initPieChart() {
|
let that = this
|
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.stockCount = res.data.stockCunt
|
that.emptyCount = res.data.emptyCount
|
that.noneCount = res.data.noneCount
|
that.used = res.data.used
|
that.usedPr = res.data.usedPr
|
}
|
}
|
})
|
},
|
getOther() {
|
let that = this
|
uni.request({
|
// http://10.10.0.222:9090/jkwcs/monitor/led?ledId=186
|
url: that.commonUrl + "/monitor/other",
|
data: {
|
crnId: that.baseCrnId,
|
ledId: 1,
|
},
|
success(result) {
|
console.log(result);
|
var res = result.data
|
if (res.code === 200) {
|
that.xDistance = res.data.xDistance
|
that.yDistance = res.data.yDistance
|
that.xDuration = res.data.xDuration
|
that.yDuration = res.data.yDuration
|
} else if (res.code === 403) {
|
|
} else {
|
|
}
|
}
|
})
|
},
|
ejected () {
|
this.ejectShow = true
|
},
|
// 弹出层确认
|
ejectConfirm() {
|
uni.setStorageSync('BaseIp', this.baseIP);
|
uni.setStorageSync('BaseLedId', this.baseLedId);
|
uni.setStorageSync('BasePort',this.basePort);
|
uni.setStorageSync('BaseCrnId',this.baseCrnId);
|
this.getUrl()
|
this.ejectShow = false
|
},
|
// 弹出层取消
|
ejectClose() {
|
this.ejectShow = false
|
},
|
getServerData() {
|
this.chartsDataLine1=JSON.parse(JSON.stringify(this.chartsData.Line))
|
this.chartsDataPie2=JSON.parse(JSON.stringify(this.chartsData.Pie))
|
},
|
complete(e) {
|
console.log("渲染完成事件",e);
|
},
|
getDate() {
|
var dt = new Date();
|
this.year = dt.getFullYear();
|
this.month = (dt.getMonth()+1) < 10 ? '0'+ (dt.getMonth()+1) : (dt.getMonth()+1);
|
this.day = dt.getDate() < 10 ? '0'+dt.getDate() : dt.getDate();
|
this.hours = dt.getHours() < 10 ? '0' + dt.getHours() : dt.getHours();
|
this.minutes = dt.getMinutes() < 10 ? '0' + dt.getMinutes() : dt.getMinutes();
|
this.seconds = dt.getSeconds() < 10 ? '0' + dt.getSeconds() : dt.getSeconds();
|
this.weeks = dt.getDay();
|
switch (this.weeks) {
|
case 0: this.week = "星期日"; break;
|
case 1: this.week = "星期一"; break;
|
case 2: this.week = "星期二"; break;
|
case 3: this.week = "星期三"; break;
|
case 4: this.week = "星期四"; break;
|
case 5: this.week = "星期五"; break;
|
default : this.week = "星期六";
|
}
|
},
|
}
|
}
|
</script>
|
|
<style>
|
/* 弹出:配置区域 */
|
.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: 600px;
|
height: 350px;
|
background-color: #eaeaea;
|
border-radius: 25rpx;
|
}
|
.eject-title {
|
width: 100%;
|
height: 100px;
|
line-height: 100px;
|
font-size: 20px;
|
font-weight: 700;
|
color: #606266;
|
text-align: center;
|
}
|
.eject-input {
|
|
}
|
.item {
|
display: flex;
|
align-items: center;
|
margin: 10px 0 0 0;
|
}
|
.desc {
|
display: inline-block;
|
width: 40%;
|
text-align: right;
|
color: #606266;
|
font-size: 18px;
|
}
|
.input {
|
display: flex;
|
align-items: center;
|
padding-left: 5px;
|
padding-right: 5px;
|
width: 100%;
|
height: 30px;
|
border: 1px solid #C0C4CC;
|
margin-right: 50px;
|
}
|
.eject-input input {
|
width: 100%;
|
|
|
}
|
.eject-button {
|
display: flex;
|
align-items: center;
|
position: absolute;
|
bottom: 0;
|
height: 60px;
|
line-height: 60px;
|
width: 100%;
|
border-top: 1px solid #ccc;
|
}
|
.button-item {
|
width: 50%;
|
height: 100%;
|
font-size: 20px;
|
font-weight: bold;
|
text-align: center;
|
color: #909399;
|
}
|
.button-item:last-child {
|
color: #67C23A;
|
|
border-left: 1px solid #ccc;
|
}
|
.full-width {
|
width: 100%;
|
height: 100%;
|
display: inline-block;
|
float: left;
|
}
|
.half-width {
|
width: 50%;
|
height: 100%;
|
display: inline-block;
|
float: left;
|
}
|
.box-items {
|
height: 20%;
|
width: 100%;
|
/* background-color: #233751; */
|
line-height: 300rpx;
|
}
|
/* 当前页面无 orderNo */
|
.swiper-here {
|
display: inline-block;
|
margin: 0 auto;
|
width: 100%;
|
height: 100%;
|
}
|
/* 当前页面有 orderNo */
|
.swiper-here-oN{
|
display: inline-block;
|
/* background-color: #063A7B; */
|
margin: 0 auto;
|
width: 100%;
|
height: 90%;
|
}
|
/* 当前页面有 error提示 */
|
.swiper-here-error {
|
display: inline-block;
|
/* background-color: #063A7B; */
|
/* margin: 0 auto; */
|
margin-top: 20%;
|
width: 100%;
|
height: 100%;
|
}
|
.animate {
|
display: inline-block;
|
/* white-space: nowrap; */
|
animation: 25s wordsLoop linear infinite normal;
|
}
|
|
@keyframes wordsLoop {
|
0% {
|
transform: translateY(100px);
|
-webkit-transform: translateY(100px);
|
}
|
100% {
|
transform: translateY(-100%);
|
-webkit-transform: translateY(-100%);
|
}
|
}
|
|
@-webkit-keyframes wordsLoop {
|
0% {
|
transform: translateY(100px);
|
-webkit-transform: translateY(100px);
|
}
|
100% {
|
transform: translateY(-100%);
|
-webkit-transform: translateY(-100%);
|
}
|
}
|
/* animation:upMove 1.5s 1; */
|
/* downMove */
|
/* 上层向上 */
|
.topUp {
|
animation: topUp 1.5s 1;
|
animation-fill-mode: both;
|
}
|
@keyframes topUp {
|
from {
|
opacity: 0.5;
|
/* background-color:blue; */
|
top:-1080px
|
}
|
to {
|
opacity: 1;
|
/* background-color:red; */
|
top: 0;
|
}
|
}
|
/* 上层向下 */
|
.topDown {
|
animation: topDown 1.5s 1;
|
animation-fill-mode: both;
|
}
|
@keyframes topDown
|
{
|
from {
|
opacity: 1;
|
/* background-color:red; */
|
top: 0;
|
}
|
to {
|
opacity: 0.5;
|
/* background-color:blue; */
|
top:-1080px
|
}
|
}
|
/* 下层向上 */
|
.floorUp {
|
animation: floorUp 1.5s 1;
|
animation-fill-mode: both;
|
}
|
@keyframes floorUp {
|
from {
|
opacity: 0.5;
|
/* background-color:blue; */
|
top: 0px;
|
}
|
to {
|
opacity: 1;
|
/* background-color:red; */
|
top: 1080px;
|
}
|
}
|
/* 下层向下 */
|
.floorDown {
|
animation: floorDown 1.5s 1;
|
animation-fill-mode: both;
|
}
|
@keyframes floorDown {
|
from {
|
opacity: 0.5;
|
/* background-color:blue; */
|
top: 1080px;
|
}
|
to {
|
opacity: 1;
|
/* background-color:red; */
|
top: -0px;
|
}
|
}
|
.top-screen {
|
position: fixed;
|
width: 1920px;
|
height: 1080px;
|
/* top: -1000px; */
|
background-image: url(../../static/background.png);
|
/* background:red; */
|
/* animation:upMove 1.5s 1; */
|
z-index: 999;
|
}
|
.floor-screen {
|
width: 1920px;
|
height: 1080px;
|
position: relative;
|
color: #FFFFFF;
|
text-align: center;
|
font-size: 120rpx;
|
letter-spacing: 5rpx;
|
background-image: url(../../static/background.png);
|
}
|
.container {
|
width: 1920px;
|
height: 1080px;
|
|
position: relative;
|
/* background: #000428;
|
background: -webkit-linear-gradient(to right, #004e92, #000428);
|
background: linear-gradient(to right, #004e92, #000428); */
|
}
|
.head {
|
/* background-color: #55aaff; */
|
width: 100%;
|
height: 10%;
|
text-align: center;
|
line-height: 110px;
|
color: #FFFFFF;
|
font-size: 40px;
|
font-weight: 700;
|
letter-spacing: 5px;
|
}
|
.head text {
|
transform: scale(1,0.9);
|
}
|
.time-tools {
|
height: 5%;
|
/* background-color: #007AFF; */
|
position: absolute;
|
top: 0;
|
float: right;
|
right: 50px;
|
font-size: 16px;
|
font-weight: 400;
|
line-height: 70px;
|
letter-spacing: 1px;
|
}
|
.button-left {
|
position: absolute;
|
background-image: url(../../static/right.png);
|
background-size: 100% 100%;
|
top: 1.8%;
|
left: 21.3%;
|
width: 13.5%;
|
height: 8.5%;
|
transform: scaleX(-1);
|
}
|
.button-right {
|
position: absolute;
|
background-image: url(../../static/right.png);
|
background-size: 100% 100%;
|
top: 1.8%;
|
left: 65%;
|
width: 13.5%;
|
height: 8.5%;
|
}
|
.main {
|
/* background-color: #3F536E; */
|
position: relative;
|
width: 100%;
|
height: 90%;
|
}
|
.main-sides {
|
/* background-color: #004E92; */
|
position: relative;
|
display: inline-block;
|
float: left;
|
width: 50%;
|
height: 100%;
|
/* margin: 2% auto 0 3.2%;
|
border: 1px solid rgba(20, 80, 136, 1); */
|
}
|
.box {
|
position: relative;
|
/* background-color: #ffffff; */
|
margin: 3% 2% 0 2%;
|
width: 96%;
|
height: 30%;
|
border: 1px solid rgba(20, 80, 136, 1);
|
overflow: hidden;
|
}
|
.box-lg {
|
height: 94%;
|
}
|
.box-border {
|
position: absolute;
|
/* background-color: #4CD964; */
|
width: 10px;
|
height: 10px;
|
}
|
.box-border1 {
|
top: 0;
|
left: 0;
|
border-left: 2px solid #31c4c4;
|
border-top: 2px solid #31c4c4;
|
}
|
.box-border2 {
|
top: 0;
|
right: 0;
|
border-right: 2px solid #31c4c4;
|
border-top: 2px solid #31c4c4;
|
}
|
.box-border3 {
|
bottom: 0;
|
left: 0;
|
border-bottom: 2px solid #31c4c4;
|
border-left: 2px solid #31c4c4;
|
}
|
.box-border4 {
|
bottom: 0;
|
right: 0;
|
border-right: 2px solid #31c4c4;
|
border-bottom: 2px solid #31c4c4;
|
}
|
.content {
|
display: flex;
|
flex-direction: column;
|
flex: 1;
|
}
|
|
.charts-box {
|
width: 80%;
|
height: 230px;
|
margin-left: 10%;
|
/* background-color: #fff; */
|
}
|
.ring {
|
display: inline-block;
|
float: left;
|
width: 60%;
|
height: 300px;
|
margin-left: -10%;
|
}
|
.box-item {
|
/* background-color: #2C405A; */
|
width: 92%;
|
height: 20%;
|
margin-left: 4%;
|
padding-top: 1em;
|
color: #FFFFFF;
|
}
|
.introduce {
|
height: 30%;
|
}
|
.introduce h2 {
|
letter-spacing: 5px;
|
|
}
|
.english {
|
font-size: 14px;
|
}
|
.introduce-content {
|
font-size: 20px;
|
padding-top: 2em;
|
text-indent: 2em;
|
line-height: 2em;
|
}
|
.charge-info {
|
/* background-color: #2C405A; */
|
height: 45%;
|
}
|
.charge-info-item {
|
/* background-color: #EE6666; */
|
display: inline-block;
|
width: 50%;
|
height: 40%;
|
}
|
.charge-info-item image {
|
display: inline-block;
|
float: left;
|
/* background-color: #4CD964; */
|
height: 100%;
|
width: 20%;
|
}
|
.charge-info-item view {
|
display: inline-block;
|
position: relative;
|
margin-left: 10%;
|
width: 70%;
|
height: 49%;
|
/* background-color: #1890FF; */
|
}
|
.charge-info-item .count, .charge-info-item .unit{
|
position: absolute;
|
display: inline-block;
|
font-size: 32px;
|
bottom: 0;
|
padding-left: 5%;
|
}
|
.charge-info-item .unit {
|
font-size: 16px;
|
float: right;
|
right: 20%;
|
}
|
.footer {
|
position: absolute;
|
border: 1px solid rgba(20, 80, 136, 1);
|
height: 15%;
|
}
|
.use-info {
|
/* background-color: #007AFF; */
|
}
|
.use-left {
|
display: inline-block;
|
/* background-color: #2C405A; */
|
width: 40%;
|
}
|
.use-right {
|
display: inline-block;
|
/* background-color: #2C405A; */
|
float: right;
|
width: 20%;
|
}
|
.use-main {
|
width: 100%;
|
height: 75%;
|
/* background-color: #4CD964; */
|
}
|
.use-main .left {
|
/* background-color: #ffaa7f; */
|
display: inline-block;
|
float: left;
|
height: 100%;
|
width: 70%;
|
line-height: 20px;
|
}
|
.left .progressBar {
|
/* margin-left: ; */
|
margin-top: 9%;
|
width: 100%;
|
height: 20%;
|
background-color: #233751;
|
border-radius: 20px;
|
}
|
.left .progress {
|
/* width: 90%; */
|
height: 100%;
|
background-color: #FF5722;
|
border-radius: 20px;
|
}
|
.left progress {
|
margin-left: 10%;
|
margin-top: 10%;
|
display: block;
|
}
|
.use-main .right {
|
/* background-color: #ffaaff; */
|
display: inline-block;
|
float: right;
|
height: 100%;
|
width: 20%;
|
font-size: 40px;
|
color: #FF5722;
|
line-height: 130px;
|
}
|
.box-tp {
|
height: 30%;
|
}
|
.box-tp .sub-main {
|
/* background-color: #FFFFFF; */
|
}
|
.box-md {
|
height: 43%;
|
}
|
.box-md .sub-main {
|
}
|
.sub-main-right {
|
display: inline-block;
|
height: 100%;
|
width: 50%;
|
}
|
.sub-info {
|
width: 100%;
|
height: 33%;
|
}
|
.sub-info image {
|
display: inline-block;
|
float: left;
|
height: 100%;
|
width: 15%;
|
}
|
.sub-info text {
|
display: inline-block;
|
width: 40%;
|
height: 100%;
|
text-align: center;
|
line-height: 120px;
|
font-size: 20px;
|
}
|
.box-bt {
|
background-color: #063A7B;
|
border: none;
|
height: 15%;
|
color: #FFFFFF;
|
}
|
.box-bt image {
|
position: absolute;
|
float: right;
|
right: 0;
|
top: 0;
|
width: 20%;
|
height: 100%;
|
}
|
.box-bt {
|
font-size: 36px;
|
line-height: 140px;
|
text-indent: 5em;
|
}
|
.right-item {
|
height: 94%;
|
}
|
.sub-left {
|
display: inline-block;
|
float: left;
|
width: 40%;
|
}
|
.sub-right {
|
display: inline-block;
|
float: right;
|
width: 20%;
|
}
|
.sub-main {
|
position: absolute;
|
/* background-color: #31C4C4; */
|
width: 92%;
|
height: 80%;
|
bottom: 0;
|
}
|
</style>
|
<!-- {"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22037502300","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22037505146","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504801","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027507729","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027507727","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027507731","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504807","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504805","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504797","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504794","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504791","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504793","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22037505141","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027507728","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22027504810","count":1.0},
|
{"matnr":"1100349-10000","maknx":"C5S-4-M03/333/KS","batch":"22037505148","count":1.0} -->
|