|  |  | 
 |  |  | <template> | 
 |  |  |    <view> | 
 |  |  |       <view class="cu-form-group margin-top"> | 
 |  |  |          <view class="title">托盘码</view> | 
 |  |  |          <input v-model="billNo" placeholder="扫码 / 输入" name="input" @input="findCode()" focus> | 
 |  |  |          <button v-model="matBtn" class="cu-btn bg-yellow" @click="toggle('right')"><text>+补充</text></button> | 
 |  |  | 			 | 
 |  |  |       </view> | 
 |  |  |       <view class="margin-top"> | 
 |  |  |          <uni-table border stripe emptyText="暂无更多数据"> | 
 |  |  |             <uni-tr> | 
 |  |  |                <uni-th align="center" width="80">数量</uni-th> | 
 |  |  |                <uni-th align="center" width="100">产品编码</uni-th> | 
 |  |  |                <uni-th align="center" width="100">产品名称</uni-th> | 
 |  |  |                <uni-th align="center" width="100">产品批号</uni-th> | 
 |  |  |                <uni-th align="center" width="100">库位</uni-th> | 
 |  |  |                <uni-th align="center" width="150">确认数量</uni-th> | 
 |  |  |             </uni-tr> | 
 |  |  |             <uni-tr v-for="(item, index) in locDetlData" :key="index"> | 
 |  |  |                <uni-td>{{item.count}}</uni-td> | 
 |  |  |                <uni-td>{{item.matNo}}</uni-td> | 
 |  |  |                <uni-td>{{item.matName}}</uni-td> | 
 |  |  |                <uni-td>{{item.itemBatch}}</uni-td> | 
 |  |  |                <uni-td>{{item.locNo}}</uni-td> | 
 |  |  |                <uni-td align="center"> | 
 |  |  |                   <button class ="cu-btn bg-orange margin-xs" @click="conf(index,item)">修改</button> | 
 |  |  |                   <button class ="cu-btn bg-red margin-xs" @click="remove(index,item)">删除</button> | 
 |  |  |                </uni-td> | 
 |  |  |             </uni-tr> | 
 |  |  |          </uni-table> | 
 |  |  |       </view> | 
 |  |  |       <view style="height: 200rpx;"> | 
 |  |  |           <!-- 空白层 --> | 
 |  |  |       </view>  | 
 |  |  |       <view class="cu-bar foot input"> | 
 |  |  |          <view class="flex solid-bottom padding justify-start"> | 
 |  |  |             <button class="cu-btn bg-yellow lg margin-xs" style="width: 250rpx;" @click="check">确 认</button> | 
 |  |  |             <button class="cu-btn bg-grey lg margin-xs" @click="reset">重 置</button> | 
 |  |  |          </view> | 
 |  |  |       </view> | 
 |  |  | 		 | 
 |  |  |       <scroll-view> | 
 |  |  |          <uni-popup ref="popup" background-color="#fff" style="width: 500rpx;"> | 
 |  |  |             <view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }"> | 
 |  |  |                   <view class="cu-form-group margin-top"> | 
 |  |  |                      <text>补充产品</text> | 
 |  |  |                   </view> | 
 |  |  |                   <view class="cu-form-group margin-top"> | 
 |  |  |                      <text class="title">产品ID</text> | 
 |  |  |                      <input type="text" v-model="matNo" placeholder="扫码 / 输入" name="input" autocomplete="off" focus @input="find()"> | 
 |  |  |                   </view> | 
 |  |  |                   <view class="cu-form-group margin-top"> | 
 |  |  |                      <text class="title">产品名称</text> | 
 |  |  |                      <input type="text" name="input" autocomplete="off" v-model="matName"> | 
 |  |  |                   </view> | 
 |  |  |                   <view class="cu-form-group margin-top"> | 
 |  |  |                      <text class="title">规格型号</text> | 
 |  |  |                      <input type="text" name="input" autocomplete="off" v-model="size"> | 
 |  |  |                   </view> | 
 |  |  |                   <view class="cu-form-group margin-top"> | 
 |  |  |                      <text class="title">单位</text> | 
 |  |  |                      <input type="text" name="input" autocomplete="off" v-model="unit"> | 
 |  |  |                   </view> | 
 |  |  |                   <view class="cu-form-group margin-top"> | 
 |  |  |                      <text class="title">数量</text> | 
 |  |  |                      <uni-number-box :min="0" :max="999" @change="countDom" v-model="count" /> | 
 |  |  |                   </view> | 
 |  |  |                   <view class="flex solid-bottom padding justify-center"> | 
 |  |  |                      <button class="cu-btn bg-yellow pda-btn2" @click="confirm">提取</button> | 
 |  |  |                   </view> | 
 |  |  |                   <view style="height: 200rpx;"> | 
 |  |  |                       <!-- 空白层 --> | 
 |  |  |                   </view> | 
 |  |  |       <scroll-view scroll-y> | 
 |  |  |          <view class="pak-seach-box"> | 
 |  |  |             <view class="box-top"> | 
 |  |  |                <view class="color-block-blue"></view> | 
 |  |  |                <text class="title">选择站台</text> | 
 |  |  |             </view> | 
 |  |  |          </uni-popup> | 
 |  |  |             <view> | 
 |  |  |                <text class="item">出库口</text> | 
 |  |  |                <view class="example-body"> | 
 |  |  |                   <uni-combox @input="getCheckDetl" emptyTips="暂无数据" :candidates="staNoList" v-model="staNo" placeholder="请选择"></uni-combox> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  | 			 | 
 |  |  |          <view class="square-2"> | 
 |  |  |             <view class="square-title"> | 
 |  |  |                <view class="title-sign"><view class="sign"></view></view> | 
 |  |  |                <view class="title-text"><text>托盘条码</text></view> | 
 |  |  |             </view> | 
 |  |  |             <view class="square-content"> | 
 |  |  |                <view class="content-input"> | 
 |  |  |                   <input v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="8"placeholder-style="line-height:  85rpx;"> | 
 |  |  |                   <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode" ></uni-icons> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |          <view class="pak-data-box"> | 
 |  |  |             <view class="box-top"> | 
 |  |  |                <view class="color-block-blue"></view> | 
 |  |  |                <text class="title">商品列表</text> | 
 |  |  |                <!-- <button class="cu-btn bg-blue" @click="selectMat()">+ 添加</button> --> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |          <view class="pak-data-box"  v-show="matList.length === 0"> | 
 |  |  |             <view style="text-align: center;">暂无更多数据</view> | 
 |  |  |          </view> | 
 |  |  |          <checkbox-group> | 
 |  |  |             <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > | 
 |  |  |                <view class="data-list-left"> | 
 |  |  |                   <view class="matnr"><text style="width: 400rpx;">编码:{{item.matnr}}</text></view> | 
 |  |  |                   <view><text style="width: 400rpx;">品名:{{item.maktx}}</text></view> | 
 |  |  |                   <view><text style="width: 400rpx;">批号:{{item.batch}}</text></view> | 
 |  |  |                   <view> | 
 |  |  |                      <text style="width: 400rpx;">数量:{{item.anfme}}</text> | 
 |  |  |                   </view> | 
 |  |  |                </view> | 
 |  |  |                <view class="data-list-right"> | 
 |  |  |                   <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label> | 
 |  |  |                   <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </checkbox-group> | 
 |  |  |          <view class="footer flex justify-around"> | 
 |  |  |             <view> | 
 |  |  |                <button class="cu-btn lg" @click="resst()">重置</button> | 
 |  |  |             </view> | 
 |  |  |             <view> | 
 |  |  |                <button class="cu-btn lg pakin-btn bg-blue" @click="adjust()">确认</button> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </scroll-view> | 
 |  |  |       <view> | 
 |  |  |          <!-- 提示信息弹窗 --> | 
 |  |  |          <uni-popup ref="message" type="message"> | 
 |  |  |             <uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |       <view> | 
 |  |  |          <!-- 输入框示例 --> | 
 |  |  |          <uni-popup ref="inputDialog" type="dialog"> | 
 |  |  |             <uni-popup-dialog ref="inputClose" mode="input" title="产品数量"  | 
 |  |  |                placeholder="请输入组托数量" @confirm="dialogInputConfirm"> | 
 |  |  |                   <uni-number-box :min="0" :max="999" v-model="value" /> | 
 |  |  |             </uni-popup-dialog>	 | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |       <!-- <view> | 
 |  |  |          <view class="uni-padding-wrap uni-common-mt"> | 
 |  |  |             <view class="uni-btn-v"> | 
 |  |  |                <button type="default" @tap="noTitlemodalTap">无标题的modal</button> | 
 |  |  |          <!-- 修改数量 --> | 
 |  |  |          <uni-popup ref="revise" background-color="#fff" @change="change"> | 
 |  |  |             <view class="revise-box"> | 
 |  |  |                <view class="revise-box-top"> | 
 |  |  |                   <view class="color-block-blue"></view> | 
 |  |  |                   <text class="title">组托数量</text> | 
 |  |  |                </view> | 
 |  |  |                <view class="text-box"> | 
 |  |  |                   <text>可组数量:{{enableQty}}</text> | 
 |  |  |                </view> | 
 |  |  |                <view class="changeBox"> | 
 |  |  |                   <view class="num-box"> | 
 |  |  |                      <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474"  @change="changeValue"/> | 
 |  |  |                   </view>  | 
 |  |  |                </view> | 
 |  |  |                <view class="revise-box-buttom"> | 
 |  |  |                   <view> | 
 |  |  |                      <button class="cu-btn bg-blue" @click="confirm()">确认</button> | 
 |  |  |                   </view> | 
 |  |  |                </view> | 
 |  |  | 					 | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </view> --> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |    </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  |    export default { | 
 |  |  |       data() { | 
 |  |  |          return { | 
 |  |  |             msgType: '', | 
 |  |  |             messageText: '', | 
 |  |  |             matBtn:'', | 
 |  |  |             souceData:[], // 初始化表格数据记录 | 
 |  |  |             locDetlData:[], | 
 |  |  |             matNo:'', | 
 |  |  |             matName:'', | 
 |  |  |             size:'', | 
 |  |  |             unit:'', | 
 |  |  |             count:0, | 
 |  |  |             type: '', | 
 |  |  |             baseIP:'', | 
 |  |  |             basePORT:'', | 
 |  |  |             checkList:[], | 
 |  |  |             sourceList:[], | 
 |  |  |             billNo:'', | 
 |  |  |             matData:[], | 
 |  |  |             rowNum:'', | 
 |  |  |             value:'0', | 
 |  |  |             matList:[], | 
 |  |  |             staNoList:[], | 
 |  |  |             barcode: '', | 
 |  |  |             staNo:'', | 
 |  |  |             matnr:'', | 
 |  |  |             enableQty:'', | 
 |  |  |             count:'', | 
 |  |  |             maxCount:'', | 
 |  |  |             minCount:0, | 
 |  |  |             rowNum:'' | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       mounted(){ | 
 |  |  |          // 获取IP端口 | 
 |  |  |          const UIP = uni.getStorageSync('UIP'); | 
 |  |  |          this.baseIP = UIP; | 
 |  |  |          const UPORT = uni.getStorageSync('UPORT'); | 
 |  |  |          this.basePORT = UPORT; | 
 |  |  |          this.basePORT = UPORT | 
 |  |  |          this.getOutBound(); | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          // 提示窗口 | 
 |  |  |          messageToggle(type) { | 
 |  |  |             this.msgType = type | 
 |  |  |             this.messageText = '提取失败' | 
 |  |  |             this.$refs.message.open() | 
 |  |  |          }, | 
 |  |  |          // 根据托盘码查询 | 
 |  |  |          findCode() { | 
 |  |  |          getOutBound() {         // 获取出库口 | 
 |  |  |             let that = this | 
 |  |  |             if (that.billNo.length === 0 || that.billNo.length !== 8) { | 
 |  |  |                return | 
 |  |  |             } | 
 |  |  |             let barCode = that.billNo | 
 |  |  |             // 赋值前清空表格 | 
 |  |  |             that.locDetlData = [] | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/check/queryMatFromBarCode?barCode=" + barCode, | 
 |  |  |                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/available/take/check/site', | 
 |  |  |                method: 'POST', | 
 |  |  |                header: { | 
 |  |  |                   'content-type':'application/x-www-form-urlencoded', | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                }, | 
 |  |  |                data: { | 
 |  |  |                   barCode: barCode | 
 |  |  |                }, | 
 |  |  |                method:'GET', | 
 |  |  |                success(res) { | 
 |  |  |                   if (res.data.code === 200) { | 
 |  |  |                      that.locDetlData = res.data.data | 
 |  |  |                      if (res.data.data && res.data.data.length > 0) { | 
 |  |  |                         res.data.data.map(function(item){ | 
 |  |  |                            that.souceData.push(item) | 
 |  |  |                         }) | 
 |  |  |                      } | 
 |  |  |                   } else if (res.data.code === 403) { | 
 |  |  |                      uni.navigateBack({ | 
 |  |  |                          delta: 1 | 
 |  |  |                      }) | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      that.staNoList = res.data | 
 |  |  |                   } else if (res.code == 403) { | 
 |  |  |                      uni.showToast({title: res.msg, icon: "none", position: 'top'}) | 
 |  |  |                      setTimeout(() => { | 
 |  |  |                         uni.reLaunch({ | 
 |  |  |                            url: '../login/login' | 
 |  |  |                         }); | 
 |  |  |                      }, 1000); | 
 |  |  |                   } else { | 
 |  |  |                      that.messageToggle('error') | 
 |  |  |                      that.messageText = res.data.msg | 
 |  |  |                      uni.showToast({title: res.msg, icon: "none",position: 'top'}) | 
 |  |  |                   } | 
 |  |  |                }, | 
 |  |  |             }); | 
 |  |  |          }, // getOutBound | 
 |  |  |          getCheckDetl() {   // 获取出库口货物信息 | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/checkDetl/auth', | 
 |  |  |                method: 'POST', | 
 |  |  |                data: { | 
 |  |  |                   staNo:that.staNo | 
 |  |  |                }, | 
 |  |  |                header: { | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                }, | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                   console.log(result) | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      console.log(res.data) | 
 |  |  |                   } else if (res.code == 403) { | 
 |  |  |                      uni.showToast({title: res.msg, icon: "none", position: 'top'}) | 
 |  |  |                      setTimeout(() => { | 
 |  |  |                         uni.reLaunch({ | 
 |  |  |                            url: '../login/login' | 
 |  |  |                         }); | 
 |  |  |                      }, 1000); | 
 |  |  |                   } else { | 
 |  |  |                      uni.showToast({title: res.msg, icon: "none",position: 'top'}) | 
 |  |  |                   } | 
 |  |  |                }, | 
 |  |  |             }); | 
 |  |  |          }, // getCheckDetl | 
 |  |  |          selectMat() {  // 选择商品 | 
 |  |  |             let that = this | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |             uni.navigateTo({ | 
 |  |  |                url: "matSelect", | 
 |  |  |                events: { | 
 |  |  |                    // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 | 
 |  |  |                    acceptDataFromOpenedPage: function(data) { | 
 |  |  |                      that.matnr = data.data | 
 |  |  |                      that.findMat(that.matnr) | 
 |  |  |                    }, | 
 |  |  |                  }, | 
 |  |  |                  success: function(res) { | 
 |  |  |                    // 通过eventChannel向被打开页面传送数据 | 
 |  |  |                    res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT }) | 
 |  |  |                  } | 
 |  |  |             }); | 
 |  |  |             that.matnr = '' | 
 |  |  |          }, // selectMat | 
 |  |  |          findMat() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                 url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth', | 
 |  |  |                 data: { | 
 |  |  |                   matnr:that.matnr | 
 |  |  |                 }, | 
 |  |  |                 header: { | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                 }, | 
 |  |  |                success(result) { | 
 |  |  |                   uni.vibrateShort(); | 
 |  |  |                   let res = result.data | 
 |  |  |                   if (res.code === 200 && res.data) { | 
 |  |  |                      that.matData = res.data | 
 |  |  |                      uni.navigateTo({ | 
 |  |  |                         url: "matQuery", | 
 |  |  |                         events: { | 
 |  |  |                             // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 | 
 |  |  |                             matList: function(data) { | 
 |  |  |                               that.matList.push(data.data) | 
 |  |  |                             }, | 
 |  |  |                           }, | 
 |  |  |                           success: function(res) { | 
 |  |  |                             // 通过eventChannel向被打开页面传送数据 | 
 |  |  |                             res.eventChannel.emit('matData', { data: that.matData }) | 
 |  |  |                           } | 
 |  |  |                      }); | 
 |  |  |                   } | 
 |  |  | 						 | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |             }); | 
 |  |  |          }, // findMat | 
 |  |  |          revise(item,index) { | 
 |  |  |             var maxCount = this.matList[index].maxCount | 
 |  |  |             if (maxCount == undefined ) { | 
 |  |  |                this.matList[index]["maxCount"] = item.enableQty | 
 |  |  |             }  | 
 |  |  |             this.enableQty = item.enableQty | 
 |  |  |             this.count = this.minCount | 
 |  |  |             this.maxCount = item.maxCount | 
 |  |  |             this.rowNum = index | 
 |  |  |             this.eject() | 
 |  |  |          },  | 
 |  |  |          remove(item,index) { | 
 |  |  |             this.matList.splice(index,1) | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |          }, | 
 |  |  |          // 点击补充的弹窗 | 
 |  |  |          toggle(type) { | 
 |  |  |          eject(type) { | 
 |  |  |             this.type = type | 
 |  |  |             // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 | 
 |  |  |             this.$refs.popup.open(type) | 
 |  |  |             this.$refs.revise.open(type) | 
 |  |  |          }, | 
 |  |  |          messageToggle(type) { | 
 |  |  |             this.msgType = type | 
 |  |  |             this.messageText = '提取失败' | 
 |  |  |             this.$refs.message.open() | 
 |  |  |          change(e) { | 
 |  |  |             // console.log('当前模式:' + e.type + ',状态:' + e.show); | 
 |  |  |          }, | 
 |  |  |          countDom(value) { | 
 |  |  |          changeValue() { | 
 |  |  |              | 
 |  |  |          }, | 
 |  |  |          // 根据产品ID查询产品详情 | 
 |  |  |          find(){ | 
 |  |  |          confirm() { | 
 |  |  |             this.matList[this.rowNum].anfme = this.count | 
 |  |  |             this.$refs.revise.close() | 
 |  |  |          }, | 
 |  |  |          resst() { | 
 |  |  |             this.matList = [] | 
 |  |  |             this.staNo = '' | 
 |  |  |          }, | 
 |  |  |          adjust() { | 
 |  |  |             let that = this | 
 |  |  |             let thatId = that.matNo | 
 |  |  |             if(that.matNo.length===0){ | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/matCode/auth", | 
 |  |  |                header: { | 
 |  |  |                   'content-type':'application/x-www-form-urlencoded', | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                   }, | 
 |  |  |                data: { | 
 |  |  |                   id:thatId | 
 |  |  |                }, | 
 |  |  |                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/adjust/auth', | 
 |  |  |                method: 'POST', | 
 |  |  |                success(res){ | 
 |  |  |                   let data = res.data.data | 
 |  |  |                   if(res.data.code === 200){ | 
 |  |  |                      if(data != null){ | 
 |  |  |                         that.matName = data.matName | 
 |  |  |                         that.size = data.size | 
 |  |  |                         that.unit = data.unit | 
 |  |  |                      } | 
 |  |  |                   } else if (res.data.code ===403 ){ | 
 |  |  |                      uni.navigateBack({ | 
 |  |  |                          delta: 1 | 
 |  |  |                      }) | 
 |  |  |                   } else { | 
 |  |  |                      this.messageToggle('error') | 
 |  |  |                      this.messageText = res.data.msg | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          // 弹窗 确认补充 | 
 |  |  |          confirm(){ | 
 |  |  |             let that = this | 
 |  |  |             let data = { | 
 |  |  |                matNo:that.matNo, | 
 |  |  |                matName:that.matName, | 
 |  |  |                count:that.count | 
 |  |  |             } | 
 |  |  |             that.addTableData(data) | 
 |  |  | 				 | 
 |  |  |          }, | 
 |  |  |          // 修改数量 | 
 |  |  |          conf(index,item){ | 
 |  |  |             this.$refs.inputDialog.open() | 
 |  |  |             this.rowNum = index | 
 |  |  |             if (item.count === undefined ) { | 
 |  |  |                this.value = 0 | 
 |  |  |             } | 
 |  |  |          }, | 
 |  |  |          // 修改数量弹窗 | 
 |  |  |          dialogInputConfirm(value) { | 
 |  |  |              this.locDetlData[this.rowNum].count = this.value | 
 |  |  |              this.messageToggle('success') | 
 |  |  |              this.messageText = '修改成功'     | 
 |  |  |          }, | 
 |  |  |          // 移除物料 | 
 |  |  |          remove(index,item){ | 
 |  |  |             this.locDetlData.splice(index,1) | 
 |  |  |             this.messageToggle('success') | 
 |  |  |             this.messageText = '删除成功' | 
 |  |  |          }, | 
 |  |  |          // 表格渲染 | 
 |  |  |          addTableData(data){ | 
 |  |  |             let that = this | 
 |  |  |             if(data.matNo.length === 0){ | 
 |  |  |                that.messageToggle('error') | 
 |  |  |                that.messageText = '提取失败' | 
 |  |  |                return | 
 |  |  |             } | 
 |  |  |             var toPush = true | 
 |  |  |             for (var j = 0; j < that.locDetlData.length; j++) { | 
 |  |  |                if (data.matNo === that.locDetlData[j].matNo && data.locNo === that.locDetlData[j].locNo) { | 
 |  |  |                   toPush = false; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             if (toPush) { | 
 |  |  |                var pushData = { | 
 |  |  |                   locNo: that.locDetlData[0] ? that.locDetlData[0].locNo : null, | 
 |  |  |                   matNo: data.matNo, | 
 |  |  |                   count: data.count, | 
 |  |  |                   matName: data.matName | 
 |  |  |                 } | 
 |  |  |                 that.locDetlData.push(pushData); | 
 |  |  |             } | 
 |  |  |             that.$refs.popup.close() | 
 |  |  |          }, | 
 |  |  |          // 重置 | 
 |  |  |          reset(){ | 
 |  |  |             this.billNo = '' | 
 |  |  |             this.locDetlData = [] | 
 |  |  |          }, | 
 |  |  |          check(){ | 
 |  |  |             let that = this | 
 |  |  |             if(that.billNo.length === 0) { | 
 |  |  |                that.messageToggle('error') | 
 |  |  |                that.messageText = '请 扫码 / 输入 托盘码' | 
 |  |  |                return | 
 |  |  |             } | 
 |  |  |             if(that.billNo.length < 8) { | 
 |  |  |                that.messageToggle('error') | 
 |  |  |                that.messageText = '托盘码必须为8位' | 
 |  |  |                return | 
 |  |  |             } | 
 |  |  |             if(that.locDetlData.length > 0) { | 
 |  |  |                for(var i = 0; i < that.locDetlData.length; i++){ | 
 |  |  |                   if (that.locDetlData[i].count === null || that.locDetlData[i].count === 0 ||  | 
 |  |  |                   that.locDetlData[i].count === undefined) { | 
 |  |  |                      that.messageToggle('error') | 
 |  |  |                      that.messageText = that.locDetlData[i].matNo + '商品数量错误' | 
 |  |  |                      return | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |             if (that.locDetlData.length > 0) { | 
 |  |  |                 that.locDetlData.map(function (item) { | 
 |  |  |                     that.checkList.push({ | 
 |  |  |                         locNo: item.locNo, | 
 |  |  |                         matNo: item.matNo, | 
 |  |  |                         checkQty: item.count, | 
 |  |  |                      itemBatch: item.itemBatch | 
 |  |  |                     }); | 
 |  |  |                 }); | 
 |  |  |             } | 
 |  |  |             if (that.souceData.length > 0) { | 
 |  |  |                 that.souceData.map(function (item) { | 
 |  |  |                     that.sourceList.push({ | 
 |  |  |                         locNo: item.locNo, | 
 |  |  |                         matNo: item.matNo, | 
 |  |  |                         count: item.count, | 
 |  |  |                      itemBatch: item.itemBatch | 
 |  |  |                     }); | 
 |  |  |                 }); | 
 |  |  |             } | 
 |  |  |             // this.noTitlemodalTap() | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/stock/check", | 
 |  |  |                data: { | 
 |  |  |                   combParam: that.matList | 
 |  |  |                }, | 
 |  |  |                header: { | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                }, | 
 |  |  |                data: JSON.stringify({ | 
 |  |  |                   checkList: that.checkList | 
 |  |  |                }), | 
 |  |  |                method:'POST', | 
 |  |  |                async:false, | 
 |  |  |                success(res){ | 
 |  |  |                   if(res.data.code === 200){ | 
 |  |  |                      that.reset(); | 
 |  |  |                      that.messageToggle('success') | 
 |  |  |                      that.messageText = '盘点成功' | 
 |  |  |                   } else if (res.data.code === 403) { | 
 |  |  |                      uni.navigateBack({ | 
 |  |  |                          delta: 1 | 
 |  |  |                      }) | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                      console.log(result) | 
 |  |  |                   if (res.code === 200) { | 
 |  |  | 					 | 
 |  |  |                   } else if (res.code == 403) { | 
 |  |  |                      uni.showToast({title: res.msg, icon: "none", position: 'top'}) | 
 |  |  |                      setTimeout(() => { | 
 |  |  |                         uni.reLaunch({ | 
 |  |  |                            url: '../login/login' | 
 |  |  |                         }); | 
 |  |  |                      }, 1000); | 
 |  |  |                   } else { | 
 |  |  |                      that.messageToggle('error') | 
 |  |  |                      that.messageText = res.data.msg | 
 |  |  |                      uni.showToast({title: res.msg, icon: "none",position: 'top'}) | 
 |  |  |                   } | 
 |  |  |                }  | 
 |  |  |             }) | 
 |  |  |                }, | 
 |  |  |             }); | 
 |  |  |          }, | 
 |  |  |          noTitlemodalTap: function (e) { | 
 |  |  |             uni.showModal({ | 
 |  |  |                content: "是否确认盘点", | 
 |  |  |                confirmText: "是", | 
 |  |  |                cancelText: "否" | 
 |  |  |             }) | 
 |  |  | 				 | 
 |  |  |          removeBarcode() { | 
 |  |  |             this.barcode = '' | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |       } // methods | 
 |  |  |    } // exprot | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |    .pak-seach-box { | 
 |  |  |       background-color: #FFFFFF; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  |       width: 96%; | 
 |  |  |       height: 200rpx; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |    } | 
 |  |  |    .box-top{ | 
 |  |  |       display: block; | 
 |  |  |       height: 80rpx; | 
 |  |  |       width: 720rpx; | 
 |  |  |    } | 
 |  |  |    .color-block-blue { | 
 |  |  |       background-color: #1E9FFF; | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       margin: 30rpx 15rpx 0 15rpx; | 
 |  |  |       width: 12rpx; | 
 |  |  |       height: 40rpx; | 
 |  |  |       border: 5rpx solid #1E9FFF; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |    } | 
 |  |  |    .title { | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       font-size: 34rpx; | 
 |  |  |       font-weight: 700; | 
 |  |  |       height: 50rpx; | 
 |  |  |       line-height: 80rpx; | 
 |  |  |       margin-top: 10rpx; | 
 |  |  |    } | 
 |  |  |    .item { | 
 |  |  |       text-indent: 1em; | 
 |  |  |       font-size: 16px; | 
 |  |  |       display: inline-block; | 
 |  |  |       margin-top: 40rpx; | 
 |  |  |    } | 
 |  |  |    .example-body { | 
 |  |  |       position: fixed; | 
 |  |  |       display: inline-block; | 
 |  |  |       margin-top: 3.5%; | 
 |  |  |       margin-left: 5%; | 
 |  |  |       width: 70%; | 
 |  |  |       z-index: 999; | 
 |  |  |    } | 
 |  |  |     | 
 |  |  | </style> | 
 |  |  |    .pak-data-box { | 
 |  |  |       background-color: #F1F1F1; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  |       width: 96%; | 
 |  |  |       height: 100rpx; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |       line-height: 100rpx; | 
 |  |  |    } | 
 |  |  |    .pak-data-box>.box-top { | 
 |  |  |       background-color: #FFFFFF; | 
 |  |  |       height: 100rpx; | 
 |  |  |       border-radius: 20rpx 20rpx 20rpx 20rpx; | 
 |  |  |    } | 
 |  |  |    .pak-data-box button { | 
 |  |  |       background-color: #1E9FFF; | 
 |  |  |       color: #ffffff; | 
 |  |  |       display: inline-block; | 
 |  |  |       float: right; | 
 |  |  |       width: 150rpx; | 
 |  |  |       height: 80rpx; | 
 |  |  |       margin: 10rpx 25rpx 0rpx 0rpx; | 
 |  |  |       line-height: 80rpx; | 
 |  |  |    } | 
 |  |  |    .bg-false { | 
 |  |  |       background-color: #FFFFFF; | 
 |  |  |    } | 
 |  |  |    .bg-true { | 
 |  |  |       background-color: #ebebeb; | 
 |  |  |    } | 
 |  |  |    .data-list { | 
 |  |  |       border-bottom: 1px solid #d8d8d8; | 
 |  |  |       height: 180rpx; | 
 |  |  |       margin: 15rpx; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |    } | 
 |  |  |    .data-list:first-child { | 
 |  |  |       margin-top: 20rpx; | 
 |  |  |    } | 
 |  |  |    .data-list:last-child { | 
 |  |  |       margin-bottom: 160rpx; | 
 |  |  |    } | 
 |  |  |    .data-list-left { | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       margin-left: 6%; | 
 |  |  |       height: 180rpx; | 
 |  |  |       color: #676767; | 
 |  |  |    } | 
 |  |  |    .matnr { | 
 |  |  |       padding-top: 10rpx; | 
 |  |  |    } | 
 |  |  |    .data-list-right { | 
 |  |  |       display: inline-block; | 
 |  |  |       float: right; | 
 |  |  |       width: 200rpx; | 
 |  |  |       height: 180rpx; | 
 |  |  |       line-height: 180rpx; | 
 |  |  |    } | 
 |  |  |    .data-list-right label { | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       width: 100rpx; | 
 |  |  |       height: 180rpx; | 
 |  |  |    } | 
 |  |  | </style> |