| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- /**
- * Created by zhouy on 2018/11/8.
- */
- Ext.define('saas.view.sys.power.GroupGrid', {
- extend: 'Ext.grid.Panel',
- requires: [
- 'saas.view.sys.power.OtherField'
- ],
- xtype: 'power-grid',
- plugins: {
- cellediting: {
- clicksToEdit: 1
- }
- },
- bind:{
- store: '{powergrid}'
- },
- features : [Ext.create('Ext.grid.feature.Grouping',{
- showSummaryRow: true,
- startCollapsed: false,
- groupHeaderTpl: '{name}'+'模块'
- })],
- initId:0,
- dataUrl:'http://192.168.253.31:8560/api/account/role/power/resource',
- 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);
- }
- }
- }),
- viewConfig: {
- stripeRows: false,
- enableTextSelection: false,
- markDirty: false
- },
- trackMouseOver: false,
- columns: [{
- header: '单据名称',
- dataIndex: 'groupName',
- xtype: '',
- flex: 1.5,
- stopSelection: false
- },{
- header: '查询',
- dataIndex: 'query',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false
- }, {
- header: '保存',
- dataIndex: 'add',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false
- }, {
- header: '修改',
- dataIndex: 'update',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false
- }, {
- header: '删除',
- dataIndex: 'delete',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false
- }, {
- header: '审核',
- dataIndex: 'audit',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false
- }, {
- header: '反审核',
- dataIndex: 'unAudit',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false
- }, {
- header: '导入',
- dataIndex: 'fileImport',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false
- }, {
- header: '导出',
- dataIndex: 'fileExport',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false
- }, {
- header: '打印',
- dataIndex: 'print',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false
- },{
- text: '其它',
- flex: 2.7,
- dataIndex:'other',
- xtype: 'widgetcolumn',
- menuDisabled:true,
- producesHTML: false,
- widget: {
- xtype: 'powerotherfield',
- bind:'{record.other}'
- }
- }],
- initComponent: function () {
- var me = this;
- var formModel = me.$initParent.getViewModel();
- me.store = Ext.create('Ext.data.Store',{
- fields:[
- {name: 'groupId',type:'int'},
- {name: 'groupName',type:'string'},
- {name: 'moduleName',type:'string'},
- {name: 'query',type:'bool'},
- {name: 'add', type: 'bool'},
- {name: 'delete', type: 'bool'},
- {name: 'audit', type: 'bool'},
- {name: 'update', type: 'bool'},
- {name: 'unAudit', type: 'bool'},
- {name: 'fileExport', type: 'bool'},
- {name: 'fileImport', type: 'bool'},
- {name: 'print', type: 'bool'},
- {name: 'other', calculate: function(data) {
- var other = data['other'];
- return other;
- }}
- ],
- groupField:'moduleName',
- proxy: {
- timeout:8000,
- type: 'ajax',
- url: me.dataUrl,
- actionMethods: {
- read: 'GET'
- },
- reader: {
- type: 'json',
- rootProperty: 'data',
- }
- },
- listeners:{
- beforeload: function (store, op) {
- var id = me.initId;
- Ext.apply(store.proxy.extraParams, {
- id:id
- });
- }
- }
- // 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}]}]
- }),
- formModel.set('powergrid', me.store);
- me.callParent(arguments);
- },
- defaultListenerScope: true,
- listeners: {
- columnshow: 'onColumnToggle',
- columnhide: 'onColumnToggle'
- },
- selectAllPower: function(record){
- var me = this;
- me.setAllOthers(record,true);
- },
- deselectAllPower:function(record){
- var me = this;
- me.setAllOthers(record,false);
- },
- setAllOthers:function(record,bool){
- var data = {};
- data.add = bool;
- data.query = bool;
- data.delete = bool;
- data.audit = bool;
- data.update = bool;
- data.unAudit= bool;
- data.fileExport= bool;
- data.fileImport= bool;
- data.print= bool;
- var other=record.get('other');
- Ext.Array.each(other,function(o){
- o.checked=bool;
- })
- data.other = other;
- data.id = record.get('id');
- data.groupId = record.get('groupId');
- data.groupName = record.get('groupName');
- data.moduleName = record.get('moduleName');
- record.set(data);
- }
- });
|