|
|
@@ -68,42 +68,34 @@ Ext.define('erp.view.user.UserSetting',{
|
|
|
],
|
|
|
listeners:{
|
|
|
afterrender:function(grid){
|
|
|
- grid.store.load();
|
|
|
+ grid.store.load(function(record, e, success) {
|
|
|
+ if(!success) {
|
|
|
+ Ext.Msg.alert('失败', '权限不足!');
|
|
|
+ }
|
|
|
+ grid.getSelectionModel().select(0);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ beforeselect: function() {
|
|
|
+ var userboardgrid = Ext.getCmp('userboardgrid');
|
|
|
+ // userboardgrid.getSelectionModel().setLocked(false);
|
|
|
},
|
|
|
select:function(grid, record, index, eOpts ){
|
|
|
var userboardgrid = Ext.getCmp('userboardgrid');
|
|
|
- userboardgrid.getSelectionModel().setLocked(false);
|
|
|
- userboardgrid.getSelectionModel().deselectAll();
|
|
|
+ // userboardgrid.getSelectionModel().deselectAll();
|
|
|
if(record.get('role')=='Admin'){
|
|
|
userboardgrid.getSelectionModel().selectAll(); //管理员默认全勾选
|
|
|
- userboardgrid.getSelectionModel().setLocked(true);
|
|
|
+ // userboardgrid.getSelectionModel().setLocked(true);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- userboardgrid.getEl().mask('loading...');
|
|
|
- Ext.Ajax.request({
|
|
|
- url:'panel/get/byUser/' + record.get('code'),
|
|
|
- method:'POST',
|
|
|
- callback:function(options,success,response){
|
|
|
- userboardgrid.getEl().unmask();
|
|
|
- if(response.responseText == '') return;
|
|
|
- var res = JSON.parse(response.responseText);
|
|
|
- if(success) {
|
|
|
- res = res instanceof Array ? res : [res];
|
|
|
- var sc = res.map(function(r) {return r.code});
|
|
|
- var selRec = new Array();
|
|
|
- Ext.Array.each(userboardgrid.store.data.items,function(item){
|
|
|
- if(sc.indexOf(item.get('code')) != -1){
|
|
|
- selRec.push(item);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- userboardgrid.getSelectionModel().select(selRec);
|
|
|
- }else {
|
|
|
- Ext.Msg.alert('失败', res.message);
|
|
|
- }
|
|
|
+ var panelCodes = record.get('panelCodes');
|
|
|
+ var selRec = new Array();
|
|
|
+ Ext.Array.each(userboardgrid.store.data.items,function(item){
|
|
|
+ if(panelCodes.indexOf(item.get('code')) != -1){
|
|
|
+ selRec.push(item);
|
|
|
}
|
|
|
});
|
|
|
+ userboardgrid.getSelectionModel().select(selRec);
|
|
|
}
|
|
|
},
|
|
|
tbar:[{
|
|
|
@@ -164,6 +156,7 @@ Ext.define('erp.view.user.UserSetting',{
|
|
|
id:'userboardgrid',
|
|
|
region:'east',
|
|
|
flex:1,
|
|
|
+ selectedPanelCodes: [],
|
|
|
columns:[{
|
|
|
header:'名称',
|
|
|
dataIndex:'name',
|
|
|
@@ -178,12 +171,6 @@ Ext.define('erp.view.user.UserSetting',{
|
|
|
text:'<span style="font-size:13px;font-weight:bold">面板</font>',
|
|
|
height:24,
|
|
|
style:'line-height:24px'
|
|
|
- }, '->', {
|
|
|
- xtype: 'button',
|
|
|
- text: '保存',
|
|
|
- handler: function() {
|
|
|
- me.saveRelationPanel();
|
|
|
- }
|
|
|
}],
|
|
|
store:Ext.data.StoreManager.lookup('desktopboard'),
|
|
|
selModel: Ext.create('Ext.selection.CheckboxModel'),
|
|
|
@@ -192,19 +179,16 @@ Ext.define('erp.view.user.UserSetting',{
|
|
|
grid.store.load();
|
|
|
},
|
|
|
select:function(grid, record, index, eOpts ){
|
|
|
- var userGrid = Ext.getCmp('userSettingGrid');
|
|
|
- var r = userGrid.getSelectionModel().getSelection()[0];
|
|
|
- var panelCodes = r.get('panelCodes') || [];
|
|
|
- panelCodes.push(record.get('code'));
|
|
|
- r.set('panelCodes', panelCodes);
|
|
|
+ var grid = Ext.getCmp('userboardgrid');
|
|
|
+ grid.selectedPanelCodes.push(record.get('code'));
|
|
|
},
|
|
|
deselect:function( e, record, index, eOpts ){
|
|
|
- var userGrid = Ext.getCmp('userSettingGrid');
|
|
|
- var r = userGrid.getSelectionModel().getSelection()[0];
|
|
|
- var panelCodes = r.get('panelCodes') || [];
|
|
|
- panelCodes.splice(panelCodes.indexOf(record.get('code')), 1);
|
|
|
- r.set('panelCodes', panelCodes);
|
|
|
+ var grid = Ext.getCmp('userboardgrid');
|
|
|
+ grid.selectedPanelCodes.splice(grid.selectedPanelCodes.indexOf(record.get('code')), 1);
|
|
|
}
|
|
|
+ },
|
|
|
+ getSelectedPanels: function() {
|
|
|
+ return this.selectedPanelCodes;
|
|
|
}
|
|
|
}];
|
|
|
this.callParent(arguments);
|
|
|
@@ -272,7 +256,9 @@ Ext.define('erp.view.user.UserSetting',{
|
|
|
var userboardgrid = Ext.getCmp('userboardgrid');
|
|
|
var record = grid.getSelectionModel().getSelection()[0];
|
|
|
if(record){
|
|
|
+ var selectedPanels = userboardgrid.getSelectedPanels();
|
|
|
var values = record.data;
|
|
|
+ values.panelCodes = selectedPanels;
|
|
|
var type;
|
|
|
if(!record.get('code')){
|
|
|
type = 'save';
|
|
|
@@ -313,37 +299,6 @@ Ext.define('erp.view.user.UserSetting',{
|
|
|
Ext.Msg.alert('提示','未选中用户!');
|
|
|
}
|
|
|
},
|
|
|
- saveRelationPanel: function() {
|
|
|
- var me = this;
|
|
|
- var grid = me.getGrid();
|
|
|
- var userboardgrid = Ext.getCmp('userboardgrid');
|
|
|
- var userRecord = grid.getSelectionModel().getSelection()[0];
|
|
|
-
|
|
|
- if(userRecord){
|
|
|
- var el = userboardgrid.getEl();
|
|
|
- var values = userRecord.data;
|
|
|
- el.mask('loading...');
|
|
|
- Ext.Ajax.request({
|
|
|
- url:'panel/assignPanel/',
|
|
|
- method:'POST',
|
|
|
- params:{
|
|
|
- userCode: values.code,
|
|
|
- panelCodes: values.panelCodes
|
|
|
- },
|
|
|
- traditional: true,
|
|
|
- callback:function(options,success,response){
|
|
|
- el.unmask();
|
|
|
- var res = Ext.decode(response.responseText);
|
|
|
- if(success){
|
|
|
- }else{
|
|
|
- Ext.Msg.alert('提示','保存失败,原因:'+res.message);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }else {
|
|
|
- Ext.Msg.alert('提示','未选中用户!');
|
|
|
- }
|
|
|
- },
|
|
|
reSelect:function(grid,code){
|
|
|
var record;
|
|
|
Ext.Array.each(grid.store.data.items,function(item){
|