⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comm.js

📁 一个使用yui-ext库
💻 JS
📖 第 1 页 / 共 3 页
字号:
        for(var k=0;k<w;k++)x[k]=me.d.data[i][k];
        me.d.data1.push(x);
      }
    }
  }
}
//-------------------------------------------------------------------------------
function PageA(){
  this.o;
  this.c;
  this.d;
  this.g;
  this.server=function(){};
  this.select;
  this.qsj='getData';      //取数据
  this.init=function(){
    this.d=new yg.DefaultDataModel([]);
    this.d.data=[];
    this.g=new yg.Grid('p'+this.o,this.d,this.c);
    this.g.selModel=yg.SingleSelectionModel();
    this.g.render();
  }
  this.getData=function(me){
    me.g.clearSelections();
    me.server[me.select](function(data){
      while(me.d.data.length>0)me.d.removeRow(0);
      for(var i=0;i<data.length;i++)me.d.addRow(data[i]);
    });
  }
  this.getData1=function(me,param){
    me.g.clearSelections();
    me.server[this.select](param,function(data){
      while(me.d.data.length>0)me.d.removeRow(0);
      for(var i=0;i<data.length;i++)me.d.addRow(data[i]);
    });
  }
}
//-------------------------------------------------------------------------------
function Dialog(){
  var params=[];
  var dialog;
  this.done=false;
  this.c=[];           //是否有检查框
  this.o;              //坐标
  this.m;              //行数
  this.n;              //列数
  this.l=[];           //label(m*n)
  this.top0=10;        //左上角
  this.left0=10;
  this.a=100;          //宽度调整值
  this.b=85;           //高度调整值
  this.lAndt=90;       //lebel和text间隔
  this.horizontal=190; //横向间隔
  this.vertical=30;    //纵向间隔
  this.data=[];        //数据(m*n)
  this.type=[];        //输入类型(m*n)
  this.opt=[];         //列表数据(m*n)
  this.textWidth=150;  //文本框宽度
  this.dlg;            //对话框
  this.leftD=650;      //日期输入框坐标
  this.topD=200;
  this.callBack=function(){};//回调函数
  this.getTopij=function(i,j){//计算top
    return i*this.vertical+this.top0;
  };
  this.getLeftij=function(i,j){
    return j*this.horizontal+this.left0;
  };
  this.getWidth=function(){
    return this.n*this.horizontal+this.a;
  };
  this.getHeight=function(){
    return this.m*this.vertical+this.b;
  };
  this.getId=function(){
    return 'dlg'+this.o;
  }
  this.getTextName=function(i,j){
    return this.getId()+'t'+i+'_'+j;
  }
  this.getListName=function(i,j){
    return this.getId()+'l'+i+'_'+j;
  }
  this.getTextElement=function(i,j){
    return document.getElementById(this.getTextName(i,j));
  }
  this.getTextValue=function(i,j){
    var text;
    if(this.type[i][j]=='list'){
      try{
        text=document.getElementById(this.getListName(i,j)).value;
      }
      catch(e){
        text='';
      }
    }
    else{
      try{
        text=document.getElementById(this.getTextName(i,j)).value;
      }
      catch(e){
        text='';
      }
    }
    return text;
  };
  this.getData1=function(){//横向
    this.data=[];
    for(var i=0;i<this.m;i++){
    	for(var j=0;j<this.n;j++){
    	  if(this.getCheckValue(i,j)){
    	    if(this.type[i][j]=='date')this.data.push(this.getTextValue(i,j));
    	    else this.data.push('%'+this.getTextValue(i,j)+'%');
    	  }
    	  else {
    	    if(this.type[i][j]=='date')this.data.push('00000000');
    	    else this.data.push('%');
    	  }
    	}
    }
    return this.data;
  };
  this.getData2=function(){//纵向
    this.data=[];
    for(var i=0;i<this.n;i++){
    	for(var j=0;j<this.m;j++){
    	  if(this.getCheckValue(j,i)){
    	    if(this.type[j][i]=='date')this.data.push(this.getTextValue(j,i));
    	    else this.data.push('%'+this.getTextValue(j,i)+'%');
    	  }
    	  else {
    	    if(this.type[j][i]=='date')this.data.push('00000000');
    	    else this.data.push('%');
    	  }
    	}
    }
    return this.data;
  };
  this.getData3=function(){//横向
    var data=[];
    for(var i=0;i<this.m;i++){
      for(var j=0;j<this.n;j++){
        if(this.type[i][j]!='none')data.push(this.getTextValue(i,j));
      }
    }
    return data;
  };
  this.getData4=function(){//纵向
    var data=[];
    for(var i=0;i<this.n;i++){
      for(var j=0;j<this.m;j++){
        if(this.type[j][i]!='none')data.push(this.getTextValue(j,i));
      }
    }
    return data;
  };
  this.getCheckName=function(i,j){
    return this.getId()+'c'+i+j;
  };
  this.getCheckValue=function(i,j){
    if(this.c[i][j])return document.getElementById(this.getCheckName(i,j)).checked;
    else return false;
  };
  this.setCheckValue=function(i,j){
    if(this.c[i][j]){
      var el=document.getElementById(this.getCheckName(i,j));
      el.checked=true;
      el.disabled=true;
    }
  };
  this.init_lAndt=function(){
    var s='';
    for(var i=0;i<this.m;i++){
      for(var j=0;j<this.n;j++){
        s+='<div style="text-align:justify;position:absolute;left:'+this.getLeftij(i,j)+'px;top:'+this.getTopij(i,j)+'px">';
        s+=(this.c[i][j]==true)?'<input id="'+this.getCheckName(i,j)+'" type="checkbox"/>'+this.l[i][j]:this.l[i][j];
        if(this.type[i][j]=='list'){
          s+='<select id="'+this.getListName(i,j)+'" name="'+this.getListName(i,j)+'"style="position:absolute;left:'+this.lAndt+'px;top:-1px;width:'+this.textWidth+'px">';
          for(var k=0;k<this.opt[i][j].length;k++)s+='<option value="'+this.opt[i][j][k]+'">'+this.opt[i][j][k]+'</option >';
          s+='</select>';
        }
        else if(this.type[i][j]=='text'){
          s+='<INPUT id="'+this.getTextName(i,j)+'" name="'+this.getTextName(i,j)+'" TYPE="text" style="position:absolute;left:'+this.lAndt+'px;top:-1px;width:'+this.textWidth+'px"/>';
        }
        else if(this.type[i][j]=='pass'){
          s+='<INPUT id="'+this.getTextName(i,j)+'" name="'+this.getTextName(i,j)+'" TYPE="password" style="position:absolute;left:'+this.lAndt+'px;top:-1px;width:'+this.textWidth+'px"/>';
        }
        else if(this.type[i][j]=='file'){
          s+='<INPUT id="'+this.getTextName(i,j)+'" name="'+this.getTextName(i,j)+'" TYPE="file" style="position:absolute;left:'+this.lAndt+'px;top:-1px;width:'+this.textWidth+'px"/>';
        }
        else if(this.type[i][j]=='date'){
          var calId=this.getTextName(i,j)+'cal';
          var cmd='YAHOO.calendar.'+calId+'=new YAHOO.widget.Calendar("'+calId+'","calendar",{title:"选择日期:",close:true});';eval(cmd);
          cmd='YAHOO.calendar.'+calId+'.render();';eval(cmd);
          s+='<INPUT id="'+this.getTextName(i,j)+'" TYPE="text" style="position:absolute;left:'+this.lAndt+'px;top:-1px;width:'+this.textWidth+'px"/><img id="'+calId+'i" alt="选择日期" src="images/layout/ns-expand.gif" style="cursor:hand;position:absolute;left:'+(this.lAndt+this.textWidth+1)+'px;top:5px"/>';
        }
        s+='</div>';
      }
    }
    var el=document.getElementById(this.getId()+'c');
    el.innerHTML=s;
    for(var i=0;i<this.m;i++){
      for(var j=0;j<this.n;j++){
        if(this.type[i][j]=='list'){
          YAHOO.util.Event.addListener(this.getListName(i,j),'change',this.hideCal);
        }
        else if(this.type[i][j]=='text'){
          YAHOO.util.Event.addListener(this.getTextName(i,j),'focus',this.hideCal);
        }
        else if(this.type[i][j]=='date'){
          var calId=this.getTextName(i,j)+'cal';
          var u='param'+i+j;
          var cmd='var '+u+'=[i,j,"YAHOO.calendar."+calId,this.getTextName(i,j)];';eval(cmd);
          cmd='YAHOO.util.Event.addListener("'+calId+'i", "click",this.showCal,'+u+',true);';eval(cmd);
          cmd='YAHOO.calendar.'+calId+'.selectEvent.subscribe(this.getDate,'+u+',true);';eval(cmd);
        }
      }
    }
  };
  this.showCal=function(){
    var elt=document.getElementById(this[3]);
    var elc=this[2];
    var cmd=elc+'.show();';eval(cmd);
    var el=document.getElementById('calendar');
    params=this;
    el.style.top=event.y-100;
    var x=event.x;
    if(x>850)x=x-150;
    el.style.left=x;
    elt.value='';
  };
  this.hideCal=function(){
    var el=document.getElementById('calendar');
    if(el)el.style.display='none';
  }
  this.hide=function(){
    dialog.hide();
  };
  this.getDate=function(type,args,obj){//取日期送入text框
    var elt=document.getElementById(params[3]);
    var dates=args[0]; 
    var date=dates[0];
    var year=date[0], month = date[1], day = date[2];
    elt.value=''+year+(month<10?'0'+month:month)+(day<10?'0'+day:day);
    var el=document.getElementById('calendar');
    el.style.display='none';
  }
  this.init=function(){
    this.init_lAndt();
    dialog=new YAHOO.ext.BasicDialog(this.getId(),{
        modal:false,
        autoTabs:false,
        width:this.getWidth(),
        height:this.getHeight(),
        shadow:true,
        minWidth:this.a,
        autoScroll:true,
        resizable:false,
        minHeigth:this.b
    });
    dialog.addListener('hide',this.hideEvent,this,true);
    this.dlg=dialog;
    if(this.my)this.init_button(this);
    return this.dlg;
  };
  this.hideEvent=function(){
    if(this.hideCal)this.hideCal();
    if(this.callBack)this.callBack();
  }
  this.addButton=function(label,handler,dlg){//增加按钮
    dialog.addButton(label,handler,dlg);
  };
  this.show=function(){
    for(var i=0;i<this.m;i++){
      for(var j=0;j<this.n;j++){
        if(this.type[i][j]=='list'){
        }
        else if(this.type[i][j]=='text'){
          document.getElementById(this.getTextName(i,j)).value='';
        }
        else if(this.type[i][j]=='date'){
          var calId=this.getTextName(i,j)+'cal';
        }
      }
    }
    this.done=false;
    dialog.show();
  };
  this.getInputElement=function(name){
    for(var i=0;i<this.m;i++){
      for(var j=0;j<this.n;j++){
        if(this.l[i][j]==name){
          return this.getTextElement(i,j);
        }
      }
    }
    return null;
  };
  this.init_button=function(me){
    this.addButton('确定',function(){
      me.my.p=me.getData2();
      if(me.validate && !me.validate())return;
      me.my.p.push(0);
      me.my.pageCount='?';
      var mOrk='m';
      if(me.k)mOrk='k';
      var refreshStr='SelectByCondition';
      if(me.refreshStr)refreshStr=me.refreshStr;
      me.my.currentMethod="my"+me.o+".p[my"+me.o+".S."+mOrk+"]=xxx;my"+me.o+".refresh(my"+me.o+".S.my,'"+refreshStr+"',my"+me.o+".p);";
      me.my.refresh(me.my,refreshStr,me.my.p);
      if(me.my.slide){
        me.my.slide.init();
      }
      me.my.S.dlg.hide();
    },me.my.S.dlg);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -