zjj
2025-05-08 2a6c5b3094f0c177e390c07965cd50e7f357afe2
pages/rece/other.vue
@@ -3,14 +3,15 @@
      <form>
         <view class="cu-form-group margin-top" v-show="!isconfirm">
            <view class="title">ASN单号</view>
            <input placeholder="请扫描ASN单号" v-model="asncode" focus></input>
            <input placeholder="请扫描ASN单号" v-model="asncode" @input="search" focus></input>
            <text class='cuIcon-close text-gray margin-right-xs' v-show="asncode!==''" @click="clearCode"></text>
            <text class='cuIcon-search text-blue' @click="search"></text>
            <!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
         </view>
         <view class="cu-form-group" v-show="!isconfirm">
            <view class="title">物料标签</view>
            <input placeholder="请扫描物料标签" v-model="barcode"></input>
            <text class='cuIcon-search text-blue' @click="scrollTo"></text>
            <view class="title">物料编码</view>
            <input placeholder="请扫描物料编码" v-model="barcode"></input>
            <text class='cuIcon-close text-gray margin-right-xs' v-show="barcode!==''" @click="clearBarcode"></text>
            <text class='cuIcon-search text-blue' @click="search"></text>
         </view>
      </form>
@@ -26,7 +27,8 @@
                        {{index+1}}
                     </view>
                     <view class="text-blue">
                        {{`${item.maktx}`}}
                        编码:
                        {{`${item.matnr}`}}
                     </view>
                  </view>
                  <view class="action" v-if="!isconfirm">
@@ -37,9 +39,16 @@
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">ASN:</text>
                     <text class="text-grey ">{{item.asnCode}}</text>
                  </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>
                     <text class="text-grey ">{{item.maktx}}</text>
                  </view>
               </view>
@@ -52,26 +61,22 @@
                  </view>
               </view> -->
               <view class="cu-item">
               <!-- <view class="cu-item">
                  <view class="content">
                     <text class="text-black">最大库存: <text class="text-grey ">{{item.maxQty}}</text></text>
                  </view>
                  <view class="content">
                     <text class="text-black">实时库存: <text class="text-grey ">{{item.stockQty}}</text></text>
                  </view>
               </view>
               </view> -->
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">平台行号: <text class="text-grey ">{{item.platformId}}</text></text>
                     <text class="text-black">行号: <text class="text-grey ">{{item.platItemId}}</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.purUnit}}</text></text>
@@ -80,7 +85,6 @@
                     <text class="text-black">库存单位: <text class="text-grey ">{{item.stockUnit}}</text></text>
                  </view>
               </view>
               <view class="cu-item">
                  <view class="content">
                     <text class="black">计划收货数量:<text class="text-grey ">{{item.anfme}}</text></text>
@@ -90,30 +94,23 @@
                     <text class="black">已收货数量:<text class="text-grey ">{{item.qty}}</text></text>
                  </view>
               </view>
               <view class="cu-item">
                  <view class="content" v-if="!isconfirm">
                     <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.receiptQty"></input>
                        <uni-number-box style="width: 70%;" :max="max" v-model="item.receiptQty"
                           :step='1'></uni-number-box>
                     </view>
                  </view>
                  <view class="content" v-else>
                     <text class="text-black">收货数量:<text class="text-grey ">{{item.receiptQty}}</text></text>
                  </view>
               </view>
               <view class="cu-item">
                  <view class="content" v-if="!isconfirm">
                     <view class="cu-form-group padding-lr-0">
                        <view class="title text-blue">供应商批次:</view>
                        <input placeholder="请输入供应商批次" v-model="item.splrBatch"></input>
                     </view>
                  </view>
                  <view class="content" v-else>
                     <text class="text-black">供应商批次:<text class="text-grey ">{{item.splrBatch}}</text></text>
                  <view class="content" >
                     <text class="text-black">批次:<text class="text-grey ">{{item.splrBatch}}</text></text>
                  </view>
               </view>
