FormPanelController.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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_unit',
  60. to: 'pr_unit'
  61. }, {
  62. from: 'po_avprice',
  63. to: 'mm_price'
  64. }],
  65. });
  66. }
  67. },
  68. 'bomDbfindTrigger[name=ma_prodcode]': {
  69. beforerender: function (f) {
  70. Ext.apply(f, {
  71. //放大镜赋值设置
  72. dbfinds: [{
  73. from: 'bo_motherid',
  74. to: 'ma_prodid'
  75. }, {
  76. from: 'bo_mothercode',
  77. to: 'ma_prodcode'
  78. }, {
  79. from: 'bo_mothername',
  80. to: 'ma_proddetail'
  81. }, {
  82. from: 'pr_spec',
  83. to: 'ma_prodspec'
  84. }, {
  85. from: 'pr_unit',
  86. to: 'ma_produnit'
  87. }, {
  88. from: 'bo_version',
  89. to: 'ma_version'
  90. }],
  91. aftertrigger: function (f, record) {
  92. me.getBomData(record.data.id)
  93. }
  94. });
  95. }
  96. },
  97. });
  98. },
  99. price_change: function (v) {
  100. var me = this,
  101. viewModel = me.getViewModel(),
  102. store = viewModel.get('detail0').detailStore,
  103. type = viewModel.get('ma_type');
  104. if ('拆件' == type && v == 0) {
  105. saas.util.BaseUtil.showErrorToast('成本单价为0!');
  106. }
  107. },
  108. getBomData: function (v) {
  109. var me = this,
  110. form = me.getView(),
  111. viewModel = me.getViewModel(),
  112. store = viewModel.get('detail0').detailStore,
  113. type = viewModel.get('ma_type'),
  114. loadData = new Array();
  115. //请求bom资料
  116. saas.util.BaseUtil.request({
  117. url: form._getBomUrl + '/' + v,
  118. method: 'GET',
  119. })
  120. .then(function (localJson) {
  121. if (localJson.success) {
  122. var data = localJson.data.items;
  123. Ext.Array.each(data, function (item, i) {
  124. loadData.push({
  125. mm_detno: item.bd_detno,
  126. mm_prodid: item.productDTO.id,
  127. mm_prodcode: item.productDTO.pr_code,
  128. mm_oneuseqty: item.bd_baseqty,
  129. pr_detail: item.productDTO.pr_detail,
  130. pr_spec: item.productDTO.pr_spec,
  131. pr_unit: item.productDTO.pr_unit,
  132. mm_repprodcode: item.bd_replace,
  133. mm_remark: item.bd_remark,
  134. mm_whid: item.productDTO.pr_whid,
  135. mm_whcode: item.productDTO.pr_whcode,
  136. mm_whname: item.productDTO.pr_whname,
  137. mm_price: type == '拆件' ? item.productDTO.pr_purcprice : null
  138. })
  139. });
  140. store.loadData(loadData);
  141. }
  142. })
  143. .catch(function (res) {
  144. console.error(res);
  145. saas.util.BaseUtil.showErrorToast('获取BOM资料失败: ' + res.message);
  146. });
  147. }
  148. });