BOMCost.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.sale.BOMCost', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. GridUtil: Ext.create('erp.util.GridUtil'),
  6. BaseUtil: Ext.create('erp.util.BaseUtil'),
  7. views:[
  8. 'core.form.Panel','scm.sale.BOMCost','core.grid.Panel2','core.toolbar.Toolbar','core.form.MultiField',
  9. 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit',
  10. 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail','core.button.ResSubmit',
  11. 'core.button.Banned','core.button.ResBanned','core.grid.YnColumn','core.button.BOMCost','core.button.BOMInsert','core.button.BOMVastCost',
  12. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.form.YnField'
  13. ],
  14. init:function(){
  15. var me = this;
  16. this.control({
  17. 'erpGridPanel2': {
  18. itemclick: this.onGridItemClick
  19. },
  20. 'erpSaveButton': {
  21. click: function(btn){
  22. var form = me.getForm(btn);
  23. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  24. me.BaseUtil.getRandomNumber();//自动添加编号
  25. }
  26. this.FormUtil.beforeSave(this);
  27. }
  28. }
  29. ,
  30. 'erpDeleteButton' : {
  31. click: function(btn){
  32. me.FormUtil.onDelete(Ext.getCmp('bc_id').value);
  33. }
  34. },
  35. 'erpUpdateButton': {
  36. afterrender: function(btn){
  37. var status = Ext.getCmp('bc_checkstatuscode');
  38. if(status && status.value != 'ENTERING'){
  39. btn.hide();
  40. }
  41. },
  42. click: function(btn){
  43. this.FormUtil.onUpdate(this);
  44. }
  45. },
  46. 'erpAddButton': {
  47. click: function(){
  48. me.FormUtil.onAdd('addBOMCost', '新增BOM成本表', 'jsps/scm/sale/bomcost.jsp');
  49. }
  50. },
  51. 'erpCloseButton': {
  52. click: function(btn){
  53. me.FormUtil.beforeClose(me);
  54. }
  55. },
  56. 'erpSubmitButton': {
  57. afterrender: function(btn){
  58. var status = Ext.getCmp('bc_checkstatuscode');
  59. if(status && status.value != 'ENTERING'){
  60. btn.hide();
  61. }
  62. },
  63. click: function(btn){
  64. me.FormUtil.onSubmit(Ext.getCmp('bc_id').value);
  65. }
  66. },
  67. 'erpResSubmitButton': {
  68. afterrender: function(btn){
  69. var status = Ext.getCmp('bc_checkstatuscode');
  70. if(status && status.value != 'COMMITED'){
  71. btn.hide();
  72. }
  73. },
  74. click: function(btn){
  75. me.FormUtil.onResSubmit(Ext.getCmp('bc_id').value);
  76. }
  77. },
  78. 'erpAuditButton': {
  79. afterrender: function(btn){
  80. var status = Ext.getCmp('bc_checkstatuscode');
  81. if(status && status.value != 'COMMITED'){
  82. btn.hide();
  83. }
  84. },
  85. click: function(btn){
  86. me.FormUtil.onAudit(Ext.getCmp('bc_id').value);
  87. }
  88. },
  89. 'erpResAuditButton': {
  90. afterrender: function(btn){
  91. var status = Ext.getCmp('bc_checkstatuscode');
  92. if(status && status.value != 'AUDITED'){
  93. btn.hide();
  94. }
  95. },
  96. click: function(btn){
  97. me.FormUtil.onResAudit(Ext.getCmp('bc_id').value);
  98. }
  99. },
  100. 'erpPrintButton': {
  101. click:function(btn){
  102. var reportName="sale_gj";
  103. var condition='{BOMCost.bc_id}='+Ext.getCmp('bc_id').value+'';
  104. var id=Ext.getCmp('bc_id').value;
  105. me.FormUtil.onwindowsPrint(id,reportName,condition);
  106. }
  107. },
  108. 'erpBannedButton': {
  109. afterrender: function(btn){
  110. var status = Ext.getCmp('bc_checkstatuscode');
  111. if(status && status.value == 'BANNED'){
  112. btn.hide();
  113. }
  114. },
  115. click: function(btn){
  116. this.FormUtil.onBanned(Ext.getCmp('bc_id').value);
  117. }
  118. },
  119. 'erpResBannedButton': {
  120. afterrender: function(btn){
  121. var status = Ext.getCmp('bc_checkstatuscode');
  122. if(status && status.value != 'BANNED'){
  123. btn.hide();
  124. }
  125. },
  126. click: function(btn){
  127. this.FormUtil.onResBanned(Ext.getCmp('bc_id').value);
  128. }
  129. },
  130. 'erpBOMInsertButton': {
  131. afterrender: function(btn){
  132. var status = Ext.getCmp('bc_checkstatuscode');
  133. if(status && status.value != 'ENTERING'){
  134. btn.hide();
  135. }
  136. },
  137. click: function(btn) {
  138. var form = btn.ownerCt.ownerCt,
  139. bc_id = Ext.getCmp('bc_id').value;
  140. form.setLoading(true);
  141. Ext.Ajax.request({
  142. url: basePath + 'scm/sale/BOMCost/bominsert.action',
  143. params: {
  144. bc_id: bc_id
  145. },
  146. timeout: 600000,
  147. callback: function(opt, s, r) {
  148. form.setLoading(false);
  149. var rs = Ext.decode(r.responseText);
  150. if(rs.success) {
  151. alert('导入成功!');
  152. me.GridUtil.loadNewStore(form.ownerCt.down('grid'), {caller: caller, condition: 'bcd_bcid=' + bc_id});
  153. } else if(r.exceptionInfo) {
  154. showError(r.exceptionInfo);
  155. }
  156. }
  157. });
  158. }
  159. },
  160. 'erpBOMVastCostButton': {
  161. click: function(btn) {
  162. var form = btn.ownerCt.ownerCt,
  163. bc_id = Ext.getCmp('bc_id').value;
  164. form.setLoading(true);
  165. Ext.Ajax.request({
  166. url: basePath + 'scm/sale/BOMCost/bomvastcost.action',
  167. params: {
  168. bc_id: bc_id
  169. },
  170. timeout: 600000,
  171. callback: function(opt, s, r) {
  172. form.setLoading(false);
  173. var rs = Ext.decode(r.responseText);
  174. if(rs.success) {
  175. alert('计算完成!');
  176. me.FormUtil.loadNewStore(form, {caller: caller, condition: 'bc_id=' + bc_id});
  177. me.GridUtil.loadNewStore(form.ownerCt.down('grid'), {caller: caller, condition: 'bcd_bcid=' + bc_id});
  178. }
  179. }
  180. });
  181. }
  182. },
  183. 'textfield[name=bc_rate]':{
  184. change: function(f){
  185. var v = Ext.isEmpty(f.value) ? 1 : f.value,
  186. grid = f.up('form').ownerCt.down('grid');
  187. grid.store.each(function(){
  188. this.set('evd_price', Ext.Number.toFixed(this.get('evd_doubleprice')/v, 6));
  189. this.set('evd_amount', Ext.Number.toFixed(this.get('evd_price')*this.get('evd_qty'), 2));
  190. });
  191. }
  192. }
  193. });
  194. },
  195. onGridItemClick: function(selModel, record){//grid行选择
  196. this.GridUtil.onGridItemClick(selModel, record);
  197. },
  198. getForm: function(btn){
  199. return btn.ownerCt.ownerCt;
  200. }
  201. });