@@ -133,7 +130,6 @@
                     <text class="text-black">生产日期:<text class="text-grey ">{{item.prodTime}}</text></text>
                  </view>
               </view>
               <view class="cu-item grid  col-1" v-if="!isconfirm">
                  <view v-for="el in dynamicFields" :key="el.id">
                     <view class="cu-form-group padding-lr-0">
@@ -142,16 +138,12 @@
                     </view>
                  </view>
               </view>
               <view class="cu-item grid  col-2" v-if="isconfirm">
                  <view class="item" v-for="el in dynamicFields" :key="el.id">
                     <text class="text-black">{{el.fieldsAlise}}:
                        <text class="text-grey ">{{item[el.fields]}}</text></text>
                  </view>
               </view>
            </view>
         </block>
      </view>
@@ -162,10 +154,11 @@
      <view class="cu-form-group margin-bottom">
         <view class="title">收货区</view>
         <uni-data-select v-model="whAreaId" :localdata="range" placement="top"
            @change="selChange"></uni-data-select>
         <view style="width: 80%;">
            <uni-data-select style="min-width: 90%; max-width: 90%;" v-model="whAreaId" :localdata="range" placement="top"
               @change="selChange"></uni-data-select>
         </view>
      </view>
      <view class="cu-bar btn-group foot" v-show="!isconfirm">
         <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button>
@@ -174,8 +167,7 @@
      <view class="cu-bar btn-group foot" v-show="isconfirm">
         <button class="cu-btn text-blue line-blue shadow" @click="prev">上一步</button>
         <button class="cu-btn bg-blue shadow-blur" @click="confirm(true)">收货并完成</button>
         <button class="cu-btn bg-blue shadow-blur" @click="confirm(false)">收货</button>
         <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="confirm(false)">收货</button>
      </view>
   </view>
@@ -199,18 +191,22 @@
            whAreaId: '',
            list: [],
            range: [],
            isconfirm: false
            repeatClick: false,
            isconfirm: false,
            max: 99999999,
         }
      },
      computed: {
         ...mapState('user', ['dynamicFields']),
         ...mapState('user', ['dynamicFields']),
         allCount() {
            return this.list.reduce((acc, row) => +row.receiptQty + acc, 0)
         }
      },
      mounted() {
         this.getRece()
         this.getRece()
         console.log(dynamicFields)
         this.whAreaId = uni.getStorageSync('whAreaId')
      },
      methods: {
@@ -220,7 +216,8 @@
               data,
               msg
            } = await request('/orders/other', {
               asnCode: this.asncode
               asnCode: this.asncode,
               matnrCode: this.barcode
            })
            if (code === 200) {
               this.list = [...data]
@@ -236,12 +233,16 @@
         clearCode() {
            this.asncode = ''
         },
         clearBarcode() {
            this.barcode = ''
         },
         scrollTo() {
            const ref = this.$refs[`${this.barcode}ref`][0];
            uni.pageScrollTo({
               scrollTop: ref.$el.offsetTop,
               duration: 300
            })
            // const ref = this.$refs[`${this.barcode}ref`][0];
            // uni.pageScrollTo({
            //    scrollTop: ref.$el.offsetTop,
            //    duration: 300
            // })
         },
         remove(index) {
            this.list.splice(index, 1);
@@ -264,9 +265,12 @@
            this.isconfirm = false
         },
         selChange(val) {
            console.log('-------->')
            console.log(val)
            uni.setStorageSync('whAreaId', val)
         },
         async complete(id) {
            this.repeatClick = true
            const {
               code,
               data,
@@ -283,6 +287,7 @@
                  icon: "none",
               })
            }
            this.repeatClick = false
         },
         async confirm(isCom) {
            if (this.whAreaId === '') {
@@ -322,7 +327,6 @@
                     icon: "none",
                  })
               }
            }
         },
         async getRece() {
@@ -334,7 +338,7 @@
            if (code === 200) {
               this.range = data.map(item => ({
                  value: item.id,
                  text: item.name
                  text: item.warehouseId$ + "-- " + item.name
               }));
            }
         },