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.TurnCheck','core.button.PrintBar', 'core.button.ClearSubpackage','core.button.Subpackage','core.button.ProduceBatch', 'core.button.GridWin','core.button.TurnPurcProdIO', 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.trigger.MultiDbfindTrigger','core.button.Barcode' ], 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); btn = selModel.ownerCt.down('#erpUpdateDetailWHCode'); if(btn && !btn.hidden) btn.setDisabled(false); } this.onGridItemClick(selModel, record); } }, 'erpGridWinButton':{ afterrender: function(btn){ var id = Ext.getCmp('va_id').value; btn.setConfig({ text: '费用明细', caller: 'ProdChargeDetail!AN', condition: 'pd_anid=' + id, paramConfig: { pd_anid: id } }); }, beforesave : function(btn) { var f = btn.ownerCt.ownerCt, p = f.down('field[name=va_turnstatuscode]'); if (p && 'TURNIN' == p.getValue()) { Ext.Msg.alert("提示","该单据已入库,不能修改费用明细!"); return false; } return true; } }, 'erpSaveButton': { click: function(btn){ var bool = true; if(Ext.getCmp('va_date').value > new Date()){ bool = false; showError('收料日期大于系统当前日期');return; } if(bool){ 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': { 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?whoami='+caller); } }, '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; if(Ext.getCmp('va_date').value > new Date()){ bool = false; showError('收料日期大于系统当前日期');return; } 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.onwindowsPrint2(id,reportName,condition); } }, 'erpTurnPurcProdIOButton':{ 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'){ var id = Ext.getCmp('va_id').value; me.FormUtil.setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'scm/purchase/turnStorage.action', params: { id: id }, method : 'post', callback : function(options,success,response){ me.FormUtil.setLoading(false); var r = new Ext.decode(response.responseText); if(r.exceptionInfo){ showError(r.exceptionInfo); } else { if(r.log) { showMessage('提示', r.log); var grid = Ext.getCmp('grid'); grid.GridUtil.loadNewStore(grid, { caller: caller, condition: 'vad_vaid=' + id }); } } } }); } }); } }, 'erpTurnCheckButton': { afterrender: function(btn){ var status = Ext.getCmp('va_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, buffer : 3000, click: function(btn){ 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(); } } }); } }, '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); } }, '#erpUpdateDetailWHCode':{ click: function(btn) { var record = btn.ownerCt.ownerCt.getSelectionModel().getLastSelected(); this.UpdateDetailWHCode(record); } }, }); }, /** *修改明细仓库 * */ UpdateDetailWHCode:function(record){ var me = this; var win=Ext.create('Ext.window.Window', { width: 430, height: 250, closeAction: 'destroy', title: '

修改仓库信息

', layout: { type: 'vbox' }, items: [{ margin: '5 0 0 5', xtype: 'dbfindtrigger', fieldLabel: '仓库编号', name: 'whcode', value: record.data.vad_whcode, id:'whcode' }, { margin: '5 0 0 5', xtype: 'textfield', fieldLabel: '仓库名称', name: 'whname', value: record.data.vad_whname, id:'whname' },{ margin: '5 0 0 5', xtype:'checkbox', fieldLabel:'是否修改所有明细', labelWidth:120, name:'isalldetail', id:'isalldetail' }], buttonAlign: 'center', buttons: [{ xtype: 'button', text: '保存', width: 60, iconCls: 'x-button-icon-save', handler: function(btn) { var w = btn.up('window'); me.saveWhInfo(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(); } }] }); win.show(); }, saveWhInfo:function(w){ var whcode = w.down('field[name=whcode]').getValue(); var isalldetail = w.down('field[name=isalldetail]').getValue(); grid = Ext.getCmp('grid'), record = grid.getSelectionModel().getLastSelected(); if (!whcode) { showError('请先设置仓库信息!'); return; } else { var dd = { whcode:whcode, whname:w.down('field[name=whname]').getValue(), vad_id: record.data.vad_id, vad_vaid: record.data.vad_vaid, isalldetail:isalldetail }; Ext.Ajax.request({ url: basePath + 'scm/qc/updateWhCodeInfo.action', params: { data: unescape(Ext.JSON.encode(dd)), caller: caller }, method: 'post', callback: function(opt, s, res) { var r = new Ext.decode(res.responseText); if (r.success) { grid.GridUtil.loadNewStore(grid, { caller: caller, condition: gridCondition }); showMessage('提示', '更新成功!', 1000); } else if (r.exceptionInfo) { showError(r.exceptionInfo); } else { saveFailure(); } } }); } }, 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; }, beforeSave: function(){ 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(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; if(Ext.getCmp('va_date').value > new Date()){ bool = false; showError('收料日期大于系统当前日期');return; } 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(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'); var va_code = "'"+Ext.getCmp("va_code").value+"'"; Ext.create('Ext.Window', { width: width, height: height, autoShow: true, layout: 'anchor', items: [{ tag : 'iframe', frame : true, anchor : '100% 100%', layout : 'fit', html : '' }] }); } });