skyouc
2025-08-08 087b9f6cea5b4d2eb1c9fa3959ac0dc5b09cf254
pages/pakin/pakinSelector.vue
@@ -1,5 +1,13 @@
<template>
   <view>
      <view class="item">
         <view class="code-decs">物料码:</view>
         <input type="text" placeholder=" 扫码 / 输入" v-model="matnr" :focus="matFocus" >
         <view class="item-right">
            <text style="text-align: right;color: #409EFF;" @click="findMat()">查询</text>
            <uni-icons type="right" color="#c1c1c1"></uni-icons>
         </view>
      </view>
      <scroll-view>
         <view class="tag-list" v-for="(item,i) in matData" :key="i" @click="showTag(item)">
   <!--          <view class="tag">
@@ -49,15 +57,23 @@
         return {
            matData: [],
            barcode: '',
            matnr: null,
            matFocus: false,
            selected: [],
         }
      },
      onLoad(option) {
         this.barcode = option.barcode
      onLoad(option) {
         let that = this
         const eventChannel = this.getOpenerEventChannel()
         this.barcode = option.barcode;
         eventChannel.once('acceptOpenPager', function(data){
            console.log(data);
            that.selected = data
         })
      },
      onShow() {
         this.getMats(this.barcode)
         this.getMats(this.barcode, null)
      },
      
      methods: {
@@ -78,28 +94,35 @@
                  },
               },
            });
         },
         findMat() {
            console.log("--------->");
            this.getMats(this.barcode, this.matnr)
         },
         
         /**
          * 获取当前订单下所有物料明细
          * @param {Object} barcode
          */
         getMats(barcode) {
         getMats(barcode, matnr) {
            console.log(matnr);
            let that = this
            uni.request({
               // url: that.baseUrl + '/mat/auth',
               url: uni.getStorageSync('baseUrl') + '/pda/mat/auth',
               method:'POST',
               data: JSON.stringify({
                  barcode: barcode,
                  barcode: barcode,
                  matnr: matnr
               }),
               header: {
                  'token': uni.getStorageSync('token')
               },
               success(result) {
                  result = result.data
                  if (result.code === 200 && result.data) {
                     that.matData = result.data
                  if (result.code === 200 && result.data) {
                     that.matData = result.data.filter(data => !that.selected.includes(data.matnr));
                     that.matData['batch'] = ''
                     
                  } else if (result.code == 403) {
@@ -130,7 +153,7 @@
<style>
   @import url('../../static/css/wms.css/wms.css');
   .tag-list {
      width: 94%;
      width: 92%;
      min-height: 160rpx;
      margin: 15rpx;
      padding: 15rpx;
@@ -161,3 +184,76 @@
      font-size: 14px;
   }
</style>
<style>
   @import url('../../static/css/wms.css/wms.css');
   .uni-section {
      margin-top: 0rpx;
      .uni-section__content-title {
         font-size: 16px !important;
      }
   }
   .list {
      border-radius: unset;
      margin: auto;
      margin-top: 20rpx;
      padding: 10rpx;
   }
   .list-view {
      width: 100%;
      position: relative;
   }
   .list:first-child {
      margin-top: 320rpx;
   }
   .code {
      width: 100%;
      position: fixed;
      min-height: 200rpx;
      background-color: #FFF;
      z-index: 10;
   }
   .item {
      display: flex;
      align-items: center;
      height: 100rpx;
      margin-left: 20rpx;
      border-bottom: 1px solid #DCDFE6;
   }
   .item input {
      height: 50rpx;
      line-height: 50rpx;
      /* font-family: PingFang SC; uniapp 默认字体不居中 */
      font-size: 36upx;
      font-family: PingFang SC;
      width: 55vw;
   }
   .code-decs {
      width: 20vw;
      font-size: 18px;
      color: #303133;
   }
   .item-right {
      margin-left: auto;
      margin-right: 20rpx;
   }
   .mat-list-title {
      height: 80rpx;
      line-height: 80rpx;
      width: 100%;
      background-color: white;
      position: relative;
      font-weight: 500;
      z-index: 9;
   }
</style>