#
whycq
2024-04-15 caffaccc7c6f76503f8618368ef612146252ef8a
pages/phyz/checkLocDetl/locDetlList.vue
@@ -12,9 +12,10 @@
         <view class="list-right" @click="goToLocDetl(locDetl)">
            <uni-icons type="right" size="25"  color="#fff"></uni-icons>
         </view>
      </view>
      <view style="height: 100rpx;display: flex;align-items: center;justify-content: center;" @click="add()">
         <uni-icons type="folder-add" size="25"  color="#000" style="padding-right: 20rpx;"></uni-icons> 添加物料
      </view>
      <!-- 底部操作按钮 -->
      <view class="buttom">
         <button size="mini" type="primary" @click="agvStart('warn')">添加物料</button>
@@ -45,7 +46,69 @@
         })
      },
      methods: {
         add() {
            let _this = this
            uni.navigateTo({
               url: "../mat/mat",
               events: {
                  // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据  另外一个页面传过来的
                  acceptDataFromOpenedPage: function(data) {
                     console.log(data.data);
                     setTimeout(()=> {
                        _this.findMat(data.data)
                     },100)
                  }
               },
            });
         },
         findMat(mat) {
            let _this = this
            uni.navigateTo({
               url: "../mat/matSelected",
               success: function(res) {
                  // 通过eventChannel向被打开页面传送数据   向另外一个页面传递值的
                  res.eventChannel.emit('item', {
                     item: mat
                  })
               },
               events: {
                  matList: function(data) {
                     _this.checkMat(data.data)
                  },
               },
            });
         },
         checkMat(mat) {
            var len = this.dataList.length
            var add = true ,sameItem = false
            for (var i = 0; i < len; i++) {
               if (mat.matnr == this.dataList[i].matnr) {
                  for (var j = 0; j < len; j++) {
                     if (mat.batch == this.dataList[j].batch) {
                        sameItem = true
                     }
                  }
                  // 相同物料 不同批号  新加列表
                  if (mat.batch != this.dataList[i].batch) {
                     this.$forceUpdate() // 强制刷新
                     if (sameItem) {
                        add = false
                     } else {
                        add = true
                     }
                  } else {
                     // 相同物料相同批号 数量累加
                     this.dataList[i].anfme += mat.anfme
                     this.$forceUpdate() // 强制刷新
                     add = false
                  }
               }
            }
            if (add) {
               this.dataList.unshift(mat)
            }
         }
      }
   }
</script>