/source/gl/mb/right/right_assign.html
http://prosporous.googlecode.com/ · HTML · 246 lines · 241 code · 5 blank · 0 comment · 0 complexity · c19507751acf5bcab4338ae8a2988f3e MD5 · raw file
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>????</title>
- <{$showjs}>
- <link rel="stylesheet" type="text/css" href="../css/main.css" />
- <style>
- .userlist{background-image:url(../img/shield.png)!important;}
- .useradd{background-image:url(../img/shield_add.png)!important;}
- .userkey{background-image:url(../img/group_key.png)!important;}
- .usercfg{background-image:url(../img/group_gear.png)!important;}
- .zdpz{background-image:url(../img/list_settings.gif)!important;}
- body { background-color: #D1DDEF; }
- </style>
- <script language="javascript">
- var isGroupChange = false,
- isComeFromUser = false;
- //????
- var ds = new Ext.data.Store({
- autoLoad:true,
- //url:'../right/get_users.php',
- proxy:new Ext.data.HttpProxy({
- url:'../right/get_users.php'
- }),
- reader: new Ext.data.JsonReader({
- totalProperty: "total",
- root:'result'
- },[
- {name:'id',type:'int'},
- {name:'user'}
- ]
- )
- });
- var colModel = new Ext.grid.ColumnModel([
- {id:'id',header:'UID',dataIndex:'id',sortable:true,width:'15px'},
- {header:'???',dataIndex:'user',sortable:true}
- ]);
- //?????
- var ds_group = new Ext.data.Store({
- autoLoad:true,
- //url:'../right/get_users.php',
- proxy:new Ext.data.HttpProxy({
- url:'../right/get_users.php?t=group'
- }),
- reader: new Ext.data.JsonReader({
- totalProperty: "total",
- root:'result'
- },[
- {name:'id',type:'int'},
- {name:'title'},
- {name:'intro'}
- ]
- ),
- listeners:{
- load:function(){
- Ext.getCmp('all-user-grid').getSelectionModel().selectFirstRow();
- }
- }
-
- });
- var colModel_group = new Ext.grid.ColumnModel([
- new Ext.grid.CheckboxSelectionModel({singleSelect:true}),
- {id:'id',header:'GID',dataIndex:'id',sortable:true},
- {header:'??',dataIndex:'title',sortable:true},
- {header:'??',dataIndex:'intro'}
- ]);
- //???????
- var resetGroup = function(){
- //?????????
- var usm = Ext.getCmp('all-user-grid').getSelectionModel();
- var select_total = usm.getCount();
- if (select_total<1){
- usm.clearSelections();
- return;
- }
- var uid = usm.getSelected().get('id');
- Ext.Ajax.request({
- url:'../right/get_users.php?t=user',
- method:'POST',
- success:function(r){
- var cfg = r.responseText.split(',');
- isComeFromUser = true; //??????
- var cfg_range = Ext.getCmp('all-group-grid').getStore().queryBy(function(r){
- //?????????
- return cfg.indexOf(r.get('id')+'') !== -1;
- },this).getRange();
- //????????
- Ext.getCmp('all-group-grid').getSelectionModel().selectRecords(cfg_range);
- isComeFromUser = false; //??????
- isGroupChange = false;
- },
- failure:function(){
- Ext.Msg.alert('??','?????????????"??"??');
- },
- params:{uid:uid}
- });
- };
- //???????
- var saveGroup = function(){
- var usm = Ext.getCmp('all-user-grid').getSelectionModel();
- var gsm = Ext.getCmp('all-group-grid').getSelectionModel();
- var uid = usm.getSelected().get('id');
- var gid = gsm.getSelections();
- var gids = new Array();
- Ext.each(gid,function(a){
- gids.push(a.get('id'));
- });
- //???????
- var rcft = gids.join(',');
- Ext.Ajax.request({
- url:'../right/get_users.php?t=save',
- method:'POST',
- success:function(r){
- if(r.responseText == 'ok'){
- Ext.Msg.alert('??','?????????');
- isGroupChange = false;
- }
- },
- failure:function(){
- Ext.Msg.alert('??','??????????"??"??');
- },
- params:{
- uid:uid,
- gids:rcft
- }
- });
- };
-
-
- //??
- Ext.onReady(function(){
- var bd = Ext.getBody();
-
- var group = new Ext.Panel({
- id:'group',
- fram:true,
- labelAlign:'left',
- layout:'column',
- autoWidth:true,
- height:350,
- items:[{
- title:'????',
- columnWidth:0.20,
- layout:'fit',
- items:[{
- id:'all-user-grid',
- xtype:'grid',
- autoScroll:true,
- //autoHeight:true,
- height:340,
- ds:ds,
- cm:colModel,
- sm: new Ext.grid.RowSelectionModel({
- singleSelect:true,
- listeners:{
- rowselect: function(sm, row, rec) {
- resetGroup();
- },
- beforerowselect: function(){
-
- if (isGroupChange){
- if(confirm('?????????????????')){
- isGroupChange = false;
- return true;
- }
- return false;
- }
- }
- }
- })
- }]
- },{
- title:'?????',
- columnWidth:0.8,
- style:'margin-left:0px',
- tools:[{
- id:'save',
- on:{
- click:saveGroup
- }
- }],
- items:[{
- id:'all-group-grid',
- xtype:'grid',
- //autoHeight:true,
- autoScroll:true,
- height:400,
- autoExpandMax :true,
- ds:ds_group,
- cm:colModel_group,
- sm:new Ext.grid.CheckboxSelectionModel({
- singleSelect:true,
- handleMouseDown: Ext.emptyFn,
- listeners:{
- selectionchange:function(){
- if (!isComeFromUser){
- isGroupChange = true;
- isComeFromUser = false;
- }
- },
- beforerowselect:function(){
- var n = Ext.getCmp('all-user-grid').getSelectionModel().getCount();
- if(n<1){
- Ext.Msg.alert('??','????????????????!');
- return false;
- }
- }
- }
- }),
- listeners:{
- rowdblclick:function(obj,rowIndex){
- var csm = obj.getSelectionModel();
- csm.selectRow(rowIndex,true);
- }
- },
- tbar:[
- //new Ext.Toolbar.TextItem('??????'),
- {
- pressed:false,
- text:'??',
- listeners:{
- click:function(){
- resetGroup();
- }
- }
- },
- {
- pressed:false,
- text:'??',
- listeners:{
- click:saveGroup
- }
- }
- ]
- //sm: new Ext.grid.RowSelectionModel({singleSelect:true}),
- }]
- }],
- renderTo:Ext.getBody()
- });
- });
- </script>
- </head>
- <body>
- </body>
- </html>