whycq0520
2022-03-26 3693de3a743f774c81727a35f4b5ee9d28013a16
pages/basics/combPro.vue
@@ -3,11 +3,11 @@
      <form>
         <view class="cu-form-group margin-top">
            <view class="title">单号</view>
            <input v-model="billNo" placeholder="扫码 / 输入" name="input" autocomplete="off" focus @input="find()">
            <input v-model="billNo" placeholder="扫码 / 输入" name="input" autocomplete="off" @confirm="firstConfirm" :focus="firstFocus"  @input="find()">
         </view>
         <view class="cu-form-group margin-top">
            <view class="title">托盘码</view>
            <input v-model="code" placeholder="扫码 / 输入" name="input">
            <input v-model="code" placeholder="扫码 / 输入" name="input" @confirm="secondConfirm" :focus="secondFocus" >
         </view>
      </form>
      
@@ -18,15 +18,20 @@
               <input :adjust-position="false" type="text" placeholder="产品代号" confirm-type="search" v-model="size" @input="searchSize()"></input>
            </view>
         </view>
         <view class="flex solid-bottom  padding justify-start bg-gray" style="height: 110rpx;padding: 5rpx;">
            <button class ="cu-btn bg-red lg margin-xs" @click="delTable">批量删除</button>
            <button class ="cu-btn bg-cyan lg margin-xs" @click="clearSel">清空选择</button>
            <button class ="cu-btn bg-olive lg margin-xs" @click="reSelection">反选</button>
         </view>
         <uni-table ref="table" border stripe emptyText="暂无更多数据" type="selection" @selection-change="selectionChange">
            <uni-tr>
               <uni-th align="center" width="90">数量</uni-th>
               <uni-th align="center" width="90">组托数量</uni-th>
               <uni-th align="center" width="90">产品代号</uni-th>
               <uni-th align="center" width="90">产品编码</uni-th>
               <uni-th align="center" width="90">产品名称</uni-th>
               <uni-th align="center" width="90">序号</uni-th>
               <uni-th align="center" width="90">批号</uni-th>
               <uni-th align="center" width="50">数量</uni-th>
               <uni-th align="center" width="70">组托数量</uni-th>
               <uni-th align="center" width="80">产品代号</uni-th>
               <uni-th align="center" width="70">产品编码</uni-th>
               <uni-th align="center" width="150">产品名称</uni-th>
               <uni-th align="center" width="50">序号</uni-th>
               <uni-th align="center" width="70">批号</uni-th>
               
               
            </uni-tr>
@@ -45,18 +50,14 @@
            </uni-tr>
         </uni-table>
      </view>
      <view class="flex solid-bottom  padding justify-start">
         <button class ="cu-btn bg-red margin-xs" @click="delTable">批量删除</button>
         <button class ="cu-btn bg-cyan margin-xs" @click="clearSel">清空选择</button>
         <button class ="cu-btn bg-olive margin-xs" @click="reSelection">反选</button>
      </view>
      <view style="height: 200rpx;">
          <!-- 空白层 -->
      </view>
      <view class="cu-bar foot input">
      <view class="cu-bar foot input" style="height: 130rpx;">
         <view class="flex solid-bottom padding justify-start">
            <button class="cu-btn bg-yellow  lg margin-xs" style="width: 250rpx;" @click="comb()">组 托</button>
            <button class="cu-btn bg-grey lg margin-xs" @click="reset">重 置</button>
            <button class="cu-btn bg-yellow main-btn margin-xs" style="width: 430rpx;" @click="comb()">组 托</button>
            <button class="cu-btn bg-grey main-btn margin-xs" @click="reset">重 置</button>
         </view>
      </view>
      
@@ -77,7 +78,7 @@
      <view>
         <!-- 提示窗示例 -->
         <uni-popup ref="alertDialog" type="dialog">
            <uni-popup-dialog :type="msgType" title="警告" :content="message" @confirm="dialogConfirm"
            <uni-popup-dialog :type="msgType" title="警告" :content="message" @confirm="dialogConfirm('error')"
               @close="dialogClose"></uni-popup-dialog>
         </uni-popup>
      </view>
