ReviewField.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. Ext.define('erp.view.core.form.ReviewField', {
  2. extend: 'Ext.form.FieldContainer',
  3. alias: 'widget.reviewfield',
  4. layout: 'vbox',
  5. items: [],
  6. initComponent : function(){
  7. this.callParent(arguments);
  8. var me = this;
  9. me.insert(0, {
  10. xtype: 'datefield',
  11. columnWidth: 0.5,
  12. fieldStyle: me.fieldStyle,
  13. listeners: {
  14. change: function(){
  15. var from = me.items.items[0].value;
  16. var to = me.items.items[1].value;
  17. me.items.items[1].setMinValue(from);
  18. from = from == null || from == '' ? to == null || to == '' ? '' : to : from;
  19. to = to == null || to == '' ? from == null || from == '' ? '' : from : to;
  20. me.value = "BETWEEN to_date('" + Ext.Date.toString(from) + "','yyyy-mm-dd') AND to_date('"
  21. + Ext.Date.toString(to) + "','yyyy-mm-dd')";
  22. me.items.items[0].value = from;
  23. me.items.items[1].value = to;
  24. }
  25. }
  26. });
  27. me.insert(1, {
  28. xtype: 'datefield',
  29. columnWidth: 0.5,
  30. fieldStyle: me.fieldStyle,
  31. listeners: {
  32. change: function(){
  33. var from = me.items.items[0].value;
  34. var to = me.items.items[1].value;
  35. me.items.items[0].setMaxValue(to);
  36. from = from == null || from == '' ? to == null || to == '' ? '' : to : from;
  37. to = to == null || to == '' ? from == null || from == '' ? '' : from : to;
  38. me.value = "BETWEEN to_date('" + Ext.Date.toString(from) + "','yyyy-mm-dd') AND to_date('"
  39. + Ext.Date.toString(to) + "','yyyy-mm-dd')";
  40. me.items.items[0].value = from;
  41. me.items.items[1].value = to;
  42. }
  43. }
  44. });
  45. },
  46. reset: function(){
  47. this.items.items[0].reset();
  48. this.items.items[1].reset();
  49. },
  50. setValue: function(value){
  51. if(value != null && value != '' && contains(value, '~', true)){
  52. this.items.items[0].setValue(value.split('~')[0]);
  53. this.items.items[1].setValue(value.split('~')[1]);
  54. }
  55. },
  56. listeners: {
  57. afterrender: function(){
  58. this.getEl().dom.childNodes[1].style.height = 22;
  59. this.getEl().dom.childNodes[1].style.overflow = 'hidden';
  60. }
  61. },
  62. getValue: function(){
  63. if(this.items.items[0].value != null && this.items.items[0].value != ''){
  64. return Ext.Date.format(this.items.items[0].value, 'Y-m-d') + '~' + Ext.Date.format(this.items.items[1].value, 'Y-m-d');
  65. } else {
  66. return '';
  67. }
  68. },
  69. isValid: function(){
  70. return true;
  71. }
  72. });