Ext.QuickTips.init();
Ext.define('erp.controller.plm.test.CheckBase', {
extend: 'Ext.app.Controller',
FormUtil: Ext.create('erp.util.FormUtil'),
BaseUtil: Ext.create('erp.util.BaseUtil'),
GridUtil: Ext.create('erp.util.GridUtil'),
views:[
'plm.test.Check','core.form.Panel','core.grid.Panel2','core.grid.Panel5',
'core.button.Submit','core.button.ResSubmit','core.button.Close',
'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.form.YnField','core.button.ChangeHandler'
],
init:function(){
var me=this;
this.control({
'erpSubmitButton': {
afterrender: function(btn){
var code = Ext.getCmp('cbd_statuscode').getValue();
if(code!='TESTING'){
btn.hide();
}
},
beforerender:function(btn){
btn.formBind=true;
},
click: function(btn){
var handman=Ext.getCmp('cbd_handman').value,result=Ext.getCmp('cbd_result').value;
if(result=='NG' && (handman == null || handman=='')){
showMessage('提示','NG状态请先选择对应处理人再提交!',1000);
}
else me.onUpdate(this);
}
},
'erpResSubmitButton':{
click:function(btn){
me.FormUtil.onResSubmit(Ext.getCmp('cbd_id').getValue());
},
afterrender: function(btn){
var code = Ext.getCmp('cbd_statuscode').getValue();
if(code=='TESTING'){
btn.hide();
}
},
},
'erpCloseButton':{
afterrender:function(btn){
/*var handmanid=Ext.getCmp('cld_newhandmanid').getValue();
if(Ext.getCmp('cld_statuscode').value!='HANDED'){
if(handmanid==emid){
Ext.getCmp('cld_newhanddate').setValue(Ext.Date.format(new Date(), 'Y-m-d H:i:s'));
if(Ext.getCmp('cld_statuscode').value!='HANDED'){
Ext.getCmp('cld_handdescription').setValue(null);
Ext.getCmp('cld_handresult').setValue(null);
}
}else {
Ext.getCmp('cld_newtestdate').setValue(Ext.Date.format(new Date(), 'Y-m-d H:i:s'));
Ext.getCmp('cld_newtestman').setValue(emname);
Ext.getCmp('cld_newtestmanid').setValue(emid);
Ext.getCmp('cld_testdescription').setValue(null);
Ext.getCmp('cld_testresult').setValue(null);
}
}else {
}
var value=Ext.getCmp('cld_attach').getValue();
var form = me.getForm(btn);
if(value!=null&&value!=""){
form.add({
title:'相关文件',
id:'container',
style: {borderColor:'green', borderStyle:'solid', borderWidth:'0px'},
xtype:'container',
columnWidth:1
});
var name=value.split(";")[0];
var id=value.split(";")[1];
var items = new Array();
items.push({
style: 'background:#CDBA96;',
html: '
相关文件:
',
});
items.push({
style: 'background:#C6E2FF;',
html: '
' +
'文件:' + name + '下载',
});
Ext.getCmp('container').add(items);
}*/
}
},
'textfield[name=cbd_testman]':{
afterrender:function(field){
if(!field.value){
field.setValue(emname);
}
}
},
'datetimefield[name=cbd_testdate]':{
afterrender:function(field){
if(!field.value){
field.setValue(new Date());
}
}
},
'multidbfind[name=cbd_handman]':{
afterrender:function(field){
field.dbKey='cb_prjid';
field.mappingKey='tm_prjid';
field.message='无数据!';
}
},
'combo[name=cbd_result]':{
afterrender: function(t) {
me.checkType(t.value);
},
change: function(t){
me.checkType(t.value);
}
},
'erpYnField[name=cld_handresult]':{
beforerender:function(field){
var value=Ext.getCmp('cld_newhandmanid').getValue();
if(value&&value==emid){
//当前用户进来的是处理人员
field.fieldStyle='background:#fffac0;color:#515151;';
field.allowBlank=false;
field.readOnly=false;
}
}
},
'erpYnField[name=cld_testresult]':{
beforerender:function(field){
var value=Ext.getCmp('cld_newhandmanid').getValue();
if(value&&value!=emid){
//当前用户进来的是处理人员
field.allowBlank=false;
field.fieldStyle='background:#fffac0;color:#515151;';
field.readOnly=false;
}
}
},
'textarea[name=cld_testdescription]':{
beforerender:function(field){
var value=Ext.getCmp('cld_newhandmanid').getValue();
if(value&&value!=emid){
//当前用户进来的是处理人员
field.allowBlank=false;
field.fieldStyle='background:#fffac0;color:#515151;';
field.readOnly=false;
}
}
},
'textarea[name=cld_handdescription]':{
beforerender:function(field){
var value=Ext.getCmp('cld_newhandmanid').getValue();
if(value&&value==emid){
//当前用户进来的是处理人员
field.fieldStyle='background:#fffac0;color:#515151;';
field.allowBlank=false;
field.readOnly=false;
field.value="";
}
}
},
'gridcolumn[dataIndex=ch_description]':{
beforerender:function(column){
column.flex=1;
}
},
'dbfindtrigger[name=cld_newhandman]':{
afterrender:function(trigger){
trigger.dbKey='cl_prjplanid';
trigger.mappingKey='tm_prjid';
trigger.dbMessage='请选择该测试单的项目计划';
},
},
'dbfindtrigger[name=prjplan_prjid]':{
afterrender:function(dbfindtrigger){
dbfindtrigger.dbBaseCondition="prj_statuscode IS 'AUDITED'";
},
},
'textfield[name=cld_name]':{
render:function(field){
Ext.create('Ext.tip.ToolTip', {
target:field.getEl(),
trackMouse: true,
renderTo: Ext.getBody(),
html:field.value,
bodyStyle: {
background: '#F8F8FF',
padding: '10px'
}
});
}
},
'textfield[name=cl_prjplanname]':{
render:function(field){
Ext.create('Ext.tip.ToolTip', {
target:field.getEl(),
trackMouse: true,
renderTo: Ext.getBody(),
html:field.value,
bodyStyle: {
background: '#F8F8FF',
padding: '10px'
}
});
}
},
});
},
getForm: function(btn){
return btn.ownerCt.ownerCt;
},
onUpdate: function(me){
var mm = this;
var form = Ext.getCmp('form');
var s1 = mm.checkFormDirty(form);
var s2 = '';
var grids = Ext.ComponentQuery.query('gridpanel');
if(grids.length > 0){//check所有grid是否已修改
Ext.each(grids, function(grid, index){
if(grid.GridUtil){
var msg = grid.GridUtil.checkGridDirty(grid);
if(msg.length > 0){
s2 = s2 + '
' + grid.GridUtil.checkGridDirty(grid);
}
}
});
}
if(s1 == '' && (s2 == '' || s2 == '
')){
showError($I18N.common.form.emptyData + '
' + $I18N.common.grid.emptyDetail);
return;
}
if(form && form.getForm().isValid()){
//form里面数据
var r = form.getValues(false, true);
//去除ignore字段
var keys = Ext.Object.getKeys(r), f;
Ext.each(keys, function(k){
f = form.down('#' + k);
if(f && f.logic == 'ignore') {
delete r[k];
}
});
if(!mm.contains(form.updateUrl, '?caller=', true)){
form.updateUrl = form.updateUrl + "?caller=" + caller;
}
var params = [];
if(grids.length > 0){
var param = grids[0].GridUtil.getGridStore();
if(grids[0].necessaryField.length > 0 && (param == null || param == '')){
warnMsg('明细表还未添加数据,是否继续?', function(btn){
if(btn == 'yes'){
params = unescape("[" + param.toString().replace(/\\/g,"%") + "]");
} else {
return;
}
});
} else {
params = unescape("[" + param.toString().replace(/\\/g,"%") + "]");
}
}
mm.update(r, params);
}else{
mm.checkForm(form);
}
},
update: function(){
var params = new Object();
var r = arguments[0];
Ext.each(Ext.Object.getKeys(r), function(k){//去掉页面非表单定义字段
if(contains(k, 'ext-', true)){
delete r[k];
}
});
params.formStore = unescape(Ext.JSON.encode(r).replace(/\\/g,"%"));
params.param = unescape(arguments[1].toString().replace(/\\/g,"%"));
for(var i=2; i'+s+')已修改');
},
contains: function(string,substr,isIgnoreCase){
if(isIgnoreCase){
string=string.toLowerCase();
substr=substr.toLowerCase();
}
var startChar=substr.substring(0,1);
var strLen=substr.length;
for(var j=0;j