Extjs2.2 开始时间,结束时间,工期 联动(选二补一),包含日期,天数的互转

选择任意两个, 则第三个自动填写

 

 

文本框代码:

var downtime_root_simple = {
            xtype : 'numberfield',
            fieldLabel : '工期(天)',
            name : 'plan_hours',
            id : 'plan_hours',
            allowBlank : true,
            readOnly : flag == 4 ? true : false,
            maxLength : 11,
            anchor : '95%',
            listeners :  {
                 change : function(){
                     var plan_hours = Ext.getCmp("plan_hours");    
                    var plan_hours_value = Ext.getCmp("plan_hours").getValue();    
                    var plan_end_time = Ext.getCmp("plan_end_time");
                    var plan_end_time_value = Ext.getCmp("plan_end_time").getValue();
                    var plan_start_time = Ext.getCmp("plan_start_time");
                    var plan_start_time_value = Ext.getCmp("plan_start_time").getValue();
                    if (plan_start_time.isValid()) {
                         var date_S = new Date(plan_start_time_value);
                         plan_end_time.setValue(new Date(date_S.getTime() + (plan_hours_value-1)*24*60*60*1000));
                    } else if(plan_end_time.isValid()){
                        var date_E = new Date(plan_end_time_value);
                        plan_start_time.setValue(new Date(date_E.getTime() - (plan_hours_value-1)*24*60*60*1000));
                    }
                 }
            }
        };

开始时间代码:

var start_time_root = {
            xtype : 'datefield',
            fieldLabel : '开始时间<font color="red">*</font>',
            name : 'plan_start_time',
            id : 'plan_start_time',
            format : "Y-m-d",
            allowBlank : false,
            editable : false,
            anchor : '95%',
            listeners : {
                "change" : function() {
                    var plan_hours = Ext.getCmp("plan_hours");    
                    var plan_hours_value = Ext.getCmp("plan_hours").getValue();    
                    var plan_end_time = Ext.getCmp("plan_end_time");
                    var plan_end_time_value = Ext.getCmp("plan_end_time").getValue();
                    var plan_start_time = Ext.getCmp("plan_start_time");
                    var plan_start_time_value = Ext.getCmp("plan_start_time").getValue();
                    if (plan_start_time.isValid()) {
                        var date_S = new Date(plan_start_time_value);
                        plan_end_time.setMinValue(plan_start_time_value);
                        if(plan_end_time_value){
                            var date_E = new Date(plan_end_time_value);
                            plan_hours.setValue((date_E.getTime() - date_S.getTime())/(24*60*60*1000)+1);
                        }else{
                            if(plan_hours_value){
                                plan_end_time.setValue(new Date(date_S.getTime() + plan_hours_value*24*60*60*1000));
                            }
                        }
                    } else {
                        plan_end_time.setMinValue(null);
                    }
                }
            }
        };

结束时间代码:

var end_time_root = {
            xtype : 'datefield',
            fieldLabel : '结束时间<font color="red">*</font>',
            name : 'plan_end_time',
            id : 'plan_end_time',
            allowBlank : false,
            format : "Y-m-d",
            maxLength : 12,
            anchor : '95%',
            listeners : {
                "change" : function() {
                    var plan_hours = Ext.getCmp("plan_hours");    
                    var plan_hours_value = Ext.getCmp("plan_hours").getValue();    
                    var plan_end_time = Ext.getCmp("plan_end_time");
                    var plan_end_time_value = Ext.getCmp("plan_end_time").getValue();
                    var plan_start_time = Ext.getCmp("plan_start_time");
                    var plan_start_time_value = Ext.getCmp("plan_start_time").getValue();
                    if (plan_end_time.isValid()) {
                        var date_E = new Date(plan_end_time_value);
                        plan_start_time.setMaxValue(plan_end_time_value);
                        if(plan_start_time_value){
                            var date_S = new Date(plan_start_time_value);
                            plan_hours.setValue((date_E.getTime() - date_S.getTime())/(24*60*60*1000)+1);
                        }else{
                            if(plan_hours_value){
                                plan_start_time.setValue(new Date(date_E.getTime() - plan_hours_value*24*60*60*1000));
                            }
                        }
                    } else {
                        plan_start_time.setMaxValue(null);
                    }
                    show_change_reason();
                }
            }
        };

 

转载于:https://www.cnblogs.com/mr-level/p/4605634.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值