| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440 |
- /**
- * Created by zhouy on 2018/11/8.
- */
- Ext.define('saas.view.sys.power.GroupGrid', {
- extend: 'Ext.grid.Panel',
- xtype: 'power-grid',
- bind:{
- store: '{powergrid}'
- },
- tbar:['->',{
- xtype:'button',
- text:'保存',
- name:'savepower',
- margin:'0 10 0 2',
- cls:'x-formpanel-btn-orange',
- style:'background:#da8282;border-color:#cccccc'
- }],
- features : [Ext.create('Ext.grid.feature.Grouping',{
- collapseTip:null,
- collapsible:false,
- expandTip:null,
- showSummaryRow: false,
- startCollapsed: false,
- groupHeaderTpl: '{name}'+'模块'
- })],
- initId:0,
- dataUrl:'/api/account/role/power/resource',
- selModel: {
- showHeaderCheckbox:false,
- checkOnly:true,
- type:'checkboxmodel',
- listeners:{
- select:function(selModel,record,c,d){
- 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: 2,
- stopSelection: false,
- menuDisabled:true,
- },{
- header: '查询',
- dataIndex: 'query',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false,
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var records = me.ownerCt.ownerCt.store.data.items;
- var first = 'null',isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get('query');
- if(data!=null&&(typeof data)=='boolean'){
- if(first=='null'){
- first = data;
- }else{
- if(first!=data){
- isAllCheck = false
- }
- }
- rec.set('query',!data)
- }
- });
- if(isAllCheck){
- me.setHeaderStatus(!first)
- }
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- }, {
- header: '保存',
- dataIndex: 'add',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false,
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var records = me.ownerCt.ownerCt.store.data.items;
- var first = 'null',isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get('add');
- if(data!=null&&(typeof data)=='boolean'){
- if(first=='null'){
- first = data;
- }else{
- if(first!=data){
- isAllCheck = false
- }
- }
- rec.set('add',!data)
- }
- });
- if(isAllCheck){
- me.setHeaderStatus(!first)
- }
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- }, {
- header: '修改',
- dataIndex: 'update',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false,
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var records = me.ownerCt.ownerCt.store.data.items;
- var first = 'null',isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get('update');
- if(data!=null&&(typeof data)=='boolean'){
- if(first=='null'){
- first = data;
- }else{
- if(first!=data){
- isAllCheck = false
- }
- }
- rec.set('update',!data)
- }
- });
- if(isAllCheck){
- me.setHeaderStatus(!first)
- }
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- }, {
- header: '删除',
- dataIndex: 'delete',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false,
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var records = me.ownerCt.ownerCt.store.data.items;
- var first = 'null',isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get('delete');
- if(data!=null&&(typeof data)=='boolean'){
- if(first=='null'){
- first = data;
- }else{
- if(first!=data){
- isAllCheck = false
- }
- }
- rec.set('delete',!data)
- }
- });
- if(isAllCheck){
- me.setHeaderStatus(!first)
- }
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- }, {
- header: '审核',
- dataIndex: 'audit',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false,
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var records = me.ownerCt.ownerCt.store.data.items;
- var first = 'null',isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get('audit');
- if(data!=null&&(typeof data)=='boolean'){
- if(first=='null'){
- first = data;
- }else{
- if(first!=data){
- isAllCheck = false
- }
- }
- rec.set('audit',!data)
- }
- });
- if(isAllCheck){
- me.setHeaderStatus(!first)
- }
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- }, {
- header: '反审核',
- dataIndex: 'unAudit',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false,
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var records = me.ownerCt.ownerCt.store.data.items;
- var first = 'null',isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get('unAudit');
- if(data!=null&&(typeof data)=='boolean'){
- if(first=='null'){
- first = data;
- }else{
- if(first!=data){
- isAllCheck = false
- }
- }
- rec.set('unAudit',!data)
- }
- });
- if(isAllCheck){
- me.setHeaderStatus(!first)
- }
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- }, {
- header: '导入',
- dataIndex: 'fileImport',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false,
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var records = me.ownerCt.ownerCt.store.data.items;
- var first = 'null',isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get('fileImport');
- if(data!=null&&(typeof data)=='boolean'){
- if(first=='null'){
- first = data;
- }else{
- if(first!=data){
- isAllCheck = false
- }
- }
- rec.set('fileImport',!data)
- }
- });
- if(isAllCheck){
- me.setHeaderStatus(!first)
- }
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- }, {
- header: '导出',
- dataIndex: 'fileExport',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false,
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var records = me.ownerCt.ownerCt.store.data.items;
- var first = 'null',isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get('fileExport');
- if(data!=null&&(typeof data)=='boolean'){
- if(first=='null'){
- first = data;
- }else{
- if(first!=data){
- isAllCheck = false
- }
- }
- rec.set('fileExport',!data)
- }
- });
- if(isAllCheck){
- me.setHeaderStatus(!first)
- }
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- }, {
- header: '打印',
- dataIndex: 'print',
- xtype: 'checkcolumn',
- headerCheckbox: true,
- menuDisabled:true,
- flex: 1,
- stopSelection: false,
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var records = me.ownerCt.ownerCt.store.data.items;
- var first = 'null',isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get('print');
- if(data!=null&&(typeof data)=='boolean'){
- if(first=='null'){
- first = data;
- }else{
- if(first!=data){
- isAllCheck = false
- }
- }
- rec.set('print',!data)
- }
- });
- if(isAllCheck){
- me.setHeaderStatus(!first)
- }
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- },{
- 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: 'add'},
- {name: 'delete'},
- {name: 'audit'},
- {name: 'update'},
- {name: 'unAudit'},
- {name: 'fileExport'},
- {name: 'fileImport'},
- {name: 'print'},
- {name: 'other', calculate: function(data) {
- var groupId = data['groupId'];
- var other = data['other'];
- Ext.Array.each(other,function(o){
- o.groupId=groupId;
- })
- 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);
- },
- 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 = record.get('add')==null?null:bool;
- data.query = record.get('query')==null?null:bool;
- data.delete = record.get('delete')==null?null:bool;
- data.audit = record.get('audit')==null?null:bool;
- data.update = record.get('update')==null?null:bool;
- data.unAudit= record.get('unAudit')==null?null:bool;
- data.fileExport= record.get('fileExport')==null?null:bool;
- data.fileImport= record.get('fileImport')==null?null:bool;
- data.print= record.get('print')==null?null: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);
- }
- });
|