Evaluation.js 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.sale.Evaluation', {
  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.Evaluation','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. /*var ev_materialcost=Ext.getCmp('ev_materialcost').value,
  27. ev_makecost=Ext.getCmp('ev_makecost').value,
  28. ev_mancost=Ext.getCmp('ev_mancost').value,
  29. ev_othercost=Ext.getCmp('ev_othercost').value;
  30. Ext.getCmp('ev_cost').setValue(Number(ev_materialcost)+Number(ev_makecost)+Number(ev_mancost)+Number(ev_othercost));*/
  31. this.FormUtil.beforeSave(this);
  32. }
  33. }
  34. ,
  35. 'erpDeleteButton' : {
  36. click: function(btn){
  37. me.FormUtil.onDelete(Ext.getCmp('ev_id').value);
  38. }
  39. },
  40. 'erpUpdateButton': {
  41. afterrender: function(btn){
  42. var status = Ext.getCmp('qu_statuscode');
  43. if(status && status.value != 'ENTERING'){
  44. btn.hide();
  45. }
  46. },
  47. click: function(btn){
  48. /*var ev_materialcost=Ext.getCmp('ev_materialcost').value,
  49. ev_makecost=Ext.getCmp('ev_makecost').value,
  50. ev_mancost=Ext.getCmp('ev_mancost').value,
  51. ev_othercost=Ext.getCmp('ev_othercost').value;
  52. Ext.getCmp('ev_cost').setValue(Number(ev_materialcost)+Number(ev_makecost)+Number(ev_mancost)+Number(ev_othercost));*/
  53. this.FormUtil.onUpdate(this);
  54. }
  55. },
  56. 'erpAddButton': {
  57. click: function(){
  58. me.FormUtil.onAdd('addEvaluation', '新增估价单', 'jsps/scm/sale/evaluation.jsp');
  59. }
  60. },
  61. 'erpCloseButton': {
  62. click: function(btn){
  63. me.FormUtil.beforeClose(me);
  64. }
  65. },
  66. 'erpSubmitButton': {
  67. afterrender: function(btn){
  68. var status = Ext.getCmp('ev_checkstatuscode');
  69. if(status && status.value != 'ENTERING'){
  70. btn.hide();
  71. }
  72. },
  73. click: function(btn){
  74. me.FormUtil.onSubmit(Ext.getCmp('ev_id').value);
  75. }
  76. },
  77. 'erpResSubmitButton': {
  78. afterrender: function(btn){
  79. var status = Ext.getCmp('ev_checkstatuscode');
  80. if(status && status.value != 'COMMITED'){
  81. btn.hide();
  82. }
  83. },
  84. click: function(btn){
  85. me.FormUtil.onResSubmit(Ext.getCmp('ev_id').value);
  86. }
  87. },
  88. 'erpAuditButton': {
  89. afterrender: function(btn){
  90. var status = Ext.getCmp('ev_checkstatuscode');
  91. if(status && status.value != 'COMMITED'){
  92. btn.hide();
  93. }
  94. },
  95. click: function(btn){
  96. me.FormUtil.onAudit(Ext.getCmp('ev_id').value);
  97. }
  98. },
  99. 'erpResAuditButton': {
  100. afterrender: function(btn){
  101. var status = Ext.getCmp('ev_checkstatuscode');
  102. if(status && status.value != 'AUDITED'){
  103. btn.hide();
  104. }
  105. },
  106. click: function(btn){
  107. me.FormUtil.onResAudit(Ext.getCmp('ev_id').value);
  108. }
  109. },
  110. 'erpPrintButton': {
  111. click:function(btn){
  112. var reportName="sale_gj";
  113. var condition='{evaluation.ev_id}='+Ext.getCmp('ev_id').value+'';
  114. var id=Ext.getCmp('ev_id').value;
  115. me.FormUtil.onwindowsPrint(id,reportName,condition);
  116. }
  117. },
  118. 'erpBannedButton': {
  119. afterrender: function(btn){
  120. var status = Ext.getCmp('ev_checkstatuscode');
  121. if(status && status.value == 'BANNED'){
  122. btn.hide();
  123. }
  124. },
  125. click: function(btn){
  126. this.FormUtil.onBanned(Ext.getCmp('ev_id').value);
  127. }
  128. },
  129. 'erpResBannedButton': {
  130. afterrender: function(btn){
  131. var status = Ext.getCmp('ev_checkstatuscode');
  132. if(status && status.value != 'BANNED'){
  133. btn.hide();
  134. }
  135. },
  136. click: function(btn){
  137. this.FormUtil.onResBanned(Ext.getCmp('ev_id').value);
  138. }
  139. },
  140. 'erpBOMCostButton': {
  141. click: function(btn) {
  142. var form = btn.ownerCt.ownerCt,
  143. ev_id = Ext.getCmp('ev_id').value,
  144. bo_id = Ext.getCmp('ev_bomid').value,
  145. pr_code = Ext.getCmp('ev_prcode').value;
  146. if(bo_id==""){bo_id=0;}
  147. form.setLoading(true);
  148. Ext.Ajax.request({
  149. url: basePath + 'scm/sale/bomcost.action',
  150. params: {
  151. ev_id: ev_id,
  152. bo_id: bo_id,
  153. pr_code: pr_code
  154. },
  155. timeout: 600000,
  156. callback: function(opt, s, r) {
  157. form.setLoading(false);
  158. var rs = Ext.decode(r.responseText);
  159. if(rs.success) {
  160. alert('计算完成!');
  161. me.FormUtil.loadNewStore(form, {caller: caller, condition: 'ev_id=' + ev_id});
  162. me.GridUtil.loadNewStore(form.ownerCt.down('grid'), {caller: caller, condition: 'evd_evid=' + ev_id});
  163. }
  164. }
  165. });
  166. }
  167. },
  168. 'erpBOMInsertButton': {
  169. afterrender: function(btn){
  170. var status = Ext.getCmp('ev_checkstatuscode');
  171. if(status && status.value != 'ENTERING'){
  172. btn.hide();
  173. }
  174. },
  175. click: function(btn) {
  176. var form = btn.ownerCt.ownerCt,
  177. ev_id = Ext.getCmp('ev_id').value;
  178. form.setLoading(true);
  179. Ext.Ajax.request({
  180. url: basePath + 'scm/sale/bominsert.action',
  181. params: {
  182. ev_id: ev_id
  183. },
  184. timeout: 600000,
  185. callback: function(opt, s, r) {
  186. form.setLoading(false);
  187. var rs = Ext.decode(r.responseText);
  188. if(rs.success) {
  189. alert('导入成功!');
  190. me.GridUtil.loadNewStore(form.ownerCt.down('grid'), {caller: caller, condition: 'evd_evid=' + ev_id});
  191. } else if(r.exceptionInfo) {
  192. showError(r.exceptionInfo);
  193. }
  194. }
  195. });
  196. }
  197. },
  198. 'erpBOMVastCostButton': {
  199. click: function(btn) {
  200. var form = btn.ownerCt.ownerCt,
  201. ev_id = Ext.getCmp('ev_id').value;
  202. form.setLoading(true);
  203. Ext.Ajax.request({
  204. url: basePath + 'scm/sale/bomvastcost.action',
  205. params: {
  206. ev_id: ev_id
  207. },
  208. timeout: 600000,
  209. callback: function(opt, s, r) {
  210. form.setLoading(false);
  211. var rs = Ext.decode(r.responseText);
  212. if(rs.success) {
  213. alert('计算完成!');
  214. me.FormUtil.loadNewStore(form, {caller: caller, condition: 'ev_id=' + ev_id});
  215. me.GridUtil.loadNewStore(form.ownerCt.down('grid'), {caller: caller, condition: 'evd_evid=' + ev_id});
  216. }
  217. }
  218. });
  219. }
  220. },
  221. 'textfield[name=ev_rate]':{
  222. change: function(f){
  223. var v = Ext.isEmpty(f.value) ? 1 : f.value,
  224. grid = f.up('form').ownerCt.down('grid');
  225. grid.store.each(function(){
  226. this.set('evd_price', Ext.Number.toFixed(this.get('evd_doubleprice')/v, 6));
  227. this.set('evd_amount', Ext.Number.toFixed(this.get('evd_price')*this.get('evd_qty'), 2));
  228. });
  229. }
  230. }
  231. });
  232. },
  233. onGridItemClick: function(selModel, record){//grid行选择
  234. this.GridUtil.onGridItemClick(selModel, record);
  235. },
  236. getForm: function(btn){
  237. return btn.ownerCt.ownerCt;
  238. }
  239. });