Elemtent多选择框权限控制多选择框

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
直接上代码

<div>
<div class="JuesCheack">
          <el-collapse accordion>
            <el-collapse-item v-for="(item,index) in newTreeList" :key="index">
              <template slot="title">
                <el-checkbox-group
                  v-for="(betun,betunindex) in item.treeResponse" v-model="betun.chenPost" style="width: 150px;margin-right: 30px;"
                  @change="handleCheckedCitiesChange(betun.name,index,betunindex)">
                  <el-checkbox >{
  
  { betun.name }}</el-checkbox>
                </el-checkbox-group>
              </template>
              <div v-for="(be,indexe) in item.treeResponse[0].subList" :key="indexe" class="chenBeks">
                <el-checkbox-group v-model="be.chenPost" style="width: 150px;margin-right: 30px;" @change="handleCheckZi(index,indexe,item.cheackList)">
                  <el-checkbox :label="be.name" >{
  
  { be.name }}</el-checkbox>
                </el-checkbox-group>
                <el-checkbox-group v-for="(set,setpodindex) in be.subList" :index="setpodindex" v-model="set.chenPost" @change="leCheckZi(index,indexe,setpodindex)">
                  <el-checkbox :label="set.id" :key="set.id">{
  
  { set.name }}</el-checkbox>
                </el-checkbox-group>
              </div>
            </el-collapse-item>
          </el-collapse>
        </div>
</div>

在data里{
permissions:[]
newTreeList:[]
}

在
methods:{
handleCheckedCitiesChange(cheach, index, index2) {
      if (cheach != '全选') {
        // 点击案件中心让   被询问人,案件管理,宣教记录选中
        if (this.newTreeList[index].treeResponse[index2].chenPost) {
          for (let i = 0; i < this.newTreeList[index].treeResponse[index2].subList.length; i++) {
            this.newTreeList[index].treeResponse[index2].subList[i].chenPost = true
            // 往数组添加选中的id值
            this.permissions.push(this.newTreeList[index].treeResponse[index2].subList[i].id)
            // 用来全选清楚重复的数据
            for (let e = 0; e < this.permissions.length; e++) {
              for (let j = e + 1; j < this.permissions.length; j++) {
                if (this.permissions[e] === this.permissions[j]) {
                  this.permissions.splice(j, 1)
                }
              }
            }
            console.log(this.permissions)
          }
        } else {
          // 点击取消选中,
          for (let i = 0; i < this.newTreeList[index].treeResponse[index2].subList.length; i++) {
            this.newTreeList[index].treeResponse[index2].subList[i].chenPost = false
          }
          // 过滤掉选中的id值
          this.permissions = this.permissions.filter(item => !this.newTreeList[index].treeResponse[index2].subList.some(ele => ele.id === item))
          console.log(this.permissions)
        }
      } else {
        // 点击和案件中心同级的 全部按钮 控制下列进行全部选择和反选
        if (this.newTreeList[index].treeResponse[index2].chenPost) {
          for (let i = 0; i < this.newTreeList[index].treeResponse[0].subList.length; i++) {
            for (let k = 0; k < this.newTreeList[index].treeResponse[0].subList[i].subList.length; k++) {
              if (this.newTreeList[index].treeResponse[0].subList[i].subList[k].name != '全选') {
                this.permissions.push(this.newTreeList[index].treeResponse[0].subList[i].subList[k].id)
                // 用来全选清楚重复的数据
                for (let e = 0; e < this.permissions.length; e++) {
                  for (let j = e + 1; j < this.permissions.length; j++) {
                    if (this.permissions[e] === this.permissions[j]) {
                      this.permissions.splice(j, 1)
                    }
                  }
                }
                console.log(this.permissions)
              }
              this.newTreeList[index].treeResponse[0].subList[i].subList[k].chenPost = true
            }
          }
        } else {
          for (let i = 0; i < this.newTreeList[index].treeResponse[0].subList.length; i++) {
            for (let k = 0; k < this.newTreeList[index].treeResponse[0].subList[i].subList.length; k++) {
              this.newTreeList[index].treeResponse[0].subList[i].subList[k].chenPost = false
              this.permissions = this.permissions.filter(item => !this.newTreeList[index].treeResponse[0].subList[i].subList.some(ele => ele.id === 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值