| | |
| | | <uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow"> |
| | | <view class="home-view"> |
| | | <view class="head"> |
| | | <text>自动仓库WCS监控平台</text> |
| | | <text>德利众自动仓库WCS监控平台</text> |
| | | </view> |
| | | <!-- 日历 --> |
| | | <view class="time-tools">{{calendar}}</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;"> |
| | | 自动仓库WCS监控平台 |
| | | </view> |
| | | </y-box> |
| | | <view style="height: 18%" class="flex-row"> |
| | | <image style="height: 100%;" |
| | | src="" mode="aspectFit"></image> |
| | | <image style="height: 100%;" |
| | | src="../../static/zy_logo.png" mode="aspectFit"></image> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <!-- 主体 --> |
| | | <view class="info-main"> |
| | | <view class="info-box"> |
| | | <view class="swiper-head" style="height: 10%;width: 96%;margin-left: 2%;font-size: 2.5vb;"> |
| | | <view style="width: 15%;">订单号</view> |
| | | <view style="width: 10%;">单行ID</view> |
| | | <view style="width: 15%;">商品编号</view> |
| | | <view style="width: 15%;">商品名称</view> |
| | | <view style="width: 10%;">托盘码</view> |
| | | <view style="width: 15%;">特殊说明</view> |
| | | <view style="width: 10%;">作业数量</view> |
| | | <view style="width: 10%;">剩余数量</view> |
| | | </view> |
| | | <y-box> |
| | | <!-- 文本容器 --> |
| | | <view class="text-content" v-for="item in swiperList"> |
| | | <view>目标站:{{infoText.staNo}}</view> |
| | | <!-- <view class="text-content" v-for="item in swiperList" style="font-size: 3vw;"> --> |
| | | <!-- <view>目标站:{{infoText.staNo}}</view> |
| | | <view>商品编码:{{item.matnr}}</view> |
| | | <view>商品名称:{{item.maknx}}</view> |
| | | <view>规格:{{item.specs}}</view> |
| | | <view>图号:{{item.model ? item.model :''}}</view> |
| | | <view>数量:{{item.count}} / {{item.total ? item.total : '--'}}</view> |
| | | |
| | | <view>数量:{{item.count}} / {{item.total ? item.total : '--'}}</view> --> |
| | | <!-- <view style="display: flex;text-align: left;"> |
| | | <view style="width: 50%;">订单号:{{item.orderNo}}</view> |
| | | <view style="width: 50%;">单行ID:{{item.memo}}</view> |
| | | </view> |
| | | <view style="display: flex;text-align: left;"> |
| | | <view style="width: 50%;">商品编号:{{item.matnr}}</view> |
| | | <view style="width: 50%;">商品名称:{{item.maknx}}</view> |
| | | </view> |
| | | <view style="display: flex;text-align: left;"> |
| | | <view style="width: 50%;">托盘码:{{infoText.barcode}}</view> |
| | | <view style="width: 50%;">特殊说明:{{item.batch}}</view> |
| | | </view> |
| | | <view style="display: flex;text-align: left;"> |
| | | <view style="width: 50%;">作业数量:{{item.count}}</view> |
| | | <view style="width: 50%;">剩余数量:{{item.total}}</view> |
| | | </view> --> |
| | | |
| | | |
| | | |
| | | <!-- 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" style="height: 15%;"> |
| | | <view style="width: 15%;">订单号</view> |
| | | <view style="width: 10%;">单行ID</view> |
| | | <view style="width: 15%;">商品编号</view> |
| | | <view style="width: 15%;">商品名称</view> |
| | | <view style="width: 10%;">托盘码</view> |
| | | <view style="width: 15%;">特殊说明</view> |
| | | <view style="width: 10%;">作业数量</view> |
| | | <view style="width: 10%;">剩余数量</view> |
| | | </view> --> |
| | | <!-- body --> |
| | | <!-- <view class="swiper-body"> --> |
| | |
| | | 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> |
| | | <swiper class="swiper-body-main" vertical="true" |
| | | display-multiple-items="3" |
| | | circular="true" :autoplay="true" :interval="3000" :duration="1000" style="font-size: 2vb;"> |
| | | <swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i"> |
| | | <!-- <view>No:{{i+1}}</view> --> |
| | | <view style="width: 15%;">{{item.orderNo}}</view> |
| | | <view style="width: 10%;"> {{item.memo}}</view> |
| | | <view style="width: 15%;">{{item.matnr}}</view> |
| | | <view style="width: 15%;">{{item.maknx}}</view> |
| | | <view style="width: 10%;">{{infoText.barcode}}</view> |
| | | <view style="width: 15%;">{{item.batch}}</view> |
| | | <view style="width: 10%;">{{item.count}}</view> |
| | | <view style="width: 10%;">{{item.total}}</view> |
| | | </swiper-item> |
| | | </swiper> |
| | | </view> --> |
| | | </view> |
| | | <!-- </view> --> |
| | | <!-- </view> --> |
| | | </y-box> |
| | | </view> |
| | | </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> |
| | |
| | | homeViewShow: true, |
| | | infoViewShow: false, |
| | | errorInfoViewShow: false, |
| | | errorBoardShow: false, |
| | | homeMode: [], |
| | | carInfo: [], |
| | | infoMode: [], |
| | |
| | | baseLedId: '', |
| | | baseCrnId: '', |
| | | baseUrl: '', |
| | | apiIp: '10.10.0.189', |
| | | apiPort: '8080', |
| | | apiUrl: 'dlzwcs', |
| | | ledInfosApi: '/console/getLedInfos', |
| | | info: null, |
| | | error: null, |
| | | infoType: 0, |
| | |
| | | }, 500) |
| | | }, |
| | | onLoad() { |
| | | this.getLedInfo() |
| | | |
| | | setInterval(() => { |
| | | this.getDate2() |
| | | this.getUrl() |
| | |
| | | }, |
| | | methods: { |
| | | 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 |
| | | } |
| | | }, |
| | | 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 |
| | | } |
| | | }, |
| | | changeErrorShow() { |
| | | this.errorBoardShow = !this.errorBoardShow |
| | | }, |
| | | this.errorBoardShow = !this.errorBoardShow |
| | | }, |
| | | timeOuts() { |
| | | console.log(this.times); |
| | | }, |
| | |
| | | getServerData() { |
| | | this.chartsDataLine1 = JSON.parse(JSON.stringify(this.chartsData.Line)) |
| | | this.chartsDataPie2 = JSON.parse(JSON.stringify(this.chartsData.Pie)) |
| | | }, |
| | | getLedInfo() { |
| | | let that = this |
| | | uni.request({ |
| | | url: this.baseHttp + that.apiIp + ":" + that.apiPort + "/" + that.apiUrl + "/" + that.ledInfosApi, |
| | | method: "GET", |
| | | data: {}, |
| | | success(result) { |
| | | var res = result.data |
| | | let data = res.data; |
| | | |
| | | uni.setStorageSync('BaseIp', that.apiIp); |
| | | uni.setStorageSync('BaseLedId', data.staArr); |
| | | uni.setStorageSync('BasePort', that.apiPort); |
| | | uni.setStorageSync('BaseCrnId', data.crnId); |
| | | uni.setStorageSync('UPROJ', that.apiUrl); |
| | | this.getUrl() |
| | | } |
| | | }) |
| | | }, |
| | | // 获取错误信息 |
| | | getInfo2() { |
| | |
| | | that.infoText.title = '拣料出库' |
| | | } else if (res.data[0].ioType === 107) { |
| | | that.infoText.title = '盘点出库' |
| | | }else if (res.data[0].ioType === 1) { |
| | | } else if (res.data[0].ioType === 1) { |
| | | that.infoText.title = '全板入库' |
| | | }else if (res.data[0].ioType === 10) { |
| | | } else if (res.data[0].ioType === 10) { |
| | | that.infoText.title = '空板入库' |
| | | }else if (res.data[0].ioType === 54) { |
| | | } else if (res.data[0].ioType === 54) { |
| | | that.infoText.title = '并板入库' |
| | | }else if (res.data[0].ioType === 110) { |
| | | } else if (res.data[0].ioType === 110) { |
| | | that.infoText.title = '空板出库' |
| | | }else if (res.data[0].ioType === 53) { |
| | | } else if (res.data[0].ioType === 53) { |
| | | that.infoText.title = '拣料再入库' |
| | | }else if (res.data[0].ioType === 57) { |
| | | } else if (res.data[0].ioType === 57) { |
| | | that.infoText.title = '盘点再入库' |
| | | } |
| | | |
| | | |
| | | 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 |
| | |
| | | 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) { |
| | |
| | | .head { |
| | | width: 100vw; |
| | | height: 11vh; |
| | | font-size: 4vw; |
| | | font-size: 3vw; |
| | | font-weight: 700; |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | |
| | | .info-box { |
| | | width: 98%; |
| | | height: 98%; |
| | | height: 90%; |
| | | } |
| | | |
| | | /* 异常信息 */ |
| | |
| | | .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; |
| | | } |
| | | 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> |