Ext.QuickTips.init(); Ext.define('erp.controller.scm.purchase.VerifyApply', { 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','scm.purchase.VerifyApply','core.grid.Panel2','core.toolbar.Toolbar','core.form.MultiField', 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit', 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail', 'core.button.ResSubmit','core.button.TurnStorage','core.button.TurnCheck','core.button.PrintBar', 'core.button.ClearSubpackage','core.button.Subpackage','core.button.ProduceBatch', 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.trigger.MultiDbfindTrigger' ], init:function(){ var me = this; me.allowinsert = true; this.control({ 'erpGridPanel2': { itemclick: function(selModel, record){ if(record.data.vad_id > 0){ var btn = selModel.ownerCt.down('#erpEditSubpackageButton'); if(btn && !btn.hidden) btn.setDisabled(false); } this.onGridItemClick(selModel, record); } }, 'erpSaveButton': { click: function(btn){ var form = me.getForm(btn); if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){ me.BaseUtil.getRandomNumber();//自动添加编号 } //保存之前的一些前台的逻辑判定 this.beforeSave(); } }, 'erpDeleteButton' : { click: function(btn){ me.FormUtil.onDelete(Ext.getCmp('va_id').value); } }, '#erpEditSubpackageButton': { afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ var record=btn.ownerCt.ownerCt.getSelectionModel().getLastSelected(); me.EditSubpackage(record); } }, 'erpUpdateButton': { afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'ENTERING' && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.beforeUpdate(); } }, 'erpAddButton': { click: function(){ me.FormUtil.onAdd('addVerifyApply', '新增采购收料单', 'jsps/scm/purchase/verifyApply.jsp'); } }, 'erpCloseButton': { click: function(btn){ me.FormUtil.beforeClose(me); } }, 'erpSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'ENTERING'){ btn.hide(); } }, click: function(btn){ var bool = true; var grid = Ext.getCmp('grid'); var items = grid.store.data.items; Ext.each(items, function(item){ if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){ if(item.data['vad_qty'] == null || item.data['vad_qty'] == '' || item.data['vad_qty'] == '0' || item.data['vad_qty'] == 0){ bool = false; showError('明细表第' + item.data['vad_detno'] + '行的数量为空或0');return; } } }); if(bool){ me.FormUtil.onSubmit(Ext.getCmp('va_id').value); } } }, 'erpResSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResSubmit(Ext.getCmp('va_id').value); } }, 'erpAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onAudit(Ext.getCmp('va_id').value); } }, 'erpResAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResAudit(Ext.getCmp('va_id').value); } }, 'erpPrintButton': { click:function(btn){ var reportName="VerifyApply"; var condition='{VerifyApply.va_id}='+Ext.getCmp('va_id').value+''; var id=Ext.getCmp('va_id').value; me.FormUtil.onwindowsPrint(id,reportName,condition); } }, /*'erpTurnStorageButton': { afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.getActiveTab().setLoading(true);//loading... Ext.Ajax.request({ url : basePath + "scm/purchase/turnStorage.action", params: { id: Number(Ext.getCmp('va_id').value) }, method : 'post', callback : function(options,success,response){ me.FormUtil.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.success){ turninSuccess(function(){ var id = localJson.id; var url = "jsps/scm/reserve/prodInOut.jsp?whoami=ProdInOut!PurcCheckin&formCondition=pi_id=" + id + "&gridCondition=pd_piid=" + id; me.FormUtil.onAdd('ProdInOut' + id, '入库单' + id, url); window.location.href = window.location.href; }); } else { if(localJson.exceptionInfo){ var str = localJson.exceptionInfo; if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面 str = str.replace('AFTERSUCCESS', ''); showError(str); turninSuccess(function(){ var id = localJson.id; var url = "jsps/scm/reserve/prodInOut.jsp?whoami=ProdInOut!PurcCheckin&formCondition=pi_id=" + id + "&gridCondition=pd_piid=" + id; me.FormUtil.onAdd('ProdInOut' + id, '入库单' + id, url); window.location.href = window.location.href; }); } else { showError(str);return; } } } } }); } },*/ 'erpTurnCheckButton': { afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, buffer : 3000, click: { fn:function(btn){ me.turnQC(); }, lock:2000 } }, 'dbfindtrigger[name=vad_pucode]': { focus: function(t){ t.setHideTrigger(false); t.setReadOnly(false); if(Ext.getCmp('va_vendcode')){ var code = Ext.getCmp('va_vendcode').value; if(code == null || code == ''){ showError("请先选择供应商!"); t.setHideTrigger(true); t.setReadOnly(true); } else { var obj = me.getBaseCondition(); if(obj.vendor){ t.dbBaseCondition = obj.vendor + "='" + code + "'"; } } } } }, 'multidbfindtrigger[name=vad_pudetno]': { focus: function(t){ t.setHideTrigger(false); t.setReadOnly(false); var record = Ext.getCmp('grid').selModel.getLastSelected(); var code = record.data['vad_pucode']; if(code == null || code == ''){ showError("请先选择关联单号!"); t.setHideTrigger(true); t.setReadOnly(true); } else { var obj = me.getBaseCondition(); if(obj.field){ t.dbBaseCondition = obj.field + "='" + code + "'"; } } } }, 'dbfindtrigger[name=vad_pudetno]': { focus: function(t){ t.setHideTrigger(false); t.setReadOnly(false); var record = Ext.getCmp('grid').selModel.getLastSelected(); var code = record.data['vad_pucode']; if(code == null || code == ''){ showError("请先选择关联单号!"); t.setHideTrigger(true); t.setReadOnly(true); } else { var obj = me.getBaseCondition(); if(obj.field){ t.dbBaseCondition = obj.field + "='" + code + "'"; } } } }, 'erpProduceBatchButton':{ // afterrender:function(btn){ // var status=Ext.getCmp('va_statuscode'); // if(status && status.value !='ENTERING'){ // btn.hide(); // } // }, click:function(btn){ var id=Ext.getCmp('va_id').value; me.FormUtil.setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'scm/purchase/ProduceBatch.action', params: { id:id }, method : 'post', callback: function(opt, s, r) { me.FormUtil.setLoading(false); var rs = Ext.decode(r.responseText); if(rs.exceptionInfo) { showError(rs.exceptionInfo); } else { showMessage('提示', '产生批号成功!',1000); var grid=Ext.getCmp('grid'); var param={ caller:caller, condition:gridCondition }; me.GridUtil.loadNewStore(grid,param); } } }); } }, 'erpSubpackageButton':{ afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ warnMsg("确定分装?", function(btn){ if(btn == 'yes'){ me.FormUtil.setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'scm/purchase/Subpackage.action', params: { id: Ext.getCmp('va_id').value }, method : 'post', callback: function(opt, s, r) { me.FormUtil.setLoading(false); var rs = Ext.decode(r.responseText); if(rs.exceptionInfo) { showError(rs.exceptionInfo); } else { if(rs.log) showMessage('提示', rs.log); } } }); } }); } }, 'erpClearSubpackageButton':{ afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ warnMsg("确定清除分装?", function(btn){ if(btn == 'yes'){ me.FormUtil.setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'scm/purchase/ClearSubpackage.action', params: { id: Ext.getCmp('va_id').value }, method : 'post', callback: function(opt, s, r) { me.FormUtil.setLoading(false); var rs = Ext.decode(r.responseText); if(rs.exceptionInfo) { showError(rs.exceptionInfo); } else { if(rs.log) showMessage('提示', rs.log); } } }); } }); } }, 'erpPrintBarButton':{ click: function(btn){ var reportName = "bar_52"; var condition = '{VerifyApplyDetailP.vadp_vacode}=' +"'"+ Ext.getCmp('va_code').value + "'"; var id = Ext.getCmp('va_id').value; me.FormUtil.onwindowsPrint(id, reportName, condition); } } }); }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, onGridItemClick: function(selModel, record){//grid行选择 this.GridUtil.onGridItemClick(selModel, record); }, getBaseCondition: function(){ var field = null; var vendor = ''; switch (caller) { case 'VerifyApply': //采购收料单 field = "pd_code"; vendor="pu_vendcode"; break; case 'VerifyApply!OS': //委外收料单 field = "mm_code"; vendor="ma_vendcode"; break; } var obj = new Object(); obj.field = field; obj.vendor = vendor; return obj; }, turnQC:function(){ var grid = Ext.getCmp('grid'),items = grid.store.data.items,data = new Array(); var vaclass = Ext.getCmp('va_class').value,url=""; if(vaclass == '采购收料单'){ url = "scm/purchase/turnIQC.action"; } else if(vaclass == '委外收料单'){ url = "pm/make/turnFQC.action"; } Ext.each(items, function(item){ data.push({vad_id: item.data.vad_id}); }); grid.setLoading(true);//loading... Ext.Ajax.request({ url : basePath + url, params: { data: Ext.encode(data) }, method : 'post', callback : function(options,success,response){ grid.setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ showError(localJson.exceptionInfo); return ""; } if(localJson.success){ if(localJson.log){ showMessage("提示", localJson.log); } window.location.reload(); } } }); }, beforeSave: function(){ var bool = true; var grid = Ext.getCmp('grid'); var items = grid.store.data.items, whcode = Ext.getCmp('va_whcode').value; Ext.each(items, function(item){ if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){ if(item.data['vad_whcode'] == null){ item.set('vad_whcode', whcode); } if(item.data['vad_qty'] == null || item.data['vad_qty'] == '' || item.data['vad_qty'] == '0' || item.data['vad_qty'] == 0){ bool = false; showError('明细表第' + item.data['vad_detno'] + '行的数量为空或0');return; } if(item.data['vad_unitpackage'] == null || item.data['vad_unitpackage'] == ''|| item.data['vad_unitpackage'] == '0' || item.data['vad_unitpackage'] == 0){ item.set('vad_unitpackage', item.data['vad_qty']); } } }); if(bool){ this.FormUtil.beforeSave(this); } }, beforeUpdate: function(){ var bool = true; var grid = Ext.getCmp('grid'); var items = grid.store.data.items, whcode = Ext.getCmp('va_whcode').value; Ext.each(items, function(item){ if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){ if(item.data['vad_whcode'] == null){ item.set('vad_whcode', whcode); } if(item.data['vad_qty'] == null || item.data['vad_qty'] == '' || item.data['vad_qty'] == '0' || item.data['vad_qty'] == 0){ bool = false; showError('明细表第' + item.data['vad_detno'] + '行的数量为空或0');return; } if(item.data['vad_unitpackage'] == null || item.data['vad_unitpackage'] == ''|| item.data['vad_unitpackage'] == '0' || item.data['vad_unitpackage'] == 0){ item.set('vad_unitpackage', item.data['vad_qty']); } } }); if(bool){ this.FormUtil.onUpdate(this); } }, /** *编辑分装明细 **/ EditSubpackage:function(record){ var width = Ext.isIE ? screen.width*0.7*0.9 : '80%', height = Ext.isIE ? screen.height*0.75 : '100%'; var vad_id = record.get('vad_id'); Ext.create('Ext.Window', { width: width, height: height, autoShow: true, layout: 'anchor', items: [{ tag : 'iframe', frame : true, anchor : '100% 100%', layout : 'fit', html : '' }] }); } });