Query.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.fa.ars.Query', {
  3. extend : 'Ext.app.Controller',
  4. views : [ 'common.query.Viewport', 'fa.ars.repQuery.GridPanel', 'common.query.Form', 'core.trigger.DbfindTrigger',
  5. 'core.form.FtField', 'core.form.ConDateField', 'core.form.YnField', 'core.form.FtDateField',
  6. 'core.form.MonthDateField','core.form.FtFindField', 'core.grid.YnColumn', 'core.grid.TfColumn',
  7. 'core.form.ConMonthDateField' ],
  8. init : function() {
  9. this.control({
  10. 'erpQueryFormPanel' : {
  11. alladded : function(form) {
  12. var items = form.items.items;
  13. Ext.each(items, function() {
  14. var val = getUrlParam(this.name);
  15. if(!Ext.isEmpty(val)) {
  16. this.setValue(val);
  17. }
  18. });
  19. }
  20. },
  21. 'erpQueryGridPanel' : {
  22. itemclick : this.onGridItemClick
  23. },
  24. 'monthdatefield': {
  25. afterrender: function(f) {
  26. var type = '';
  27. if(f.name == 'frd_yearmonth') {
  28. type = 'MONTH-A';
  29. }
  30. if(type != '') {
  31. this.getCurrentMonth(f, type);
  32. }
  33. }
  34. }
  35. });
  36. },
  37. onGridItemClick : function(selModel, record) {
  38. if (caller == 'CustMonth!ARLI!Query') {
  39. var cmid = record.data['cm_id'];
  40. if (cmid > 0) {
  41. var panel = Ext.getCmp(caller + "cm_id" + "=" + cmid);
  42. var main = parent.Ext.getCmp("content-panel");
  43. if (!main) {
  44. main = parent.parent.Ext.getCmp("content-panel");
  45. }
  46. if (!panel) {
  47. var title = "";
  48. if (value.toString().length > 4) {
  49. title = value.toString().substring(value.toString().length - 4);
  50. } else {
  51. title = value;
  52. }
  53. var myurl = '';
  54. if (me.BaseUtil.contains(url, '?', true)) {
  55. myurl = url + '&formCondition=' + formCondition + '&gridCondition=' + gridCondition;
  56. } else {
  57. myurl = url + '?formCondition=' + formCondition + '&gridCondition=' + gridCondition;
  58. }
  59. myurl += "&datalistId=" + main.getActiveTab().id;
  60. main.getActiveTab().currentStore = me.getCurrentStore(value);// 用于单据翻页
  61. panel = {
  62. title : me.BaseUtil.getActiveTab().title + '(' + title + ')',
  63. tag : 'iframe',
  64. tabConfig : {
  65. tooltip : me.BaseUtil.getActiveTab().tabConfig.tooltip + '(' + keyField + "=" + value + ')'
  66. },
  67. frame : true,
  68. border : false,
  69. layout : 'fit',
  70. iconCls : 'x-tree-icon-tab-tab1',
  71. html : '<iframe id="iframe_maindetail_' + caller + "_" + value + '" src="' + myurl
  72. + '" height="100%" width="100%" frameborder="0" scrolling="auto"></iframe>',
  73. closable : true,
  74. listeners : {
  75. close : function() {
  76. if (!main) {
  77. main = parent.parent.Ext.getCmp("content-panel");
  78. }
  79. main.setActiveTab(main.getActiveTab().id);
  80. }
  81. }
  82. };
  83. this.openTab(panel, caller + keyField + "=" + record.data[keyField]);
  84. } else {
  85. main.setActiveTab(panel);
  86. }
  87. }
  88. }
  89. },
  90. getCurrentMonth: function(f, type) {
  91. Ext.Ajax.request({
  92. url: basePath + 'fa/getMonth.action',
  93. params: {
  94. type: type
  95. },
  96. callback: function(opt, s, r) {
  97. var rs = Ext.decode(r.responseText);
  98. if(rs.data) {
  99. f.setValue(rs.data.PD_DETNO);
  100. }
  101. }
  102. });
  103. }
  104. });