@@ -104,8 +105,9 @@
            selectArr : [],
            selectedIndexs:[],
            size:'',
            message:'123'
            message:'123',
            firstFocus:true,   // 控制第一个焦点,默认聚焦
            secondFocus:false,  // 控制第二个焦点
         }
      },
      mounted(){
@@ -115,6 +117,23 @@
         this.basePORT = UPORT
      },
      methods: {
         // 跳到第二个
         firstConfirm(){
            this.getFocus('secondFocus')
         },
         // 跳到第一个
         secondConfirm(){
         },
         // 获取焦点
         getFocus(nextfocus){
            this[nextfocus] = false     // 不能使用点语法
            this.$nextTick(()=>{
               this[nextfocus] = true
            })
         },
         // 多选
         selectionChange(e) {
            // 获取选中状态
@@ -157,7 +176,7 @@
            let size = this.size;
            let that = this
            uni.request({
               url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query/auth",
               url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query1/auth",
               header: {
                  'content-type':'application/x-www-form-urlencoded',
                  'token':uni.getStorageSync('token')},
@@ -171,45 +190,32 @@
                     if(res.data.data != null){
                        that.addTableData(res.data.data)
                     }else if(res.data.code === 403){
                        uni.navigateBack({
                            delta: 1
                        })
                     }else {
                        that.messageToggle('error')
                        that.messageText = res.data.msg
                     }
                  }
               }
            })
            // var str = ''
            // var tempData = []
            // str = val.detail.value;
            // tempData = this.tableData
            // for (var i = 0; i < tempData.length; i++) {
            //    var size = tempData[i].size
            //    if (str != '') {
            //       if (str === size) {
            //          tempData =[]
            //          tempData.push(this.matData[i])
            //          break
            //       }
            //    }
            // }
            // this.tableData = tempData
            // this.matData = tempData
         }, //SA290475 SH3102081
         },
         // 重置
         reset:function() {
            this.billNo = '';
            this.code = '';
            this.matData = [];
            this.size = '';
            this.toggleSelection()
            this.toggleSelection();
            this.getFocus('firstFocus')
         },
         messageToggle(type) {
            this.msgType = type
            this.messageText = '提取失败'
            this.$refs.message.open()
         },
         // 根据通知单号查询物料详情
         find(){
            let billNo = this.billNo
@@ -226,7 +232,7 @@
            }
            this.matData = []
            uni.request({
               url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query/auth",
               url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query1/auth",
               header: {
                  'content-type':'application/x-www-form-urlencoded',
                  'token':uni.getStorageSync('token')},
@@ -236,14 +242,16 @@
               },
               method: 'POST',
               success(res){
                  console.log(res)
                  if(res.data.code === 200){
                     if(res.data.data != null){
                        that.addTableData(res.data.data)
                     }else if(res.data.code === 403){
                        uni.navigateBack({
                            delta: 1
                        })
                     }else {
                        that.messageToggle('error')
                        that.messageText = res.data.msg
                     }
                  }
               }
@@ -252,18 +260,16 @@
         },
         addTableData(data){
            this.matData=[];
            for(var i=0;i<data.length;i++){
               var toPush = true;
               for(var j=0;j<this.matData.length;j++){
                  if(data[i].matNo ===this.matData[j].matNo ){
                  if(data[i].matNo ===this.matData[j].matNo && data[i].itemBatch === this.matData[j].itemBatch && data[i].specs === this.matData[j].specs){
                     this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count);
                     toPush = false;
                  }
               }
               if(toPush) {
                  this.matData.push(data[i]);
                  this.matData.push(data[i]);
               }
            }
         },
@@ -313,15 +319,19 @@
               that.messageText = '请先确认入库数量'
               return;
            }
            for (var i = 0; i < that.matData.length; i++){
               if (that.matData[i].count === 0) {
                  that.messageToggle('error')
                  that.messageText = '组托数量不能为0'
                  return;
               }
            }
            
            for (var i = 0; i < that.matData.length; i++) {
               console.log(that.value)
               console.log(that.matData[i].qty)
               var sad = that.matData[i].qty - that.value
               console.log(sad)
               if (sad <= 5 && sad > 0) {
                  this.$refs.alertDialog.open()
                  that.message = '产品代号' + that.matData[i].size + '剩余待组托数量少于5,是否继续组托'
                  that.message = '产品代号' + that.matData[i].size + '剩余待组托数量少于5,是否完结此单'
                  return
               } else {
                  uni.request({
@@ -334,12 +344,20 @@
                     },
                     method:'POST',
                     success(res) {
                        if(res.data.code === 200){
                           that.reset()
                           that.matData = []
                           that.couChange=true
                           that.messageToggle('success')
                           that.messageText = '组托成功'
                           this.getFocus('firstFocus')
                        } else if(res.data.code === 403){
                           uni.navigateBack({
                              delta: 1
                           })
                        } else {
                           that.messageToggle('error')
                           that.messageText = res.data.msg
                        }
                     }
                  })
@@ -347,17 +365,14 @@
            }
            
         },
         // 确定组托
         // 是否
         dialogConfirm() {
            console.log(1)
            let that = this
            let barcode = that.code
            let billNo = this.billNo
            console.log(that.matData)
            for (var i = 0; i < that.matData.length; i++) {
               that.matData[i].oveFlag = 1
            }
            console.log(that.matData)
            uni.request({
               url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/comb/auth",
               header: {'token':uni.getStorageSync('token')},
@@ -368,19 +383,59 @@
               },
               method:'POST',
               success(res) {
                  if(res.data.code === 200){
                     that.reset()
                     that.matData = []
                     that.couChange=true
                     that.messageToggle('success')
                     that.messageText = '组托成功'
                     this.getFocus('firstFocus')
                  } else if(res.data.code === 403){
                        uni.navigateBack({
                            delta: 1
                        })
                  } else {
                     that.messageToggle('error')
                     that.messageText = res.data.msg
                  }
               }
            })
         },
         // 取消组托
         // 否
         dialogClose() {
            console.log('取消组托了')
            let that = this
            let barcode = that.code
            let billNo = this.billNo
            for (var i = 0; i < that.matData.length; i++) {
               that.matData[i].oveFlag = 0
            }
            uni.request({
               url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/comb/auth",
               header: {'token':uni.getStorageSync('token')},
               data:{
                  barcode:barcode,
                  combMats:that.matData,
                  billNo: billNo,
               },
               method:'POST',
               success(res) {
                  if(res.data.code === 200){
                     that.reset()
                     that.matData = []
                     that.couChange=true
                     that.messageToggle('success')
                     that.messageText = '组托成功'
                     this.getFocus('firstFocus')
                  } else if(res.data.code === 403){
                        uni.navigateBack({
                            delta: 1
                        })
                  } else {
                     that.messageToggle('error')
                     that.messageText = res.data.msg
                  }
               }
            })
         }
      },
      onShow() {