|
|
@@ -0,0 +1,162 @@
|
|
|
+/**
|
|
|
+ * 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);
|
|
|
+ }
|
|
|
+}, function(WidgetGrid) {
|
|
|
+ /*var prototype = WidgetGrid.prototype,
|
|
|
+ columns = prototype.columns,
|
|
|
+ len = columns.length,
|
|
|
+ i,
|
|
|
+ tbar = prototype.tbar = [];
|
|
|
+
|
|
|
+ // Create tbar on the prototype with a button for each column
|
|
|
+ for (i = 0; i < len; i++) {
|
|
|
+ tbar.push({
|
|
|
+ text: columns[i].text,
|
|
|
+ enableToggle: true,
|
|
|
+ pressed: true,
|
|
|
+ toggleHandler: 'onButtonToggle'
|
|
|
+ });
|
|
|
+ }*/
|
|
|
+});
|