Ext.define('make.view.osmake.osMake.QueryPanelController', { extend: 'saas.view.core.query.QueryPanelController', alias: 'controller.osmake-osmake-querypanel', init: function (form) { var me = this; this.control({ // 物料编号 'dbfindtrigger[name=pr_detail]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'pr_code',to:'pd_prodcode' }, { from:'pr_detail',to:'pr_detail' }, { from:'pr_orispeccode',to:'pr_orispeccode' }], }) ; } },'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=Prodiodetail.pd_prodcode]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'pr_code',to:'Prodiodetail.pd_prodcode', }, { from:'pr_detail',to:'pr_detail' }, { from:'pr_orispeccode',to:'pr_orispeccode' }, { from:'pr_brand',to:'pr_brand' }], }) ; } },'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_spec',to:'pr_spec' },{ from: 'pr_brand', to: 'pr_brand' },{ from: 'pr_orispeccode', to: 'pr_orispeccode' },{ from: 'pr_unit', to: 'pr_unit' }], }); } },'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=ma_vendname]':{ beforerender:function(f){ Ext.apply(f,{ dbfinds:[{ from:'ve_code',to:'ve_code', },{ from:'ve_name',to:'ma_vendname', }], }) ; } } }); }, /** * * @param {结案} form */ onEnd:function(form){ var me = this; var queryPanel = me.getView(), queryGrid = queryPanel.down('core-query-querygridpanel'); // queryGrid.vastOperation("batchEnd","结案"); url = queryGrid.baseVastUrl+'batchEnd', data = queryGrid.getGridSelected(), params = JSON.stringify({baseDTOs:data}); if(data && data.length>0){ form.setLoading(true); saas.util.BaseUtil.request({ url: url, 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 if(res.data.checkData){ //弹出结案检测的结果,弹出window me.showEndCheckDataWin(res.data.checkData); } } }) .catch(function(res) { form.setLoading(false); saas.util.BaseUtil.showErrorToast(('操作失败: ') + res.message); }); }else{ saas.util.BaseUtil.showErrorToast('请勾选至少一条明细。'); } }, /** * * @param {反结案} form */ onResEnd:function(form){ var me = this; var queryPanel = me.getView(), queryGrid = queryPanel.down('core-query-querygridpanel'); queryGrid.vastOperation("batchResEnd","反结案"); }, /** * * @param {外协领料} form */ onPick: function (form){ var me = this, queryPanel = me.getView(), queryGrid = queryPanel.down('core-query-querygridpanel'), url , data, params; if(queryPanel.down('checkbox[name=showDetail]').value && queryPanel.down('checkbox[name=showDetail]').showDetail){ url = '/api/make/material/batchPickWithQty'; data = me.getGridSelected(queryGrid); params = JSON.stringify(data); }else{ url = queryGrid.baseVastUrl+'batchPick'; data = queryGrid.getGridSelected(); params = JSON.stringify({baseDTOs:data}); }; if(data && data.length>0){ form.setLoading(true); saas.util.BaseUtil.request({ url: url, 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('osmakepick-formpanel', name + "(" + codeValue + ")", codeValue + intValue, { initId: intValue }); }); } } }) .catch(function(res) { form.setLoading(false); saas.util.BaseUtil.showErrorToast(('操作失败: ') + res.message); }); }else{ saas.util.BaseUtil.showErrorToast('请勾选至少一条明细。'); } }, /** * * @param {验收入库} form */ onIn: 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+'batchIn', params: params, method: 'POST', async:false }) .then(function(res) { if (res.success) { form.setLoading(false); queryGrid.store.load(); if(res.data){ Ext.Array.each(res.data, function(value) { var intValue = value.id, codeValue = value.code, name = '外协验收'; saas.util.BaseUtil.openTab('osmake-osmakecheckin-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; }, intelligentMake: function() { var me = this, queryPanel = me.getView(), gridPanel = queryPanel.down('core-query-querygridpanel'), id = 'selfMakeBalance'; appId = saas.util.BaseUtil.getCompanyApp(); saas.util.BaseUtil.openTab('sale-selfmakebalance-querypanel','智能工单',id); }, /** * 显示结案检测结果弹框 */ showEndCheckDataWin: function(data){ var me = this, base = me.getView(), vm = base.getViewModel(); tab = saas.util.BaseUtil.getCurrentTab(), win = tab.add({ xtype: 'make-makebase-endcheck-window', modal: true, onConfirm: function () { win.close(); } }); win.show(); win.loadData(data); }, });