QueryPanelController.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. Ext.define('make.view.osmake.reconciliation.QueryPanelController', {
  2. extend: 'saas.view.core.query.QueryPanelController',
  3. alias: 'controller.osmake-reconciliation-querypanel',
  4. init: function (form) {
  5. var me = this;
  6. this.control({});
  7. },
  8. showDetail: function (gridview, recordIndex, cellIndex, item, e, record) {
  9. var me = this,
  10. form = me.getView().down('form'),
  11. pi_date = form.down('[name="pi_date"]') ;
  12. var v = new Object;
  13. v.vendname = record.get('ac_vendname');
  14. v.currency = record.get('ac_currency');
  15. v.pidate = pi_date.getValue();
  16. saas.util.BaseUtil.openTab('osmake-reconciliation-querypanel-detail', '应付对账明细','maintab--reconciliationOS'+v.vendid,{
  17. hasOtherInfo:true,
  18. otherInfoDetail: v
  19. });
  20. },
  21. turnApCheck:function(form){
  22. var me = this;
  23. var queryPanel = me.getView(),
  24. queryGrid = queryPanel.down('core-query-querygridpanel');
  25. var data = me.getGridSelected('turnApCheck');
  26. if(data&&data.length>0){
  27. form.setLoading(true);
  28. var params = JSON.stringify({baseDTOs:data});
  29. saas.util.BaseUtil.request({
  30. url: queryGrid.baseVastUrl+'turnApCheck',
  31. params: params,
  32. method: 'POST',
  33. async:false
  34. })
  35. .then(function(res) {
  36. if (res.success) {
  37. form.setLoading(false);
  38. queryGrid.store.load();
  39. var intValue = res.data.id,
  40. codeValue = res.data.code,
  41. name = '外协对账单';
  42. saas.util.BaseUtil.openTab('osmake-reconciliation-formpanel', name + "(" + codeValue + ")", codeValue + intValue, {
  43. initId: intValue
  44. });
  45. saas.util.BaseUtil.showSuccessToast('转单成功');
  46. }
  47. })
  48. .catch(function(res) {
  49. form.setLoading(false);
  50. saas.util.BaseUtil.showErrorToast(('操作失败: ') + res.message);
  51. });
  52. }else{
  53. saas.util.BaseUtil.showErrorToast('请勾选至少一条明细。');
  54. }
  55. },
  56. getGridSelected:function(type){
  57. var me = this,
  58. data = new Array() ;
  59. var queryPanel =me.getView(),queryGrid = queryPanel.down('core-query-querygridpanel'),
  60. mode = queryPanel.getQueryMode();
  61. var items = queryGrid.selModel.getSelection();
  62. var ids=[];
  63. Ext.each(items, function(item, index){
  64. if(item.data['apcheckstatus']!='已对账' && item.data['apcheckstatus']!='已转对账'){
  65. if(!Ext.isEmpty(item.data[queryGrid.idField])&&!Ext.isEmpty(item.data[queryGrid.codeField])){
  66. var o = new Object();
  67. //展示明细数据时,通过配置mainIdField 批量审核或批量反审核传主记录ID (例如备货订单列表)
  68. if(queryGrid.mainIdField && (type=='batchAudit' || type=='batchUnAudit')){
  69. o['id'] = item.data[queryGrid.mainIdField];
  70. }else {
  71. if(mode=='MAIN' && queryGrid.mainIdField){
  72. o['id'] = item.data[queryGrid.mainIdField];
  73. }else if(mode=='DETAIL' && queryGrid.detailIdField){
  74. o['id'] = item.data[queryGrid.detailIdField];
  75. }else{
  76. o['id'] = item.data[queryGrid.idField];
  77. }
  78. }
  79. }
  80. if(queryGrid.codeField){
  81. o['code'] = item.data[queryGrid.codeField];
  82. }
  83. if(queryGrid.turnQtyField){
  84. o['qty'] = item.data[queryGrid.turnQtyField];
  85. }
  86. if(!Ext.Array.contains(ids,o['id'])){
  87. ids.push(o['id']);
  88. data.push(o);
  89. }
  90. }
  91. });
  92. return data;
  93. },
  94. turnBillOutAp:function(form){
  95. var me = this;
  96. var queryPanel = me.getView(),
  97. queryGrid = queryPanel.down('core-query-querygridpanel');
  98. var data = queryGrid.getGridSelected('turnBillOutAp');
  99. if(data&&data.length>0){
  100. form.setLoading(true);
  101. var params = JSON.stringify({baseDTOs:data});
  102. saas.util.BaseUtil.request({
  103. url: queryGrid.baseVastUrl+'turnBillOutAP',
  104. params: params,
  105. method: 'POST',
  106. async:false
  107. })
  108. .then(function(res) {
  109. if (res.success) {
  110. form.setLoading(false);
  111. queryGrid.store.load();
  112. var intValue = res.data.id,
  113. codeValue = res.data.code,
  114. name = '应付发票';
  115. saas.util.BaseUtil.openTab('money-billoutap-formpanel', name + "(" + codeValue + ")", codeValue + intValue, {
  116. initId: intValue
  117. });
  118. saas.util.BaseUtil.showSuccessToast('转单成功');
  119. }
  120. })
  121. .catch(function(res) {
  122. form.setLoading(false);
  123. saas.util.BaseUtil.showErrorToast(('操作失败: ') + res.message);
  124. });
  125. }else{
  126. saas.util.BaseUtil.showErrorToast('请勾选至少一条明细。');
  127. }
  128. }
  129. });