#
whycq
2024-03-19 cd45d9d2347927933e51c2d81cf77b430c6a68c0
pages/tzsk/AGV/AGVPakin.vue
@@ -2,65 +2,23 @@
   <view>
      <view class="code">
         <view class="item">
            <view class="code-decs">订单号:</view>
            <view class="code-decs">站点码:</view>
            <input type="text" placeholder=" 扫码 / 输入" v-model="orderNo" :focus="orderNoFocus"
               @input="findOrder()">
         </view>
         <view class="item">
            <view class="code-decs">料箱码:</view>
            <input type="text" placeholder=" 扫码 / 输入" v-model="barcode" :focus="barcodeFocus"
               @input="barcodeInput()">
         </view>
         <view class="item">
            <view class="code-decs">物料码:</view>
            <input type="text" placeholder=" 扫码 / 输入" v-model="matnr" :focus="matFocus" @input="findMat()">
            <view class="item-right">
               <button></button>
               <text style="text-align: right;color: #409EFF;" @click="selectMat()">提取+</text>
               <uni-icons type="right" color="#c1c1c1"></uni-icons>
            </view>
         </view>
      </view>
      <view class="mat-list-title">
         商品列表
      </view>
      <scroll-view>
         <view class="list" v-for="(item,i) in dataList" :key="i">
            <view class="list-left">
               <view class="list-left-item">
                  <view class="desc">No:</view>
                  <view class="left-item">{{i + 1}}</view>
               </view>
               <!-- <view class="list-left-item">
                  <view class="desc">箱码:</view>
                  <view class="desc">站点号:</view>
                  <view class="left-item">
                     <input type="text" v-model="item.containerCode">
                     <uni-tag :text="item.containerCode" type="primary"></uni-tag>
                  </view>
               </view> -->
               <view class="list-left-item">
                  <view class="desc">销售单号:</view>
                  <view class="left-item">
                     <input type="text" v-model="item.csocode">
                     <!-- <uni-tag :text="item.containerCode" type="primary"></uni-tag> -->
                     <uni-tag :text="item.barcode" type="primary"></uni-tag>
                  </view>
               </view>
               <view class="list-left-item">
                  <view class="desc">订单行号:</view>
                  <view class="left-item">
                     <input type="text" v-model="item.isoseq">
                     <!-- <uni-tag :text="item.containerCode" type="primary"></uni-tag> -->
                  </view>
               </view>
               <view class="list-left-item">
                  <view class="desc">料号:</view>
                  <view class="left-item">
                     <uni-tag :text="item.matnr" type="primary"></uni-tag>
                  </view>
               </view>
               <view class="list-left-item">
                  <view class="desc">品名:</view>
                  <view class="left-item">{{item.maktx}}</view>
                  <view class="desc">站点状态:</view>
                  <view class="left-item">{{item.sts}}</view>
               </view>
               <view class="list-left-item">
                  <view class="desc">规格:</view>
@@ -83,16 +41,13 @@
                  <view class="left-item">{{item.anfme}}</view>
               </view>
            </view>
            <view class="list-right">
               <uni-icons type="compose" color="#9add8b" size="24" @click="revise(item,i)"></uni-icons>
               <uni-icons type="trash" color="#f58a8a" size="24" @click="remove(item,i,'warn')"></uni-icons>
            </view>
         </view>
      </scroll-view>
      <!-- 底部操作按钮 -->
      <view class="buttom">
      <view class="buttom-k">
         <button size="mini" type="primary" @click="combConfirm('warn')">空板出库</button>
         <button size="mini" type="primary" @click="combConfirm('warn')">空板入库</button>
         <button size="mini" @click="reset('warn')">重置</button>
         <button size="mini" type="primary" @click="combConfirm('warn')">组托</button>
      </view>
      <!-- 弹窗 -->
      <!-- 修改数量 -->
@@ -143,7 +98,7 @@
            <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message>
         </uni-popup>
      </view>
      <!-- 确认组托 -->
      <!-- 确认空板入库 -->
      <view>
         <uni-popup ref="combConfirm" type="dialog">
            <uni-popup-dialog :type="msgType" cancelText="取消" confirmText="确认" :title="title" :content="content"
@@ -172,7 +127,12 @@
            token: '',
            barcode: '',
            orderNo: '',
            dataList: [],
            dataList: [
               {
                  barcode: 'CS-101-001-01@1',
                  sts: 'F.在库'
               }
            ],
            count: 0,
            rowNum: '',
            matnr: '',
