#
whycq
2024-05-05 3c06dd86de7b503bbe14c52bb02a77e965e4c596
pages/phyz/orderOut/orderOutSelect.vue
@@ -6,8 +6,8 @@
         </uni-search-bar>
         <view class="code-title">
            <view></view>
            <view style="width: 100%;text-align: center;margin: 16rpx;">{{searchValue1}} 总数量:- {{total}} -</view>
            <view></view>
            <view style="width: 100%;text-align: center;margin: 16rpx 0;">{{searchValue1}} 总数量:- {{total}} -</view>
            <view style="width: 100rpx;margin: 16rpx 0;" @click="filter()">筛选</view>
         </view>
      </view>
      
@@ -17,6 +17,7 @@
            <view>主单号:{{orderDetl.orderNo}}</view>
            <view>编号:{{orderDetl.matnr}}</view>
            <view>名称:{{orderDetl.maktx}}</view>
            <view>类型:{{orderDetl.brand}}</view>
            <view>订单数量:{{orderDetl.anfme}}</view>
            <view>库存数量:{{orderDetl.stock}}</view>
            <view>已出数量:{{orderDetl.qty}}</view>
@@ -31,13 +32,56 @@
         - 已经到底了 -
      </view>
      
      <view class="buttom">
      <!-- <view class="buttom">
         <view style="width: 150rpx;text-align: center;padding-left: 12rpx;">
            名称
         </view>
         <uni-search-bar v-model="searchValue2" style="width: 100%;"
            maxlength="500" ancel="cancel" @confirm="searchValueInput2()" @clear="clear2" placeholder="输入 / 扫描 订单号">
         </uni-search-bar>
      </view> -->
      <!-- 筛选弹窗 -->
      <view>
         <uni-popup ref="filter" type="dialog">
            <view class="filter-popup">
               <!-- 标题 -->
               <view class="title">筛选</view>
               <view class="popup-item" style="background-color: #dfdfdf;">
                  <view class="item-cl">
                     <view>销售订单:</view>
                     <input type="text" v-model="searchValue1">
                  </view>
               </view>
               <view class="popup-item" style="background-color: #dfdfdf;">
                  <view class="item-cl">
                     <view>主订单号:</view>
                     <input type="text" v-model="orderNo">
                  </view>
               </view>
               <view class="popup-item" style="background-color: #dfdfdf;">
                  <view class="item-cl">
                     <view>商品编号:</view>
                     <input type="text" v-model="matnr">
                  </view>
               </view>
               <view class="popup-item" style="background-color: #dfdfdf;">
                  <view class="item-cl">
                     <view>商品名称:</view>
                     <input type="text" v-model="maktx">
                  </view>
               </view>
               <view class="popup-item" style="background-color: #dfdfdf;">
                  <view class="item-cl">
                     <view>商品种类:</view>
                     <input type="text" v-model="brand">
                  </view>
               </view>
               <view class="btn filter-btn">
                  <view class="btn-left" @click="filterClose">重置</view>
                  <view class="btn-right" @click="filterConfirm()">确认</view>
               </view>
            </view>
         </uni-popup>
      </view>
   </view>
</template>
@@ -50,6 +94,10 @@
            token: '',
            searchValue1: '',
            searchValue2: '',
            orderNo: '',
            matnr: '',
            maktx: '',
            brand: '',
            total: '',
            dataList: [],
            orderCarList: [],
@@ -57,24 +105,30 @@
               curr: 1,
               limit: 100,
               three_code: '',
               order_no: ''
               matnr: '',
               maktx: '',
               order_no: '',
               brand: ''
            },
         }
      },
      onReachBottom() {
         this.status = 'more';
         this.getOrderDetlList(this.searchValue1,10);
      },
      onShow() {
         this.baseUrl = uni.getStorageSync('baseUrl');
         this.token = uni.getStorageSync('token');
         this.searchValue1 = uni.getStorageSync('threeCodeOut1');
         this.searchValue2 = uni.getStorageSync('threeCodeOut2');
         this.getOrderDetlList(this.searchValue1,this.searchValue2,30)
         this.getOrderDetlList(this.searchValue1,10)
      },
      methods: {
         getOrderDetlList(threeCode,maktx,limit) {
         getOrderDetlList(threeCode,limit) {
            uni.showLoading({})
            let _this = this
            _this.mask = true
            _this.data.three_code = threeCode
            _this.data.maktx = maktx
            _this.data.limit = limit
            uni.request({
               url: `${_this.baseUrl}/orderDetl/pakout/list/authV3`,
@@ -94,7 +148,9 @@
                           k['color'] = 'order-sts-end'
                        }
                     }
                     _this.dataList = res.data.records
                     let list = res.data.records
                     _this.dataList =  _this.dataList.concat(list);
                     _this.data.curr = _this.data.curr + 1
                     _this.total = res.data.total
                     _this.mask = false
                  } else if (res.code == 403) {
@@ -107,12 +163,14 @@
            })
         },
         searchValueInput1() {
            this.dataList = []
            this.data.curr = 1
            uni.setStorageSync('threeCodeOut1', this.searchValue1);
            uni.setStorageSync('threeCodeOut2', this.searchValue2);
            if (this.searchValue1.length == 0) {
               this.getOrderDetlList(this.searchValue1,this.searchValue2,30)
               this.getOrderDetlList(this.searchValue1,10)
            } else {
               this.getOrderDetlList(this.searchValue1,this.searchValue2,1000)
               this.getOrderDetlList(this.searchValue1,10)
            }
            
         },
