AccountRegisterBank.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  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 date1=Ext.getCmp('ar_date').firstVal,date2=Ext.getCmp('ar_date').secondVal;
  46. var condition = "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')";
  48. if(me.treeconfig&&me.treeconfig!=''&&me.treeconfig!=null){
  49. 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=' + data.ca_description;
  67. url += '&ar_accountcurrency=' + data.ca_currency;
  68. url += '&ar_accountrate=' +data.ca_currencyrate;
  69. }
  70. me.FormUtil.onAdd('addAccountRegister', '新增银行存款登记', url);
  71. }
  72. },
  73. 'erpRefreshButton': {
  74. click: function(btn){
  75. Ext.Ajax.request({
  76. url: basePath + 'fa/gs/copyAccountRegister/refreshQuery.action',
  77. params: {
  78. },
  79. method: 'post',
  80. callback: function(opt, s, r) {
  81. var rs = Ext.decode(r.responseText);
  82. if(rs.exceptionInfo){
  83. showError(rs.exceptionInfo);
  84. return "";
  85. }
  86. if(rs.success){
  87. Ext.Msg.alert("提示", "刷新成功!", function(){
  88. window.location.reload();
  89. });
  90. }
  91. }
  92. });
  93. }
  94. },
  95. 'field[name=ca_balance]' : {
  96. afterrender : function(f) {
  97. f.setFieldStyle({
  98. 'color' : 'red'
  99. });
  100. }
  101. }
  102. });
  103. },
  104. getForm: function(btn){
  105. return btn.ownerCt.ownerCt;
  106. },
  107. getCurrentStore: function(value){
  108. var grid = Ext.getCmp('grid');
  109. var items = grid.store.data.items;
  110. var array = new Array();
  111. var o = null;
  112. Ext.each(items, function(item, index){
  113. o = new Object();
  114. o.selected = false;
  115. if(index == 0){
  116. o.prev = null;
  117. } else {
  118. o.prev = items[index-1].data[keyField];
  119. }
  120. if(index == items.length - 1){
  121. o.next = null;
  122. } else {
  123. o.next = items[index+1].data[keyField];
  124. }
  125. var v = item.data[keyField];
  126. o.value = v;
  127. if(v == value)
  128. o.selected = true;
  129. array.push(o);
  130. });
  131. return array;
  132. },
  133. loadTab: function(selModel, record){
  134. var me = this, tree = Ext.getCmp('tree-panel'),
  135. data = record.raw ? record.raw.data : record.data.data;
  136. if (!record.get('leaf')) {
  137. if(record.isExpanded() && record.childNodes.length > 0){//是根节点,且已展开
  138. record.collapse(true, true);//收拢
  139. } else {//未展开
  140. //看是否加载了其children
  141. if(record.childNodes.length == 0){
  142. //从后台加载
  143. tree.setLoading(true, tree.body);
  144. Ext.Ajax.request({//拿到tree数据
  145. url : basePath + 'fa/gs/getCategoryBankTree.action',
  146. params: {
  147. master: data.ma_name || data.CURRENTMASTER,
  148. parentid: data.ca_id || 0
  149. },
  150. async: false,
  151. callback : function(options,success,response){
  152. tree.setLoading(false);
  153. var res = new Ext.decode(response.responseText);
  154. if(res.tree){
  155. record.appendChild(res.tree);
  156. record.expand(false, true);//展开
  157. if(data.ma_id)
  158. me.refreshDatalist(data);
  159. } else if(res.exceptionInfo){
  160. showError(res.exceptionInfo);
  161. }
  162. }
  163. });
  164. } else {
  165. record.expand(false, true);//展开
  166. if(data.ma_id)
  167. me.refreshDatalist(data);
  168. }
  169. }
  170. } else {
  171. this.refreshDatalist(data);
  172. }
  173. },
  174. refreshDatalist : function(data) {
  175. var me = this;
  176. var ca_id = data.ca_id || 0,
  177. condition = 'ar_cateid=' + ca_id;
  178. me.treeconfig = ca_id;
  179. var dd = Ext.getCmp('ar_date'),
  180. date1 = dd.firstVal,
  181. date2 = dd.secondVal;
  182. condition += " and ar_date BETWEEN to_date('" + Ext.Date.toString(date1)
  183. + " 00:00:00','yyyy-MM-dd HH24:mi:ss') AND to_date('"
  184. + Ext.Date.toString(date2) + " 23:59:59','yyyy-MM-dd HH24:mi:ss')";
  185. if (this.isGroup) {
  186. if(data.ma_type == 2 && data.ma_soncode) {
  187. var s = data.ma_soncode.split(','), m = [];
  188. for(i in s) {
  189. m.push('\'' + s[i] + '\'');
  190. }
  191. condition = 'CURRENTMASTER in(' + m.join(',') + ')';
  192. } else if(data.ma_type == 3) {
  193. condition = 'CURRENTMASTER=\'' + (data.ma_name || data.CURRENTMASTER) + '\'';
  194. } else {
  195. condition += ' AND CURRENTMASTER=\'' + (data.ma_name || data.CURRENTMASTER) + '\'';
  196. }
  197. }
  198. this.FormUtil.getFieldValue('Category', 'nvl(ca_nowbalance,0)+nvl(ca_nowbalance2,0)', 'ca_id=' + ca_id, 'ca_balance');
  199. this.FormUtil.getFieldValue('Category', 'ca_bankaccount', 'ca_id=' + ca_id, 'ca_bankaccount');
  200. var _win = this.getCenterpanel().getEl().down('iframe').dom.contentWindow;
  201. if(_win.Ext && caller == _win.caller) {// caller一致就不用刷咯
  202. var grid = _win.Ext.getCmp('grid');
  203. if(grid) {
  204. _win.caller = caller;
  205. _win.condition = condition;
  206. _win._noc=1;
  207. grid.defaultCondition = condition;
  208. grid.getCount(caller, condition);
  209. }
  210. } else {
  211. this.getCenterpanel().getEl().down('iframe').dom.contentWindow.location.href =
  212. basePath + 'jsps/common/datalist.jsp?whoami=' + caller + '&urlcondition=' +
  213. condition+"&_noc=1";
  214. }
  215. }
  216. });