whycq
2024-05-25 14d2e539f18307ecab4ea415d16c54fff012a1c2
pages/phyz/stationManage/stationDetl.vue
@@ -23,6 +23,7 @@
            <view style="flex:3;text-align: right;">{{wrkMast.ioTitle}}</view>
         </view>
         <view>工作类型: {{wrkMast.ioType$}}</view>
         <view>工作状态: {{wrkMast.wrkSts$}}</view>
         <view>源库位: {{wrkMast.sourceLocNo}}</view>
         <view>货架码: {{wrkMast.barcode}}</view>
      </view>
@@ -35,7 +36,7 @@
            <view>商品编码:{{wrkDetl.matnr}}</view>
            <view>销售订单号:{{wrkDetl.threeCode ? wrkDetl.threeCode : ' --'}}</view>
            <view>自由项:{{wrkDetl.deadTime ? wrkDetl.deadTime : ' --'}}</view>
            <view>数量:{{wrkDetl.anfme}}</view>
            <view>作业数量:{{wrkDetl.anfme}}</view>
         </view>
      </view>
      
@@ -74,13 +75,30 @@
            </view>
         </uni-popup>
      </view>
      <!-- 弹窗 -->
      <view>
         <uni-popup ref="doBack" type="dialog">
            <view class="popup">
               <!-- 标题 -->
               <view class="title">请输入空货架码</view>
               <view class="popup-item">
                  <view class="popup-item-left">货架码:</view>
                  <view class="popup-item-right"><input type="text" v-model="barcode"></view>
               </view>
               <view class="btn">
                  <view class="btn-left" @click="doBackClose">取消</view>
                  <view class="btn-right" @click="doBackConfirm()">退库</view>
               </view>
            </view>
         </uni-popup>
      </view>
      
      <!-- 弹窗 -->
      <view>
         <uni-popup ref="doContainerMoveOut" type="dialog">
            <view class="popup">
               <!-- 标题 -->
               <view class="title">请输入空货架码</view>
               <view class="title">请输入货架码</view>
               <view class="popup-item">
                  <view class="popup-item-left">货架码:</view>
                  <view class="popup-item-right"><input type="text" v-model="barcode"></view>
@@ -123,7 +141,7 @@
               </view>
               <view class="btn">
                  <view class="btn-left" @click="pickInClose">取消</view>
                  <view class="btn-right" @click="pickIn()">入库</view>
                  <view class="btn-right" @click="pickIn()">确认拣料</view>
               </view>
            </view>
         </uni-popup>
@@ -152,17 +170,39 @@
         </uni-popup>
      </view>
      
      <!-- 弹窗 -->
      <view>
         <uni-popup ref="allocationIn" type="dialog">
            <view class="popup">
               <!-- 标题 -->
               <view class="title">请输入货架码</view>
               <view class="popup-item">
                  <view class="popup-item-left">货架码:</view>
                  <view class="popup-item-right"><input type="text" v-model="barcode"></view>
               </view>
               <view class="btn">
                  <view class="btn-left" @click="allocationInClose">取消</view>
                  <view class="btn-right" @click="allocationInConfirm()">确认进场</view>
               </view>
            </view>
         </uni-popup>
      </view>
      
      
      
      <!-- 底部操作按钮 -->
      <view class="buttom">
         <button size="mini" type="primary" @click="handBack()" v-if="btnType == 'handBack'">转手动</button>
         <button size="mini" type="warn" @click="doBack()" v-if="btnType == 'out' || btnType == 'pick'">退库</button>
         <button size="mini" type="primary" @click="emptyPakin()" v-if="btnType == 'emptyPakin'">空板入库</button>
         <button size="mini" type="primary" @click="emptyOut()" v-if="btnType == 'emptyPakin'">呼叫空板</button>
         <button size="mini" type="primary" @click="doContainerMoveOut2()" v-if="btnType == 'out'">容器离场</button>
         <button size="mini" type="primary" @click="doContainerMoveOut2()" v-if="btnType == 'out'">货架离场</button>
         <button size="mini" type="primary" @click="doContainerMoveOut()" v-if="btnType == 'out'">确认出库</button>
         <button size="mini" type="primary" @click="doPickIn()" v-if="btnType == 'pick'">已拣料回库</button>
         <button size="mini" type="primary" @click="doPickIn2()" v-if="btnType == 'pick'">再次拣料</button>
         <button size="mini" type="primary" @click="startPakin()" v-if="btnType == 'start'">启动入库</button>
         <button size="mini" type="primary" @click="allocationOut()" v-if="btnType == 'allocationOut'">调拨离场</button>
         <button size="mini" type="primary" @click="allocationIn()" v-if="btnType == 'allocationIn'">调拨进场</button>
      </view>
   </view>
