AccountRegisterBank.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.fa.gs.AccountRegisterBank', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. views:[
  7. 'fa.gs.AccountRegisterBank','core.form.Panel','fa.gs.AccountRegisterTree','common.datalist.GridPanel','core.button.Refresh',
  8. 'core.button.Add','core.button.Close','core.form.ConDateField','core.button.Query','common.datalist.Toolbar',
  9. 'core.trigger.DbfindTrigger','core.form.YnField', 'core.form.SeparNumber'
  10. ],
  11. refs: [{
  12. ref: 'centerpanel',
  13. selector: '#centerpanel'
  14. }],
  15. init:function(){
  16. var me = this;
  17. me.datamanager = [];
  18. this.control({
  19. 'accountregistertree': {
  20. itemmousedown: function(selModel, record){
  21. if (me.isGroup === undefined) {
  22. var d = record.raw ? record.raw.data : record.data.data;
  23. if(d.ma_id) {
  24. me.isGroup = true;
  25. } else {
  26. me.isGroup = false;
  27. }
  28. }
  29. me.loadTab(selModel, record);
  30. me.lastSelected = record;
  31. }
  32. },
  33. 'erpCloseButton': {
  34. click: function(btn){
  35. this.FormUtil.beforeClose(this);
  36. }
  37. },
  38. 'erpQueryButton': {
  39. click : function(btn) {
  40. var _win = this.getCenterpanel().getEl().down('iframe').dom.contentWindow;
  41. if(_win.Ext && caller == _win.caller) {// caller一致就不用刷咯
  42. var grid = _win.Ext.getCmp('grid');
  43. if(grid) {
  44. _win.caller = caller;
  45. var d = Ext.getCmp('ar_date'), date1 = d.firstVal,date2 = d.secondVal;
  46. var condition = date1 ? ("ar_date BETWEEN to_date('" + Ext.Date.toString(date1) + " 00:00:00','yyyy-MM-dd HH24:mi:ss') AND to_date('"
  47. + Ext.Date.toString(date2) + " 23:59:59','yyyy-MM-dd HH24:mi:ss')") : null;
  48. if (me.treeconfig && me.treeconfig != '' && me.treeconfig != null){
  49. condition = (condition ? (condition + ' and ') : '' ) + "ar_cateid=" + me.treeconfig;
  50. }
  51. grid.defaultCondition=condition;
  52. grid.getCount(caller, condition);
  53. this.FormUtil.getFieldValue('Category', 'nvl(ca_nowbalance,0)+nvl(ca_nowbalance2,0)', 'ca_id=' + me.treeconfig, 'ca_balance');
  54. }
  55. }
  56. }
  57. },
  58. 'erpAddButton':{
  59. click: function(btn){
  60. var record = me.lastSelected,
  61. url = 'jsps/fa/gs/accountRegister.jsp?whoami=AccountRegister!Bank';
  62. if(record) {
  63. var data = record.raw ? record.raw.data : record.data.data;
  64. url += '&ar_cateid=' + data.ca_id;
  65. url += '&ar_accountcode=' + data.ca_code;
  66. url += '&ar_accountname=' + encodeURIComponent(data.ca_description);
  67. url += '&ar_accountcurrency=' + data.ca_currency;
  68. url += '&ar_accountrate=' +data.ca_currencyrate;
  69. url += '&ar_currencytype=' +data.ca_currencytype;
  70. url += '&ar_arapcurrency=' + data.ca_currency;
  71. url += '&ar_araprate=1';
  72. }
  73. me.FormUtil.onAdd('addAccountRegister', '新增银行存款登记', url);
  74. }
  75. },
  76. 'erpRefreshButton': {
  77. click: function(btn){
  78. Ext.Ajax.request({
  79. url: basePath + 'fa/gs/copyAccountRegister/refreshQuery.action',
  80. params: {
  81. },
  82. method: 'post',
  83. callback: function(opt, s, r) {
  84. var rs = Ext.decode(r.responseText);
  85. if(rs.exceptionInfo){
  86. showError(rs.exceptionInfo);
  87. return "";
  88. }
  89. if(rs.success){
  90. Ext.Msg.alert("提示", "刷新成功!", function(){
  91. window.location.reload();
  92. });
  93. }
  94. }
  95. });
  96. }
  97. },
  98. 'field[name=ca_balance]' : {
  99. afterrender : function(f) {
  100. f.setFieldStyle({
  101. 'color' : 'red'
  102. });
  103. }
  104. }
  105. });
  106. },
  107. getForm: function(btn){
  108. return btn.ownerCt.ownerCt;
  109. },
  110. getCurrentStore: function(value){
  111. var grid = Ext.getCmp('grid');
  112. var items = grid.store.data.items;
  113. var array = new Array();
  114. var o = null;
  115. Ext.each(items, function(item, index){
  116. o = new Object();
  117. o.selected = false;
  118. if(index == 0){
  119. o.prev = null;
  120. } else {
  121. o.prev = items[index-1].data[keyField];
  122. }
  123. if(index == items.length - 1){
  124. o.next = null;
  125. } else {
  126. o.next = items[index+1].data[keyField];
  127. }
  128. var v = item.data[keyField];
  129. o.value = v;
  130. if(v == value)
  131. o.selected = true;
  132. array.push(o);
  133. });
  134. return array;
  135. },
  136. loadTab: function(selModel, record){
  137. var me = this, tree = Ext.getCmp('tree-panel'),
  138. data = record.raw ? record.raw.data : record.data.data;
  139. if (!record.get('leaf')) {
  140. if(record.isExpanded() && record.childNodes.length > 0){//是根节点,且已展开
  141. record.collapse(true, true);//收拢
  142. } else {//未展开
  143. //看是否加载了其children
  144. if(record.childNodes.length == 0){
  145. //从后台加载
  146. tree.setLoading(true, tree.body);
  147. Ext.Ajax.request({//拿到tree数据
  148. url : basePath + 'fa/gs/getCategoryBankTree.action',
  149. params: {
  150. master: data.ma_name || data.CURRENTMASTER,
  151. parentid: data.ca_id || 0
  152. },
  153. async: false,
  154. callback : function(options,success,response){
  155. tree.setLoading(false);
  156. var res = new Ext.decode(response.responseText);
  157. if(res.tree){
  158. record.appendChild(res.tree);
  159. record.expand(false, true);//展开
  160. if(data.ma_id)
  161. me.refreshDatalist(data);
  162. } else if(res.exceptionInfo){
  163. showError(res.exceptionInfo);
  164. }
  165. }
  166. });
  167. } else {
  168. record.expand(false, true);//展开
  169. if(data.ma_id)
  170. me.refreshDatalist(data);
  171. }
  172. }
  173. } else {
  174. this.refreshDatalist(data);
  175. }
  176. },
  177. refreshDatalist : function(data) {
  178. var me = this;
  179. var ca_id = data.ca_id || 0,
  180. condition = 'ar_cateid=' + ca_id;
  181. me.treeconfig = ca_id;
  182. var dd = Ext.getCmp('ar_date'),
  183. date1 = dd.firstVal,
  184. date2 = dd.secondVal;
  185. if(date1) {
  186. condition += " and ar_date BETWEEN to_date('" + Ext.Date.toString(date1)
  187. + " 00:00:00','yyyy-MM-dd HH24:mi:ss') AND to_date('"
  188. + Ext.Date.toString(date2) + " 23:59:59','yyyy-MM-dd HH24:mi:ss')";
  189. }
  190. if (this.isGroup) {
  191. if(data.ma_type == 2 && data.ma_soncode) {
  192. var s = data.ma_soncode.split(','), m = [];
  193. for(i in s) {
  194. m.push('\'' + s[i] + '\'');
  195. }
  196. condition = 'CURRENTMASTER in(' + m.join(',') + ')';
  197. } else if(data.ma_type == 3) {
  198. condition = 'CURRENTMASTER=\'' + (data.ma_name || data.CURRENTMASTER) + '\'';
  199. } else {
  200. condition += ' AND CURRENTMASTER=\'' + (data.ma_name || data.CURRENTMASTER) + '\'';
  201. }
  202. }
  203. this.FormUtil.getFieldValue('Category', 'nvl(ca_nowbalance,0)+nvl(ca_nowbalance2,0)', 'ca_id=' + ca_id, 'ca_balance');
  204. this.FormUtil.getFieldValue('Category', 'ca_bankaccount', 'ca_id=' + ca_id, 'ca_bankaccount');
  205. var _win = this.getCenterpanel().getEl().down('iframe').dom.contentWindow;
  206. if(_win.Ext && caller == _win.caller) {// caller一致就不用刷咯
  207. var grid = _win.Ext.getCmp('grid');
  208. if(grid) {
  209. _win.caller = caller;
  210. _win.condition = condition;
  211. _win._noc=1;
  212. grid.defaultCondition = condition;
  213. grid.getCount(caller, condition);
  214. }
  215. } else {
  216. this.getCenterpanel().getEl().down('iframe').dom.contentWindow.location.href =
  217. basePath + 'jsps/common/datalist.jsp?whoami=' + caller + '&urlcondition=' +
  218. condition+"&_noc=1";
  219. }
  220. }
  221. });