MultiField1.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. /**
  2. * 合并字段
  3. */
  4. Ext.define('erp.view.core.form.MultiField1', {
  5. extend: 'Ext.form.FieldContainer',
  6. alias: 'widget.multifield1',
  7. layout: 'column',
  8. baseCls: 'x-field',
  9. fieldConfig: null,
  10. initComponent : function(){
  11. this.cls = (this.cls || '') + ' x-form-field-multi';
  12. this.callParent(arguments);
  13. var me = this;
  14. /*var cw = me.columnWidth > 0.3 ? 0.3 : 0.45;*/
  15. var logics = me.logic.split(",");
  16. var cw=0.35;
  17. me.insert(0, {
  18. xtype: 'numberfield',
  19. allowDecimals: true,
  20. allowNegative: false,
  21. hideTrigger:true,
  22. decimalPrecision: 3,
  23. nanText:'请输入有效的数字',
  24. minValue :0,
  25. name: me.name,
  26. columnWidth: cw,
  27. fieldStyle: me.fieldStyle,
  28. allowBlank: me.allowBlank,
  29. value: me.value,
  30. groupName:me.groupName,
  31. fieldConfig: me.fieldConfig,
  32. editable: me.editable,
  33. modify:me.modify,
  34. listeners: {
  35. change: function(f){
  36. me.value = f.value;
  37. if(Ext.isEmpty(f.value)) {
  38. me.secondField.setValue('');
  39. }
  40. }
  41. }
  42. });
  43. me.insert(1, {
  44. xtype: 'numberfield',
  45. allowDecimals: true,
  46. allowNegative: false,
  47. hideTrigger:true,
  48. decimalPrecision: 3,
  49. nanText:'请输入有效的数字',
  50. minValue :0,
  51. fieldLabel:' - ',
  52. labelSeparator :'',
  53. labelWidth:10,
  54. id: logics[0],
  55. name:logics[0],
  56. groupName:me.groupName,
  57. columnWidth: 0.4,
  58. readOnly: false,
  59. value: me.secondvalue,
  60. modify:me.modify
  61. });
  62. if(logics[1]){
  63. me.insert(2, {
  64. xtype: 'combo',
  65. id: logics[1],
  66. name: logics[1],
  67. modify:me.modify,
  68. groupName:me.groupName,
  69. columnWidth: 0.25,
  70. fieldStyle: 'background:#f1f1f1;',
  71. store: Ext.create('Ext.data.Store', {
  72. fields: ['display', 'value'],
  73. data : [{"display" : "kg", "value": "kg"},
  74. {"display" : "g", "value": "g"}]
  75. }),
  76. displayField: 'display',
  77. valueField: 'value',
  78. queryMode: 'local',
  79. value:me.thirdvalue||'kg',
  80. editable: false
  81. });
  82. me.thirdField = me.items.items[2];
  83. }
  84. me.firstField = me.items.items[0];
  85. me.secondField = me.items.items[1];
  86. },
  87. isValid: function(){
  88. return this.firstField.isValid();
  89. },
  90. setValue: function(value){
  91. this.firstField.setValue(value);
  92. },
  93. getValue: function(){
  94. return this.value;
  95. },
  96. setReadOnly: function(bool){
  97. this.firstField.setReadOnly(bool);
  98. },
  99. setFieldStyle: function(style){
  100. this.firstField.setFieldStyle(style);
  101. }
  102. });