whycq
2022-03-09 a27ddbef869c993682355a6aed02b5f6a0c0b84a
pages/basics/combPro.vue
@@ -3,11 +3,11 @@
      <form>
         <view class="cu-form-group margin-top">
            <view class="title">单号</view>
            <input v-model="billNo" placeholder="扫码 / 输入" name="input" autocomplete="off" focus @input="find()">
            <input v-model="billNo" placeholder="扫码 / 输入" name="input" autocomplete="off" @confirm="firstConfirm" :focus="firstFocus"  @input="find()">
         </view>
         <view class="cu-form-group margin-top">
            <view class="title">托盘码</view>
            <input v-model="code" placeholder="扫码 / 输入" name="input">
            <input v-model="code" placeholder="扫码 / 输入" name="input" @confirm="secondConfirm" :focus="secondFocus" >
         </view>
      </form>
      
@@ -18,15 +18,20 @@
               <input :adjust-position="false" type="text" placeholder="产品代号" confirm-type="search" v-model="size" @input="searchSize()"></input>
            </view>
         </view>
         <view class="flex solid-bottom  padding justify-start bg-gray" style="height: 110rpx;padding: 5rpx;">
            <button class ="cu-btn bg-red lg margin-xs" @click="delTable">批量删除</button>
            <button class ="cu-btn bg-cyan lg margin-xs" @click="clearSel">清空选择</button>
            <button class ="cu-btn bg-olive lg margin-xs" @click="reSelection">反选</button>
         </view>
         <uni-table ref="table" border stripe emptyText="暂无更多数据" type="selection" @selection-change="selectionChange">
            <uni-tr>
               <uni-th align="center" width="90">数量</uni-th>
               <uni-th align="center" width="90">组托数量</uni-th>
               <uni-th align="center" width="90">产品代号</uni-th>
               <uni-th align="center" width="90">产品编码</uni-th>
               <uni-th align="center" width="90">产品名称</uni-th>
               <uni-th align="center" width="90">序号</uni-th>
               <uni-th align="center" width="90">批号</uni-th>
               <uni-th align="center" width="50">数量</uni-th>
               <uni-th align="center" width="70">组托数量</uni-th>
               <uni-th align="center" width="80">产品代号</uni-th>
               <uni-th align="center" width="70">产品编码</uni-th>
               <uni-th align="center" width="150">产品名称</uni-th>
               <uni-th align="center" width="50">序号</uni-th>
               <uni-th align="center" width="70">批号</uni-th>
               
               
            </uni-tr>
@@ -45,18 +50,14 @@
            </uni-tr>
         </uni-table>
      </view>
      <view class="flex solid-bottom  padding justify-start">
         <button class ="cu-btn bg-red margin-xs" @click="delTable">批量删除</button>
         <button class ="cu-btn bg-cyan margin-xs" @click="clearSel">清空选择</button>
         <button class ="cu-btn bg-olive margin-xs" @click="reSelection">反选</button>
      </view>
      <view style="height: 200rpx;">
          <!-- 空白层 -->
      </view>
      <view class="cu-bar foot input">
      <view class="cu-bar foot input" style="height: 130rpx;">
         <view class="flex solid-bottom padding justify-start">
            <button class="cu-btn bg-yellow  lg margin-xs" style="width: 250rpx;" @click="comb()">组 托</button>
            <button class="cu-btn bg-grey lg margin-xs" @click="reset">重 置</button>
            <button class="cu-btn bg-yellow main-btn margin-xs" style="width: 430rpx;" @click="comb()">组 托</button>
            <button class="cu-btn bg-grey main-btn margin-xs" @click="reset">重 置</button>
         </view>
      </view>
      
@@ -77,7 +78,7 @@
      <view>
         <!-- 提示窗示例 -->
         <uni-popup ref="alertDialog" type="dialog">
            <uni-popup-dialog :type="msgType" title="警告" :content="message" @confirm="dialogConfirm"
            <uni-popup-dialog :type="msgType" title="警告" :content="message" @confirm="dialogConfirm('error')"
               @close="dialogClose"></uni-popup-dialog>
         </uni-popup>
      </view>
@@ -104,8 +105,9 @@
            selectArr : [],
            selectedIndexs:[],
            size:'',
            message:'123'
            message:'123',
            firstFocus:true,   // 控制第一个焦点,默认聚焦
            secondFocus:false,  // 控制第二个焦点
         }
      },
      mounted(){
@@ -115,6 +117,23 @@
         this.basePORT = UPORT
      },
      methods: {
         // 跳到第二个
         firstConfirm(){
            this.getFocus('secondFocus')
         },
         // 跳到第一个
         secondConfirm(){
         },
         // 获取焦点
         getFocus(nextfocus){
            this[nextfocus] = false     // 不能使用点语法
            this.$nextTick(()=>{
               this[nextfocus] = true
            })
         },
         // 多选
         selectionChange(e) {
            // 获取选中状态
@@ -189,7 +208,8 @@
            this.code = '';
            this.matData = [];
            this.size = '';
            this.toggleSelection()
            this.toggleSelection();
            this.getFocus('firstFocus')
         },
         messageToggle(type) {
            this.msgType = type
@@ -299,11 +319,19 @@
               that.messageText = '请先确认入库数量'
               return;
            }
            for (var i = 0; i < that.matData.length; i++){
               if (that.matData[i].count === 0) {
                  that.messageToggle('error')
                  that.messageText = '组托数量不能为0'
                  return;
               }
            }
            for (var i = 0; i < that.matData.length; i++) {
               var sad = that.matData[i].qty - that.value
               if (sad <= 5 && sad > 0) {
                  this.$refs.alertDialog.open()
                  that.message = '产品代号' + that.matData[i].size + '剩余待组托数量少于5,是否继续组托'
                  that.message = '产品代号' + that.matData[i].size + '剩余待组托数量少于5,是否完结此单'
                  return
               } else {
                  uni.request({
@@ -319,8 +347,10 @@
                        if(res.data.code === 200){
                           that.reset()
                           that.matData = []
                           that.couChange=true
                           that.messageToggle('success')
                           that.messageText = '组托成功'
                           this.getFocus('firstFocus')
                        } else if(res.data.code === 403){
                           uni.navigateBack({
                              delta: 1
@@ -335,7 +365,7 @@
            }
            
         },
         // 确定组托
         // 是否
         dialogConfirm() {
            let that = this
            let barcode = that.code
@@ -356,8 +386,10 @@
                  if(res.data.code === 200){
                     that.reset()
                     that.matData = []
                     that.couChange=true
                     that.messageToggle('success')
                     that.messageText = '组托成功'
                     this.getFocus('firstFocus')
                  } else if(res.data.code === 403){
                        uni.navigateBack({
                            delta: 1
@@ -369,7 +401,7 @@
               }
            })
         },
         // 取消组托
         // 否
         dialogClose() {
            let that = this
            let barcode = that.code
@@ -390,8 +422,10 @@
                  if(res.data.code === 200){
                     that.reset()
                     that.matData = []
                     that.couChange=true
                     that.messageToggle('success')
                     that.messageText = '组托成功'
                     this.getFocus('firstFocus')
                  } else if(res.data.code === 403){
                        uni.navigateBack({
                            delta: 1