FormPanelController.js 5.5 KB

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