Files
jiapu/dist/public/js/lay-module/layselect/layselect.js
T

2 lines
2.4 KiB
JavaScript

layui.define(["element","form","jquery"],function(N){var j=layui.element,g=layui.form,u=layui.jquery,C={render:function(l){var n=this,a=l.elem;n.selectValues=new Array,(l.type==null||l.type==null)&&(l.type="get"),l.data?l.data=JSON.stringify(data):l.data={},l.url==null||l.url==""||l.url==null?((l.option==null||l.option==null)&&(l.option=new Array),n._init(a,l,l.option)):u.ajax({url:l.url,type:l.type,data:l.data,async:"false",dataType:"json",headers:l.headers||{Accept:"application/json; charset=utf-8"},contentType:l.contentType||"application/json",success:function(t){n._init(a,l,t)},error:function(t){console.log("Ajax request "+l.url+" error! "),l.fail&&l.fail(t)}}),n._init=function(t,c,r){u(t).empty(),u(t).prepend("<option value=''>请选择</option>");var o=new Array;if(c.format)for(var e=0;e<r.length;e++){var i=c.format(r[e]);o.push({code:i.code,status:i.status||"1",select:i.select||"false",codeName:i.codeName,groupName:i.groupName,groupChildren:i.groupChildren})}else for(var e=0;e<r.length;e++)o.push({code:r[e].code,status:r[e].status||"1",select:r[e].select||"false",codeName:r[e].codeName,groupName:r[e].groupName,groupChildren:r[e].groupChildren});for(var d=!1,e=0;e<o.length;e++)if(o[e].groupChildren!=null&&o[e].groupChildren!=null&&o[e].groupChildren!=""&&o[e].groupChildren.length>0)d=!0,u(t).append("<optgroup label='"+o[e].groupName+"'>"),o[e].groupChildren.forEach(function(s,w){var b="",T="",_="",k="";s.status&&s.status=="0"&&(b="disabled='disabled'"),u(t).append("<option value='"+s.code+"' "+b+">"+s.codeName+"</option>"),s.select!=null&&(s.select=="true"||s.select==!0)&&s.status!="0"&&n.selectValues.push(s)}),u(t).append("</optgroup>");else{d=!1;var v="",V="",x="",A="";o[e].status&&o[e].status=="0"&&(v="disabled='disabled'"),u(t).append("<option value='"+o[e].code+"' "+v+">"+o[e].codeName+"</option>"),o[e].select!=null&&(o[e].select=="true"||o[e].select==!0)&&o[e].status!="0"&&n.selectValues.push(o[e])}if(n.selectValues.length==0&&c.select!=null){var f,p=c.select+"";if(d&&p.indexOf("-")>0){var y=p.split("-");f=o[y[0]].groupChildren[y[1]]}else f=o[p];f&&f.status!="0"&&n.selectValues.push(f)}var q=u(t).attr("multiple");n.selectValues.length>0&&n.selectValues.forEach(function(h,s){u(t).find("option[value = '"+h.code+"']").attr("selected","selected")}),c.success&&(c.success(o),o=null),g.render("select"),g.on("select("+t.replace("#","")+")",function(h){c.onselect&&c.onselect(h.value)})}}};N("layselect",C)});