ScopeField.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. Ext.define('erp.view.core.form.ScopeField', {
  2. extend: 'Ext.form.FieldContainer',
  3. alias: 'widget.erpFtNumberField',
  4. layout: 'column',
  5. value: "",
  6. items: [],
  7. initComponent : function(){
  8. this.callParent(arguments);
  9. var me = this;
  10. me.insert(0, {
  11. xtype: 'numberfield',
  12. maxValue:99,
  13. minValue:0,
  14. id: me.name + '_from',
  15. name: me.name + '_from',
  16. columnWidth: 0.5,
  17. fieldStyle: me.fieldStyle,
  18. listeners: {
  19. blur: function(f){
  20. if(f.value<0||f.value>100){
  21. f.reset();
  22. }
  23. var to = me.items.items[1].value;
  24. if(to&&to!=''&&f.value>to){
  25. f.reset();
  26. showError('起始值不能大于结束值');
  27. return;
  28. }
  29. }
  30. }
  31. });
  32. me.insert(1, {
  33. xtype: 'numberfield',
  34. columnWidth: 0.5,
  35. maxValue:100,
  36. minValue:0,
  37. id: me.name + '_to',
  38. name: me.name + '_to',
  39. fieldStyle: me.fieldStyle,
  40. listeners: {
  41. blur: function(f){
  42. var from = me.items.items[0].value;
  43. var to = f.value;
  44. if(f.value<0||f.value>100){
  45. f.reset();
  46. }
  47. if(from&&from>to){
  48. f.reset();
  49. showError('结束值不能小于起始值');
  50. return;
  51. }
  52. }
  53. }
  54. });
  55. if(me.value){
  56. var value=me.value;
  57. this.items.items[0].setValue(value.split('~')[0]);
  58. this.items.items[1].setValue(value.split('~')[1]);
  59. }
  60. },
  61. listeners: {
  62. afterrender: function(){
  63. this.getEl().dom.childNodes[1].style.height = 22;
  64. this.getEl().dom.childNodes[1].style.overflow = 'hidden';
  65. }
  66. },
  67. reset: function(){
  68. this.items.items[0].reset();
  69. this.items.items[1].reset();
  70. },
  71. getValue: function(){
  72. if(this.value != null && this.value != ''){
  73. if(this.items.items[0].value == null || this.items.items[0].value == ''){
  74. return this.items.items[1].value + '~' + this.items.items[1].value;
  75. } else if(this.items.items[1].value == null || this.items.items[1].value == ''){
  76. return this.items.items[0].value + '~' + this.items.items[0].value;
  77. } else {
  78. return this.items.items[0].value + '~' + this.items.items[1].value;
  79. }
  80. } else {
  81. return '';
  82. }
  83. },
  84. isValid: function(){
  85. return true;
  86. },
  87. setValue: function(value){
  88. if(value != null && value != '' && contains(value, '~', true)){
  89. this.items.items[0].setValue(value.split('~')[0]);
  90. this.items.items[1].setValue(value.split('~')[1]);
  91. }
  92. }
  93. });