| | |
| | | <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="url()"></view> |
| | | <view class="button-left" @click="ejected()"></view> |
| | | <view class="button-right" @click="ledId()"></view> |
| | | </view> |
| | | <view class="main"> |
| | |
| | | <!-- 目标站 --> |
| | | <view class="box-items">{{staNo}}</view> |
| | | <!-- 商品编号 --> |
| | | <view class="box-items">{{matnr}}</view> |
| | | <!-- <view class="box-items">{{matnr}}</view> --> |
| | | <!-- 商品名称 --> |
| | | <view class="box-items">{{maknx}}</view> |
| | | <!-- 商品名称 --> |
| | | <view class="box-items">{{specs}}</view> |
| | | <!-- 出库数量 --> |
| | | <view class="box-items">{{count}}</view> |
| | | </view> |
| | |
| | | <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="url()"></view> |
| | | <view class="button-left" @click="ejected()"></view> |
| | | <view class="button-right" @click="ledId()"></view> |
| | | </view> |
| | | <view class="main"> |
| | |
| | | <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="box-border box-border4"></view> |
| | | <!-- <text>浙江中扬立库技术有限公司</text> |
| | | <text>当前版本号</text> --> |
| | | <view @click="crn()">浙江中扬立库技术有限公司</view> |
| | | <image src="../../static/barcode.png" mode="aspectFit"></image> |
| | | <view @click="crn()">嘉善边锋机械股份有限公司</view> |
| | | <!-- <image src="../../static/barcode.png" mode="aspectFit"></image> --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <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> |
| | |
| | | week:'星期四', |
| | | ani:'', |
| | | // move: 'upMove 1.5s 1;', |
| | | move:true, |
| | | move:false, |
| | | topMove:'topUp', |
| | | floorMove:'', |
| | | version:'', |
| | |
| | | staNo:'', |
| | | matnr:'', |
| | | maknx:'', |
| | | specs:'', |
| | | count:'', |
| | | orderNo:null, |
| | | doneOfTray:'', |
| | |
| | | interval:1000, // 调用时长 |
| | | duration:8000, // 移动速度 |
| | | matList:[], // 订单列表 |
| | | ejectShow: false, |
| | | |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | const BaseLedId = uni.getStorageSync('BaseLedId'); |
| | | const BasePort = uni.getStorageSync('BasePort'); |
| | | const BaseCrnId = uni.getStorageSync('BaseCrnId'); |
| | | if (BaseIP && BaseLedId) { |
| | | that.baseIP = BaseIP |
| | | that.baseLedId = BaseLedId |
| | | that.basePort = BasePort |
| | | that.baseCrnId = BaseCrnId |
| | | } else { |
| | | that.baseUrl = '' |
| | | that.baseLedId = '' |
| | | } |
| | | this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + this.baseUrl |
| | | this.getUrl() |
| | | }, |
| | | onLoad() { |
| | | |
| | | }, |
| | | onReady() { |
| | | // 获得初始数据 |
| | | setTimeout(() => { |
| | | setInterval(() => { |
| | | // 获得初始数据 |
| | | this.initlineChart(); |
| | | this.initPieChart(); |
| | | }, 0); |
| | | setTimeout(() => { |
| | | // 主页信息 |
| | | this.getServerData(); |
| | | this.getOther(); |
| | | this.getPakin(); |
| | | }, 1000); |
| | | setInterval(() => { |
| | | // 其他信息 |
| | | this.getDate(); |
| | | this.getPakin(); |
| | | this.getError(); |
| | | // this.getYYY(); |
| | | // this.getEEE(); |
| | | this.animation(); |
| | | this.animation() |
| | | this.getUrl() |
| | | },1000) |
| | | }, |
| | | methods: { |
| | | // 获取url |
| | | getUrl() { |
| | | this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + this.baseUrl |
| | | this.chartsDataLine1 = JSON.parse(JSON.stringify(demodata.Line)) |
| | | }, |
| | | // 获取错误信息 |
| | | getYYY() { |
| | | let that = this |
| | |
| | | // 测试用 ↑ |
| | | // 返回结果有值 且值不等于空值 就是有错误信息需要展示 |
| | | if (res.data && res.data !== "") { |
| | | |
| | | that.errorMsg = res.data |
| | | that.errorShow = true |
| | | that.move = false // 显示 |
| | |
| | | let res = result.data |
| | | // 测试用 ↑ |
| | | if(res.data && res.data !== null) { |
| | | // that.move = false |
| | | // title |
| | | if (res.data[0].ioType === 101) { |
| | | that.title = '全板出库' |
| | | } else if(res.data[0].ioType === 103) { |
| | |
| | | that.doneOfUnit = '已出箱数:' + res.data[0].doneOfUnit |
| | | that.totalOfUnit = '总箱数:' + res.data[0].totalOfUnit |
| | | if (that.errorShow) { |
| | | // that.pakinShow = false |
| | | return; |
| | | } else { |
| | | that.newspaper = newsData |
| | |
| | | } |
| | | |
| | | |
| | | // if(res.data && res.data !== null) { |
| | | // if (res.data[0].matDtos.length > 0) { |
| | | // that.pakinShow = true |
| | | // that.pakinGun = true |
| | | // if (res.data[0].ioType === 101) { |
| | | // that.title = '全板出库' |
| | | // } else if(res.data[0].ioType === 103) { |
| | | // that.title = '拣料出库' |
| | | // } |
| | | |
| | | // if (res.data[0].orderNo) { |
| | | // that.orderNo = "订单号:" + res.data[0].orderNo |
| | | // that.swiper = 'swiper-here-oN' |
| | | // that.orderShow = true |
| | | // } else { |
| | | // that.orderNo = null; |
| | | // that.swiper = 'swiper-here' |
| | | // that.orderShow = false |
| | | // } |
| | | // that.staNo = '目标站' + res.data[0].staNo |
| | | // for (var i = 0; i < res.data[0].matDtos.length; i++) { |
| | | // var matnr = res.data[0].matDtos[i].matnr + ' - ' + res.data[0].matDtos[i].batch |
| | | // that.matList.push(matnr) |
| | | // } |
| | | // |
| | | // if (res.data[0].matDtos.length <= 8) { |
| | | // that.errorShow = true |
| | | // that.pakinShow = true |
| | | // that.pakinGun = false |
| | | // } |
| | | // } else { |
| | | // that.move = true |
| | | // } |
| | | // } else { |
| | | // that.move = true |
| | | // } |
| | | }, |
| | | // 获取错误信息 |
| | | getError() { |
| | |
| | | }, |
| | | method:'GET', |
| | | success(result) { |
| | | // console.log(result); |
| | | res = result.data |
| | | if (res.data && res.data !== "") { |
| | | that.errorMsg = res.data |
| | |
| | | that.move = false // 显示 |
| | | } else { |
| | | that.errorShow = false |
| | | if (that.pakinShow) { |
| | | return; |
| | | } else { |
| | | that.move = true // 隐藏 |
| | | } |
| | | // if (that.pakinShow) { |
| | | // return; |
| | | // } else { |
| | | // // that.move = true // 隐藏 |
| | | // } |
| | | } |
| | | } |
| | | }); |
| | |
| | | }, |
| | | method:'GET', |
| | | success(result) { |
| | | console.log(result); |
| | | res = result.data |
| | | if (that.errorShow) { |
| | | return; // 有错误信息 |
| | | } |
| | | if(res.data && res.data !== null) { |
| | | // that.move = false |
| | | // title |
| | | 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.specs = '规格:' + res.data[0].matDtos[0].specs |
| | | that.count = '出库数量:' + res.data[0].matDtos[0].count |
| | | if (res.data[0].orderNo) { |
| | | that.orderNo = "订单号:" + res.data[0].orderNo |
| | |
| | | that.totalOfTray = '托盘总数量:' + res.data[0].totalOfTray |
| | | that.doneOfUnit = '已出箱数:' + res.data[0].doneOfUnit |
| | | that.totalOfUnit = '总箱数:' + res.data[0].totalOfUnit |
| | | if (that.errorShow) { |
| | | // that.pakinShow = false |
| | | return; |
| | | } else { |
| | | that.newspaper = newsData |
| | | that.move = false |
| | | } |
| | | that.newspaper = newsData |
| | | that.move = false |
| | | }else { |
| | | that.move = true |
| | | that.move = true |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | animation() { |
| | | if (this.move) { |
| | | // 上层向上 / 下层向上 |
| | | if (this.move) { |
| | | this.topMove = 'topUp' |
| | | this.floorMove = 'floorUp' |
| | | } else { |
| | | // 上层向下 / 下层向下 |
| | | this.topMove = 'topDown' |
| | | this.floorMove = 'floorDown' |
| | | } |
| | |
| | | url: that.commonUrl + "/monitor/line/charts", |
| | | method:'GET', |
| | | success(result) { |
| | | // console.log(result) |
| | | var res = result.data |
| | | console.log(result); |
| | | if (res.code === 200) { |
| | | that.chartsData.Line.categories = [ |
| | | that.getDateFormat(-11),that.getDateFormat(-10),that.getDateFormat(-9),that.getDateFormat(-8), |
| | |
| | | ledId: 1, |
| | | }, |
| | | success(result) { |
| | | console.log(result); |
| | | var res = result.data |
| | | if (res.code === 200) { |
| | | that.xDistance = res.data.xDistance |
| | |
| | | } |
| | | }) |
| | | }, |
| | | port() { |
| | | this.$refs.port.open() |
| | | ejected () { |
| | | this.ejectShow = true |
| | | }, |
| | | url() { |
| | | this.$refs.url.open() |
| | | }, |
| | | ledId() { |
| | | this.$refs.ledId.open() |
| | | }, |
| | | crn() { |
| | | this.$refs.crnId.open() |
| | | }, |
| | | baseUrlConfirm(val) { |
| | | this.baseIp = val |
| | | uni.setStorageSync('BaseIp', this.baseIp); |
| | | }, |
| | | ledIdConfirm(val) { |
| | | this.baseLedId = val |
| | | // 弹出层确认 |
| | | ejectConfirm() { |
| | | uni.setStorageSync('BaseIp', this.baseIP); |
| | | uni.setStorageSync('BaseLedId', this.baseLedId); |
| | | }, |
| | | portConfirm(val) { |
| | | this.basePort = val |
| | | uni.setStorageSync('BasePort',this.basePort); |
| | | }, |
| | | crnConfirm(val) { |
| | | this.baseCrnId = val |
| | | uni.setStorageSync('BaseCrnId',this.baseCrnId); |
| | | this.getUrl() |
| | | this.ejectShow = false |
| | | }, |
| | | // 弹出层取消 |
| | | ejectClose() { |
| | | this.ejectShow = false |
| | | }, |
| | | getServerData() { |
| | | this.chartsDataLine1=JSON.parse(JSON.stringify(this.chartsData.Line)) |
| | |
| | | </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%; |