Browse Source

【bug】界面设置-分组不含字段时该分组不可启用

zhuth 7 năm trước cách đây
mục cha
commit
64ead994bf
1 tập tin đã thay đổi với 15 bổ sung3 xóa
  1. 15 3
      frontend/saas-web/app/view/core/form/SettingWinController.js

+ 15 - 3
frontend/saas-web/app/view/core/form/SettingWinController.js

@@ -14,11 +14,12 @@ Ext.define('saas.view.core.form.SettingWinController', {
     onBeforeEdit: function(editor, context, eOpts) {
         let record = context.record,
         column = context.column,
-        name = record.get('name'),
+        disabled = record.get('disabled'),
         type = record.get('type'),
         flag = true;
 
         if(
+            (disabled && column.dataIndex == 'enable') ||
             ['grid'].indexOf(type) != -1 ||
             (['group'].indexOf(type) != -1 && column.dataIndex == 'width')
         ) {
@@ -29,8 +30,10 @@ Ext.define('saas.view.core.form.SettingWinController', {
     },
 
     onToggleEnable: function(grid, rowIndex, colIndex, actionItem, event, record, row) {
-        let checked = record.get('enable');
-        record.set('enable', !checked);
+        if(this.onBeforeEdit(null, {record: record, column: grid.up('grid').columns[colIndex]})) {
+            let checked = record.get('enable');
+            record.set('enable', !checked);
+        }
     },
 
     onDrop: function() {
@@ -40,7 +43,16 @@ Ext.define('saas.view.core.form.SettingWinController', {
         store = grid.getStore();
 
         store.each(function(r, idx) {
+            let type = r.get('type');
             r.set('index', idx + 1);
+            if(type == 'group') {
+                let flag = store.getAt(idx + 1) && store.getAt(idx + 1).get('type') == 'group';
+
+                if(flag)  {
+                    r.set('enable', !flag);
+                }
+                r.set('disabled', flag);
+            }
         });
     },