Ext.QuickTips.init(); Ext.define('erp.controller.scm.qc.VerifyApplyDetail', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), GridUtil: Ext.create('erp.util.GridUtil'), views: ['core.form.Panel', 'scm.qc.VerifyApplyDetail', 'core.grid.Panel2', 'core.toolbar.Toolbar', 'core.form.MultiField', 'core.button.Print', 'core.button.ResAudit', 'core.button.Audit', 'core.button.Close', 'core.form.FileField', 'core.button.Delete', 'core.button.Update', 'core.button.DeleteDetail', 'core.button.TurnMrb', 'core.button.Submit', 'core.button.ResSubmit', 'core.button.TurnQualityYC', 'core.button.Check', 'core.button.ResCheck', 'core.trigger.DbfindTrigger', 'core.trigger.TextAreaTrigger', 'core.form.YnField', 'core.grid.YnColumn'], init: function() { var me = this; this.control({ 'erpGridPanel2': { itemclick : this.onGridItemClick, afterrender: function(g) { g.plugins[0].on('beforeedit', function(args) { if (g.readOnly) { return false; } var status = args.record.data.ved_statuscode, isok=args.record.data.ved_isok, isng = args.record.data.ved_isng; if(status == 'AUDITED' || status == 'TURNIN') { return false; } if (args.field == "ved_okqty") { return me.isAllowUpdateOkQty(args.record); } if (args.field == "ved_ngqty") { return me.isAllowUpdateNgQty(args.record); } if (args.field == "ved_okqty" && isok == 1) { return false; } if (args.field == "ved_ngqty" && isng == 1) { return false; } }); }, reconfigure: function(grid) { if (Ext.getCmp('vad_qty')) { var qty = Ext.getCmp('vad_qty').value, record = grid.store.getAt(0); if (record.get('ved_okqty') == 0 && record.get('ved_ngqty') == 0 && record.get('ved_id') == 0) { record.set('ved_okqty', qty); } if (record.get('ved_checkqty') == 0 && record.get('ved_id') == 0) { record.set('ved_checkqty', qty); //ved_checkqty } } } }, 'erpDeleteButton': { click: function(btn) { me.FormUtil.onDelete(Ext.getCmp('ve_id').value); } }, 'erpUpdateButton': { click: function(btn) { var grid = Ext.getCmp('grid'); var qty = Ext.getCmp('vad_qty').value, record = grid.store.getAt(0); if (record.get('ved_okqty') == 0 && record.get('ved_ngqty') == 0) { record.set('ved_okqty', qty); } me.beforeUpdate(); } }, 'erpCloseButton': { click: function(btn) { me.FormUtil.beforeClose(me); } }, 'erpAuditButton': { click: function(btn) { if (Ext.getCmp('ve_result').value == '' || Ext.getCmp('ve_result').value == null) { alert("检验结果为空,请先填写再审核!"); return; } var grid = Ext.getCmp('grid'); var qty = Ext.getCmp('vad_qty').value, record = grid.store.getAt(0); if (record.get('ved_okqty') == qty && record.get('ved_id') == 0) { warnMsg('还未保存!是否先保存单据?', function(b) { if (b == 'ok' || b == 'yes') { me.beforeUpdate(); } }); } else { me.FormUtil.onAudit(Ext.getCmp('ve_id').value); } } }, 'erpResAuditButton': { afterrender: function(btn) { var status = Ext.getCmp('ve_statuscode'); if (status && status.value != 'AUDITED') { btn.hide(); } }, click: function(btn) { me.FormUtil.onResAudit(Ext.getCmp('ve_id').value); } }, 'erpPrintButton': { click: function(btn) { var condition = '{QUA_VerifyApplyDetail.ve_id}=' + Ext.getCmp('ve_id').value + ''; var id = Ext.getCmp('ve_id').value; reportName = "verifyMake"; me.FormUtil.onwindowsPrint(id, reportName, condition); } }, 'erpTurnMrbButton': { click: function(btn) { if (Ext.getCmp('ve_result').value != '不合格') { alert("检验结果不是不合格,不允许转MRB单!"); return; } warnMsg("确定要转Mrb单吗?", function(btn) { if (btn == 'yes') { var ve_id = Ext.getCmp('ve_id').value; Ext.Ajax.request({ //拿到grid的columns url: basePath + "scm/qc/turnMrb.action", params: { id: ve_id, code: Ext.getCmp('ve_code').value }, method: 'post', async: false, callback: function(options, success, response) { var localJson = new Ext.decode(response.responseText); if (localJson.exceptionInfo) { showError(localJson.exceptionInfo); } if (localJson.success) { alert("转Mrb单成功!"); } } }); } }); } }, 'erpTurnQualityYCButton': { /*afterrender: function(btn) { var status = Ext.getCmp('ve_statuscode'); if (status && status.value != 'AUDITED') { btn.hide(); } },*/ click: function(btn) { warnMsg("确定要转生产品质异常单吗?", function(btn) { if (btn == 'yes') { var ve_id = Ext.getCmp('ve_id').value; Ext.Ajax.request({ //拿到grid的columns url: basePath + "scm/qc/turnQualityYC.action", params: { id: ve_id, code: Ext.getCmp('ve_code').value }, method: 'post', async: false, callback: function(options, success, response) { me.FormUtil.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if (localJson.exceptionInfo) { showError(localJson.exceptionInfo); } if (localJson.success) { turnSuccess(function() { var id = localJson.id; var url = "jsps/scm/qc/makequalityyc.jsp?formCondition=mq_idIS" + id; me.FormUtil.onAdd('MakeQualityYC' + id, '生产品质异常单' + id, url); }); } } }); } }); } }, 'erpSubmitButton': { afterrender: function(btn) { var status = Ext.getCmp('ve_checkstatuscode'); if (status && status.value != 'UNAPPROVED' && status.value != null && status.value != '') { btn.hide(); } }, click: function(btn) { me.FormUtil.onSubmit(Ext.getCmp('ve_id').value); } }, 'erpResSubmitButton': { afterrender: function(btn) { var status = Ext.getCmp('ve_checkstatuscode'); if (status && status.value != 'COMMITED') { btn.hide(); } }, click: function(btn) { me.FormUtil.onResSubmit(Ext.getCmp('ve_id').value); } }, 'erpCheckButton': { afterrender: function(btn) { var status = Ext.getCmp('ve_checkstatuscode'); if (status && status.value != 'COMMITED') { btn.hide(); } }, click: function(btn) { me.FormUtil.onCheck(Ext.getCmp('ve_id').value); } }, 'erpResCheckButton': { afterrender: function(btn) { var status = Ext.getCmp('ve_checkstatuscode'); if (status && status.value != 'APPROVE') { btn.hide(); } }, click: function(btn) { me.FormUtil.onResCheck(Ext.getCmp('ve_id').value); } }, '#erpUpdateQtyButton': { afterrender: function(btn){ var status = Ext.getCmp('ve_statuscode'); if(status && status.value == 'UNAUDIT'){ btn.hide(); } }, click: function(btn){ var record=btn.ownerCt.ownerCt.getSelectionModel().getLastSelected(); me.updateQty(record); } } }); }, onGridItemClick: function(selModel, record) { //grid行选择 this.GridUtil.onGridItemClick(selModel, record); var grid = selModel.ownerCt, btn = grid.down('erpDeleteDetailButton'); if(btn && (record.get('ved_isok') == '1' || record.get('ved_isng') == '1')) btn.setDisabled(true); btn = Ext.getCmp('erpUpdateQtyButton'); if(btn && record.data.ved_statuscode != 'TURNIN'){ btn && btn.setDisabled(false); } }, updateQty:function(record){ var win = this.updateQtywindow; if (!win) { this.updateQtywindow = win = this.getUpdateQtyWindow(record); } win.show(); }, getComboData: function(table, field, callback) { var me = this; Ext.Ajax.request({ url : basePath + 'common/getFieldsDatas.action', params: { caller: 'DataListCombo', fields: 'dlc_value,dlc_display', condition: 'dlc_caller=\'' + table + '\' AND dlc_fieldname=\'' + field + '\'' }, method : 'post', callback : function(options,success,response){ var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ showError(localJson.exceptionInfo);return; } if(localJson.success){ var data = Ext.decode(localJson.data), arr = new Array(); for(var i in data) { arr.push({ display: data[i].DLC_VALUE, value: data[i].DLC_DISPLAY }); } callback.call(me, arr); } } }); }, getUpdateQtyWindow : function(record) { var me = this; var win = Ext.create('Ext.window.Window',{ width: 330, height: 300, closeAction: 'hide', cls: 'custom-blue', title:'