Ext.QuickTips.init(); Ext.define('erp.controller.plm.project.ProjectReview', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), GridUtil: Ext.create('erp.util.GridUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), views: ['plm.project.ProjectReview', 'core.form.Panel', 'core.form.CheckBoxGroup', 'core.grid.Panel5', 'core.grid.Panel2', 'core.form.HrefField', 'core.grid.YnColumn', 'core.form.FileField', 'core.button.ProjectReview', 'core.button.Add', 'core.button.Submit', 'core.button.Audit', 'core.button.Save', 'core.button.Close', 'core.button.Print', 'core.button.Update', 'core.button.Delete', 'core.button.PlanMainTask', 'core.button.ResAudit', 'core.button.ResSubmit', 'core.button.Load', 'core.trigger.TextAreaTrigger', 'core.trigger.DbfindTrigger', 'plm.budget.ProjectChart', 'plm.project.ReviewForm', 'plm.project.ProjectCostBudgetGrid'], init: function() { var me = this; this.control({ 'projectcostbudget': { itemclick: this.onGridItemClick }, 'erpGridPanel2[id=projectKeyDeviceGrid]': { itemclick: this.onGridItemClick1 }, 'erpCloseButton': { click: function(btn){ this.FormUtil.beforeClose(this); } /* afterrender: function(btn) { var form = me.getForm(btn); var readOnly = statuscode != 'ENTERING'; var items = me.getReviewItems(readOnly); form.add(items); form.add([{ xtype: 'fieldset', title: '

评审结果

', columnWidth: 1, collapsible: true, frame: false, height: 100, html: '
' + Ext.getCmp('pr_systemresult').getValue() + '
' }]); }*/ }, 'htmleditor[name=pr_prjcode]': { afterrender: function(editor) { editor.getToolbar().hide(); editor.readOnly = true; editor.setValue('' + editor.value + ''); } }, 'erpFormPanel': { beforerender: function(form) { } }, 'erpLoadButton': { click: function(btn) { me.loadKeyDevice(Ext.getCmp('pr_producttype').getValue()); }, afterrender: function(btn) { if (statuscode != 'ENTERING') { btn.hide(); } } }, 'erpUpdateButton': { click: function(btn) { me.update(); }, afterrender: function(btn) { statuscode = Ext.getCmp('pr_statuscode').getValue(); if (statuscode != 'ENTERING') { btn.hide(); } } }, 'erpSubmitButton': { click: function(btn) { this.FormUtil.submit(Ext.getCmp('pr_id').getValue()); }, afterrender: function(btn) { if (statuscode != 'ENTERING') { btn.hide(); } } }, 'erpResSubmitButton': { click: function(btn) { this.FormUtil.onResSubmit(Ext.getCmp('pr_id').getValue()); }, afterrender: function(btn) { if (statuscode != 'COMMITED') { btn.hide(); } } }, 'erpAuditButton': { click: function(btn) { this.FormUtil.onAudit(Ext.getCmp('pr_id').getValue()); }, afterrender: function(btn) { if (statuscode != 'COMMITED') { btn.hide(); } } }, 'erpResAuditButton': { click: function(btn) { this.FormUtil.onResAudit(Ext.getCmp('pr_id').getValue()); }, afterrender: function(btn) { if (statuscode != 'AUDITED') { btn.hide(); } } }, 'erpPlanMainTaskButton': { click: function(btn) { me.PlanMainTask(btn); }, afterrender: function(btn) { if (statuscode != 'AUDITED') { btn.hide(); } } }, 'erpDeleteButton': { afterrender: function(btn) { var status = Ext.getCmp('pr_statuscode'); if (status && status.value != 'ENTERING') { btn.hide(); } }, click: function(btn) { me.FormUtil.onDelete((Ext.getCmp('pr_id').value)); } } }); }, onGridItemClick: function(selModel, record){//grid行选择 this.gridLastSelected = record; var grid = Ext.getCmp('projectCostBudgetGrid'); grid.lastSelectedRecord = record; if(record.data[grid.necessaryField] == null || record.data[grid.necessaryField] == ''){ this.gridLastSelected.findable = true;//空数据可以在输入完code,并移开光标后,自动调出该条数据 } else { this.gridLastSelected.findable = false; } this.GridUtil.onGridItemClick(selModel, record); }, onGridItemClick1: function(selModel, record){//grid行选择 this.gridLastSelected = record; var grid = Ext.getCmp('projectKeyDeviceGrid'); if(record.data[grid.necessaryField] == null || record.data[grid.necessaryField] == ''){ this.gridLastSelected.findable = true;//空数据可以在输入完code,并移开光标后,自动调出该条数据 } else { this.gridLastSelected.findable = false; } this.GridUtil.onGridItemClick(selModel, record); }, getReviewItems: function(readOnly) { var me = this; var reviewitem = Ext.getCmp('pr_reviewitem').getValue().split("#"); var reviewtitle = Ext.getCmp('pr_reviewtitle').getValue().split("#"); var reviewresult = Ext.getCmp('pr_reviewresult').getValue().split("#"); var items = new Array(); var count = reviewitem.length % 2; //是否是2的倍 for (var i = 0; i < reviewitem.length; i++) { if (count == 0 || i < reviewitem.length - 1) { items.push({ xtype: 'fieldset', title: reviewtitle[i], groupName: reviewtitle[i], columnWidth: 0.5, groupkind: 'review', layout: 'column', height: 130, defaults: { columnWidth: 1 }, collapsible: true, readOnly: true, setReadOnly: function(bool) { var set = this, inputEl = set.inputEl; console.log(set); if (inputEl) { inputEl.dom.readOnly = readOnly; inputEl.dom.setAttribute('aria-readonly', readOnly); } set[readOnly ? 'addCls': 'removeCls'](set.readOnlyCls); set.readOnly = readOnly; Ext.Array.each(set.items.items, function(ite, index) { if (ite.xtype == 'textarea') { ite.setReadOnly(bool); console.log(bool); if (!bool) ite.setFieldStyle("background:#fffac0;color:#515151;"); else ite.setFieldStyle("background:#FFFAFA;color:#515151;"); } else { Ext.Array.each(ite.items.items, function(it) { it.setReadOnly(bool); }); } }); }, items: [{ xtype: 'textarea', value: reviewitem[i], readOnly: readOnly, groupName: reviewtitle[i] }, { xtype: 'radiogroup', fieldLabel: '评审结果', radioValue: reviewresult[i], id: 'rating_' + [i], columns: 3, groupName: reviewtitle[i], readOnly: readOnly, defaults: { fieldCls: 'myradio', listeners: { /*change:function(radio){ radio.ownerCt.radioValue=radio.inputValue; },*/ beforerender: function(radio) { if (radio.ownerCt.radioValue == radio.inputValue) { radio.checked = true; } } }, name: 'rating_' + [i] }, items: me.getRadioItems(reviewresult[i], readOnly) }] }); } else { items.push({ xtype: 'fieldset', title: reviewtitle[i], groupName: reviewtitle[i], columnWidth: 1, groupkind: 'review', layout: 'column', collapsible: true, defaults: { columnWidth: 1 }, readOnly: true, items: [{ xtype: 'textarea', value: reviewitem[i], readOnly: readOnly }, { xtype: 'radiogroup', fieldLabel: '评审结果', columnWidth: 0.5, columns: 3, radioValue: reviewresult[i], id: 'rating_' + [i], readOnly: readOnly, defaults: { fieldCls: 'myradio', /*listeners:{ change:function(radio){ radio.ownerCt.radioValue=radio.inputValue; } },*/ name: 'rating_' + [i] }, items: me.getRadioItems(reviewresult[i], readOnly) }] }); } }; return items; }, getRadioItems: function(radiovalue, readOnly) { var arr = new Array(); var object = null; for (var i = 3; i > 0; i--) { object = new Object(); object.inputValue = i; object.readOnly = readOnly; if (i == 3) { object.boxLabel = 'A'; } else if (i == 2) { object.boxLabel = 'B'; } else { object.boxLabel = 'C'; } if (radiovalue == i) { object.checked = true; } arr.push(object); } arr.push({ boxLabel: 'O', hidden: true, checked: i == 0, inputValue: 0 }); return arr; }, loadKeyDevice: function(producttype) { Ext.Ajax.request({ url: basePath + 'plm/review/loadKeyDevice.action', method: 'post', params: { producttype: producttype, prid: Ext.getCmp('pr_id').getValue() }, callback: function(options, success, response) { var rs = new Ext.decode(response.responseText); if (rs.exceptionInfo) { showError(rs.exceptionInfo); return; } if (rs.success) { var grid = Ext.getCmp('projectKeyDeviceGrid'); grid.GridUtil.loadNewStore(grid, { caller: "ProjectKeyDevice", condition: 'pkd_prid=' + Ext.getCmp('pr_id').getValue() }); } } }); }, getForm: function(btn) { return btn.ownerCt.ownerCt; }, save: function(btn) { var me = this; var form = me.getForm(btn); if (Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == '') { me.BaseUtil.getRandomNumber(); //自动添加编号 } }, update: function(btn) { var mm = this; var form = Ext.getCmp('form'); if(! mm.FormUtil.checkForm()){ return; } var grids = Ext.ComponentQuery.query('gridpanel'); if(grids.length > 0){ var param1 = mm.GridUtil.getGridStore(grids[0]); var param2 = mm.GridUtil.getGridStore(grids[1]); mm.onUpdate(param1,param2); } else { mm.onUpdate([],[]); } /* var form =Ext.getCmp('form'); var reviewresult="",reviewitem="",index=1,length=items.length,systemresult="",count=0,reviewlength=0,radioValue=0; Ext.Array.each(form.items.items,function(item){ if(item.groupkind == 'review'){ var checked=item.items.items[1].getChecked()[0]; radioValue=checked.inputValue?checked.inputValue:0; if(index这么牛啊!果断开搞啊是不 !有奔头!"; // }else if(count>2){ // systemresult="
评审等级: B+
共"+length+"条评审项;评审"+reviewlength+"项;
还可以风险很小!可以搞搞
"; // }else if(count==2){ // systemresult="
评审等级: B
共"+length+"条评审项;评审"+reviewlength+"项;
一般般!需要注意啊!
"; // }else if(count>1){ // systemresult="
评审等级: B-
共"+length+"条评审项;评审"+reviewlength+"项;
不行啊!真是不行!
"; // }else{ // systemresult="
评审等级: C
共"+length+"条评审项;评审"+reviewlength+"项;
果断不行,赚钱是好的,投资需谨慎啊!
"; // } // Ext.getCmp('pr_systemresult').setValue(systemresult); Ext.getCmp('pr_reviewitem').setValue(reviewitem); Ext.getCmp('pr_reviewresult').setValue(reviewresult);*/ }, onUpdate:function(param1,param2){ var me = this; var form = Ext.getCmp('form'); param1 = param1 == null ? [] : "[" + param1.toString() + "]"; param2 = param2 == null ? [] : "[" + param2.toString() + "]"; if(form.getForm().isValid()){ //form里面数据 Ext.each(form.items.items, function(item){ if(item.xtype == 'numberfield'){ //number类型赋默认值,不然sql无法执行 if(item.value == null || item.value == ''){ item.setValue(0); } } }); var r = form.getValues(); //去除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(!me.FormUtil.contains(form.updateUrl, '?caller=', true)){ form.updateUrl = form.updateUrl + "?caller=" + caller; } me.FormUtil.update(r, param1,param2); }else{ me.FormUtil.checkForm(); } }, PlanMainTask: function(btn) { var form = btn.ownerCt.ownerCt; var id = Ext.getCmp('pr_id').getValue(); Ext.Ajax.request({ url: basePath + form.planTaskUrl, params: { id: id }, method: 'post', callback: function(options, success, response) { var localJson = new Ext.decode(response.responseText); if (localJson.success) { Ext.Msg.alert('提示', '下达研发任务书成功!', window.location.reload()); } else { if (localJson.exceptionInfo) { var str = localJson.exceptionInfo; if (str.trim().substr(0, 12) == 'AFTERSUCCESS') { //特殊情况:操作成功,但是出现警告,允许刷新页面 str = str.replace('AFTERSUCCESS', ''); submitSuccess(function() { window.location.reload(); }); } showMessage("提示", str); return; } } } }); } });