Browse Source

condbfindtrigger调整

zhuth 7 years ago
parent
commit
eeb6f066a6
1 changed files with 30 additions and 27 deletions
  1. 30 27
      frontend/saas-web/app/view/core/dbfind/ConDbfindTrigger.js

+ 30 - 27
frontend/saas-web/app/view/core/dbfind/ConDbfindTrigger.js

@@ -13,10 +13,11 @@ Ext.define('saas.view.core.form.field.ConDbfindTrigger', {
     isConField: true,
 
     // 额外字段自定义替换属性
+    mainFieldConfig: {},
     supFieldConfig: {},
 
     initComponent: function() {
-        var me = this,
+        let me = this,
         allowBlank = Ext.isBoolean(me.allowBlank) ? me.allowBlank : true,
         dbType = me.dbType,
         dbfinds = me.dbfinds,
@@ -24,7 +25,7 @@ Ext.define('saas.view.core.form.field.ConDbfindTrigger', {
         name1 = dbfinds[1].to;
 
         Ext.apply(me, {
-            items: [{
+            items: [Ext.Object.merge({
                 xtype: dbType,
                 name: name0,
                 allowBlank: allowBlank,
@@ -34,27 +35,7 @@ Ext.define('saas.view.core.form.field.ConDbfindTrigger', {
                 },
                 dbfinds: dbfinds,
                 flex: 0.5,
-                listeners: {
-                    validChange: function() {
-                        me.fireEvent('validChange');
-                    },
-                    validitychange: function() {
-                        me.items.items[1].isValid();
-                        me.fireEvent('validitychange');
-                    },
-                    change: function(f) {
-                        var field1 = me.items.items[1];
-                        if(f.dbValues) {
-                            var value = f.dbValues[f.dbfinds[1].from];
-                            field1.setValue(value);
-                            field1.publishState('value', value);
-                        }
-                    },
-                    blur: function() {
-                        this.fireEvent('change', this)
-                    }
-                }
-            }, Ext.Object.merge({
+            }, me.mainFieldConfig), Ext.Object.merge({
                 xtype: 'textfield',
                 name: name1,
                 allowBlank: allowBlank,
@@ -71,18 +52,40 @@ Ext.define('saas.view.core.form.field.ConDbfindTrigger', {
 
     listeners: {
         afterrender: function(me) {
-            me.items.items[1].on('validChange', function() {
+            let field1 = me.items.items[0];
+            let field2 = me.items.items[1];
+
+            field1.on('validChange', function() {
+                me.fireEvent('validChange');
+            });
+            field1.on('validitychange', function() {
+                me.items.items[1].isValid();
+                me.fireEvent('validitychange');
+            });
+            field1.on('change', function(f) {
+                let field1 = me.items.items[1];
+                if(f.dbValues) {
+                    let value = f.dbValues[f.dbfinds[1].from];
+                    field1.setValue(value);
+                    field1.publishState('value', value);
+                }
+            });
+            field1.on('blur', function() {
+                me.fireEvent('change', this)
+            });
+
+            field2.on('validChange', function() {
                 me.fireEvent('validChange');
             });
-            me.items.items[1].on('validitychange', function() {
-                me.items.items[0].isValid();
+            field2.on('validitychange', function() {
+                field1.isValid();
                 me.fireEvent('validitychange');
             });
         }
     },
 
     setValue: function(values) {
-        var me = this,
+        let me = this,
         name0 = dbfinds[0].to,
         name1 = dbfinds[1].to;