FormPanelController.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. Ext.define('saas.view.money.payBalance.FormPanelController', {
  2. extend: 'saas.view.core.form.FormPanelController',
  3. alias: 'controller.money-paybalance-formpanel',
  4. init: function (form) {
  5. var me = this;
  6. this.control({
  7. // 供应商名称
  8. 'dbfindtrigger[name=pb_vendname]':{
  9. beforerender: function (f) {
  10. Ext.apply(f, {
  11. dbfinds: [{
  12. from: 've_code',
  13. to: 'pb_vendcode'
  14. }, {
  15. from: 've_name',
  16. to: 'pb_vendname'
  17. },{
  18. from: 've_leftamount',
  19. to: 've_leftamount'
  20. },{
  21. from: 'id',
  22. to: 'pb_vendid',
  23. ignore:true
  24. }],
  25. });
  26. }
  27. },
  28. 'oriOrderMutiDbfindTrigger[name=pbd_slcode]': {
  29. beforerender: function (f) {
  30. Ext.apply(f, {
  31. dbfinds: [{
  32. from: 'id',
  33. to: 'pbd_slid'
  34. }, {
  35. from: 'sl_code',
  36. to: 'pbd_slcode'
  37. },{
  38. from: 'sl_orderamount',
  39. to: 'pbd_amount'
  40. },{
  41. from: 'sl_yamount',
  42. to: 'sl_yamount'
  43. },{
  44. from: 'sl_namount',
  45. to: 'sl_namount'
  46. },{
  47. from:'sl_date',
  48. to:'pbd_sldate'
  49. },{
  50. from:'sl_kind',
  51. to:'pbd_slkind'
  52. },{
  53. from:'sl_namount',
  54. to:'pbd_nowbalance'
  55. }],
  56. defaultCondition: "sl_vendid<>0 and sl_kind in ('期初余额','采购验收单','采购验退单') and sl_namount<>0"
  57. });
  58. }
  59. },
  60. 'dbfindtrigger[name=pd_bankname]':{
  61. beforerender: function (f) {
  62. Ext.apply(f, {
  63. dbfinds: [{
  64. from: 'id',
  65. to: 'pd_bankid',ignore:true
  66. }, {
  67. from: 'bk_bankcode',
  68. to: 'pd_bankcode'
  69. },{
  70. from: 'bk_bankname',
  71. to: 'pd_bankname'
  72. }],
  73. });
  74. }
  75. }
  76. });
  77. },
  78. addCombo:function(){
  79. var combo=this.ownerCmp;
  80. Ext.create('Ext.window.Window',{
  81. layout:'vbox',
  82. bodyPadding: 15,
  83. width:500,
  84. items:[{
  85. fieldLabel:'实际值',
  86. xtype:'textfield'
  87. },{
  88. fieldLabel:'显示值',
  89. xtype:'textfield'
  90. }],
  91. buttons:[{
  92. text:'确认',
  93. handler:function(b){
  94. combo.setValue('ok');
  95. b.up('window').close();
  96. }
  97. }],
  98. renderTo:this.ownerCmp.ownerCt.getEl()
  99. }).show();
  100. },
  101. turnIn: function() {
  102. var me = this,
  103. form = me.getView(),
  104. id = form.getForm().findField(form._idField);
  105. saas.util.BaseUtil.request({
  106. url: form._turnInUrl+id.value,
  107. method: 'GET',
  108. })
  109. .then(function(localJson) {
  110. if(localJson.success){
  111. saas.util.BaseUtil.showSuccessToast('转单成功');
  112. }
  113. })
  114. .catch(function(res) {
  115. console.error(res);
  116. saas.util.BaseUtil.showErrorToast('转单失败: ' + res.message);
  117. });
  118. },
  119. onSave: function() {
  120. var me = this,
  121. form = me.getView(),
  122. viewModel = me.getViewModel(),
  123. store1 = viewModel.get('detail0').detailStore,
  124. store2 = viewModel.get('detail1').detailStore;
  125. var valid = form.isValid();
  126. if(!valid) {
  127. saas.util.BaseUtil.showErrorToast(form.invalidText);
  128. return false;
  129. }
  130. var sum_pd_amount = store1.sum('pd_amount'); // 付款金额合计
  131. var pb_discounts = viewModel.get('pb_discounts'); // 折扣金额
  132. var sum_pbd_nowbalance = store2.sum('pbd_nowbalance'); // 本次核销金额合计
  133. var flag = sum_pd_amount + pb_discounts - sum_pbd_nowbalance;
  134. viewModel.set("pb_preamount",flag);
  135. if(flag != 0) {
  136. var t = flag > 0 ? '大' : '小';
  137. saas.util.BaseUtil.showConfirm('提示', '付款金额' + t + '于本次核销金额,是否仍要保存?')
  138. .then(function(y) {
  139. if(y == 'yes') {
  140. me.save();
  141. }
  142. });
  143. }else {
  144. me.save();
  145. }
  146. },
  147. vendnamechange:function(dbfindtrigger){
  148. var me = this,
  149. viewModel = me.getViewModel();
  150. var c = viewModel.get('pb_vendname_change');
  151. if(c!=null&&c!=''){
  152. c = ' and sl_vendid='+c;
  153. }else{
  154. c ='';
  155. }
  156. dbfindtrigger.defaultCondition = "sl_vendid<>0 and sl_kind in ('期初余额','采购验收单','采购验退单') and sl_namount<>0" + c;
  157. }
  158. });