Product.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.product.Product', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. views:[
  7. 'core.form.Panel','scm.product.Product','core.form.MultiField','core.form.FileField',
  8. 'core.button.Add','core.button.Submit','core.button.ResSubmit','core.button.Audit','core.button.Save','core.button.Close','core.button.Print','core.button.TurnCustomer',
  9. 'core.button.Upload','core.button.Update','core.button.FeatureDefinition','core.button.FeatureView','core.button.Delete','core.button.ResAudit','core.button.ForBidden',
  10. 'core.button.ResForBidden','core.button.Banned','core.button.ResBanned','core.button.CopyAll','core.button.ProductStatus','core.button.CreateFeatrue',
  11. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.form.YnField','core.trigger.AutoCodeTrigger','scm.product.GetUUid.ComponentGrid',
  12. 'core.button.Sync','core.button.SubmitStandard','core.button.ResSubmitNoStandard','core.button.UpdatePrLevel','core.form.MultiField1','core.button.Modify'
  13. ],
  14. init:function(){
  15. var me = this;
  16. this.control({
  17. 'erpFormPanel': {
  18. alladded: function(form){
  19. var grid = Ext.getCmp('grid');
  20. if(grid)
  21. me.resize(form, grid);
  22. }
  23. },
  24. 'erpGridPanel2': {
  25. itemclick: this.onGridItemClick,
  26. reconfigure: function(grid){
  27. var form = Ext.getCmp('form');
  28. if(form)
  29. me.resize(form, grid);
  30. }
  31. },
  32. 'field[name=pr_status]':{
  33. afterrender:function(f){
  34. if(Ext.getCmp('pr_statuscode').value!='ENTERING'){
  35. Ext.getCmp('pr_colorboxmaxw').setReadOnly(true);
  36. Ext.getCmp('pr_colorboxminw').setReadOnly(true);
  37. Ext.getCmp('pr_cartonminw').setReadOnly(true);
  38. Ext.getCmp('pr_cartonmaxw').setReadOnly(true);
  39. Ext.getCmp('pr_colorboxmaxw').fieldStyle = 'background:#f1f1f1;',
  40. Ext.getCmp('pr_cartonmaxw').fieldStyle = 'background:#f1f1f1;'
  41. }
  42. }},
  43. 'erpSaveButton': {
  44. afterrender: function(btn){
  45. var form = me.getForm(btn);
  46. var codeField = Ext.getCmp(form.codeField);
  47. if(Ext.getCmp(form.codeField) && (Ext.getCmp(form.codeField).value != null && Ext.getCmp(form.codeField).value != '')){
  48. btn.hide();
  49. }
  50. },
  51. click: function(btn){
  52. var colorboxminw = Ext.getCmp("pr_colorboxminw"); //彩盒重量下限
  53. var colorboxmaxw = Ext.getCmp("pr_colorboxmaxw"); //彩盒重量上限
  54. var colorboxgw = Ext.getCmp("pr_colorboxgw"); //彩盒净重
  55. var cartonminw = Ext.getCmp("pr_cartonminw"); //卡通箱重量下限
  56. var cartonmaxw = Ext.getCmp("pr_cartonmaxw");//卡通箱重量上限
  57. var cartongw = Ext.getCmp("pr_cartongw"); //卡通箱净重
  58. var outboxinnerqty = Ext.getCmp("pr_outboxinnerqty");//装箱容量
  59. var bigboxinnerqty = Ext.getCmp("pr_bigboxinnerqty");//大箱容量
  60. var palletlength = Ext.getCmp("pr_palletlength");//长
  61. var palletweight = Ext.getCmp("pr_palletweight"); //宽
  62. var palletheight = Ext.getCmp("pr_palletheight");//高
  63. if((colorboxminw && (Number(colorboxminw.value))<0) ||(colorboxmaxw &&(Number(colorboxmaxw)) < 0) ||
  64. (colorboxgw && (Number(colorboxgw.value))<0) || (cartonminw && (Number(cartonminw.value))<0) ||
  65. (cartonmaxw &&(Number (cartonmaxw.value))<0) || (cartongw && (Number(cartongw.value))<0) ||
  66. (outboxinnerqty && (Number(outboxinnerqty.value))<0) || (bigboxinnerqty && (Number(bigboxinnerqty.value))<0)||
  67. (palletlength && (Number(palletlength.value))<0) || (palletweight && (Number(palletweight.value))<0) ||
  68. (palletheight && (Number(palletheight.value))<0)){
  69. showError("彩盒重量上限,彩盒重量下限,彩盒净重,卡通箱重量下限,卡通箱重量上限,卡通箱净重,装箱容量,大箱容量,长,宽,高不允许小于0!");return;
  70. }
  71. if(colorboxminw && colorboxmaxw && (Number(colorboxmaxw.value)<Number(colorboxminw.value))){
  72. showError("彩盒重量上限值必须大于等于彩盒重量下限值");return;
  73. }
  74. if(cartonmaxw && cartonminw && (Number(cartonmaxw.value)<Number(cartonminw.value))){
  75. showError("卡通箱重量上限值必须大于等于卡通箱重量下限值");return;
  76. }
  77. var form = me.getForm(btn);
  78. if(!Ext.isEmpty(form.codeField) && Ext.getCmp(form.codeField) && (
  79. Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == '')){
  80. me.BaseUtil.getRandomNumber('Product');//自动添加编号
  81. }
  82. this.FormUtil.beforeSave(this);
  83. }
  84. },
  85. 'erpDeleteButton' : {
  86. click: function(btn){
  87. me.FormUtil.onDelete(Ext.getCmp(me.getForm(btn).keyField).value);
  88. }
  89. },
  90. 'erpUpdateButton':{
  91. click: function(btn){
  92. var colorboxminw = Ext.getCmp("pr_colorboxminw"); //彩盒重量下限
  93. var colorboxmaxw = Ext.getCmp("pr_colorboxmaxw"); //彩盒重量上限
  94. var colorboxgw = Ext.getCmp("pr_colorboxgw"); //彩盒净重
  95. var cartonminw = Ext.getCmp("pr_cartonminw"); //卡通箱重量下限
  96. var cartonmaxw = Ext.getCmp("pr_cartonmaxw");//卡通箱重量上限
  97. var cartongw = Ext.getCmp("pr_cartongw"); //卡通箱净重
  98. var outboxinnerqty = Ext.getCmp("pr_outboxinnerqty");//装箱容量
  99. var bigboxinnerqty = Ext.getCmp("pr_bigboxinnerqty");//大箱容量
  100. var palletlength = Ext.getCmp("pr_palletlength");//长
  101. var palletweight = Ext.getCmp("pr_palletweight"); //宽
  102. var palletheight = Ext.getCmp("pr_palletheight");//高
  103. if((colorboxminw && (Number(colorboxminw.value))<0) ||(colorboxmaxw &&(Number(colorboxmaxw)) < 0) ||
  104. (colorboxgw && (Number(colorboxgw.value))<0) || (cartonminw && (Number(cartonminw.value))<0) ||
  105. (cartonmaxw &&(Number (cartonmaxw.value))<0) || (cartongw && (Number(cartongw.value))<0) ||
  106. (outboxinnerqty && (Number(outboxinnerqty.value))<0) || (bigboxinnerqty && (Number(bigboxinnerqty.value))<0)||
  107. (palletlength && (Number(palletlength.value))<0) || (palletweight && (Number(palletweight.value))<0) ||
  108. (palletheight && (Number(palletheight.value))<0)){
  109. showError("彩盒重量上限,彩盒重量下限,彩盒净重,卡通箱重量下限,卡通箱重量上限,卡通箱净重,装箱容量,大箱容量,长,宽,高不允许小于0!");return;
  110. }
  111. if(colorboxminw && colorboxmaxw && (Number(colorboxmaxw.value)<Number(colorboxminw.value))){
  112. showError("彩盒重量上限值必须大于等于彩盒重量下限值");return;
  113. }
  114. if(cartonmaxw && cartonminw && (Number(cartonmaxw.value)<Number(cartonminw.value))){
  115. showError("卡通箱重量上限值必须大于等于卡通箱重量下限值");return;
  116. }
  117. this.FormUtil.onUpdate(this);
  118. }
  119. },
  120. 'erpAddButton': {
  121. click: function(){
  122. me.FormUtil.onAdd('addProduct'+new Date().getTime(), '新增产品', 'jsps/scm/product/product.jsp?whoami='+caller);
  123. }
  124. },
  125. 'erpCloseButton': {
  126. click: function(btn){
  127. me.FormUtil.beforeClose(me);
  128. }
  129. },
  130. 'erpSubmitButton':{
  131. afterrender: function(btn){
  132. var status = Ext.getCmp(me.getForm(btn).statuscodeField);
  133. if(status && status.value != 'ENTERING'){
  134. btn.hide();
  135. }
  136. },
  137. click: function(btn){
  138. me.FormUtil.onSubmit(Ext.getCmp(me.getForm(btn).keyField).value);
  139. }
  140. },
  141. 'erpResSubmitButton': {
  142. afterrender: function(btn){
  143. var status = Ext.getCmp(me.getForm(btn).statuscodeField);
  144. if(status && status.value != 'COMMITED'){
  145. btn.hide();
  146. }
  147. },
  148. click: function(btn){
  149. me.FormUtil.onResSubmit(Ext.getCmp(me.getForm(btn).keyField).value);
  150. }
  151. },
  152. 'erpAuditButton': {
  153. afterrender: function(btn){
  154. var status = Ext.getCmp(me.getForm(btn).statuscodeField);
  155. if(status && status.value != 'COMMITED'){
  156. btn.hide();
  157. }
  158. },
  159. click: function(btn){
  160. me.FormUtil.onAudit(Ext.getCmp(me.getForm(btn).keyField).value);
  161. }
  162. },
  163. 'erpResAuditButton': {
  164. afterrender: function(btn){
  165. var status = Ext.getCmp(me.getForm(btn).statuscodeField);
  166. if(status && status.value != 'AUDITED'){
  167. btn.hide();
  168. }
  169. },
  170. click: function(btn){
  171. me.FormUtil.onResAudit(Ext.getCmp(me.getForm(btn).keyField).value);
  172. }
  173. }
  174. })
  175. },
  176. onGridItemClick: function(selModel, record){//grid行选择
  177. this.GridUtil.onGridItemClick(selModel, record);
  178. },
  179. getForm: function(btn){
  180. return btn.ownerCt.ownerCt;
  181. },
  182. resize: function(form, grid){
  183. if(!this.resized && form && grid && form.items.items.length > 0){
  184. var height = window.innerHeight,
  185. fh = form.getEl().down('.x-panel-body>.x-column-inner').getHeight();
  186. form.setHeight(70 + fh);
  187. grid.setHeight(height - fh - 70);
  188. this.resized = true;
  189. }
  190. }
  191. });