skyouc
10 小时以前 7e375c39a62b464a07511d011b9c5c245de5f5f4
pages/mat/matQuery.vue
@@ -1,8 +1,249 @@
<template>
   <view>
      <view class="form">
         <view class="form-item">
            <view class="form-item-desc"><text>商品编码</text></view>
            <view class="form-item-content"><text>{{mat.matnr}}</text></view>
         </view>
         <view class="form-item">
            <view class="form-item-desc"><text>商品名称</text></view>
            <view class="form-item-content" style="word-break: break-all;line-height: 1.5;"><text>{{mat.maktx}}</text></view>
         </view>
         <view class="form-item">
            <view class="form-item-desc"><text>规格</text></view>
            <view class="form-item-content"><text>{{mat.specs}}</text></view>
         </view>
         <view class="form-item">
            <view class="form-item-desc"><text>批号</text></view>
            <view class="form-item-content">
               <view class="form-input">
                  <input type="text" v-model="mat.batch">
               </view>
            </view>
         </view>
         <view class="form-item">
            <view class="form-item-desc"><text>数量</text></view>
            <view class="form-item-content">
               <uni-number-box :value="mat.anfme" :max="99999999" :step='1' color="#747474" @change="changeValue" />
            </view>
         </view>
      </view>
      <!-- 底部操作按钮 -->
      <view class="buttom">
         <button size="mini" type="primary" @click="back()">提取</button>
      </view>
      <uni-load-more v-show="matList.length != 0" :status="status" :icon-size="16" :content-text="contentText" />
   </view>
</template>
<script>
   export default {
      data() {
         return {
            tagList: [],
            matList: [],
            condition: '',
            reload: false,
            curr:1,
            tag: '分类',
            baColor: "background-color: #0081ff;",
            desc: '商品编号:',
            baseUrl: '',
            orderNo: '',
            token: '',
            status: 'more',
            contentText: {
               contentdown: '上拉加载更多',
               contentrefresh: '加载中',
               contentnomore: '没有更多'
            },
            // 当前tagId
            tagIdNow: 1
         }
      },
      onReachBottom() {
         this.status = 'more';
         if (this.tagList == null) {
            this.showMat(this.tagIdNow);
         }
      },
      onLoad(option) {
         // 没啥用了
         let that = this
         // #ifdef APP-NVUE
         const eventChannel = this.$scope.eventChannel; // 兼容APP-NVUE
         // #endif
         // #ifndef APP-NVUE
         const eventChannel = this.getOpenerEventChannel();
         // #endif
         // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
         eventChannel.on('orderNo', function(data) {
            that.orderNo = data.orderNo
            that.showTag(data.orderNo)
         })
      },
      onShow() {
         this.baseUrl = uni.getStorageSync('baseUrl');
         this.token = uni.getStorageSync('token');
      },
      methods: {
         search() {
            let that = this
            that.tagList = []
            that.matList = []
            uni.request({
                url: that.baseUrl + '/mat/search/pda/auth',
                data: {
                  condition: that.condition
                },
               method:"GET",
                header: {
                  'token':uni.getStorageSync('token'),
                },
               success(result) {
                  console.log(result);
                  var res = result.data
                  if (res.code === 200 ) {
                     that.matList = res.data
                     // that.save()
                  } 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'})
                  }
               }
            });
         },
         showTag(parentId) {
            let that = this
            uni.request({
                url: that.baseUrl + '/tag/list/pda/auth',
               header: {
                  'token':uni.getStorageSync('token'),
               },
                data: {
                  limit: 100000,
                  parentId: parentId
                },
               header: {
                  'token':uni.getStorageSync('token'),
               },
               success(result) {
                  console.log(result);
                  that.tagList = null
                  that.matList = []
                  var res = result.data
                  if (res.code === 200) {
                     if (res.data != null && res.data.length > 0) {
                        that.tagList = res.data
                     } else {
                        that.tagList = []
                        that.showMat(parentId)
                     }
                  } 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'})
                  }
               }
            });
         },
         showMat(tagId) {
            let that = this
            that.tagIdNow = tagId
            if (tagId == null || tagId == '' || tagId == undefined) {
               return;
            }
            uni.request({
                url: that.baseUrl + '/mat/list/pda/page/auth',
                data: {
                  curr:that.curr,
                  limit: 20,
                  tagId: tagId
                },
               method:"GET",
                header: {
                  'token':uni.getStorageSync('token'),
                },
               success(result) {
                  console.log(result);
                  that.tagList = null
                  var res = result.data
                  if (res.code === 200) {
                     if (res.data.records != null && res.data.records.length > 0) {
                        let list = res.data.records
                        that.matList = that.reload ? list : that.matList.concat(list);
                        that.curr = that.curr + 1
                     }
                     if (res.data.records.length == 0) {
                        that.status = 'noMore'
                     }
                     that.baColor = "background-color: #1cbbb4;"
                  } 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'})
                  }
               }
            });
         },
         findBySelect(matnr) {
            this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: matnr});
            uni.navigateBack({
            })
         }
      }
   }
</script>
<style>
   @import url('../../static/css/wms.css/wms.css');
   .tag-list {
      width: 94%;
      min-height: 160rpx;
      margin: 10px auto;
      background-color: #FFF;
      border-radius: 5px;
      box-shadow: 0 5upx 20upx rgba(0, 0, 0, 0.2);
   }
   .tag {
      display: flex;
      flex-direction: column;
      min-height: 80rpx;
      border-bottom: 1px solid #e2e2e2;
   }
   .wms-tag {
      min-width: 60rpx;
      margin-left: 50rpx;
      margin-top: 30rpx;
      color: #FFF;
      font-size: 14px;
      padding: 4rpx 12rpx;
   }
   .tag-item {
      width: 100%;
      min-height: 60rpx;
      line-height: 2;
      padding-left: 50rpx;
      color: #606266;
      font-size: 14px;
   }
</style>