| | |
| | | checkboxedit:"", |
| | | // 用于判断是否是编辑 |
| | | editFlag:false |
| | | // 至于为什么没在用户选择必填种类大于组合方式的时候,给下拉菜单选中的数据清空了,这样比给予弹窗提醒更合理 |
| | | // 原因是找了好久没找到avue框架这个选中的属性显示在页面怎么修改,直接修改下拉菜单数据的value没效果,找不到是什么控制这页面显示的选中数据 |
| | | // 我尝试在dicdata外面定义value修改下拉菜单显示的默认值也不行,然后再尝试调用avue的close清除方法,但是也是只能实现在下拉菜单后面显示一个X号 |
| | | // 当用户手动点击清除,才可以把数据清除,总而言之找了好久,没找到这个清除方法,avue的说明文档也没明确标明这个功能的内置操作方法 |
| | | // 我想到的应该可以的方法是,舍弃option里面的组合方式,自己手动在页面添加插槽定义组合方式,至于是使用avue还是element-ui来写,还要看具体的步骤 |
| | | // 因为一改动,我现在写的逻辑比如下拉菜单禁用和策略验证等等要重新梳理,我这边急着赶对象建模的进度,所以先用这种方式来处理,如果我回头有时间我再来继续改,就没有这条注释了。 |
| | | } |
| | | |
| | | }, |
| | |
| | | // console.log("大于") |
| | | // } |
| | | }, |
| | | handleCheckboxChange(val){ |
| | | const arr=this.option.column[5]; |
| | | this.checkboxlength=val.value; |
| | | //添加的时候checkboxlength是一个数组,到了编辑他就是一个字符串,如果我我直接转换为数组,因为本来就是数组所以点击添加的时候会报错 |
| | | //如果我变成字符串后再转数组,添加不会报错了,但是编辑的时候就又会报错了,本来就是字符串又走了一遍tostring |
| | | this.checkboxedit=this.checkboxlength.toString().split(",") |
| | | if(val.value != undefined && val.value != null){ |
| | | if(this.checkboxlist == val.value){ |
| | | // 判断相等则不操作,不等则重新执行。加这层判断是因为change事件触发两次,会出现两个消息提示框 |
| | | // 定义checkboxlist变量,存储的改变的值,如果值改变和变量相等则不需要任何操作 |
| | | }else { |
| | | this.checkboxlist=val.value |
| | | if( this.selectlength.value >= val.value.length && val.value.length > 0 ){ |
| | | this.$message({ |
| | | message: '必填种类不能大于组合方法,请重新选择!', |
| | | type: 'warning', |
| | | showClose: true, |
| | | }); |
| | | }else if(this.selectlength.value >= this.checkboxedit.length && this.checkboxedit.length > 0 ){ |
| | | this.$message({ |
| | | message: '必填种类不能大于组合方法,请重新选择!', |
| | | type: 'warning', |
| | | showClose: true, |
| | | }); |
| | | handleCheckboxChange(val) { |
| | | const arr = this.option.column[5]; |
| | | this.checkboxlength = val.value; |
| | | this.checkboxedit = this.checkboxlength.toString().split(","); |
| | | |
| | | if (val.value != undefined && val.value != null) { |
| | | if (this.checkboxlist == val.value) { |
| | | } else { |
| | | this.checkboxlist = val.value; |
| | | if ( |
| | | this.selectlength.value >= val.value.length && |
| | | val.value.length > 0 |
| | | ) { |
| | | this.showMessage("必填种类不能大于组合方法,请重新选择!"); |
| | | } else if ( |
| | | this.selectlength.value >= this.checkboxedit.length && |
| | | this.checkboxedit.length > 0 |
| | | ) { |
| | | this.showMessage("必填种类不能大于组合方法,请重新选择!"); |
| | | } |
| | | } |
| | | // if(this.checkboxeditlist == val.value){ |
| | | // // tong |
| | | // }else { |
| | | // this.checkboxeditlist=val.value |
| | | // if(this.selectlength.value >= this.checkboxedit.length && this.checkboxedit.length > 0){ |
| | | // this.$message({ |
| | | // message: '必填种类不能大于组合方法,请重新选择!', |
| | | // type: 'warning', |
| | | // showClose: true, |
| | | // }); |
| | | // } |
| | | // } |
| | | // if(this.selectlength.value >= this.checkboxedit.length && this.checkboxedit.length > 0){ |
| | | // this.$message({ |
| | | // message: '必填种类不能大于组合方法,请重新选择!', |
| | | // type: 'warning', |
| | | // showClose: true, |
| | | // }); |
| | | // } |
| | | } |
| | | // 这里一直报length的错误 |
| | | // arr.forEach((item,index)=>{ |
| | | // console.log(item,index) |
| | | // if(val.value != undefined && val.value != null && val.value.length==0){ |
| | | // item.disabled=false |
| | | // } |
| | | // if(val.value != undefined && val.value != null && val.value.length>=1){ |
| | | // |
| | | // } |
| | | // }) |
| | | // if(val.value != undefined && val.value != null && val.value.length >= 0){ |
| | | // arr.dicData[val.value.length-1].disabled=true |
| | | // } |
| | | // }else if(val.value != undefined && val.value != null && val.value.length ==0){ |
| | | // arr.dicData.disabled=false |
| | | // } |
| | | if(val.value != undefined && val.value != null && val.value.length == 1){ |
| | | arr.dicData[0].disabled=false |
| | | arr.dicData[1].disabled=true |
| | | arr.dicData[2].disabled=true |
| | | arr.dicData[3].disabled=true |
| | | }else if(val.value != undefined && val.value != null && val.value.length ==2){ |
| | | arr.dicData[0].disabled=false |
| | | arr.dicData[1].disabled=false |
| | | arr.dicData[2].disabled=true |
| | | arr.dicData[3].disabled=true |
| | | }else if(val.value != undefined && val.value != null && val.value.length ==3){ |
| | | arr.dicData[0].disabled=false |
| | | arr.dicData[1].disabled=false |
| | | arr.dicData[2].disabled=false |
| | | arr.dicData[3].disabled=true |
| | | }else if(val.value != undefined && val.value != null && val.value.length==4){ |
| | | arr.dicData[0].disabled=false |
| | | arr.dicData[1].disabled=false |
| | | arr.dicData[2].disabled=false |
| | | arr.dicData[3].disabled=false |
| | | }else if(val.value != undefined && val.value != null && val.value.length==0 ){ |
| | | arr.dicData[0].disabled=true |
| | | arr.dicData[1].disabled=true |
| | | arr.dicData[2].disabled=true |
| | | arr.dicData[3].disabled=true |
| | | }else if(this.checkboxNumber.length!=0){ |
| | | arr.dicData[0].disabled=false |
| | | arr.dicData[1].disabled=false |
| | | arr.dicData[2].disabled=false |
| | | arr.dicData[3].disabled=false |
| | | const disabledCount = Math.min(this.checkboxedit.length, 4); |
| | | for (let i = 0; i < arr.dicData.length; i++) { |
| | | arr.dicData[i].disabled = i >= disabledCount; |
| | | } |
| | | if(this.editFlag == true){ |
| | | if(this.checkboxedit.length == 1){ |
| | | arr.dicData[0].disabled=false |
| | | arr.dicData[1].disabled=true |
| | | arr.dicData[2].disabled=true |
| | | arr.dicData[3].disabled=true |
| | | }else if(this.checkboxedit.length == 2){ |
| | | arr.dicData[0].disabled=false |
| | | arr.dicData[1].disabled=false |
| | | arr.dicData[2].disabled=true |
| | | arr.dicData[3].disabled=true |
| | | }else if(this.checkboxedit.length ==3){ |
| | | arr.dicData[0].disabled=false |
| | | arr.dicData[1].disabled=false |
| | | arr.dicData[2].disabled=false |
| | | arr.dicData[3].disabled=true |
| | | }else if(this.checkboxedit ==4){ |
| | | arr.dicData[0].disabled=false |
| | | arr.dicData[1].disabled=false |
| | | arr.dicData[2].disabled=false |
| | | arr.dicData[3].disabled=false |
| | | }else if(this.checkboxedit.length ==0){ |
| | | arr.dicData[0].disabled=true |
| | | arr.dicData[1].disabled=true |
| | | arr.dicData[2].disabled=true |
| | | arr.dicData[3].disabled=true |
| | | if (this.editFlag == true) { |
| | | const disabledCount = Math.min(this.checkboxedit.length, 4); |
| | | for (let i = 0; i < arr.dicData.length; i++) { |
| | | arr.dicData[i].disabled = i >= disabledCount; |
| | | } |
| | | } |
| | | }, |