| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- /**
- * Created by zhouy on 2018/11/8.
- */
- Ext.define('saas.view.sys.power.GroupGrid', {
- extend: 'Ext.grid.Panel',
- xtype: 'power-grid',
- focusable:false,
- bind:{
- store: '{powergrid}'
- },
- bufferedRenderer:false,
- tbar:['->',{
- xtype:'button',
- text:'保存',
- name:'savepower',
- margin:'0 10 0 2',
- style:'background:#fff;border-color:#34baf6'
- }],
- features : [Ext.create('Ext.grid.feature.Grouping',{
- collapsible:false,
- showSummaryRow: false
- })],
- 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: {
- defaults:{
- onTitleElClick:function(a,b,c,d){
- var me = this;
- var dataIndex = this.dataIndex;
- var records = me.ownerCt.ownerCt.store.data.items;
- var isAllCheck = true;
- Ext.Array.each(records,function(rec){
- var data = rec.get(dataIndex);
- if(data!=null&&(typeof data)=='boolean'){
- if(!data){
- isAllCheck = false
- }
- }
- });
- Ext.Array.each(records,function(rec){
- var data = rec.get(dataIndex);
- if(data!=null&&(typeof data)=='boolean'){
- if(data!=!isAllCheck){
- rec.set(dataIndex,!isAllCheck)
- }
- }
- });
- me.setHeaderStatus(!isAllCheck);
- },
- doUpdateHeaderState: function(e) {
- return true;
- }
- },
- items:[{
- header: '单据名称',
- dataIndex: 'groupName',
- xtype: '',
- flex: 2.7,
- stopSelection: false,
- menuDisabled:true,
- },{
- 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.5,
- 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,
- 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: 'moduleId',type:'int'},
- {name: 'groupName',type:'string'},
- {name: 'moduleName',type:'string'},
- {name: 'add'},
- {name: 'delete'},
- {name: 'update'},
- {name: 'audit'},
- {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:'moduleId',
- proxy: {
- timeout:8000,
- type: 'ajax',
- url: me.dataUrl,
- actionMethods: {
- read: 'GET'
- },
- reader: {
- type: 'json',
- rootProperty: 'data',
- },
- listeners: {
- exception: function(proxy, response, operation, eOpts) {
- if(operation.success) {
- if(response.timedout) {
- saas.util.BaseUtil.showErrorToast('请求超时');
- }
- }else {
- if(response.timedout) {
- saas.util.BaseUtil.showErrorToast('请求超时');
- }else{
- saas.util.BaseUtil.showErrorToast('查询失败:' + (response.responseJson?response.responseJson.message:'请求超时'));
- }
- }
- }
- }
- },
- 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);
- }
- });
|