|  |  | 
 |  |  | <template> | 
 |  |  |    <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 class="title-text"><text>库位号</text></view> | 
 |  |  |          </view> | 
 |  |  |          <view class="square-content"> | 
 |  |  |             <view class="content-input"> | 
 |  |  |                <input type="text" v-model="yyds" placeholder="扫码 / 输入" @input="find" :focus="focus"> | 
 |  |  |                <uni-icons type="closeempty" size="20" color="#dadada"></uni-icons> | 
 |  |  |                <input type="text" v-model="locno" placeholder="扫码 / 输入" :focus="locnoFocus"> | 
 |  |  |                <uni-icons v-show="locno" type="closeempty" size="20" color="#dadada" @click="remove('locno')"></uni-icons> | 
 |  |  |             </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 class="title-text"><text>检索商品</text></view> | 
 |  |  |          </view> | 
 |  |  |          <view class="square-content"> | 
 |  |  |             <view class="content-input"> | 
 |  |  |                <input type="text" v-model="yyds" placeholder="扫码 / 输入" @input="find" :focus="focus"> | 
 |  |  |                <uni-icons type="closeempty" size="20" color="#dadada"></uni-icons> | 
 |  |  |             <view class="content-input-btn"> | 
 |  |  |                <input v-model="matnr" type="text" placeholder="扫码 / 输入" @input="findMat()" | 
 |  |  |                :focus="matnrFocus" placeholder-style="line-height:  85rpx;"> | 
 |  |  |                <uni-icons v-show="matnr" type="closeempty" size="20" color="#dadada" @click="remove('matnr')"></uni-icons> | 
 |  |  |             </view> | 
 |  |  |             <view class="content-btn"> | 
 |  |  |                <button class="cu-btn bg-blue pda-btn" @click="selectMat()">+提取</button> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </view> | 
 |  |  |    </view> | 
 |  |  | 		 | 
 |  |  |       <!-- 商品列表表头 --> | 
 |  |  |       <view class="square-1"> | 
 |  |  |          <view class="square-title"> | 
 |  |  |             <view class="title-sign"><view class="sign"></view></view> | 
 |  |  |             <view class="title-text"><text>商品列表</text></view> | 
 |  |  |          </view> | 
 |  |  |       </view> | 
 |  |  | 		 | 
 |  |  |       <view class="square-none" v-show="matList.length == 0"> | 
 |  |  |          <view class="v-show">暂无更多数据...</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="removeItem(item,index)"></uni-icons></label> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </checkbox-group> | 
 |  |  | 		 | 
 |  |  |       <!-- 底部按钮 --> | 
 |  |  |       <view class="footer flex justify-around"> | 
 |  |  |          <!-- <label class="label-btn" style="width: 170rpx;"> | 
 |  |  |             <checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox> | 
 |  |  |          </label> | 
 |  |  |          <label class="label-btn" style="width: 100rpx;"> | 
 |  |  |             <text  @click="reChecked()">反选</text> | 
 |  |  |          </label> --> | 
 |  |  | 			 | 
 |  |  |          <label class="label-btn" style="width: 150rpx;"> | 
 |  |  |             <button class="cu-btn" @click="resst()">重置</button> | 
 |  |  |          </label> | 
 |  |  |          <label class="label-btn"> | 
 |  |  |             <button class="cu-btn bg-blue " @click="comb()">上架</button> | 
 |  |  |          </label> | 
 |  |  |       </view> | 
 |  |  |       <view> | 
 |  |  |          <!-- 提示信息弹窗 --> | 
 |  |  |          <uni-popup ref="message" type="message"> | 
 |  |  |             <uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |     | 
 |  |  |       <!-- 弹窗 --> | 
 |  |  |       <!-- 修改数量 --> | 
 |  |  |       <uni-popup ref="revise" background-color="#fff"> | 
 |  |  |          <view class="revise-box"> | 
 |  |  |             <view class="revise-box-top"> | 
 |  |  |                <view class="color-block-blue"></view> | 
 |  |  |                <text class="title">修改数量</text> | 
 |  |  |             </view> | 
 |  |  |             <view class="changeBox"> | 
 |  |  |                <view class="num-box"> | 
 |  |  |                   <uni-number-box :value="count" :max="9999" color="#747474"  @change="changeValue"/> | 
 |  |  |                </view>  | 
 |  |  |             </view> | 
 |  |  |             <view class="revise-box-buttom"> | 
 |  |  |                <view> | 
 |  |  |                   <button class="cu-btn bg-blue" @click="confirm()">确认</button> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </uni-popup> | 
 |  |  |    </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  |     export default { | 
 |  |  |       data() { | 
 |  |  |           return { | 
 |  |  |             locno:'', // 库位号 | 
 |  |  |             matnr:'', // 商品码 | 
 |  |  |             locnoFocus:true, | 
 |  |  |             matnrFocus:true, | 
 |  |  |             matList:[], // 商品列表 | 
 |  |  |             listLen:0, | 
 |  |  |             listNum:1, | 
 |  |  |             msgType: 'success', | 
 |  |  |             messageText: '这是一条成功提示', | 
 |  |  |             count:'', | 
 |  |  |             rowNum:'', | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       mounted(){ | 
 |  |  |          const UIP = uni.getStorageSync('UIP'); | 
 |  |  |          this.baseIP = UIP; | 
 |  |  |          const UPORT = uni.getStorageSync('UPORT'); | 
 |  |  |          this.basePORT = UPORT | 
 |  |  |          const PROJ = uni.getStorageSync('UPROJ'); | 
 |  |  |          this.baseUrl = PROJ | 
 |  |  |          this.getUrl() | 
 |  |  |       }, | 
 |  |  |       methods:{ | 
 |  |  |          // 获取url | 
 |  |  |          getUrl() { | 
 |  |  |             this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl | 
 |  |  |          }, | 
 |  |  |          // 消息提示弹窗 | 
 |  |  |          messageToggle(type) { | 
 |  |  |             this.msgType = type | 
 |  |  |             this.messageText = '' | 
 |  |  |             this.$refs.message.open() | 
 |  |  |          }, | 
 |  |  |          // 清空input | 
 |  |  |          remove(e) { | 
 |  |  |             this[e] = '' | 
 |  |  |          }, | 
 |  |  |          // 重置 | 
 |  |  |          resst() { | 
 |  |  |             this.locno = '' | 
 |  |  |             this.matnr = '' | 
 |  |  |             this.matList = [] | 
 |  |  |          }, | 
 |  |  |          findMat() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                 url: that.commonUrl + '/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 | 
 |  |  |                      that.matnr = '' | 
 |  |  |                      uni.navigateTo({ | 
 |  |  |                         url: "matQuery", | 
 |  |  |                         events: { | 
 |  |  |                             // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 | 
 |  |  |                             matList: function(data) { | 
 |  |  |                               console.log(data) | 
 |  |  |                               that.matList.push(data.data) | 
 |  |  |                            }, | 
 |  |  |                         }, | 
 |  |  |                         success: function(res) { | 
 |  |  |                            // 通过eventChannel向被打开页面传送数据 | 
 |  |  |                            res.eventChannel.emit('matData', { data: that.matData }) | 
 |  |  |                         }, | 
 |  |  |                      }); | 
 |  |  |                   } | 
 |  |  | 						 | 
 |  |  |                } | 
 |  |  |             }); | 
 |  |  | 				 | 
 |  |  |          }, | 
 |  |  |          // 移除物料 | 
 |  |  |          removeItem(item,index) { | 
 |  |  |             this.matList.splice(index,1) | 
 |  |  |             // this.listLen = this.matList.length | 
 |  |  |             this.messageToggle('success') | 
 |  |  |             this.messageText = '移除成功' | 
 |  |  |          }, | 
 |  |  |          // 上架 | 
 |  |  |          comb() { | 
 |  |  |             let that = this | 
 |  |  |             if(that.locno === '') { | 
 |  |  |                uni.showToast({title: '请添加库位码', icon: "none", position: 'top'}); | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             if(that.matList.length === 0) { | 
 |  |  |                uni.showToast({title: '请添加商品', icon: "none", position: 'top'}); | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             var combMats = [] | 
 |  |  |             var combParam = {} | 
 |  |  |             combParam['locno'] = that.locno | 
 |  |  |             combParam['combMats'] = that.matList | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.commonUrl + '/mobile/mat/onSale/auth', | 
 |  |  |                data: JSON.stringify(combParam), | 
 |  |  |                header: { 'token':uni.getStorageSync('token'),}, | 
 |  |  |                method:'POST', | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      uni.showToast({title: res.msg, icon: "none", position: 'top'}); | 
 |  |  |                      that.resst() | 
 |  |  |                   } 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'}) | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          // 提取商品 | 
 |  |  |          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('commonUrl', {commonUrl:that.commonUrl }) | 
 |  |  |                }, | 
 |  |  | 					 | 
 |  |  |             }); | 
 |  |  |             that.matnr = '' | 
 |  |  |          }, | 
 |  |  |          revise(item,index) { | 
 |  |  |             this.count = this.matList[index].anfme | 
 |  |  |             this.rowNum = index | 
 |  |  |             this.eject() | 
 |  |  |          }, | 
 |  |  |          eject(type) { | 
 |  |  |             this.type = type | 
 |  |  |             // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 | 
 |  |  |             this.$refs.revise.open(type) | 
 |  |  |          }, | 
 |  |  |          changeValue(value) { | 
 |  |  |             this.count = value | 
 |  |  |          }, | 
 |  |  |          confirm() { | 
 |  |  |             this.matList[this.rowNum].anfme = this.count | 
 |  |  |             this.$refs.revise.close() | 
 |  |  |             this.$forceUpdate() // 强制刷新 | 
 |  |  |          }, | 
 |  |  | 			 | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |    @import url(@/static/css/putOnSale.css); | 
 |  |  |    .footer { | 
 |  |  |       width: 100%; | 
 |  |  |       height: 100rpx; | 
 |  |  |       line-height: 100rpx; | 
 |  |  |       background-color: #FFF; | 
 |  |  |       position: fixed; | 
 |  |  |       bottom: 0; | 
 |  |  |       border-top: 1px solid #d8d8d8; | 
 |  |  |       border-radius: 20rpx 20rpx 0 0 ; | 
 |  |  |       z-index: 1; | 
 |  |  |    } | 
 |  |  | </style> |