@@ -233,6 +193,7 @@
               },
               success(res) {
                  res = res.data
                  console.log(res);
                  if (res.code === 200) {
                     if(res.data && res.data[0].combMats) {
                        for (let i = 0; i < res.data[0].combMats.length; i++) {
@@ -243,11 +204,11 @@
                           that.barcodeFocus = true
                        }, 10);
                     } else {
                        uni.showToast({
                           title: that.orderNo + '请检查订单号是否正确',
                           icon: "none",
                           position: 'top'
                        })
                        // uni.showToast({
                        //    title: that.orderNo + '请检查订单号是否正确',
                        //    icon: "none",
                        //    position: 'top'
                        // })
                     }
                  } else if (res.code == 403) {
                     uni.showToast({
@@ -284,7 +245,10 @@
         },
         barcodeInput() {
            // 不设置定时器 会出现扫入的字符串不全
            this.barcode = this.barcode.split('_')[1]
            if (this.barcode.split('_')[1]) {
               this.barcode = this.barcode.split('_')[1]
            }
            // this.barcode = this.barcode.split('_')[1]
            setTimeout(() => {
               let len = this.barcode.length
               if (len != 10) {
@@ -320,12 +284,12 @@
         findMat() {
            let that = this
            // 判断物料长度是否为1
            if (that.dataList.length >= 1) {
               this.messageText = "只能添加一种物料"
               this.messageToggle('warn')
               that.matnr = ''
               return
            }
            // if (that.dataList.length >= 1) {
            //    this.messageText = "只能添加一种物料"
            //    this.messageToggle('warn')
            //    that.matnr = ''
            //    return
            // }
            uni.request({
               url: that.baseUrl + '/mat/auth',
               data: { matnr: that.matnr },
@@ -342,12 +306,14 @@
                        success: function(res) {
                           res.eventChannel.emit('mat', {
                              data: result.data,
                              tempOrderInfo: that.tempOrderInfo
                              // tempOrderInfo: that.tempOrderInfo
                           })
                        },
                        // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
                        events: {
                           matList: function(data) {
                              data.data['csocode'] = ''
                              data.data['isoseq'] = ''
                              that.checkMat(data.data)
                              that.focuss()
                           },
@@ -478,7 +444,7 @@
         combConfirm(type) {
            this.msgType = type
            this.title = '警告'
            this.content = '是否现在组托!'
            this.content = '是否现在空板入库!'
            this.$refs.combConfirm.open()
         },
         combClose() {
@@ -497,19 +463,21 @@
               this.messageToggle('error')
               return;
            }
            if (that.dataList.length > 1) {
               this.messageText = "只能添加一种物料"
               this.messageToggle('error')
               return;
            }
            // if (that.dataList.length > 1) {
            //    this.messageText = "只能添加一种物料"
            //    this.messageToggle('error')
            //    return;
            // }
            for (var i = 0; i < that.dataList.length; i++) {
               if (that.dataList[i].anfme == 0 || that.dataList[i].anfme == '') {
                  this.messageText = that.dataList[i].matnr + '组托数量不能为0'
                  this.messageText = that.dataList[i].matnr + '空板入库数量不能为0'
                  this.messageToggle('error')
                  return;
               }
            }
            // console.log(that.dataList);
            console.log(that.dataList);
            console.log(that.barcode);
            console.log(that.orderNo);
            // return
            uni.request({
               url: that.baseUrl + '/agvMobile/comb/auth',
@@ -525,8 +493,11 @@
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                     that.resst();
                     that.messageText = "组托成功"
                     that.dataList = []
                     that.findOrder()
                     // that.resst();
                     that.barcode = ''
                     that.messageText = "空板入库成功"
                     that.messageToggle('success')
                     const innerAudioContext = uni.createInnerAudioContext();
                     innerAudioContext.src = '/static/music/pakinOk.mp3';
@@ -591,12 +562,12 @@
   }
   .list:first-child {
      margin-top: 340rpx;
      margin-top: 120rpx;
   }
   .code {
      width: 100%;
      position: fixed;
      min-height: 200rpx;
      min-height: 70rpx;
      background-color: #FFF;
      z-index: 10;
   }
@@ -642,4 +613,17 @@
      text-align: center;
      box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5);
   }
   .buttom-k {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      display: flex;
      flex-direction: column;
      background-color: #FFF;
      box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2) ;
   }
   .buttom-k button {
      margin: 20rpx 50rpx;
   }
</style>