Ext.QuickTips.init();
Ext.define('erp.controller.plm.test.Check', {
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.Close','core.button.Delete','core.button.Audit',
'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('cld_statuscode').getValue();
if(code=='HANDED'){
btn.hide();
}
Ext.getCmp('form').readOnly = true;
},
beforerender:function(btn){
btn.formBind=true;
},
click: function(btn){
var value=Ext.getCmp('cld_handresult').getValue();
var handmanname=Ext.getCmp('cld_newhandman').getValue();
var handmanid=Ext.getCmp('cld_newhandmanid').getValue();
var statuscode=Ext.getCmp('cld_statuscode').getValue();
if(statuscode=='PENDING' && handmanid!=emid){
showError('当前BUG处于待处理状态不能测试!请速让
'+handmanname+'处理!');
return;
}
if(statuscode=='TESTING'&& handmanid==emid){
btn.setDisabled(true);
showError('该任务处于测试状态!等测试过后再做处理!');
return ;
}
else me.onUpdate(this);
}
},
'erpDeleteButton':{
click: function(btn){
me.onDelete(this);
}
},
'erpAuditButton':{
click:function(btn){
//确认
me.FormUtil.onAudit(Ext.getCmp('cld_id').value);
},
beforerender:function(btn){
btn.text="确认BUG";
btn.width=100;
},
afterrender:function(btn){
var isconfirmed=Ext.getCmp('cld_isconfirmed');
var value=Ext.getCmp('cld_newhandmanid').getValue();
if((isconfirmed && isconfirmed.value=='-1') || (value && value!=emid)){
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);
}
}
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);
}
}
},
'erpChangeHandlerButton':{
click:function(btn){
var newhandmanid=Ext.getCmp('cld_newhandmanid');
var description=Ext.getCmp('cld_handdescription').getValue();
var oldemid=newhandmanid.originalValue;
if(description==null || description==""){
description=Ext.getCmp('cld_testdescription').getValue();
if(description==null || description==""){
showError('请在处理描述中填写相应的转让描述!');
return
}
}
var newemid=newhandmanid.value;
me.FormUtil.setLoading(true);
Ext.Ajax.request({
url: basePath + 'plm/check/changeHandler.action',
params:{
id:Ext.getCmp('cld_id').getValue(),
oldemid:oldemid,
newemid:newemid,
description:description
},
method: 'post',
callback: function(options,success,response){
me.FormUtil.setLoading(false);
var res=Ext.decode(response.responseText);
if(res.exceptionInfo){
showError(localJson.exceptionInfo);return;
}else if(res.success){
showMessage('提示','变更成功!',1000);
window.location.reload();
}
btn.setDisabled(true);
}
});
}
},
'hidden[name=cld_newhandmanid]':{
change:function(field){
var code = Ext.getCmp('cld_statuscode').getValue();
if(code!='HANDED'){
Ext.getCmp('changehandler').setDisabled(false);
}
}
},
'hidden[name=cld_id]':{
afterrender:function(field){
if(field.value){
var grid=Ext.getCmp('change');
var param={
caller:grid.caller,
condition:grid.mainField+"="+field.value +" order by cc_date"
};
me.GridUtil.loadNewStore(grid,param);
}
}
},
'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;
}
}
},
'combo[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;
}
},
'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