Ext.define('make.view.make.makeDetail.QueryPanelController', { extend: 'saas.view.core.query.QueryPanelController', alias: 'controller.make-makedetail-querypanel', init: function (form) { var me = this; this.control({ 'dbfindtrigger[name=ma_salecode]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'sa_code',to:'ma_salecode', },{ from:'sa_custname',to:'sa_custname', }], }) ; } },'dbfindtrigger[name=ma_custname]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'cu_code',to:'cu_code', },{ from:'cu_name',to:'ma_custname', }], }) ; } },'dbfindtrigger[name=creatorName]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'em_code',to:'em_code' },{ from:'em_name',to:'creatorName' }], }) ; } },'dbfindtrigger[name=ma_auditman]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'em_code',to:'em_code' },{ from:'em_name',to:'ma_auditman', }], }) ; } },'dbfindtrigger[name=ma_prodcode]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'pr_code',to:'ma_prodcode', }, { from:'pr_detail',to:'pr_detail' }, { from:'pr_orispeccode',to:'pr_orispeccode' }, { from:'pr_brand',to:'pr_brand' }], }) ; } }, // 物料编号 'dbfindtrigger[name=pr_detail]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'pr_code',to:'mm_prodcode' }, { from:'pr_detail',to:'pr_detail' }, { from:'pr_orispeccode',to:'pr_orispeccode' }], }) ; } },'dbfindtrigger[name=makematerial.mm_prodcode]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'pr_code',to:'makematerial.mm_prodcode', }, { from:'pr_detail',to:'pr_detail' }, { from:'pr_orispeccode',to:'pr_orispeccode' }, { from:'pr_brand',to:'pr_brand' }], }) ; } }, }); }, /** * 批量发料 */ turnPick:function(form){ var me = this; var queryPanel = me.getView(), queryGrid = queryPanel.down('core-query-querygridpanel'); var data = me.getGridSelected(queryGrid); if(data && data.length>0){ form.setLoading(true); var params = JSON.stringify(data); saas.util.BaseUtil.request({ url: queryGrid.baseVastUrl+'batchPickWithQty', params: params, method: 'POST', async:false }) .then(function(res) { if (res.success) { form.setLoading(false); queryGrid.store.load(); if(res.data.error){ saas.util.BaseUtil.showErrorToast(res.data.error); }else{ saas.util.BaseUtil.showSuccessToast('转单成功'); } if(res.data.result){ Ext.Array.each(res.data.result, function(value) { var intValue = value.id, codeValue = value.code, name = '生产领料'; saas.util.BaseUtil.openTab('makepick-formpanel', name + "(" + codeValue + ")", codeValue + intValue, { initId: intValue }); }); } } }) .catch(function(res) { form.setLoading(false); saas.util.BaseUtil.showErrorToast(('操作失败: ') + res.message); }); }else{ saas.util.BaseUtil.showErrorToast('请勾选至少一条有效明细。'); } }, /** * 批量退料 */ turnBack:function(form){ var me = this; var queryPanel = me.getView(), queryGrid = queryPanel.down('core-query-querygridpanel'); var data = me.getGridSelected(queryGrid); if(data && data.length>0){ form.setLoading(true); var params = JSON.stringify(data); saas.util.BaseUtil.request({ url: queryGrid.baseVastUrl+'batchBackWithQty', params: params, method: 'POST', async:false }) .then(function(res) { if (res.success) { form.setLoading(false); queryGrid.store.load(); if(res.data.error){ saas.util.BaseUtil.showErrorToast(res.data.error); }else{ saas.util.BaseUtil.showSuccessToast('生成退料单成功'); } if(res.data.result){ Ext.Array.each(res.data.result, function(value) { var intValue = value.id, codeValue = value.code, name = '生产退料'; saas.util.BaseUtil.openTab('makereturn-formpanel', name + "(" + codeValue + ")", codeValue + intValue, { initId: intValue }); }); } } }) .catch(function(res) { form.setLoading(false); saas.util.BaseUtil.showErrorToast(('操作失败: ') + res.message); }); }else{ saas.util.BaseUtil.showErrorToast('请勾选至少一条有效明细。'); } }, /** * 批量报废 */ turnScrap:function(form){ var me = this; var queryPanel = me.getView(), queryGrid = queryPanel.down('core-query-querygridpanel'); var data = me.getGridSelected(queryGrid); if(data && data.length>0){ form.setLoading(true); var params = JSON.stringify(data); saas.util.BaseUtil.request({ url: queryGrid.baseVastUrl+'batchScrapWithQty', params: params, method: 'POST', async:false }) .then(function(res) { if (res.success) { form.setLoading(false); queryGrid.store.load(); if(res.data.error){ saas.util.BaseUtil.showErrorToast(res.data.error); }else{ saas.util.BaseUtil.showSuccessToast('生成报废单成功'); } if(res.data.result){ Ext.Array.each(res.data.result, function(value) { var intValue = value.id, codeValue = value.code, name = '生产报废'; saas.util.BaseUtil.openTab('makescrap-formpanel', name + "(" + codeValue + ")", codeValue + intValue, { initId: intValue }); }); } } }) .catch(function(res) { form.setLoading(false); saas.util.BaseUtil.showErrorToast(('操作失败: ') + res.message); }); }else{ saas.util.BaseUtil.showErrorToast('请勾选至少一条有效明细。'); } }, /** * 成套发料 */ turnSetPick:function(form){ var me = this; var queryPanel = me.getView(), queryGrid = queryPanel.down('core-query-querygridpanel'); var data = queryGrid.getGridSelected(); if(data && data.length>0){ form.setLoading(true); var params = JSON.stringify({baseDTOs:data}); saas.util.BaseUtil.request({ url: queryGrid.baseVastUrl+'batchSetPick', params: params, method: 'POST', async:false }) .then(function(res) { if (res.success) { form.setLoading(false); queryGrid.store.load(); if(res.data.error){ saas.util.BaseUtil.showErrorToast(res.data.error); }else{ saas.util.BaseUtil.showSuccessToast('套料发料成功'); } if(res.data.result){ Ext.Array.each(res.data.result, function(value) { var intValue = value.id, codeValue = value.code, name = '生产领料'; saas.util.BaseUtil.openTab('makepick-formpanel', name + "(" + codeValue + ")", codeValue + intValue, { initId: intValue }); }); } } }) .catch(function(res) { form.setLoading(false); saas.util.BaseUtil.showErrorToast(('操作失败: ') + res.message); }); }else{ saas.util.BaseUtil.showErrorToast('请勾选至少一条有效明细。'); } }, /** *获取grid 数据 */ getGridSelected:function(grid){ var me = this, items = grid.selModel.getSelection(), data = new Array() ; var ids=[]; Ext.each(items, function(item, index){ var o = new Object(); if(item.data['mm_thisqty']>0){ o['mm_id'] = item.data['mm_id']; o['mm_maid'] = item.data['ma_id']; o['mm_thisqty'] = item.data['mm_thisqty']; o['mm_prodcode'] = item.data['mm_prodcode']; data.push(o); } }); return data; } });