Ext.QuickTips.init();
Ext.define('erp.controller.common.Query', {
extend : 'Ext.app.Controller',
views : ['common.query.Viewport', 'common.query.GridPanel', 'common.query.Form', 'core.trigger.DbfindTrigger',
'core.form.FtField', 'core.form.ConDateField', 'core.form.YnField', 'core.form.FtDateField','core.form.YearDateField',
'core.form.MonthDateField','core.form.FtFindField', 'core.grid.YnColumn', 'core.grid.TfColumn', 'core.button.Refresh',
'core.form.ConMonthDateField', 'core.trigger.TextAreaTrigger','core.form.ConDateHourMinuteFieldQ','core.form.ConDateHourMinuteField'],
init : function() {
var me=this;
this.control({
'erpQueryFormPanel' : {
alladded : function(form) {
var items = form.items.items, autoQuery = false;
Ext.each(items, function() {
var val = getUrlParam(this.name);
if(!Ext.isEmpty(val)) {
this.setValue(val);
autoQuery = true;
if(this.xtype == 'dbfindtrigger') {
this.autoDbfind('form', caller, this.name, this.name + " like '%" + val + "%'");
}
}
});
if(autoQuery) {
setTimeout(function(){
form.onQuery();
}, 1000);
}
}
},
'button[name=refresh]':{
click: function(btn){
var form = me.getForm(btn);
if (caller == 'ALMonth!Query'){
var month = Ext.getCmp('am_yearmonth');
var condition=month.secondVal;
Ext.Ajax.request({
url: basePath + 'fa/ars/CmQueryController/refreshQuery.action',
params: {
condition:condition
},
method: 'post',
callback: function(opt, s, r) {
var rs = Ext.decode(r.responseText);
if(rs.success) {
form.onQuery();
}else{
}
}
});
}else{
form.onQuery();
}
}
},
'erpQueryGridPanel' : {
itemclick : this.onGridItemClick
},
'monthdatefield': {
afterrender: function(f) {
var type = '';
if(f.name == 'cd_yearmonth') {
type = 'MONTH-T';
}
if(f.name == 'cmc_yearmonth') {
type = 'MONTH-A';
}
if(f.name == 'cm_yearmonth') {
type = 'MONTH-A';
}
if(f.name == 'am_yearmonth') {
type = 'MONTH-B';
}
if(type != '' && Ext.isEmpty(getUrlParam(f.name))) {
this.getCurrentMonth(f, type);
}
}
},
'conmonthdatefield': {
afterrender: function(f) {
var type = '';
if(f.name == 'cd_yearmonth') {
type = 'MONTH-T';
}
if(f.name == 'cmc_yearmonth') {
type = 'MONTH-A';
}
if(f.name == 'cm_yearmonth') {
type = 'MONTH-A';
}
if(f.name == 'am_yearmonth') {
type = 'MONTH-B';
}
if(type != '' && Ext.isEmpty(getUrlParam(f.name))) {
this.getCurrentMonth(f, type);
}
}
}
});
},
onGridItemClick : function(selModel, record) {
if (caller == 'CustMonth!ARLI!Query') {
var cmid = record.data['cm_id'];
if (cmid > 0) {
var panel = Ext.getCmp(caller + "cm_id" + "=" + cmid);
var main = parent.Ext.getCmp("content-panel");
if (!main) {
main = parent.parent.Ext.getCmp("content-panel");
}
if (!panel) {
var title = "";
if (value.toString().length > 4) {
title = value.toString().substring(value.toString().length - 4);
} else {
title = value;
}
var myurl = '';
if (me.BaseUtil.contains(url, '?', true)) {
myurl = url + '&formCondition=' + formCondition + '&gridCondition=' + gridCondition;
} else {
myurl = url + '?formCondition=' + formCondition + '&gridCondition=' + gridCondition;
}
myurl += "&datalistId=" + main.getActiveTab().id;
main.getActiveTab().currentStore = me.getCurrentStore(value);// 用于单据翻页
panel = {
title : me.BaseUtil.getActiveTab().title + '(' + title + ')',
tag : 'iframe',
tabConfig : {
tooltip : me.BaseUtil.getActiveTab().tabConfig.tooltip + '(' + keyField + "=" + value + ')'
},
frame : true,
border : false,
layout : 'fit',
iconCls : 'x-tree-icon-tab-tab1',
html : '',
closable : true,
listeners : {
close : function() {
if (!main) {
main = parent.parent.Ext.getCmp("content-panel");
}
main.setActiveTab(main.getActiveTab().id);
}
}
};
this.openTab(panel, caller + keyField + "=" + record.data[keyField]);
} else {
main.setActiveTab(panel);
}
}
}
if(caller=='Sale!saledetailDet'){
this.schedule(record);
}
},
schedule: function(record) {
var width = Ext.isIE ? screen.width*0.7*0.9 : '80%',
height = Ext.isIE ? screen.height*0.75 : '100%';
var sd_id = record.get('sd_id');
Ext.Ajax.request({
url : basePath + "scm/sale/checkSaleDetailDet.action",
params: {
whereString: "sd_id="+sd_id
},
method : 'post',
async: false,
callback:function(options,success,response){
var res = new Ext.decode(response.responseText);
if(res.exceptionInfo){
showError(res.exceptionInfo);return;
}
}
});
Ext.create('Ext.Window', {
width: width,
height: height,
autoShow: true,
layout: 'anchor',
items: [{
tag : 'iframe',
frame : true,
anchor : '100% 100%',
layout : 'fit',
html : ''
}]
});
},
getForm: function(btn){
return btn.ownerCt.ownerCt;
},
getCurrentMonth: function(f, type) {
Ext.Ajax.request({
url: basePath + 'fa/getMonth.action',
params: {
type: type
},
callback: function(opt, s, r) {
var rs = Ext.decode(r.responseText);
if(rs.data) {
f.setValue(rs.data.PD_DETNO);
}
}
});
}
});