$.extend({ refreshControl:function(op,obj){ obj.attr("data-options",$.json2str(op)); $.render(obj.attr("dtype"),op,obj); }, render:function(type,options,obj){ if(type=="text_group"){ return _render_text_group(options,obj); } else if(type.indexOf("input_")==0){ //输入类控件 return _render_input(type,options,obj); } else if(type=="textarea"){ //textarea控件 return _render_textarea(type,options); } else if(type=="tree"){ //树tree控件 return _render_tree(type,options); } else if(type=="tree_accordion"){ //accordion树控件 return _render_tree_accordion(type,options); } else if(type=="treegrid"){ //treegrid树控件 return _render_treegrid(type,options); } else if(type=="twotree"){ //twotree树控件 return _render_twotree(type,options); } else if(type=="twotreegrid"){ //twotreegrid控件 return _render_twotreegrid(type,options); } else if(type=="inputpop"){ //inputpop控件 return _render_inputpop(type,options); } else if(type=="inputpop_grid"){ //inputpop_grid控件 return _render_inputpop_grid(type,options); } else if(type=="inputpop_tree"){ //inputpop_tree控件 return _render_inputpop_tree(type,options); } else if(type=="inputpop_treegrid"){ //inputpop_treegrid控件 return _render_inputpop_treegrid(type,options); } else if(type=="grid"){ //grid控件 return _render_grid(type,options); } else if(type=="btn"){ //按钮控件 return _render_button(type,options); } else if(type=="btn_dropdown"){ //按钮控件 return _render_btn_dropdown(type,options); } else if(type=="badge"){ //角标(徽章)控件 return _render_badge(type,options); } else if(type=="img_uploader"){ //图片控件,可带图片预览功能 return _render_img_uploader(type,options); } else if(type=="file_uploader"){ //附件控件 return _render_file_uploader(type,options); }else if(type=="ctr_datetime"){ return _render_ctr_datetime(options); }else if(type=="ctr_date"){ return _render_ctr_date(options); }else if(type=="ctr_time"){ return _render_ctr_time(options) }else if(type=="ctr_moth"){ return _render_ctr_moth(options) }else if(type=="ctr_time_quantum"){ return _render_ctr_time_quantum(options) }else if(type=="ctr_button_radio"){ return _render_ctr_button_radio(options) }else if(type=="ctr_button_checkbox"){ return _render_ctr_button_checkbox(options) }else if(type=="ctr_radio"){ return _render_ctr_radio(options) }else if(type=="ctr_checkbox"){ return _render_ctr_checkbox(options) }else if(type=="ctr_select_radio"){ return _render_ctr_select_radio(options) }else if(type=="ctr_select_checkbox"){ return _render_ctr_select_checkbox(options) }else if(type=="ctr_filter_radio"){ return _render_ctr_filter_radio(options) }else if(type=="h_layout"){ return _render_h_layout(options,obj); } } }); /** * 初始化横向布局 * @param op * @returns */ var _hlayoutindex=0; function _render_h_layout(options,obj){ _hlayoutindex++; options = $.extend({ id:"hlayout"+_hlayoutindex },options); var ic=obj;//容器 if(!ic){ ic=$("
"); var left=$('
').appendTo(ic); var right=$('
').appendTo(ic); if(options.specify=="right"){ right.css("width",options.width); }else{ left.css("width",options.width); } //单击事件 ic.find(".d-con,.d-item").click(function(event){ _setSelectStatus(this,event); }); ic.click(function(event){ _setSelectStatus(this,event); }); }else{ var left=ic.find(".h_layout_left"); var right=ic.find(".h_layout_right");; if(options.specify=="right"){ right.css("width",options.width); left.css("width","auto"); }else{ left.css("width",options.width); right.css("width","auto"); } } ic.attr("id",options.id); ic.attr("data-options",$.json2str(options)); return ic; } /** * 初始化text_group * @param options * @returns */ var _textgroupindex=0; function _render_text_group(options,obj){ _textgroupindex++; options = $.extend({ id:"text"+_textgroupindex, name:"text"+_textgroupindex, label:"文本"+_textgroupindex },options); var ic=obj;//容器 if(!ic){ ic=$("
"); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); } ic.attr("data-options",$.json2str(options)); ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 var input=$('').appendTo(inputcon); return ic; } /** * 设置选中状态 * @param obj * @param event * @returns */ function _setSelectStatus(obj,event){ $(".d-active").removeClass("d-active"); $(obj).addClass("d-active"); //渲染属性,事件窗口 _renderPropEvent(obj); event.stopPropagation(); } /** * 生成属性,事件窗口内容 * @param obj * @returns */ function _renderPropEvent(obj){ var dtype=$(obj).attr("dtype"); if(dtype){ var prop=null; var event=null; $.ajax({ url:'wdk?action=form.common&method=getControlPropAndEvent&ajaxparam='+new Date().getTime(), method:"post", data:{ controlName:dtype }, success:function(data){ data=$.str2json(data); if(data.proplist){ prop=data.proplist; } if(data.eventlist){ event=data.eventlist; } parent.renderPropEvent({prop:prop,event:event,options:$.str2json($(obj).attr("data-options"))}); } }); }else{ parent.renderPropEvent({prop:[],event:[],options:null}); } } /** * 初始化input控件,包括文本、数字、邮箱、手机、电话、密码。不含textarea * @param type 控件类型,如input_email * @param op 控件初始化参数 * @returns */ function _render_input(type,op,obj){ var label = type; var placeholder = "请输入"+type; var validType = ""; var inputtype = "text"; if(type=="input_text"){ label = "文本"; placeholder = "请输入文本"; } else if(type=="input_number"){ label = "数字"; placeholder = "请输入数字"; validType = "integer"; } else if(type=="input_money"){ label = "金额"; placeholder = "请输入金额"; validType = "money"; } else if(type=="input_email"){ label = "邮箱"; placeholder = "请输入邮箱"; validType = "emailAddress"; } else if(type=="input_mobile"){ label = "手机"; placeholder = "请输入手机"; } else if(type=="input_phone"){ label = "电话"; placeholder = "请输入电话号码"; } else if(type=="input_password"){ label = "密码"; placeholder = "请输入密码"; inputtype = "password"; } var options={ id:$.getUUID(), label:label, placeholder:placeholder, initvalue:"", required:false, missingMessage:"", editable:true, validType:validType };//默认值 options = $.extend(options,op);//合并属性 var ic=obj;//容器 if(!ic){ ic=$("
"); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); } ic.attr("data-options",$.json2str(options)); ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 var input=$('').appendTo(inputcon); var validators={}; var validTypeArray = options.validType.split(","); for(var i=0;i"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 var input=$('').appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化树控件tree * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_tree(type,op){ var label = ""; var options={ id:$.getUUID(), label:label, checkbox:false,//是否显示复选框 expandall:false,//加载完毕后是否展开所有,如果采用异步方式(asyn==true),该属性失效 cascadeCheck:false,//是否级联检查checkbox。父子节点之间的checkbox是否联动,是否有半选状态。 ture:父子checkbox勾选联动,存在半选状态;false:父子checkbox不联动;默认:false。 asyn:false,//是否异步加载。true:使用异步方式加载;false:使用同步方式加载;默认:false。 url:'', queryParams:{} };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //控件的容器 var inputcon=$('
').appendTo(ic); //控件 var ctr = '
'+ ' '; var input=$(ctr).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化accordion树控件tree_accordion * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_tree_accordion(type,op){ var label = ""; var placeholder = ""; var options={ id:$.getUUID(), label:label, url:'' };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //控件的容器 var inputcon=$('
').appendTo(ic); //控件 var ctrContent ='
' +'' +'
'; var input=$(ctrContent).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化treegrid控件 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_treegrid(type,op){ var label = ""; var options={ id:$.getUUID(), label:label, checkbox:false,//是否显示复选框 expandall:false,//加载完毕后是否展开所有,如果采用异步方式(asyn==true),该属性失效 cascadeCheck:false,//是否级联检查checkbox。父子节点之间的checkbox是否联动,是否有半选状态。 ture:父子checkbox勾选联动,存在半选状态;false:父子checkbox不联动;默认:false。 asyn:false,//是否异步加载。true:使用异步方式加载;false:使用同步方式加载;默认:false。 url:'', queryParams:{} };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //控件的容器 var inputcon=$('
').appendTo(ic); //控件 var ctr = '
'+ ' '; var input=$(ctr).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化twotree控件 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_twotree(type,op){ var label = ""; var options={ id:$.getUUID(), label:label, checkbox:false,//是否显示复选框 expandall:false,//加载完毕后是否展开所有,如果采用异步方式(asyn==true),该属性失效 cascadeCheck:false,//是否级联检查checkbox。父子节点之间的checkbox是否联动,是否有半选状态。 ture:父子checkbox勾选联动,存在半选状态;false:父子checkbox不联动;默认:false。 asyn:false,//是否异步加载。true:使用异步方式加载;false:使用同步方式加载;默认:false。 url:'', queryParams:{} };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //控件的容器 var inputcon=$('
').appendTo(ic); //控件 var ctr = '
'+ ' '; var input=$(ctr).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化twotreegrid控件 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_twotreegrid(type,op){ var label = ""; var options={ id:$.getUUID(), label:label, checkbox:false,//是否显示复选框 expandall:false,//加载完毕后是否展开所有,如果采用异步方式(asyn==true),该属性失效 cascadeCheck:false,//是否级联检查checkbox。父子节点之间的checkbox是否联动,是否有半选状态。 ture:父子checkbox勾选联动,存在半选状态;false:父子checkbox不联动;默认:false。 asyn:false,//是否异步加载。true:使用异步方式加载;false:使用同步方式加载;默认:false。 url:'', queryParams:{} };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //控件的容器 var inputcon=$('
').appendTo(ic); //控件 var ctr = '
'+ ' '; var input=$(ctr).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化inputpop控件 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_inputpop(type,op){ var label = ""; var placeholder = ""; var options={ id:$.getUUID(), label:label, placeholder:placeholder, initvalue:"", url:"", required:false, missingMessage:"", editable:true, disabled:false };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 var input=$('' +'' ).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化inputpop_tree控件,目前只是从inputpop拷贝过来,功能尚未实现 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_inputpop_tree(type,op){ var label = ""; var placeholder = ""; var options={ id:$.getUUID(), label:label, placeholder:placeholder, initvalue:"", url:"", required:false, missingMessage:"", editable:true, disabled:false };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 var input=$('' +'' ).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化inputpop_grid控件,目前只是从inputpop拷贝过来,功能尚未实现 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_inputpop_grid(type,op){ var label = ""; var placeholder = ""; var options={ id:$.getUUID(), label:label, placeholder:placeholder, initvalue:"", url:"", required:false, missingMessage:"", editable:true, disabled:false };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 var input=$('' +'' ).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化inputpop_treegrid控件,目前只是从inputpop拷贝过来,功能尚未实现 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_inputpop_treegrid(type,op){ var label = ""; var placeholder = ""; var options={ id:$.getUUID(), label:label, placeholder:placeholder, initvalue:"", url:"", required:false, missingMessage:"", editable:true, disabled:false };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 var input=$('' +'' ).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化grid控件,功能尚未实现 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_grid(type, op){ var label = ""; var placeholder = ""; var options={ id:$.getUUID(), label:label, placeholder:placeholder, initvalue:"", url:"", required:false, missingMessage:"", editable:true, disabled:false };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //控件容器 var inputcon=$('
').appendTo(ic); //控件 var inputtext='
grid尚未实现
'; var input=$(inputtext).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化switch开关控件 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_switch(type,op){ var label = "开关"; var options={ id:$.getUUID(), label:label, ontext:"ON",//on状态显示的文本 offtext:"OFF",//OFF状态显示的文本 checked:true, handlewidth:100 };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 var input=$('').appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化button按钮控件 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_button(type,op){ var label = "按钮"; var options={ id:$.getUUID(), label:label, btnstyle:"default" };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 // var input=$('' ).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化btn_dropdown按钮式下拉菜单控件 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_btn_dropdown(type,op){ var label = "按钮菜单"; var options={ id:$.getUUID(), label:label, btnstyle:"default", caret:false, data:[ {id:'node1',text:'第一个选项'}, {id:'node2',text:'第二个选项'} ] };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 var inputtext='
' + '' +'
'; var input=$(inputtext).appendTo(inputcon); //保存参数到控件 ic.data("options",options); //单击事件 ic.click(function(event){ _setSelectStatus(this,event); }); return ic; } /** * 初始化badge角标(徽章)控件 * @param type 控件类型 * @param op 控件初始化参数 * @returns */ function _render_badge(type,op){ var label = "角标(徽章)"; var options={ id:$.getUUID(), label:label, badge:0, top:false };//默认值 $.extend(options,op);//合并属性 var ic;//容器 if(!options.did){ options.did=$.getUUID(); ic=$("
"); }else{ ic=$("[did='"+options.did+"']"); } ic.empty();//清空 //标签 var label = $('').appendTo(ic); //输入框的容器 var inputcon=$('
').appendTo(ic); //输入框 /** */ var inputtext='