FormPanelController.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. from: 'pr_whid',
  101. to: 'ma_whid'
  102. }, {
  103. from: 'pr_whcode',
  104. to: 'ma_whcode'
  105. }, {
  106. from: 'pr_whname',
  107. to: 'ma_whname'
  108. }],
  109. aftertrigger: function (f, record) {
  110. if(record.data.id&&record.data.id>0){
  111. me.getBomData(record.data.id)
  112. }
  113. }
  114. });
  115. }
  116. },
  117. });
  118. },
  119. price_change: function (v) {
  120. var me = this,
  121. viewModel = me.getViewModel(),
  122. store = viewModel.get('detail0').detailStore,
  123. type = viewModel.get('ma_type');
  124. if ('拆件' == type && v == 0) {
  125. saas.util.BaseUtil.showErrorToast('成本单价为0!');
  126. }
  127. },
  128. getBomData: function (v) {
  129. var me = this,
  130. form = me.getView(),
  131. viewModel = me.getViewModel(),
  132. store = viewModel.get('detail0').detailStore,
  133. type = viewModel.get('ma_type'),
  134. loadData = new Array();
  135. //请求bom资料
  136. saas.util.BaseUtil.request({
  137. url: form._getBomUrl + '/' + v,
  138. method: 'GET',
  139. })
  140. .then(function (localJson) {
  141. if (localJson.success) {
  142. var data = localJson.data.items;
  143. Ext.Array.each(data, function (item, i) {
  144. loadData.push({
  145. mm_detno: item.bd_detno,
  146. mm_prodid: item.productDTO.id,
  147. mm_prodcode: item.productDTO.pr_code,
  148. mm_oneuseqty: item.bd_baseqty,
  149. pr_detail: item.productDTO.pr_detail,
  150. pr_spec: item.productDTO.pr_spec,
  151. pr_unit: item.productDTO.pr_unit,
  152. mm_repprodcode: item.bd_replace,
  153. mm_remark: item.bd_remark,
  154. mm_whid: item.productDTO.pr_whid,
  155. mm_whcode: item.productDTO.pr_whcode,
  156. mm_whname: item.productDTO.pr_whname,
  157. mm_price: type == '拆件' ? item.productDTO.pr_purcprice : null
  158. })
  159. });
  160. form.setDetailData(loadData);
  161. }
  162. })
  163. .catch(function (e) {
  164. saas.util.BaseUtil.showErrorToast('获取BOM资料失败: ' + e.message);
  165. });
  166. }
  167. });