zjj
2025-04-18 138f4305197217769ba59c8008c87d933e585eee
pages/listing/disc.vue
@@ -4,6 +4,7 @@
         <view class="cu-form-group margin-top">
            <view class="title">容器号</view>
            <input placeholder="请扫描容器号" v-model="container" focus></input>
            <text class='cuIcon-search text-blue' @click="getList"></text>
         </view>
         <view class="cu-form-group ">
@@ -15,85 +16,98 @@
      <view class="flex solid-bottom padding-sm justify-between">
         <view class="text-blue">物料总类:{{list.length}}</view>
         <view class="text-blue">物料总数:{{allCount}}</view>
         <view class="text-blue">组盘总数:{{allCount}}</view>
      </view>
      <view class="cu-list det menu sm-border  padding">
      <view class="padding-lr margin-top-sm">
         <block v-for="(item, index) in list" :key="index">
            <view class="cu-bar bg-white solid-bottom margin-top-sm">
               <view class="action">
                  <view class="index">
                     {{index+1}}
            <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.trackCode===barcode&&'act']"
               :ref="item.trackCode+'ref'">
               <view class="cu-bar bg-white solid-bottom ">
                  <view class="action">
                     <view class="index">
                        {{index+1}}
                     </view>
                     <view class="text-blue">
                        {{`${item.maktx}`}}
                     </view>
                  </view>
                  <view class="text-blue">
                     {{`${item.maktx}`}}
                  <view class="action" v-if="!isconfirm">
                     <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
                  </view>
               </view>
               <view class="action" v-if="!isconfirm">
                  <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <text class="text-black">ASN:</text>
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">ASN:</text>
                  </view>
                  <view class="action">
                     <text class="text-grey ">{{item.asnCode}}</text>
                  </view>
               </view>
               <view class="action">
                  <text class="text-grey ">{{item.asnCode}}</text>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <text class="text-black">供应商批次:</text>
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">物料条码:</text>
                  </view>
                  <view class="action">
                     <text class="text-grey ">{{item.trackCode}}</text>
                  </view>
               </view>
               <view class="action">
                  <text class="text-grey ">{{item.splrBatch}}</text>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <text class="text-black">库存批次:</text>
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">供应商批次:</text>
                  </view>
                  <view class="action">
                     <text class="text-grey ">{{item.splrBatch}}</text>
                  </view>
               </view>
               <view class="action">
                  <text class="text-grey ">{{item.batch}}</text>
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">库存批次:</text>
                  </view>
                  <view class="action">
                     <text class="text-grey ">{{item.batch}}</text>
                  </view>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <text class="text-black">平台行号: <text class="text-grey ">{{item.platformId}}</text></text>
               </view>
               <view class="content">
                  <text class="text-black">质检结果: <text class="text-grey ">{{item.inspect}}</text></text>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <text class="text-black">库存单位: <text class="text-grey ">{{item.stockUnit}}</text></text>
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">平台行号: <text class="text-grey ">{{item.platformId}}</text></text>
                  </view>
                  <view class="content">
                     <text class="text-black">质检结果: <text class="text-grey ">{{item.inspect}}</text></text>
                  </view>
               </view>
               <!-- <view class="content">
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">库存单位: <text class="text-grey ">{{item.stockUnit}}</text></text>
                  </view>
                  <!-- <view class="content">
                  <text class="text-black">计划收货数: <text class="text-grey ">{{item.anfme}}</text></text>
               </view> -->
            </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 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="number" placeholder="请输入组盘数量" v-model="item.anfme"></input>
                     </view>
                     <input type="number" placeholder="请输入组盘数量" v-model="item.receiptQty"></input>
                  </view>
               </view>
            </view>
         </block>
      </view>
@@ -128,20 +142,24 @@
      computed: {
         ...mapState('user', ['dynamicFields']),
         allCount() {
            return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) || 0
            return this.list.reduce((acc, row) => +row.anfme + acc, 0) || 0
         }
      },
      mounted() {},
      methods: {
         async search() {
            const find = this.list.find(el => el.trackCode === this.barcode);
            find ? this.scrollTo() : this.getDet();
         },
         async getDet() {
            const {
               code,
               data,
               msg
            } = await request('/asnOrderItem/trackCode/' + this.barcode, {}, "get")
            if (code === 200) {
               const find = this.list.find(el => el.id === data.id);
               !find && this.list.push(data)
               data && this.list.push(data);
            } else {
               uni.showToast({
                  title: msg,
@@ -149,8 +167,31 @@
                  position: 'top'
               })
            }
         },
         async getList() {
            const {
               code,
               data,
               msg
            } = await request('/asnOrderItem/container', {
               barcode: this.container
            })
            if (code === 200) {
               this.list = data
            } else {
               uni.showToast({
                  title: msg,
                  icon: "none",
                  position: 'top'
               })
            }
         },
         scrollTo() {
            const ref = this.$refs[`${this.barcode}ref`][0];
            uni.pageScrollTo({
               scrollTop: ref.$el.offsetTop,
               duration: 300
            })
         },
         remove(index) {
            this.list.splice(index, 1);
@@ -173,12 +214,20 @@
            this.isconfirm = false
         },
         async confirm() {
            const newArr = this.list.map(item => {
               return {
                  ...item,
                  anfme: item.anfme === null ? 0 : +item.anfme
                  // receiptQty: item.receiptQty === null ? 0 : +item.receiptQty
               };
            });
            const {
               code,
               data,
               msg
            } = await request('/waitPakin/merge', {
               items: this.list,
               items: newArr,
               barcode: this.container
            })
            if (code === 200) {
@@ -187,6 +236,7 @@
               })
               this.list = []
               this.barcode = ''
               this.container = ''
               this.isconfirm = false
            } else {
               uni.showToast({
@@ -195,10 +245,7 @@
                  position: 'top'
               })
            }
         },
      }
   }
</script>
@@ -222,6 +269,10 @@
   }
   .act {
      border: 1px solid #e54d42;
   }
   .item {
      position: relative;
      display: flex;