verou
2025-04-10 f673cacb46e1d8dc7fdc44dadf0a859a60a4bc17
pages/inspect/check.vue
@@ -4,116 +4,115 @@
         <view class="cu-form-group margin-top">
            <view class="title">质检单</view>
            <input placeholder="请扫描质检单" v-model="isptCode" focus></input>
            <text class='cuIcon-search text-blue' @click="search"></text>
         </view>
         <view class="cu-form-group ">
            <view class="title">物料码</view>
            <input placeholder="请扫描物料码" v-model="barcode"></input>
            <text class='cuIcon-search text-blue' @click="search"></text>
            <text class='cuIcon-search text-blue' @click="scrollTo"></text>
         </view>
      </form>
      <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> -->
                  <view class="text-blue">
                     {{`${item.maktx}`}}
            <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.matnrCode===barcode&&'act']"
               :ref="item.matnrCode+'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="action">
                     <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
                  </view>
               </view>
               <!--    <view class="action" >
                  <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>
               <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>
               <view class="action">
                  <text class="text-grey ">{{item.splrName}}</text>
               </view>
            </view>
            <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="cu-item">
               <view class="content">
                  <text class="text-black">收货数量: <text class="text-grey ">{{item.rcptQty}}</text></text>
               </view>
               <view class="content">
                  <text class="text-black">送货数量: <text class="text-grey ">{{item.dlyQty}}</text></text>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <view class="cu-form-group padding-lr-0">
                     <view class="title text-blue">合格数量:</view>
                     <input type="number" placeholder="请输入合格数量" v-model="item.safeQty"></input>
               <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>
            <view class="cu-item">
               <view class="content">
                  <view class="cu-form-group padding-lr-0">
                     <view class="title text-blue">不合格数量:</view>
                     <input type="number" placeholder="请输入不合格数量" v-model="item.disQty"></input>
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">供应商:</text>
                  </view>
                  <view class="action">
                     <text class="text-grey ">{{item.splrName}}</text>
                  </view>
               </view>
            </view>
            <view class="cu-item">
               <view class="content">
                  <view class="cu-form-group padding-lr-0">
                     <view class="title text-blue">质检结论:</view>
                     <uni-data-select placement='top' v-model="item.isptResult" :localdata="range"
                        placeholder="请输入质检结论"></uni-data-select>
               <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>
            <view class="cu-form-group align-start">
               <view class="title text-blue">备注</view>
               <textarea v-model="item.memo" placeholder="请输入备注"></textarea>
            </view>
            <!--    <view class="cu-form-group">
               <view class="cu-item">
                  <view class="content">
                     <text class="text-black">收货数量: <text class="text-grey ">{{item.rcptQty}}</text></text>
                  </view>
                  <view class="content">
                     <text class="text-black">送货数量: <text class="text-grey ">{{item.dlyQty}}</text></text>
                  </view>
               </view>
               <view class="cu-item">
                  <view class="content">
                     <view class="cu-form-group padding-lr-0">
                        <view class="title text-blue">合格数量:</view>
                        <input type="number" placeholder="请输入合格数量" v-model="item.safeQty"></input>
                     </view>
                  </view>
               </view>
               <view class="cu-item">
                  <view class="content">
                     <view class="cu-form-group padding-lr-0">
                        <view class="title text-blue">不合格数量:</view>
                        <input type="number" placeholder="请输入不合格数量" v-model="item.disQty"></input>
                     </view>
                  </view>
               </view>
               <view class="cu-item">
                  <view class="content">
                     <view class="cu-form-group padding-lr-0">
                        <view class="title text-blue">质检结论:</view>
                        <uni-data-select placement='top' v-model="item.isptResult" :localdata="range"
                           placeholder="请输入质检结论"></uni-data-select>
                     </view>
                  </view>
               </view>
               <view class="cu-form-group align-start">
                  <view class="title text-blue">备注</view>
                  <textarea v-model="item.memo" placeholder="请输入备注"></textarea>
               </view>
               <!--    <view class="cu-form-group">
               <uni-file-picker limit="9" title="照片"></uni-file-picker>
            </view> -->
            </view>
         </block>
      </view>
      <view class="cu-bar btn-group foot">
         <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button>
         <button class="cu-btn bg-blue shadow-blur" @click="confirm">提交</button>
@@ -165,10 +164,9 @@
               msg
            } = await request('/inspect/query', {
               isptCode: this.isptCode,
               matnrCode: this.barcode
            })
            if (code === 200) {
               this.list = [data]
               this.list = data
            } else {
               uni.showToast({
                  title: msg,
@@ -186,33 +184,32 @@
            this.list = []
            this.barcode = ''
         },
         scrollTo() {
            const ref = this.$refs[`${this.barcode}ref`][0];
            uni.pageScrollTo({
               scrollTop: ref.$el.offsetTop,
               duration: 300
            })
         },
         async confirm() {
            const row = this.list[0]
            if (row.safeQty > 0 || row.disQty > 0) {
               const {
                  code,
                  data,
                  msg
               } = await request('/inspect/check/update', row)
               if (code === 200) {
                  uni.showToast({
                     title: '质检成功'
                  })
                  this.list = []
                  this.barcode = ''
               } else {
                  uni.showToast({
                     title: msg,
                     icon: "none",
                  })
               }
            const {
               code,
               data,
               msg
            } = await request('/inspect/check/update', this.list)
            if (code === 200) {
               uni.showToast({
                  title: '质检成功'
               })
               this.list = []
               this.barcode = ''
            } else {
               uni.showToast({
                  title: '请填写数量',
                  title: msg,
                  icon: "none",
               })
            }
         },
@@ -240,6 +237,10 @@
   }
   .act {
      border: 1px solid #e54d42;
   }
   .item {
      position: relative;
      display: flex;