@@ -120,19 +178,22 @@
            uni.setStorageSync('threeCodeOut1', this.searchValue1);
            uni.setStorageSync('threeCodeOut2', this.searchValue2);
            if (this.searchValue1.length == 0) {
               this.getOrderDetlList(this.searchValue1,this.searchValue2,30)
               this.getOrderDetlList(this.searchValue1,10)
            } else {
               this.getOrderDetlList(this.searchValue1,this.searchValue2,1000)
               this.getOrderDetlList(this.searchValue1,10)
            }
         },
         clear() {
            this.searchValue2 = ''
            this.getOrderDetlList('',this.searchValue1,999999)
            this.dataList = []
            this.data.curr = 1
            setTimeout(()=> {
               this.getOrderDetlList(this.searchValue,10)
            },300)
         },
         clear2() {
            setTimeout(()=> {
               this.searchValue2 = ''
               this.getOrderDetlList(this.searchValue1,'',999999)
               this.getOrderDetlList(this.searchValue1,10)
            },300)
         },
         goToLocDetl(item) {
@@ -146,10 +207,34 @@
               },
               events: {
                  acceptDataFromOpenedPage: function(data) {
                     _this.getOrderDetlList(this.searchValue1,this.searchValue2,1000)
                     _this.getOrderDetlList(this.searchValue1,10)
                  }
               }
            })
         },
         // 筛选
         filter() {
            this.$refs.filter.open('bottom')
         },
         filterConfirm() {
            this.dataList = []
            this.data.curr = 1
            this.data.maktx = this.maktx
            this.data.matnr = this.matnr
            this.data.order_no = this.order_no
            this.data.brand = this.brand
            this.getOrderDetlList(this.searchValue1,10)
            this.$refs.filter.close()
         },
         filterClose() {
            this.dataList = []
            this.data.curr = 1
            this.data.maktx = ''
            this.data.matnr = ''
            this.data.order_no = ''
            this.data.brand = ''
            this.getOrderDetlList(this.searchValue1,10)
            this.$refs.filter.close()
         }
         
      }
@@ -175,4 +260,103 @@
      font-size: 28px;
      font-weight: bold;
   }
   .title {
      height: 100rpx;
      line-height: 100rpx;
      width: 100%;
      color: #606266;
      text-align: center;
      font-size: 16px;
   }
   .popup-item {
      height: 80rpx;
      line-height: 80rpx;
      display: flex;
      align-items: center;
      justify-content: center;
   }
   .popup-item-left {
      width: 16vw;
      padding-right: 20rpx;
      text-align: right;
      color: #606266;
   }
   .popup-item-right {
      display: flex;
      align-items: center;
      width: 50vw;
      height: 50rpx;
      padding: 2px 5px;
      border: 1px solid #E4E7ED;
      border-radius: 5rpx;
   }
   .popup-item-right input{
      color: #606266;
   }
   .btn {
      display: flex;
      height: 90rpx;
      margin-top: 20rpx;
      border-top: 1px solid #DCDFE6;
      justify-content: center;
      align-items: center;
   }
   .btn-left {
      display: flex;
      flex: 1;
      height: 100%;
      justify-content: center;
      align-items: center;
      color: #606266;
      border-right: 1px solid #DCDFE6;
   }
   .btn-right {
      display: flex;
      flex: 1;
      justify-content: center;
      align-items: center;
      color: #409EFF;
   }
   .filter-popup {
      width: 100%;
      height: 80vh;
      background-color: #FFF;
      position: relative;
      border-radius: 30rpx 30rpx 0rpx 0rpx;
   }
   .filter-popup-item {
      height: 100%;
      width: 100%;
      background-color: #c9cdd5;
   }
   .filter-popup-item-left {
      width: 30%;
      height: 100%;
      background-color: #DCDFE6;
   }
   .item-btn {
      width: 100%;
      height: 80rpx;
      line-height: 80rpx;
      background-color: #c9cdd5;
      text-align: center;
   }
   .item-btn:checked {
      background-color: #606266;
   }
   .filter-btn {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      background-color: #FFF;
   }
   .item-cl {
      display: flex;align-items: center;
   }
   .item-cl input {
      border-bottom: 1px solid #b9b9b9;
   }
</style>