FormPanelController.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. Ext.define('saas.view.stock.make.FormPanelController', {
  2. extend: 'saas.view.core.form.FormPanelController',
  3. alias: 'controller.stock-make-formpanel',
  4. init: function (form) {
  5. var me = this;
  6. this.control({
  7. //放大镜赋值关系 以及 tpl模板
  8. 'dbfindtrigger[name=ma_whname]': {
  9. beforerender: function (f) {
  10. Ext.apply(f, {
  11. dbfinds: [{
  12. from: 'id',
  13. to: 'ma_whid',
  14. ignore: true
  15. }, {
  16. from: 'wh_code',
  17. to: 'ma_whcode'
  18. }, {
  19. from: 'wh_description',
  20. to: 'ma_whname'
  21. }],
  22. });
  23. }
  24. },
  25. //放大镜赋值关系 以及 tpl模板
  26. 'dbfindtrigger[name=mm_whname]': {
  27. beforerender: function (f) {
  28. Ext.apply(f, {
  29. dbfinds: [{
  30. from: 'id',
  31. to: 'mm_whid',
  32. ignore: true
  33. }, {
  34. from: 'wh_code',
  35. to: 'mm_whcode'
  36. }, {
  37. from: 'wh_description',
  38. to: 'mm_whname'
  39. }]
  40. });
  41. }
  42. },
  43. 'multidbfindtrigger[name=mm_prodcode]': {
  44. beforerender: function (f) {
  45. Ext.apply(f, {
  46. dbfinds: [{
  47. from: 'pr_code',
  48. to: 'mm_prodcode'
  49. }, {
  50. from: 'id',
  51. to: 'mm_prodid'
  52. }, {
  53. from: 'pr_detail',
  54. to: 'pr_detail'
  55. }, {
  56. from: 'pr_spec',
  57. to: 'pr_spec'
  58. },{
  59. from: 'pr_brand', to: 'pr_brand'
  60. },{
  61. from: 'pr_orispeccode', to: 'pr_orispeccode'
  62. },{
  63. from: 'pr_unit', to: 'pr_unit'
  64. }, {
  65. from: 'pr_unit',
  66. to: 'pr_unit'
  67. }, {
  68. from: 'po_avprice',
  69. to: 'mm_price'
  70. }],
  71. });
  72. }
  73. },
  74. 'bomDbfindTrigger[name=ma_prodcode]': {
  75. beforerender: function (f) {
  76. Ext.apply(f, {
  77. //放大镜赋值设置
  78. dbfinds: [{
  79. from: 'bo_motherid',
  80. to: 'ma_prodid'
  81. }, {
  82. from: 'bo_mothercode',
  83. to: 'ma_prodcode'
  84. }, {
  85. from: 'bo_mothername',
  86. to: 'ma_proddetail'
  87. }, {
  88. from: 'pr_spec',
  89. to: 'ma_prodspec'
  90. }, {
  91. from: 'pr_unit',
  92. to: 'ma_produnit'
  93. }, {
  94. from: 'bo_version',
  95. to: 'ma_version'
  96. }, {
  97. from: 'pr_orispeccode',
  98. to: 'ma_prodorispec'
  99. }],
  100. aftertrigger: function (f, record) {
  101. me.getBomData(record.data.id)
  102. }
  103. });
  104. }
  105. },
  106. });
  107. },
  108. price_change: function (v) {
  109. var me = this,
  110. viewModel = me.getViewModel(),
  111. store = viewModel.get('detail0').detailStore,
  112. type = viewModel.get('ma_type');
  113. if ('拆件' == type && v == 0) {
  114. saas.util.BaseUtil.showErrorToast('成本单价为0!');
  115. }
  116. },
  117. getBomData: function (v) {
  118. var me = this,
  119. form = me.getView(),
  120. viewModel = me.getViewModel(),
  121. store = viewModel.get('detail0').detailStore,
  122. type = viewModel.get('ma_type'),
  123. loadData = new Array();
  124. //请求bom资料
  125. saas.util.BaseUtil.request({
  126. url: form._getBomUrl + '/' + v,
  127. method: 'GET',
  128. })
  129. .then(function (localJson) {
  130. if (localJson.success) {
  131. var data = localJson.data.items;
  132. Ext.Array.each(data, function (item, i) {
  133. loadData.push({
  134. mm_detno: item.bd_detno,
  135. mm_prodid: item.productDTO.id,
  136. mm_prodcode: item.productDTO.pr_code,
  137. mm_oneuseqty: item.bd_baseqty,
  138. pr_detail: item.productDTO.pr_detail,
  139. pr_spec: item.productDTO.pr_spec,
  140. pr_unit: item.productDTO.pr_unit,
  141. mm_repprodcode: item.bd_replace,
  142. mm_remark: item.bd_remark,
  143. mm_whid: item.productDTO.pr_whid,
  144. mm_whcode: item.productDTO.pr_whcode,
  145. mm_whname: item.productDTO.pr_whname,
  146. mm_price: type == '拆件' ? item.productDTO.pr_purcprice : null
  147. })
  148. });
  149. form.setDetailData(loadData);
  150. }
  151. })
  152. .catch(function (res) {
  153. console.error(res);
  154. saas.util.BaseUtil.showErrorToast('获取BOM资料失败: ' + res.message);
  155. });
  156. }
  157. });