#
whycq
2022-04-01 dafb6a0d9abaf3f9c595d8259664e2bb70786156
pages/basics/demo.vue
@@ -1,20 +1,28 @@
<template>
   <view>
      <scroll-view>
         <view>
            <view v-for="(item,index) in data" :key="index"  class="demo-list">
               <view><text>订单:</text><text>{{item.orderNo}}</text></view>
               <view>应入数量:{{item.anfme}}</view>
               <view>已入数量:{{item.inQty}}</view>
               <view>商品编码:{{item.matnr}}</view>
               <view>商品名称:{{item.maktx}}</view>
               <view>订单状态:{{item.state$}}</view>
            </view>
         <view class="demo-tab">
            <checkbox-group @change="checkbox">
               <label v-for="(item,index) in data" :key="index"
                     @click="changeClass(index)" class="demo-list" :class="{'active':add_class==index}" >
                     <view :class="'bg-'+item.checked">
                        <view class="demo-list-left"><checkbox :value="item.id+''" :checked="item.checked" />
                        </view>
                        <view class="demo-list-right">
                           <view><text style="width: 90rpx;">订单  | </text>{{item.orderNo}}<text>序号:{{index+1}}</text></view>
                           <view><text >商品编码:</text>{{item.matnr}}</view>
                           <view ><text>应入数量:</text><view class="text-num">{{item.anfme}}</view><text>商品名称:</text>{{item.maktx}}</view>
                           <view><text>已入数量:</text><view class="text-num">{{item.inQty}}</view><text>订单状态:</text>{{item.state$}}</view>
                        </view>
                     </view>
               </label>
            </checkbox-group>
         </view>
      </scroll-view>
      <view class="foot flex justify-around">
         <button class="cu-btn bg-blue lg">上架</button>
         <button class="cu-btn bg-blue lg">撤销上架</button>
         <button class="cu-btn bg-yellow lg">上架</button>
         <button class="cu-btn bg-yellow lg">撤销上架</button>
      </view>
   </view>
</template>
@@ -23,7 +31,10 @@
   export default {
      data() {
         return {
            data: []
            data: [],
            background:'unCheck',
            color:'',
            add_class:''
         }
      },
      mounted() {
@@ -54,27 +65,108 @@
               success(res) {
                  var res = res.data
                  if (res.code === 200) {
                     that.data = res.data.records
                     console.log(that.data)
                     // that.setCheck()
                  }
               }
            })
         },
         // setCheck() {
         //    for (var i = 0; i < this.data.length; i++) {
         //       var key = 'checked',
         //          value = false
         //       this.data[i][key] = value
         //    }
         // },
         checkbox: function (e) {
            var items = this.data,
               values = e.detail.value;
            for (var i = 0, lenI = items.length; i < lenI; ++i) {
               const item = items[i]
               console.log(values)
               console.log(values.indexOf(item.value))
               if(values.indexOf(item.id) >= 0){
                  this.$set(item,'checked',true)
               }else{
                  this.$set(item,'checked',false)
               }
            }
            // var val = e.detail.value
            // for (var j = 0; j < this.data.length;j++) {
            //    this.data[j].checked = false
            // }
            // for (var i = 0; i < val.length; i++) {
            //    val[i] = parseInt(val[i])
            //    this.data[val[i]].checked = true
            //    console.log(val)
            //    console.log(this.data)
            // }
         },
         changeClass(index) {
            this.add_class=index
         }
      }
   }
</script>
<style>
   .demo-list {
   .bg-false {
      background-color: #FFFFFF;
      box-shadow: 0px 0px 2px #d3d3d3;
   }
   .bg-true {
      background-color: #d6d6d6;
   }
   .demo-tab {
   }
   .demo-list {
      border-bottom: 1px solid #d8d8d8;
      height: 160rpx;
   }
   .demo-list:last-child {
      margin-bottom: 99rpx;
   }
   label {
      display: block;
   }
   .demo-list-left {
      display: inline-block;
      width: 100rpx;
      text-align: center;
      height: 150rpx;
      line-height: 150rpx;
   }
   .demo-list-right {
      display: inline-block;
      width: 650rpx;
      float: right;
   }
   .demo-list-right text {
      display: inline-block;
      width: 150rpx;
   }
   .text-num {
      display: inline-block;
      width: 90rpx;
   }
   .foot {
      width: 100%;
      height: 100rpx;
      line-height: 100rpx;
      background-color: #ffffff;
      position: fixed;
      bottom: 0;
      box-shadow: 0px -2px 5px gray;
      border-top: 1rpx solid #d8d8d8;
   }
   checkbox {
      /* transform:scale(0.7) */
   }
</style>