| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.fa.gla.ExchangeGl', {
- extend: 'Ext.app.Controller',
- FormUtil: Ext.create('erp.util.FormUtil'),
- views: ['fa.gla.ExchangeGl', 'core.trigger.CateTreeDbfindTrigger', 'core.button.Close'],
- init: function(){
- this.control({
- 'displayfield[name=yearmonth]': {
- afterrender: function(f) {
- this.getCurrentMonth(f);
- }
- },
- 'cateTreeDbfindTrigger[name=ca_code]': {
- afterrender: function(f) {
- this.getDefaultCatecode(f);
- }
- },
- 'button[id=deal]': {
- click: function(btn) {
- var form = btn.ownerCt.ownerCt,
- ym = form.down('#yearmonth').value,
- cacode = form.down('#ca_code').value,
- account = form.down('#account').value,
- grid = form.ownerCt.down('gridpanel');
- var dd = new Array(), err = new Array();
- grid.store.each(function(){
- dd.push(this.data);
- if(this.get('cm_endrate') == 0) {
- err.push(this.get('cm_crname'));
- }
- });
- if(err.length > 0) {
- showError('汇率不能为空,币别:' + err.join(','));
- return;
- }
- this.deal(form, grid, ym, cacode, account, Ext.encode(dd));
- }
- }
- });
- },
- getCurrentMonth: function(f) {
- var me = this;
- Ext.Ajax.request({
- url: basePath + 'fa/getMonth.action',
- params: {
- type: 'MONTH-A'
- },
- callback: function(opt, s, r) {
- var rs = Ext.decode(r.responseText);
- if(rs.data) {
- f.setValue(rs.data.PD_DETNO);
- me.getCurrencyMonth(f.ownerCt.ownerCt.down('gridpanel'), f.value);
- }
- }
- });
- },
- getDefaultCatecode: function(f) {
- this.FormUtil.getFieldValue('Setting', 'nvl(se_value,\' \')', 'se_what=\'ExchangeCatecode\'', f.id);
- },
- getCurrencyMonth: function(grid, ym) {
- Ext.Ajax.request({
- url : basePath + 'common/getFieldsDatas.action',
- async: false,
- params: {
- caller: 'CurrencysMonth',
- fields: 'cm_code,cm_crname,cm_endrate',
- condition: 'cm_yearmonth=' + ym
- },
- method : 'post',
- callback : function(opt, s, r){
- var rs = new Ext.decode(r.responseText);
- if(rs.exceptionInfo){
- showError(rs.exceptionInfo);return;
- }
- if(rs.success){
- var data = Ext.decode(rs.data), _data = new Array();
- Ext.each(data, function(d) {
- _data.push({
- cm_code: d.CM_CODE,
- cm_crname: d.CM_CRNAME,
- cm_endrate: d.CM_ENDRATE
- });
- });
- grid.store.loadData(_data);
- }
- }
- });
- },
- deal: function(form, grid, ym ,ca_code, account, data) {
- var me = this;
- Ext.Ajax.request({
- url: basePath + 'fa/gla/exchangegl.action',
- params: {
- yearmonth: ym,
- ca_code: ca_code,
- account: account,
- data: data
- },
- callback: function(opt, s, r) {
- var rs = Ext.decode(r.responseText);
- if(rs.success) {
- if(rs.data) {
- showMessage('提示', rs.data);
- }
- me.getCurrencyMonth(grid, ym);
- }
- }
- });
- }
- });
|