skyouc
2025-11-13 3a770819f22efdc0ecb0ba57de0ac64f08421c55
pages/outbound/wavePickItem.vue
@@ -12,39 +12,8 @@
            <text class='cuIcon-search text-blue' @click="search"></text>
         </view>
      </form>
      <view class="cu-list det menu sm-border  padding">
         <block  v-for="(item, index) in list">
            <view  class="cu-list det menu  ">
            <view class="cu-bar bg-white solid-bottom margin-top-sm">
               <view class="action">
                  <view class="index">
                     {{index+1}}
                  </view>
               </view>
               <view class="content2">
                  <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <text class="text-gray">物料编码:<text class="text-black ">{{item.taskItem.matnrCode}}</text></text>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <text class="text-gray">物料名称:<text class="text-black ">{{item.taskItem.maktx}}</text></text>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <text class="text-gray">总数量:<text class="text-black ">{{item.taskItem.anfme}}</text></text>
               </view>
            </view>
            </view>
            <view  class="cu-list det menu noMargin " v-for="(item2,index2) in item.wkOrderItems">
      <view class="cu-list det menu sm-border">
         <view class="cu-list det menu noMargin cyan" v-for="(item2,index2) in list" @click="clickTaskItem(index2)">
               <view class="cu-item">
                  <view class="content">
                     <text class="text-gray">{{index2+1}}.</text>
@@ -52,55 +21,37 @@
               </view>
               <view class="cu-item">                  
                  <view class="content">
                     <text class="text-gray">订单号:<text class="text-black ">{{item2.orderCode}}</text></text>
                  <text class="text-gray">出库单号:<text class="text-black ">{{item2.orderCode}}</text></text>
                  </view>                  
               </view>
               <view class="cu-item">
                  <view class="content">
                     <text class="text-gray">需求数量:<text class="text-black ">{{item2.anfme}}</text></text>
                  <text class="text-gray">DO单号:<text class="text-black ">{{item2.poCode}}</text></text>
                  </view>
               </view>
               <view class="cu-item">
                  <view class="content">
                     <text class="text-gray">已拣数量:<text class="text-black ">{{item2.qty}}</text></text>
                  <text class="text-gray">品种号码:<text class="text-black ">{{item2.matnrCode}}</text></text>
                  </view>
               </view>
               <view class="cu-item">
                  <view class="content">
                     <view class="cu-form-group padding-lr-0">
                        <view class="title text-blue"><text
                              class="text-red text-xl vertical-middle">*</text>票号: </view>
                        <input type="input" v-model="item2.fieldsIndex" class="text-black">
                     </view>
                  </view>
               </view>
<!--                <view class="cu-item grid  col-2" v-if="item2.extendFields">
                  <view class="item" v-for="el in dynamicFields" :key="el.id">
                     <text class="text-black">{{el.fieldsAlise}}:
                        <text class="text-grey ">{{item.extendFields[el.fields]}}</text></text>
                  </view>
               </view> -->
               <view class="cu-item" v-show="item2.anfme !== item2.qty">
                  <view class="content">
                     <view class="cu-form-group padding-lr-0">
                        <view class="title text-blue"><text
                              class="text-red text-xl vertical-middle">*</text>拣:</view>
                        <uni-number-box style="width: 70%;" :max="max" v-model="item2.demandQty"
                           :step='0.01' ></uni-number-box>
                     </view>
                  </view>
                  <text class="text-gray">品种名称:<text class="text-black ">{{item2.maktx}}</text></text>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <text class="text-gray">本次拣货数量:<text class="text-black ">{{item.wkOrderItems.reduce((total, item) => total + (Number(item.demandQty) ||0 ) , 0)}}</text></text>
                  <text class="text-gray">需求数量:<text class="text-black ">{{item2.anfme}}</text></text>
               </view>
               <view class="content">
                  <text class="text-gray">已拣数量:<text class="text-black ">{{item2.qty}}</text></text>
               </view>                  
            </view>
         </block>
         </view>
      </view>
      <view class="cu-bar btn-group foot" v-show="!isconfirm">
         <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button>
         <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">拣货完成</button>
         <!-- <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button> -->
         <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">完成</button>
      </view>
   </view>
</template>
@@ -131,24 +82,39 @@
         ...mapState('user', {
               dynFields: state => state.dynamicFields
         }),
         allCount() {
            return this.list.reduce((acc, row) => + row.receiptQty + acc, 0)
         },
         // allCount() {
         //    return this.list.reduce((acc, row) => +row.receiptQty + acc, 0)
         // },
      },
      mounted() {
         console.log(dynamicFields);
      },
      onLoad() {
         let that = this
         const eventChannel = this.getOpenerEventChannel();
         eventChannel.on('waveItem', function(data) {
            that.wave = data.data
         })
         
      },
      methods: {
         //点击事件
         clickTaskItem(index) {
            let that = this
            uni.navigateTo({
               url: "./PickItemDetl",
               // 通过eventChannel向被打开页面传送数据
               success: function(res) {
                  res.eventChannel.emit('pickItemDetl', {
                     data: {
                        ...that.list[index],
                        barcode: that.barcode,
                     }
                  })
               }
            });
         },
         clear() {
            this.barcode = ''
            this.list = []
@@ -157,6 +123,7 @@
            this.barcode = ''            
         },
         async search() {
            let that = this;
            this.list = []
            // if(this.barcode === '' || this.barcode ===null){
            //    return ;
@@ -167,8 +134,7 @@
               msg
            } = await request('/getContainerWaveList',{
               barcode:this.barcode
            }
            )
            })
            if (code === 200) {               
               if (Object.keys(data).length === 0){
                  uni.showToast({
@@ -177,7 +143,8 @@
                     position: 'top'
                  })
               }
               this.list.push(...data)
               that.list.push(...data)
               console.log(that.list);
               
            }else if(code == 401){
               setTimeout(() => {
@@ -264,6 +231,7 @@
      min-height: 80upx;
      align-items: center;
   }
   .content2 {      
      /* background-color: coral; */
      width: 100%;
@@ -274,6 +242,7 @@
      margin-right: 10px;
      color: #0081ff;
   }
   .noMargin{
      margin-top: 0px;
      padding: 5px;