</template>
@@ -216,21 +256,16 @@
                  res = res.data
                  if (res.code === 200) {
                     if (res.data.records[0].locSts == 'O') {
                        _this.btnType = 'emptyPakin'
                        if (res.data.records[0].devNo.substring(0, 2) == "DB") {
                           _this.btnType = 'allocationIn'
                        } else {
                           _this.btnType = 'emptyPakin'
                        }
                     } else if (res.data.records[0].locSts == 'F') {
                        _this.btnType = 'pakin' 
                     } else {
                        _this.btnType = 'working' 
                     }
                     // if (res.data.records[0].locSts == 'O') {
                     //    res.data.records[0].locSts$ = '没有货架'
                     // } else if (res.data.records[0].locSts == 'F') {
                     //    res.data.records[0].locSts$ = '货架在库'
                     // } else if (res.data.records[0].locSts == 'S') {
                     //    res.data.records[0].locSts$ = '货架进入中'
                     // } else if (res.data.records[0].locSts == 'R') {
                     //    res.data.records[0].locSts$ = '货架离开中'
                     // }
                     
                     setTimeout(()=>{
                        for  (let k of res.data.records) {
@@ -249,7 +284,7 @@
                     uni.showToast({ title: '更新成功!', icon: "none", position: 'top' })
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -274,7 +309,7 @@
                     _this.reloadStation()
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -313,7 +348,7 @@
                     uni.showToast({ title: '启动入库', icon: "success", position: 'top' })
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -338,7 +373,7 @@
               method: 'POST',
               header: { 'token': uni.getStorageSync('token') },
               success(res) {
                  var res = result.data
                  var res = res.data
                  if (res.code === 200) {
                     setTimeout(()=> {
                        _this.containerType = ''
@@ -347,7 +382,7 @@
                     uni.showToast({ title: '呼叫成功', icon: "success", position: 'top' })
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -367,7 +402,7 @@
                     _this.selects = res.data
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -411,8 +446,17 @@
                        } else if (wrkMast.ioType == 103) {
                           wrkMast['ioTitle'] = '拣料出库'
                           _this.btnType = 'pick'
                        } else if (wrkMast.ioType == 109) {
                           wrkMast['ioTitle'] = '自动回流'
                           _this.btnType = 'handBack'
                        } else if (wrkMast.ioType == 110) {
                           wrkMast['ioTitle'] = '空板出库'
                        } else if (wrkMast.ioType == 111) {
                           wrkMast['ioTitle'] = '调拨出库'
                           _this.btnType = 'allocationOut'
                        } else if (wrkMast.ioType == 112) {
                           wrkMast['ioTitle'] = '调拨入库'
                           _this.btnType = 'null'
                        }
                        if (wrkMast.barcode == barcode) {
                           mast = wrkMast
@@ -429,7 +473,7 @@
                     }
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -454,7 +498,7 @@
                     _this.wrkDetls = res.data.records
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -480,7 +524,7 @@
                     _this.btnType = 'start'
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -499,6 +543,7 @@
            let devNo = {devNo:[this.station.devNo],barcode: _this.barcode}
            uni.request({
               url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut`,
               header: { 'token': uni.getStorageSync('token')},
               data: JSON.stringify(devNo),
               method: 'POST',
               success(res) {
@@ -512,7 +557,7 @@
                     uni.showToast({ title: '确认完成', icon: "success", position: 'top' }) 
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -532,6 +577,7 @@
            let devNo = {devNo:[this.station.devNo],barcode: _this.barcode}
            uni.request({
               url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut2`,
               header: { 'token': uni.getStorageSync('token')},
               data: JSON.stringify(devNo),
               method: 'POST',
               success(res) {
@@ -545,9 +591,28 @@
                     uni.showToast({ title: '离场完成', icon: "success", position: 'top' }) 
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
               }
            })
         },
         // 再次拣料
         doPickIn2() {
            let _this = this
            let item = this.wrkMast
            uni.navigateTo({
               url: './pickAgain',
               success(res) {
                  res.eventChannel.emit('item', {
                     item: item,
                     wrkDetls: _this.wrkDetls,
                  })
               },
               events: {
                  acceptDataFromOpenedPage: function(data) {
                     _this.reloadStation()
                  }
               }
            })
@@ -563,6 +628,7 @@
            let _this = this
            uni.request({
               url: `${_this.baseUrl}/agv/basDevp/visualized/container/pickIn`,
               header: { 'token': uni.getStorageSync('token')},
               data: {devNo: _this.station.devNo,barcode: _this.barcode},
               method: 'POST',
               success(res) {
@@ -573,7 +639,7 @@
                     _this.reloadStation()
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
@@ -601,13 +667,136 @@
                     uni.showToast({ title: '启动入库', icon: "success", position: 'top' })
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
               }
            });
         },
         // 调拨离场
         allocationOut() {
            let that = this
            let params = []
            let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
            params.push(param)
            uni.request({
               url: that.baseUrl + '/agvMobile/hand/control/allocationOut',
               header: {'token': uni.getStorageSync('token')},
               data: {devNo: that.station.devNo},
               method: 'POST',
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                     setTimeout(()=> {
                        that.barcode = ''
                        that.reloadStation()
                     },1000)
                     uni.showToast({ title: '离场成功', icon: "success", position: 'top' })
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
               }
            });
         },
         allocationIn() {
            this.$refs.allocationIn.open()
         },
         allocationInClose() {
            this.$refs.allocationIn.close()
         },
         allocationInConfirm() {
            let that = this
            let params = []
            let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
            params.push(param)
            uni.request({
               url: that.baseUrl + '/agvMobile/hand/control/allocationIn',
               header: {'token': uni.getStorageSync('token')},
               data: {devNo: that.station.devNo, barcode: that.barcode},
               method: 'POST',
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                     that.$refs.allocationIn.close()
                     setTimeout(()=> {
                        that.barcode = ''
                        that.reloadStation()
                     },1000)
                     uni.showToast({ title: '进场成功', icon: "success", position: 'top' })
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
               }
            });
         },
         doBack() {
            this.$refs.doBack.open()
         },
         doBackClose() {
            this.$refs.doBack.close()
         },
         doBackConfirm() {
            let that = this
            let params = []
            let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
            params.push(param)
            uni.request({
               url: that.baseUrl + '/agvMobile/hand/control/doBack',
               header: {'token': uni.getStorageSync('token')},
               data: {devNo: that.station.devNo, barcode: that.barcode},
               method: 'POST',
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                     that.$refs.doBack.close()
                     setTimeout(()=> {
                        that.barcode = ''
                        that.reloadStation()
                     },1000)
                     uni.showToast({ title: '退库任务申请成功', icon: "success", position: 'top' })
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
               }
            });
         },
         handBack() {
            let that = this
            let params = []
            let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
            params.push(param)
            uni.request({
               url: that.baseUrl + '/agvMobile/hand/control/handBack',
               header: {'token': uni.getStorageSync('token')},
               data: {devNo: that.station.devNo, barcode: that.barcode},
               method: 'POST',
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                     setTimeout(()=> {
                        that.reloadStation()
                     },1000)
                     uni.showToast({ title: '转换成功', icon: "success", position: 'top' })
                  } else if (res.code == 403) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
                  } else {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                  }
               }
            });
         }
      }
   }
</script>
@@ -616,13 +805,13 @@
   @import url('../../../static/css/common/order.css');
   
   .station {
      font-size: 18px;
      padding: 24rpx;
      font-size: 15px;
      padding: 18rpx;
   }
   .station-title {
      font-size: 32px;
      font-size: 28px;
      font-weight: bold;
      padding: 24rpx 0;
      padding: 18rpx 0;
   }
   .station-barcode {
      font-size: 24px;