#
whycq
2022-02-28 75ea1362b54946c8a8b6aa8260c2f4e5843154ab
pages/basics/combPro.vue
@@ -11,30 +11,41 @@
         </view>
      </form>
      <view class="margin-top">
         <uni-table ref="table" border stripe emptyText="暂无更多数据" rowKey="">
         <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">产品ID</uni-th>
               <uni-th align="center" width="200">组托数量</uni-th>
               <uni-th align="center" width="90">序号</uni-th>
               <uni-th align="center" width="90">批号</uni-th>
               
            </uni-tr>
            <uni-tr v-for="(item, index) in matData" :key="index">
               <uni-td align="center">{{item.seqNo}}</uni-td>
               <uni-td align="center">{{item.count}}</uni-td>
               <uni-td align="center">{{item.matName}}</uni-td>
               <uni-td align="center">{{item.matNo}}</uni-td>
               <uni-td align="center">
                  <button class="uni-button" size="mini" type="primary" @click="confirm(index,item)">修改</button>
                  <button class="uni-button" size="mini" type="warn" @click="remove(index,item)">删除</button>
                  <button class ="cu-btn bg-orange margin-xs" @click="confirm(index,item)">修 改</button>
                  <!-- <button class="uni-button" size="mini" type="warn" @click="remove(index,item)">删除</button> -->
               </uni-td>
               <uni-td align="center">{{item.size}}</uni-td>
               <uni-td align="center">{{item.matNo}}</uni-td>
               <uni-td align="center">{{item.matName}}</uni-td>
               <uni-td align="center">{{item.seqNo}}</uni-td>
               <uni-td align="center">{{item.itemBatch}}</uni-td>
            </uni-tr>
         </uni-table>
      </view>
      <view>
         <button class="cu-btn bg-yellow pda-btn" @click="comb()">组托</button>
         <button class="cu-btn bg-grey pda-btn" @click="reset">重置</button>
      <view class="flex solid-bottom  justify-between">
         <button class ="cu-btn bg-red margin-xs" @click="delTable">批量删除</button>
         <button class ="cu-btn bg-olive margin-xs" @click="reSelection">反选</button>
         <button class ="cu-btn bg-cyan margin-xs" @click="clearSel">清空选择</button>
      </view>
      <view class="flex solid-bottom padding justify-around">
         <button class="cu-btn bg-yellow  lg" @click="comb()">组 托</button>
         <button class="cu-btn bg-grey lg" @click="reset">重 置</button>
      </view>
      <view>
         <!-- 提示信息弹窗 -->
@@ -49,7 +60,6 @@
               placeholder="请输入组托数量" @confirm="dialogInputConfirm">
                  <uni-number-box :min="minCount" :max="maxCount" v-model="value" />
            </uni-popup-dialog>
         </uni-popup>
      </view>
   </view>
@@ -65,20 +75,70 @@
            type: '',
            msgType: '',
            messageText: '',
            minCount:1,
            minCount:0,
            maxCount:1,
            rowNum:'',
            value:'',
            couChange:true,
            baseIP:'',
            selectArr : [],
            selectedIndexs:[],
            
            
         }
      },
      mounted(){
         const UIP = uni.getStorageSync('UIP');
         this.baseIP = UIP
      },
      methods: {
         // 多选
         selectionChange(e) {
            // 获取选中状态
            this.selectedIndexs = e.detail.index
            this.selectedIndexs.sort(function(a,b){
               return a-b
            });// 重新排序(升序)
         },
         // 全选
         // 批量删除的方法
         toggleSelection(rows) {
            console.log(rows)
            if (rows) {
            this.$refs["table"].toggleAllSelection(rows);
            } else {
               this.$refs["table"].clearSelection();
            }
         },
         //批量删除
         delTable() {
            // 实现全选删除和多选删除
            let len = this.selectedIndexs.length
            // len.forEach(index => {
            //    console.log(index)
            //            this.matData.splice(index,1);
            //          })
            for (let i = len-1; i >= 0; i--) {
               console.log(this.selectedIndexs[i])
               this.matData.splice(this.selectedIndexs[i],1)   // splice删除数组会改变原数组,所以需要逆向删除
            }
            this.$refs["table"].clearSelection(); // 清空选择
         },
         // 反选
         reSelection(){
            this.toggleSelection(this.selectedIndexs)
         },
         // 清空
         clearSel() {
            this.toggleSelection()
         },
            reset:function() {
               this.billNo = '';
               this.code = '';
               this.matData = [];
               this.toggleSelection()
            },
            messageToggle(type) {
               this.msgType = type
@@ -95,17 +155,16 @@
               }
               if(billNo.indexOf('=')>-1){
                  billNo = billNo.split(",")[0].split("=")[1];
                  console.log(billNo)
               }
               if(billNo.length===0){
                  return
               }
               this.matData = []
               uni.request({
                  url:that.baseUrl+ "/mobile/bill/query/auth",
                  url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/bill/query/auth",
                  header: {
                     'content-type':'application/x-www-form-urlencoded',
                     'token': localStorage.getItem('token')},
                     'token':uni.getStorageSync('token')},
                  data: {
                      billNo: billNo
                  },
@@ -146,7 +205,7 @@
               this.$refs.inputDialog.open()
               this.maxCount = item.count
               this.rowNum = index
               this.value = this.maxCount
               this.value = this.minCount
            },
            // 修改数量弹窗
            dialogInputConfirm() {
@@ -185,8 +244,8 @@
                  return;
               }
               uni.request({
                  url:that.baseUrl+ "/mobile/comb/auth",
                  header: {'token': localStorage.getItem('token')},
                  url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/comb/auth",
                  header: {'token':uni.getStorageSync('token')},
                  data:{
                     barcode:barcode,
                     combMats:that.matData,
@@ -206,12 +265,17 @@
            },
      },
      onShow() {
         // const query = uni.createSelectorQuery()
         // console.log(prototype.placeholder)
      }
   }
</script>
<style>
   .delTable {
      margin-left:0;
      margin-right: auto;
      width: 200rpx;
      height: 80rpx;
      font-size: 30upx;
      font-weight: bold;
   }
</style>