参数面板控件选中后,联动的控件变成只读,要如何实现

如题,我有一列时间单选框,选中后对应的时间日期控件我想变成只读,不让其编辑,如图

image.png控件代码如下:

var value = this.getValue();
if(value == '近一月'){
	var ddate2 = '${=TODAY()}';
	var ddate1 = '${=DATEINYEAR(TODAY(),30)}';
	var state1= this.options.form.getWidgetByName("rq1");
                var state2= this.options.form.getWidgetByName("rq2");
                state1.setValue(ddate1);
                state2.setValue(ddate2);
}else if(value == '近一季'){
	var ddate2 = '${=TODAY()}';
	var ddate1 = '${=DATEINYEAR(TODAY(),90)}';
	var state1= this.options.form.getWidgetByName("rq1");
                var state2= this.options.form.getWidgetByName("rq2");
                state1.setValue(ddate1);
                state2.setValue(ddate2);
}else if(value == '近半年'){
	var ddate2 = '${=TODAY()}';
	var ddate1 = '${=DATEINYEAR(TODAY(),182)}';
	var state1= this.options.form.getWidgetByName("rq1");
                var state2= this.options.form.getWidgetByName("rq2");
                state1.setValue(ddate1);
                state2.setValue(ddate2);
}else{
	var ddate2 = '${=TODAY()}';
	var ddate1 = '${=DATEINYEAR(TODAY(),365)}';
	var state1= this.options.form.getWidgetByName("rq1");
                var state2= this.options.form.getWidgetByName("rq2");
                state1.setValue(ddate1);
                state2.setValue(ddate2);
	}

FineReport chyou 发布于 7 天前 (编辑于 7 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于7 天前

只是近半年不可用,其它值的时候可用

var value = this.getValue();
var state1= this.options.form.getWidgetByName("rq1");
var state2= this.options.form.getWidgetByName("rq2");
if(value == '近一月'){
   state1.setEnable(true);//可用
	 state2.setEnable(true);//可用	 
    var ddate2 = '${=TODAY()}';
    var ddate1 = '${=DATEINYEAR(TODAY(),30)}';
    
                state1.setValue(ddate1);
                state2.setValue(ddate2);
}else if(value == '近一季'){
   state1.setEnable(true);//可用
	 state2.setEnable(true);//可用
    var ddate2 = '${=TODAY()}';
    var ddate1 = '${=DATEINYEAR(TODAY(),90)}';

                state1.setValue(ddate1);
                state2.setValue(ddate2);
}else if(value == '近半年'){
     state1.setEnable(false);//不可用
	 state2.setEnable(false);//不可用	 
    var ddate2 = '${=TODAY()}';
    var ddate1 = '${=DATEINYEAR(TODAY(),182)}';
   state1.setValue(ddate1);
   state2.setValue(ddate2);
}else{
   state1.setEnable(true);//可用
	 state2.setEnable(true);//可用
    var ddate2 = '${=TODAY()}';
    var ddate1 = '${=DATEINYEAR(TODAY(),365)}';    
                state1.setValue(ddate1);
                state2.setValue(ddate2);
    }

  • 3关注人数
  • 19浏览人数
  • 最后回答于:7 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部