|
|
@@ -0,0 +1,100 @@
|
|
|
+/**
|
|
|
+ * 放大镜组合字段
|
|
|
+ */
|
|
|
+Ext.define('saas.view.core.form.field.ConDbfindTrigger', {
|
|
|
+ extend: 'Ext.form.FieldContainer',
|
|
|
+ alias: 'widget.condbfindtrigger',
|
|
|
+
|
|
|
+ cls: 'x-confield',
|
|
|
+
|
|
|
+ layout: 'hbox',
|
|
|
+ height: 32,
|
|
|
+
|
|
|
+ isConField: true,
|
|
|
+
|
|
|
+ // 额外字段自定义替换属性
|
|
|
+ supFieldConfig: {},
|
|
|
+
|
|
|
+ initComponent: function() {
|
|
|
+ var me = this,
|
|
|
+ allowBlank = Ext.isBoolean(me.allowBlank) ? me.allowBlank : true,
|
|
|
+ dbType = me.dbType,
|
|
|
+ dbfinds = me.dbfinds,
|
|
|
+ name0 = dbfinds[0].to,
|
|
|
+ name1 = dbfinds[1].to;
|
|
|
+
|
|
|
+ Ext.apply(me, {
|
|
|
+ items: [{
|
|
|
+ xtype: dbType,
|
|
|
+ name: name0,
|
|
|
+ allowBlank: allowBlank,
|
|
|
+ msgTarget: 'none',
|
|
|
+ bind: {
|
|
|
+ value: '{' + name0 + '}'
|
|
|
+ },
|
|
|
+ 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({
|
|
|
+ xtype: 'textfield',
|
|
|
+ name: name1,
|
|
|
+ allowBlank: allowBlank,
|
|
|
+ readOnly: true,
|
|
|
+ defaultReadOnly: true,
|
|
|
+ bind: {
|
|
|
+ value: '{' + name1 + '}'
|
|
|
+ },
|
|
|
+ flex: 0.5
|
|
|
+ }, me.supFieldConfig)]
|
|
|
+ });
|
|
|
+ me.callParent(arguments);
|
|
|
+ },
|
|
|
+
|
|
|
+ listeners: {
|
|
|
+ afterrender: function(me) {
|
|
|
+ me.items.items[1].on('validChange', function() {
|
|
|
+ me.fireEvent('validChange');
|
|
|
+ });
|
|
|
+ me.items.items[1].on('validitychange', function() {
|
|
|
+ me.items.items[0].isValid();
|
|
|
+ me.fireEvent('validitychange');
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ setValue: function(values) {
|
|
|
+ var me = this,
|
|
|
+ name0 = dbfinds[0].to,
|
|
|
+ name1 = dbfinds[1].to;
|
|
|
+
|
|
|
+ me.items.items[0].setValue(values[name0]);
|
|
|
+ me.items.items[1].setValue(values[name1]);
|
|
|
+ },
|
|
|
+
|
|
|
+ isValid: function() {
|
|
|
+ return this.items.items[0].isValid() && this.items.items[1].isValid();
|
|
|
+ },
|
|
|
+
|
|
|
+ isDirty: function() {
|
|
|
+ return this.items.items[0].isDirty() && this.items.items[1].isDirty();
|
|
|
+ }
|
|
|
+});
|