| | |
| | | <view class="container"> |
| | | <uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow"> |
| | | <view class="home-view"> |
| | | <view class="head"> |
| | | <!-- <view class="head"> |
| | | <text>自动仓库监控平台</text> |
| | | </view> |
| | | </view> --> |
| | | <!-- 日历 --> |
| | | <view class="time-tools">{{calendar}}</view> |
| | | <!-- <view class="time-tools">{{calendar}}</view> |
| | | <view class="button-left" @click="ejected()"></view> |
| | | <view class="button-right" @click="ejected()"></view> |
| | | |
| | | <view class="main"> |
| | | <view class="button-right" @click="ejected()"></view> --> |
| | | <view v-if="locs.length==0"><button size="mini" @click="ejected()" >配置</button></view> |
| | | <view class="main" v-if="locs" > |
| | | <view class="main-b" v-for="item in locs" :class="item.color"> |
| | | <view class="flex-col" style="width: 100%;"> |
| | | <view class="flex-col" style="width: 100%;font-size: 24rpx;"> |
| | | <view class="flex-row"> |
| | | <view style="flex: 1;">{{item.devNo}}</view> |
| | | <view style="flex: 1;" @click="ejected()">{{item.devNo}}</view> |
| | | <view style="flex: 1;">{{item.locSts$}}</view> |
| | | <!-- <view style="flex: 1;" v-if="item.agvWrkMast">{{item.agvWrkMast.wrkNo}}</view> --> |
| | | <view style="flex: 1;"></view> |
| | | </view> |
| | | <view class="flex-row"> |
| | | <view style="flex: 1;" v-if="item.agvWrkMast">工作号:{{item.agvWrkMast.wrkNo}}</view> |
| | | <view style="flex: 1;" v-if="item.agvWrkMast" >{{item.agvWrkMast.wrkSts$}}</view> |
| | | <view style="flex: 1;" v-if="item.agvWrkMast">{{item.agvWrkMast.ioType$}}</view> |
| | | <view style="flex: 1;" v-if="!item.agvWrkMast"></view> |
| | | </view> |
| | | <view class="flex-row"> |
| | | <view style="flex: 1;" v-if="item.agvWaitPakin">料箱码: {{item.agvWaitPakin.suppCode}}</view> |
| | | <view style="flex: 1;" v-if="item.agvWrkDetl">料箱码:{{item.agvWrkDetl.suppCode}}</view> |
| | | <view style="flex: 1;" v-if="!item.agvWaitPakin && !item.agvWrkDetl"></view> |
| | | |
| | | <view style="flex: 1;" v-if="item.agvWrkMast">{{item.agvWrkMast.ioType$}}</view> |
| | | <view style="flex: 1;" v-if="!item.agvWrkMast"></view> |
| | | </view> |
| | | <view class="flex-row"> |
| | | <view style="flex: 1;" ></view> |
| | | <view style="flex: 1;" ></view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="flex-col" style="width: 100%;" v-if="item.agvWaitPakin"> |
| | | <view class="flex-col" style="width: 100%;" v-if="item.agvWaitPakins"> |
| | | <view class="flex-row" style="background-color: #007aff;"> |
| | | <view style="flex: 2;">订单号</view> |
| | | <view style="flex: 2;">物料号</view> |
| | | <view style="flex: 1;">批号</view> |
| | | <view style="flex: 3;">订单号</view> |
| | | <view style="flex: 3;">物料号</view> |
| | | <view style="flex: 1;">数量</view> |
| | | <view style="flex: 1;">总数量</view> |
| | | <view style="flex: 1;">结余</view> |
| | | </view> |
| | | <view class="flex-row" v-for="k in item.agvWaitPakin.orderNo"> |
| | | <view style="flex: 2;">{{k.orderNo}}</view> |
| | | <view style="flex: 2;">{{item.agvWaitPakin.matnr}}</view> |
| | | <view style="flex: 1;">{{item.agvWaitPakin.batch ? item.agvWaitPakin.batch : '--'}}</view> |
| | | <view class="flex-row" v-for="k in item.agvWaitPakins"> |
| | | <view style="flex: 3;">{{k.orderNo}}</view> |
| | | <view style="flex: 3;">{{k.matnr}}</view> |
| | | <view style="flex: 1;">{{k.anfme}}</view> |
| | | <view style="flex: 1;">{{item.agvWaitPakin.anfme + item.agvWaitPakin.volume}}</view> |
| | | <view style="flex: 1;">{{k.volume}}</view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="flex-col" style="width: 100%;" v-if="item.agvWrkDetl"> |
| | | <view class="flex-col" style="width: 100%;" v-if="item.agvWrkDetls"> |
| | | <view class="flex-row" style="background-color: #007aff;"> |
| | | <view style="flex: 2;">订单号</view> |
| | | <view style="flex: 2;">物料号</view> |
| | | <view style="flex: 1;">批号</view> |
| | | <view style="flex: 3;">订单号</view> |
| | | <view style="flex: 3;">物料号</view> |
| | | <view style="flex: 1;">数量</view> |
| | | <view style="flex: 1;">库存数量</view> |
| | | <view style="flex: 1;">结余</view> |
| | | </view> |
| | | <view class="flex-row" v-for="k in item.agvWrkDetl.orderNo"> |
| | | <view style="flex: 2;">{{k.orderNo}}</view> |
| | | <view style="flex: 2;">{{item.agvWrkDetl.matnr}}</view> |
| | | <view style="flex: 1;">{{item.agvWrkDetl.batch ? item.agvWrkDetl.batch : '--'}}</view> |
| | | <view class="flex-row" v-for="k in item.agvWrkDetls"> |
| | | <view style="flex: 3;">{{k.orderNo}}</view> |
| | | <view style="flex: 3;">{{k.matnr}}</view> |
| | | <view style="flex: 1;">{{k.anfme}}</view> |
| | | <view style="flex: 1;">{{item.agvWrkDetl.anfme + item.agvWrkDetl.volume}}</view> |
| | | <view style="flex: 1;">{{k.volume}}</view> |
| | | </view> |
| | | </view> |
| | | <view style="position: absolute;bottom: 0;left: 0;width: 100%;display: flex;justify-content: center;" v-if="item.agvWrkMast && item.agvWrkMast.ioType == 103 && item.agvWrkDetl"> |
| | | <!-- <button type="primary" size="mini">拣料回库</button> --> |
| | | <view style="width: 60%;background-color: #007aff;height: 3vh;display: flex;align-items: center;justify-content: center;font-size: 30rpx; |
| | | <view style="align-self: center;margin-top: auto;width: 100%;display: flex;align-items: center;justify-content: center;" v-if="item.agvWrkMast && item.agvWrkMast.ioType == 103 && item.agvWrkDetl"> |
| | | <view style="width: 60%;background-color: #007aff;height: 3vh;display: flex;align-items: center;justify-content: center;font-size: 24rpx; |
| | | border-radius: 8rpx;" @click="pickIn(item.devNo)">拣料回库</view> |
| | | </view> |
| | | |
| | | <view style="position: absolute;bottom: 0;left: 0;width: 100%;display: flex;justify-content: center;" v-if="item.agvWrkMast && item.agvWrkMast.ioType == 101 && item.agvWrkDetl"> |
| | | <!-- <button type="primary" size="mini">容器离场</button> --> |
| | | <view style="width: 60%;background-color: #007aff;height: 3vh;display: flex;align-items: center;justify-content: center;font-size: 30rpx; |
| | | <view style="align-self: center;margin-top: auto;width: 100%;display: flex;align-items: center;justify-content: center;" v-if="item.agvWrkMast && item.agvWrkMast.ioType == 107 && item.agvWrkDetl"> |
| | | <view style="width: 60%;background-color: #007aff;height: 3vh;display: flex;align-items: center;justify-content: center;font-size: 24rpx; |
| | | border-radius: 8rpx;" @click="pickIn(item.devNo)">盘点回库</view> |
| | | </view> |
| | | |
| | | <view style="align-self: center;margin-top: auto;width: 100%;display: flex;align-items: center;justify-content: center;" v-if="item.agvWrkMast && item.agvWrkMast.ioType == 101 && item.agvWrkDetl"> |
| | | <view style="width: 60%;background-color: #007aff;height: 3vh;display: flex;align-items: center;justify-content: center;font-size: 24rpx; |
| | | border-radius: 8rpx;" @click="containerMoveOut(item.devNo)">容器离场</view> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 主视图 --> |
| | | <!-- <view class="main"> |
| | | <view class="main-y" v-for="item in locs"> |
| | | <view class="y-it"><view class="y-it-desc">工作站编号:</view><view class="margin">{{item.devNo}}</view></view> |
| | | <view class="y-it"><view class="y-it-desc">工作站编号:</view><view class="margin">{{item.locSts$}}</view></view> |
| | | |
| | | <view class="y-it" v-if="item.agvWaitPakin"><view class="y-it-desc">订单号:</view><view class="margin">{{item.agvWaitPakin.orderNo}}</view></view> |
| | | <view class="y-it" v-if="item.agvWaitPakin"><view class="y-it-desc">物料号:</view><view class="margin">{{item.agvWaitPakin.matnr}}</view></view> |
| | | <view class="y-it" v-if="item.agvWaitPakin"><view class="y-it-desc">批号:</view><view class="margin">{{item.agvWaitPakin.batch}}</view></view> |
| | | <view class="y-it" v-if="item.agvWaitPakin"><view class="y-it-desc">料箱码:</view><view class="margin">{{item.agvWaitPakin.suppCode}}</view></view> |
| | | <view class="y-it" v-if="item.agvWaitPakin"><view class="y-it-desc">数量:</view><view class="margin">{{item.agvWaitPakin.anfme}}</view></view> |
| | | |
| | | <view class="y-it" v-if="item.agvWrkMast"><view class="y-it-desc">工作号:</view><view class="margin">{{item.agvWrkMast.wrkNo}}</view></view> |
| | | <view class="y-it" v-if="item.agvWrkMast"><view class="y-it-desc">工作状态:</view><view class="margin">{{item.agvWrkMast.wrkSts$}}</view></view> |
| | | <view class="y-it" v-if="item.agvWrkMast"><view class="y-it-desc">工作类型:</view><view class="margin">{{item.agvWrkMast.ioType$}}</view></view> |
| | | <view class="y-it" v-if="item.agvWrkDetl " > |
| | | <view style="display: flex;align-items: stretch;" > |
| | | <view style="height: 100%">订单号: </view> |
| | | <view style="width: 16vw;display: flex;flex-wrap: wrap;"> |
| | | <view style="width: 100%; text-align: left;" v-for="k in item.agvWrkDetl.orderNo">{{k.orderNo}}--{{k.anfme}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="y-it" v-if="item.agvWrkDetl"><view class="y-it-desc">物料号:</view><view class="margin">{{item.agvWrkDetl.matnr}}</view></view> |
| | | <view class="y-it" v-if="item.agvWrkDetl"><view class="y-it-desc">批号:</view><view class="margin">{{item.agvWrkDetl.batch}}</view></view> |
| | | <view class="y-it" v-if="item.agvWrkDetl"><view class="y-it-desc">料箱码:</view><view class="margin">{{item.agvWrkDetl.suppCode}}</view></view> |
| | | <view class="y-it" v-if="item.agvWrkDetl"> |
| | | <view class="y-it-desc" >取货数量:</view><view class="margin">{{item.agvWrkDetl.anfme}}</view> |
| | | <view class="y-it-desc" style="flex:1;">结余数量:</view><view class="margin" style="margin-right: 10%;">{{item.agvWrkDetl.volume}}</view> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> --> |
| | | |
| | | </view> |
| | | </uni-transition> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | locs: [], |
| | | locs: [ |
| | | // {devNo:'CS-309-005-03@3',locSts$:'O.空库位', |
| | | // agvWrkMast:{wrkNo:23879,wrkSts$: "205.工作完成"}, |
| | | // agvWaitPakin: {} |
| | | // }, |
| | | ], |
| | | floors: [{value: 1,name:'1楼'},{value:2,name:'3楼'}], |
| | | rows: [{value: 'cs-101',name:'1号'},{value: 'cs-102',name:'2号'}], |
| | | rows: [{value: 'cs-101',name:'101'},{value: 'cs-102',name:'102'}], |
| | | ck1: true, |
| | | ck2: false, |
| | | current: 'cs-101', |
| | |
| | | // 容器离场 |
| | | containerMoveOut(e) { |
| | | let _this = this |
| | | let devNo = {devNo:[e]} |
| | | // console.log(JSON.stringify(devNo)); |
| | | uni.request({ |
| | | url: `${_this.commonUrl}/agv/basDevp/visualized/container/moveOut`, |
| | | data: {devNo: e}, |
| | | data: JSON.stringify(devNo), |
| | | method: 'POST', |
| | | success(res) { |
| | | |
| | | } |
| | | }) |
| | | }, |
| | |
| | | this.ck1 = this.ck2 |
| | | this.ck2 = temp |
| | | if (this.ck1) { |
| | | this.rows = [{value: 'cs-101',name:'1号'},{value: 'cs-102',name:'2号'}] |
| | | this.rows = [{value: 'cs-101',name:'101'},{value: 'cs-102',name:'102'}] |
| | | } else { |
| | | this.rows = [{value: 'CS-305',name:'1号'},{value: 'CS-306',name:'2号'},{value: 'CS-307',name:'3号'}] |
| | | this.rows = [{value: 'CS-305',name:'305'},{value: 'CS-306',name:'306'},{value: 'CS-307',name:'307'},{value: 'CS-308',name:'308'},{value: 'CS-309',name:'309'}] |
| | | } |
| | | }, |
| | | radioChange(evt) { |
| | |
| | | let param = {stationCode: `${that.current}`} |
| | | uni.request({ |
| | | url: `${that.commonUrl}/agv/basDevp/visualized/list/auth`, |
| | | header: { 'Access-Control-Allow-Origin': '*'}, |
| | | header: { |
| | | 'Access-Control-Allow-Origin': '*', |
| | | 'Access-Control-Allow-Methods': 'GET,POST,OPTIONS', |
| | | 'Access-Control-Allow-Headers': 'X-Request-with,Content-Type', |
| | | }, |
| | | sslVerify: false, |
| | | withCredentials: true, |
| | | method: 'POST', |
| | | data: JSON.stringify(param), |
| | | success(res) { |
| | |
| | | } |
| | | |
| | | .main-b { |
| | | font-size: 22rpx; |
| | | font-size: 24rpx; |
| | | background-color: rgba(255, 255, 255, .05); |
| | | /* background-color: rgba(0, 189, 47, 0.3); */ |
| | | width:19vw; |
| | | height: 28vh; |
| | | margin-top: 4px; |
| | | width:19.8vw; |
| | | height: 33vh; |
| | | /* margin-top: 4px; */ |
| | | backdrop-filter: blur(3px); |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | .home-view { |
| | | width: 100vw; |
| | | min-height: 100vh; |
| | | background-image: url(../../static/background.png); |
| | | /* background-image: url(../../static/background.png); */ |
| | | background-size: 100vw 100vh; |
| | | } |
| | | .home-right { |
| | |
| | | |
| | | /* 共用 */ |
| | | .main { |
| | | height: 88vh; |
| | | margin: 16rpx; |
| | | height: 100vh; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-around; |
| | | position: relative; |
| | | } |
| | | .mian-item { |
| | | width: 50%; |