window.I = {} var basic=getpath(); pagesize=15; var modelview=function() { var self=this; self.role=ko.observable($('#role').val()); self.opers=ko.observableArray(); self.rolemodules=ko.observableArray(); self.opcheck=function(item){ var obj={}; obj.module=item.module; obj.role=self.role(); obj.value=item.value(); obj.check=item.check(); jQuery.post(basic+'/admin/modulecon/rolemodule.htm', obj, function(data, textStatus, xhr) { if(data==null) return; if(data.code>0){ alert(data.hint); }else{ if((obj.value&data.item.value)>0){ item.check(true) }else{ item.check(false); } } },'json'); }; }; jQuery(document).ready(function($) { var md=window.md=new modelview(); ko.applyBindings(md); init(md.role()) }); function init(role){ jQuery.post(basic+'/admin/opercon/opers.htm', function(data, textStatus, xhr) { if(data==null) return; if(data.items!=null){ jQuery.each(data.items, function(index, val) { md.opers.push(val); }); rolemodules(0,pagesize,1,role); } },'json'); } function rolemodules(page,pagesize,pages,role){ jQuery.post(basic+'/admin/modulecon/rolemodules.htm', {role: role,page:page,pagesize:pagesize,pages:pages}, function(data, textStatus, xhr) { if(data==null) return; if(pages>0){ var pagediv=$('#pagdiv'); pagediv.unbind('page').empty(); if(data.pages>1){ $('#pagdiv').bootpag({total:data.pages,maxVisible:10,page:page+1}).on('page',function(event,num){ rolemodules(num-1,pagesize,0,role); }); } md.rolemodules.removeAll(); if(data.items!=null){ var opers=md.opers(); jQuery.each(data.items, function(index, rm) { rm.ops=[]; jQuery.each(opers, function(index, val) { var op={}; op.id=val.id; op.module=rm.id; op.title=val.title; op.value=val.value; if(val&&rm.opvalue>0){ op.check=true; }else{ op.check=false; } rm.ops.push(op); }); md.rolemodules.push(ko.mapping.fromJS(rm)); }); } } },'json'); }