| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /**
- * Created by zhouy on 2018/11/8.
- */
- Ext.define('saas.view.sys.power.GroupGrid', {
- extend: 'Ext.grid.Panel',
- requires: [
- // 'Ext.selection.CellModel',
- 'saas.view.sys.power.OtherField'
- ],
- xtype: 'power-grid',
- plugins: {
- cellediting: {
- clicksToEdit: 1
- }
- },
- store:Ext.create('Ext.data.Store',{
- fields:[
- {name: 'query',type:'bool'},
- {name: 'add', type: 'bool'},
- {name: 'save', type: 'bool'},
- {name: 'delete', type: 'bool'},
- {name: 'audit', type: 'bool'},
- {name: 'resAudit', type: 'bool'},
- {name: 'import', type: 'bool'},
- {name: 'export', type: 'bool'},
- {name: 'others', calculate: function(data) {
- var others = data['others'];
- return others;
- }}
- ],
- data: [{"query":true,"add":false,"delete":false,"audit":true,"resAudit":true,"import":true,"export":true},{"query":true,"add":false,"delete":false,"audit":true,"resAudit":true,"import":true,"export":true,"others":[{'resouceId':1,'text':'权限1','value':'true'}]},
- {"query":true,"add":false,"delete":false,"audit":true,"resAudit":true,"import":true,"export":true,"others":[{'resouceId':100,'text':'权限2','value':true},{'resouceId':101,'text':'权限2.1','value':true}]},
- {"query":true,"add":false,"delete":false,"audit":true,"resAudit":true,"import":true,"export":true,"others":[{'resouceId':1000,text:'权限3','value':true},{'resouceId':1001,'text':'权限3.1','value':true},{'resouceId':1002,'text':'权限1','value':true},{'resouceId':100,'text':'权限3.2','value':true}]}]
- }),
- selModel:Ext.create('Ext.selection.CheckboxModel', {
- checkOnly: true,
- listeners: {
- 'select': function (selModel, record) {
- selModel.view.ownerCt.selectAllPower(record);
- },
- 'deselect': function (selModel, record) {
- selModel.view.ownerCt.deselectAllPower(record);
- }
- }
- }),
- height: 350,
- viewConfig: {
- stripeRows: false,
- enableTextSelection: false,
- markDirty: false
- },
- trackMouseOver: false,
- //disableSelection: true,
- columns: [{
- header: '查询',
- dataIndex: 'query',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- width: 90,
- stopSelection: false
- }, {
- header: '新增',
- dataIndex: 'add',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- width: 90,
- stopSelection: false
- }, {
- header: '修改',
- dataIndex: 'save',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- width: 90,
- stopSelection: false
- }, {
- header: '删除',
- dataIndex: 'delete',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- width: 90,
- stopSelection: false
- }, {
- header: '审核',
- dataIndex: 'audit',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- width: 90,
- stopSelection: false
- }, {
- header: '反审核',
- dataIndex: 'resAudit',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- width: 90,
- stopSelection: false
- }, {
- header: '导入',
- dataIndex: 'import',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- width: 90,
- stopSelection: false
- }, {
- header: '导出',
- dataIndex: 'export',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- width: 90,
- stopSelection: false
- }, {
- text: '其它',
- width: 160,
- dataIndex:'others',
- xtype: 'widgetcolumn',
- producesHTML: false,
- widget: {
- xtype: 'powerotherfield',
- bind:'{record.others}'
- }
- }],
- // Dispatch named listener and handler methods to this instance
- defaultListenerScope: true,
- listeners: {
- columnshow: 'onColumnToggle',
- columnhide: 'onColumnToggle'
- },
- selectAllPower: function(record){
- var me = this;data={"query":true,"add":true,"save":true,"delete":true,"audit":true,"resAudit":true,"import":true,"export":true};
- me.setAllOthers(record,true,data);
- },
- deselectAllPower:function(record){
- var me = this;data={"query":false,"add":false,"save":false,"delete":false,"audit":false,"resAudit":false,"import":false,"export":false};
- me.setAllOthers(record,false,data);
- },
- setAllOthers:function(record,bool,data){
- var others=record.get('others');
- Ext.Array.each(others,function(o){
- o.value=bool;
- })
- data.others = others
- record.set(data);
- }
- });
|