| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.plm.test.CheckListBase', {
- extend: 'Ext.app.Controller',
- FormUtil: Ext.create('erp.util.FormUtil'),
- GridUtil: Ext.create('erp.util.GridUtil'),
- BaseUtil: Ext.create('erp.util.BaseUtil'),
- views:[
- 'core.form.Panel','plm.test.CheckListBase','core.grid.Panel2','core.toolbar.Toolbar','core.button.Load','core.form.HrefField',
- 'core.button.Add','core.button.Submit','core.button.Audit','core.button.Save','core.button.Close','core.button.Print',
- 'core.button.ResSubmit','core.button.Update','core.button.Delete','core.button.ResAudit','core.button.DeleteDetail','core.button.UpdateTestResult',
- 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.button.End','core.button.ResEnd','core.button.DeleteAllDetails'
- ],
- init:function(){
- var me=this;
- this.control({
- 'erpGridPanel2': {
- itemclick: this.onGridItemClick,
- render: function(p){
- p.getEl().dom.addEventListener('scroll', function(){
- }, p);
- }
- },
- 'erpSaveButton': {
- click: function(btn){
- this.save(this);
- }
- },
- 'erpCloseButton': {
- click: function(btn){
- },
- scope:this,
- },
- 'erpUpdateButton': {
- afterrender: function(btn){
- var status = Ext.getCmp('cb_statuscode');
- if(status && status.value != 'ENTERING'){
- var grid = Ext.getCmp('grid');
- grid.plugins[0].destroy();
- btn.hide();
- }
- },
- click: function(btn){
- this.FormUtil.onUpdate(this);
- }
- },
- 'erpDeleteDetailButton':{
- afterrender:function(btn){
- var status = Ext.getCmp('cb_statuscode');
- if(status && status.value != 'ENTERING'){
- btn.disabled=true;
- }
- }
- },
- 'button[id=deleteallbutton]':{
- click:function(btn){
- Ext.Ajax.request({
- method:'post',
- url:basePath+'plm/check/deleteAllDetails.action',
- params:{
- id:Ext.getCmp('cb_id').getValue()
- },
- callback : function(options,success,response){
- var localJson = new Ext.decode(response.responseText);
- if(localJson.success){
- Ext.Msg.alert('提示','清除成功!',function(btn){
- //update成功后刷新页面进入可编辑的页面
- window.location.reload();
- });
- } else if(localJson.exceptionInfo){
- var str = localJson.exceptionInfo;
- showError(str);return;
- }
- }
- });
- },
- afterrender:function(btn){
- var statuscode=Ext.getCmp('cb_statuscode').getValue();
- if(statuscode&&statuscode!='ENTERING'){
- btn.hide();
- }
- }
- },
- 'erpDeleteButton': {
- afterrender: function(btn){
- var status = Ext.getCmp('cb_statuscode');
- var source=Ext.getCmp('cb_source');
- if((status && status.value != 'ENTERING') || (source && source.value!='add') ){
- btn.hide();
- }
- },
- click: function(btn){
- this.FormUtil.onDelete(Ext.getCmp('cb_id').value);
- }
- },
- 'erpAddButton': {
- click: function(){
- me.FormUtil.onAdd('addCheckList', 'CheckList单', 'jsps/plm/test/checklistbase.jsp');
- }
- },
- 'field[name=cb_prjcode]': {
- afterrender:function(f){
- f.setFieldStyle({
- 'color': 'blue'
- });
- f.focusCls = 'mail-attach';
- var c = Ext.Function.bind(me.openUrl, me);
- Ext.EventManager.on(f.inputEl, {
- mousedown : c,
- scope: f,
- buffer : 100
- });
- }
- },
- 'field[name=cb_prcode]':{
- afterrender:function(f){
- f.setFieldStyle({
- 'color': 'blue'
- });
- f.focusCls = 'mail-attach';
- var c = Ext.Function.bind(me.openUrl, me);
- Ext.EventManager.on(f.inputEl, {
- mousedown : c,
- scope: f,
- buffer : 100
- });
- }
- },
- 'erpLoadButton':{
- afterrender:function(btn){
- var statuscode=Ext.getCmp('cb_statuscode').getValue();
- if(statuscode!='ENTERING'){
- btn.hide();
- }
- },
- click:function(btn){
- //根据产品类型载入测试项
- var type=Ext.getCmp('cb_prodtype').getValue(),keyValue=Ext.getCmp('cb_id').getValue();
- warnMsg('重新载入测试项会清除掉明细数据,以及已产生的BUG单?', function(btn){
- if(btn == 'yes'){
- me.showItemWidow(type,keyValue);
- } else {
- return;
- }
- });
- }
- },
- 'erpSubmitButton': {
- afterrender: function(btn){
- var status = Ext.getCmp('cb_statuscode');
- if(status && status.value != 'ENTERING'){
- btn.hide();
- }
- },
- click: function(btn){
- me.FormUtil.onSubmit(Ext.getCmp('cb_id').value);
- }
- },
- 'erpResSubmitButton':{
- afterrender:function(btn){
- var status = Ext.getCmp('cb_statuscode');
- if(status && status.value != 'COMMITED'){
- btn.hide();
- }
- },
- click:function(btn){
- me.FormUtil.onResSubmit(Ext.getCmp('cb_id').value);
- }
- },
- 'erpEndButton':{
- afterrender:function(btn){
- var statuscode=Ext.getCmp('cb_statuscode').getValue();
- if(statuscode!='COMMITED'){
- btn.hide();
- }
- },
- click:function(btn){
- me.FormUtil.onEnd(Ext.getCmp('cb_id').getValue());
- }
- },
- 'erpResEndButton':{
- afterrender:function(btn){
- var statuscode=Ext.getCmp('cb_statuscode').getValue();
- if(statuscode!='FINISH'){
- btn.hide();
- }
- }
- },
- 'erpDeleteDetailButton': {
- afterrender: function(btn){
- btn.ownerCt.add({
- id:'set',
- readOnly:false,
- xtype:'combo',
- fieldLabel:'结果设置',
- store: Ext.create('Ext.data.Store', {
- fields: ['display', 'value'],
- data : [{"display": '测试通过', "value": 'OK'},
- {"display": '不用测试', "value": 'NT'},
- {"display": '无此功能', "value": 'NF'},{"display": '测试不通过', "value": 'NG'} ]
- }),
- displayField:'display',
- valueField: 'value',
- queryMode: 'local',
- editable: false,
- dirty : false,
- disabled:true,
- listeners:{
- select:function(combo,records){
- me.setResult(combo.value);
- }
- }
- });
- }
- },
- 'erpUpdateTestResultButton': {
- click: function(btn){
- win = this.getUpdateResultWindow(btn);
- win.show();
- }
- },
- 'erpAuditButton': {
- afterrender: function(btn){
- var status = Ext.getCmp('cb_statuscode');
- if(status && status.value != 'COMMITED'){
- btn.hide();
- }
- },
- click: function(btn){
- me.FormUtil.onAudit(Ext.getCmp('cb_id').value);
- }
- },
- 'erpResAuditButton':{
- afterrender: function(btn){
- var status = Ext.getCmp('cb_statuscode');
- if(status && status.value != 'AUDITED'){
- btn.hide();
- }
- },
- click: function(btn){
- me.FormUtil.onResAudit(Ext.getCmp('cb_id').value);
- }
- },
- 'textareatrigger':{
- change:function(trigger,newvalue,oldvalue,btn){
- var grid=Ext.getCmp('grid');
- if(trigger.record && btn=='ok'){
- Ext.Ajax.request({
- url:basePath+'plm/test/updateResult.action',
- params: {
- data:newvalue,
- field:trigger.name,
- keyValue:trigger.record.data[grid.keyField]
- },
- method : 'post',
- callback : function(options,success,response){
- var local=Ext.decode(response.responseText);
- if(local.success) {
- grid.GridUtil.loadNewStore(grid,{
- caller:caller,
- condition:grid.mainField+"="+trigger.record.data[grid.mainField]
- })
- showMessage('提示', '保存成功!', 1000);
- }else {
- showError(local.exceptionInfo);
- }
- }
- });
- }
- }
- }
- });
- },
- onGridItemClick: function(selModel, record){/*//grid行选择
- var me = this;
- var status = Ext.getCmp('cb_statuscode');
- var value=record.data.cld_id;
- Ext.getCmp('file').setDisabled(false);
- if(status && status.value != 'ENTERING'&&value!=0){
- //不能修改了
- var formCondition = "cld_id IS" + value ;
- var gridCondition="ch_cldid IS"+value;
- var panel = Ext.getCmp("cld_id=" +value);
- var caller="Check";
- var url=basePath+"jsps/plm/test/check.jsp";
- var main = 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;
- }
- panel = {
- //title : main.getActiveTab().title+'('+title+')',
- title:'check单('+title+')',
- tag : 'iframe',
- tabConfig:{tooltip:'check单('+title+')'},
- frame : true,
- border : false,
- layout : 'fit',
- iconCls : 'x-tree-icon-tab-tab',
- html : '<iframe id="iframe_maindetail_'+caller+"_"+value+'" src="'+url+'?formCondition='+formCondition+'&gridCondition='+gridCondition+'" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>',
- closable : true,
- listeners : {
- close : function(){
- main.setActiveTab(main.getActiveTab().id);
- }
- }
- };
- me.openTab(panel,"ch_id=" + value);
- }else{
- main.setActiveTab(panel);
- }
- }else{
- this.gridLastSelected = record;
- var grid = Ext.getCmp('grid');
- 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);
- }
- */},
- /* openUrl: function(e, el, obj) {
- var f = obj.scope;
- if(f.value) {
- this.FormUtil.onAdd('ProdInOut', f.ownerCt.down('#in_source').value,
- this.getRelativeUrl(f));
- }
- },*/
- openTab : function (panel,id){
- var me = this;
- var o = (typeof panel == "string" ? panel : id || panel.id);
- var main = parent.Ext.getCmp("content-panel");
- var tab = main.getComponent(o);
- if (tab) {
- main.setActiveTab(tab);
- } else if(typeof panel!="string"){
- panel.id = o;
- var p = main.add(panel);
- main.setActiveTab(p);
- }
- },
- getForm: function(btn){
- return btn.ownerCt.ownerCt;
- },
- setResult:function(value){
- var grid=Ext.getCmp('grid');
- var params=grid.getMultiSelected();
- params.result=value;
- Ext.Ajax.request({
- url : basePath + 'plm/test/setItemResult.action',
- params: params,
- method : 'post',
- callback : function(options,success,response){
- var localJson = new Ext.decode(response.responseText);
- if(localJson.exceptionInfo){
- showError(localJson.exceptionInfo);
- return "";
- }
- if(localJson.success){
- if(localJson.log){
- showMessage("提示", localJson.log);
- }
- Ext.getCmp('set').setDisabled(true);
- Ext.getCmp('set').setValue(null);
- grid.multiselected = new Array();
- grid.GridUtil.loadNewStore(grid,{
- caller:caller,
- condition:'cbd_cbid='+Ext.getCmp('cb_id').getValue()
- });
- showMessage('提示', '设置成功!', 1000);
- }
- }
- });
- },
- save: function(btn){
- var me = this;
- var codefield=Ext.getCmp('cb_code');
- if(codefield.value == null || codefield.value == ''){
- me.BaseUtil.getRandomNumber();
- codefield.setValue('CL_'+codefield.getValue());
- }
- me.FormUtil.beforeSave(me);
- },
- showItemWidow:function (type,keyValue){
- var mb=new Ext.window.MessageBox();
- var condition="tt_productkind='"+type+"'",nCaller='CheckItem';
- var win = new Ext.window.Window({
- id : 'win',
- height: "100%",
- width: "80%",
- maximizable : true,
- buttonAlign : 'center',
- layout : 'anchor',
- items: [{
- tag : 'iframe',
- frame : true,
- anchor : '100% 100%',
- layout : 'fit',
- html : '<iframe id="iframe_' + caller + '" src="' + basePath + 'jsps/common/editorColumn.jsp?caller=' + nCaller
- + "&condition=" + condition +'" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>'
- }],
- buttons : [{
- name: 'confirm',
- text : $I18N.common.button.erpConfirmButton,
- iconCls: 'x-button-icon-confirm',
- cls: 'x-btn-gray',
- listeners: {
- buffer: 500,
- click: function(btn){
- var grid = Ext.getCmp('win').items.items[0].body.dom.getElementsByTagName('iframe')[0].contentWindow.Ext.getCmp("editorColumnGridPanel");
- var data = grid.getEffectData();
- mb.wait("正在加载...");
- Ext.Ajax.request({
- url : basePath + 'plm/test/LoadTestItem.action',
- params: {
- id: keyValue,
- kinds:Ext.encode(data),
- producttype:type
- },
- method : 'post',
- callback : function(options,success,response){
- var localJson = new Ext.decode(response.responseText);
- mb.close();
- if(localJson.exceptionInfo){
- showError(localJson.exceptionInfo);
- }else {
- Ext.Msg.alert('提示','载入成功',function(){
- var grid=Ext.getCmp('grid');
- Ext.getCmp('win').destroy();
- var param={
- caller:caller,
- condition:'cbd_cbid='+keyValue
- };
- grid.GridUtil.loadNewStore(grid,param);
- });
- }
- }
- });
- }
- }
- }, {
- text : $I18N.common.button.erpCloseButton,
- iconCls: 'x-button-icon-close',
- cls: 'x-btn-gray',
- handler : function(){
- Ext.getCmp('win').close();
- }
- }]
- });
- win.show();
- },
- getUpdateResultWindow: function(record) {
- var me = this;
- /* var date = record.data.pd_deliveryreply;
- if (date != null) {
- date = Ext.Date.parse(date, "Y-m-d");
- }*/
- return Ext.create('Ext.window.Window', {
- width: 430,
- height: 250,
- closeAction: 'destroy',
- cls: 'custom-blue',
- title: '<h1>更改测试结果</h1>',
- layout: {
- type: 'fit'
- },
- items: [{
- xtype:'form',
- frame:true,
- layout: {
- type: 'vbox'
- },
- items:[{
- margin: '5 0 0 5',
- xtype:'combo',
- fieldLabel:'结果设置',
- store: Ext.create('Ext.data.Store', {
- fields: ['display', 'value'],
- data : [{"display": '测试通过', "value": 'OK'},
- {"display": '不用测试', "value": 'NT'},
- {"display": '无此功能', "value": 'NF'}/*,
- {"display": '测试不通过', "value": 'NG'}*/]
- }),
- displayField:'display',
- valueField: 'value',
- queryMode: 'local',
- name:'result',
- editable: false,
- dirty : false
- },
- /*{
- margin: '5 0 0 5',
- xtype: 'dbfindtrigger',
- columnidth: 0.4,
- fieldLabel: '处理人',
- name: 'emname',
- id:'emname',
- dbfind:'Employee|em_name'
- },{
- margin:'5 0 0 5',
- xtype:'hidden',
- name:'emid',
- id:'emid'
- },*/
- {
- margin: '5 0 0 5',
- xtype: 'textareafield',
- fieldLabel: '备注',
- name: 'remark',
- hideTrigger: true,
- id: 'remark'
- }]
- }],
- buttonAlign: 'center',
- buttons: [{
- xtype: 'button',
- text: '保存',
- width: 60,
- iconCls: 'x-button-icon-save',
- handler: function(btn) {
- var w = btn.up('window');
- me.saveTestResult(w);
- win.close();
- win.destroy();
- }
- },
- {
- xtype: 'button',
- columnWidth: 0.1,
- text: '关闭',
- width: 60,
- iconCls: 'x-button-icon-close',
- margin: '0 0 0 10',
- handler: function(btn) {
- var win = btn.up('window');
- win.close();
- win.destroy();
- }
- }]
- });
- },
- openUrl:function (e, el, obj){
- var f = obj.scope;
- if(f.value){
- if(f.dataIndex=='cb_prjcode'){
- openFormUrl(f.value,'prj_code','jsps/plm/project/project.jsp','立项申请');
- }else if(f.dataIndex=='cb_prcode'){
- openFormUrl(f.value,'pr_code','jsps/plm/project/projectReview.jsp','项目评审');
- }
- }
- },
- saveTestResult:function(w){
- var form=w.down('form'),values=form.getForm().getValues(),grid=Ext.getCmp('grid');
- var params=grid.getMultiSelected();
- params.formdata=unescape(escape(Ext.JSON.encode(values)));
- Ext.Ajax.request({
- url : basePath + 'plm/test/batchUpdateResult.action',
- params: params,
- method : 'post',
- callback : function(options,success,response){
- var localJson = new Ext.decode(response.responseText);
- if(localJson.exceptionInfo){
- showError(localJson.exceptionInfo);
- return "";
- }
- if(localJson.success){
- if(localJson.log){
- showMessage("提示", localJson.log);
- }
- Ext.getCmp('set').setDisabled(true);
- Ext.getCmp('set').setValue(null);
- grid.multiselected = new Array();
- grid.GridUtil.loadNewStore(grid,{
- caller:caller,
- condition:'cbd_cbid='+Ext.getCmp('cb_id').getValue()
- });
- showMessage('提示', '设置成功!', 1000);
- }
- }
- });
- }
- });
|