BusinessChance.js 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.crm.chance.BusinessChance', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. views:[
  7. 'crm.chance.BusinessChance','core.form.Panel','core.form.FileField','core.form.MultiField',
  8. 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit',
  9. 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.ResSubmit',
  10. 'core.button.Flow','core.button.DownLoad','core.button.Scan','common.datalist.Toolbar','core.button.End','core.button.ResEnd',
  11. 'core.button.SendSample','core.button.Quote','core.button.PlaceOrder','core.button.Shipment',
  12. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField','core.trigger.AutoCodeTrigger'
  13. ],
  14. init:function(){
  15. var me = this;
  16. this.control({
  17. 'erpFormPanel': {
  18. afterload: function(form){
  19. Ext.defer(function(){
  20. var field = form.down('field[name=bc_id]'),
  21. container = form.ownerCt.down('#bcd');
  22. if(field && field.getValue()) {
  23. var height = window.innerHeight, fh = form.getEl().down('.x-panel-body>.x-column-inner').getHeight();
  24. if(Ext.isIE){
  25. height = screen.height*0.75;
  26. }
  27. form.setHeight(110 + fh);
  28. container.setHeight(height - 110 - fh);
  29. container.add({
  30. html : '<iframe src="'+basePath+'jsps/common/datalist.jsp?whoami=BusinessChanceData&urlcondition=bcd_bcid='+field.getValue()+'" height="100%" width="100%" frameborder="0" scrolling="auto"></iframe>'
  31. });
  32. }
  33. }, 50);
  34. }
  35. },
  36. 'erpSaveButton': {
  37. click: function(btn){
  38. var form = me.getForm(btn);
  39. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  40. me.BaseUtil.getRandomNumber();// 自动添加编号
  41. }
  42. // 保存之前的一些前台的逻辑判定
  43. this.FormUtil.beforeSave(this);
  44. }
  45. },
  46. 'erpDeleteButton' : {
  47. afterrender: function(btn){
  48. var statu = Ext.getCmp('bc_statuscode');
  49. if(statu && statu.value != 'ENTERING'){
  50. btn.hide();
  51. }
  52. },
  53. click: function(btn){
  54. me.FormUtil.onDelete(Ext.getCmp('bc_id').value);
  55. }
  56. },
  57. 'erpUpdateButton': {
  58. afterrender: function(btn){
  59. var statu = Ext.getCmp('bc_statuscode');
  60. if(statu && statu.value != 'ENTERING'){
  61. btn.hide();
  62. }
  63. },
  64. click: function(btn){
  65. this.FormUtil.onUpdate(this);
  66. }
  67. },
  68. 'erpSubmitButton': {
  69. afterrender: function(btn){
  70. var statu = Ext.getCmp('bc_statuscode');
  71. if(statu && statu.value != 'ENTERING'){
  72. btn.hide();
  73. }
  74. },
  75. click: function(btn){
  76. me.FormUtil.onSubmit(Ext.getCmp('bc_id').value);
  77. }
  78. },
  79. 'erpResSubmitButton': {
  80. afterrender: function(btn){
  81. var statu = Ext.getCmp('bc_statuscode');
  82. if(statu && statu.value != 'COMMITED'){
  83. btn.hide();
  84. }
  85. },
  86. click: function(btn){
  87. me.FormUtil.onResSubmit(Ext.getCmp('bc_id').value);
  88. }
  89. },
  90. 'erpAuditButton': {
  91. afterrender: function(btn){
  92. var statu = Ext.getCmp('bc_statuscode');
  93. if(statu && statu.value != 'COMMITED'){
  94. btn.hide();
  95. }
  96. },
  97. click: function(btn){
  98. me.FormUtil.onAudit(Ext.getCmp('bc_id').value);
  99. }
  100. },
  101. 'erpResAuditButton': {
  102. afterrender: function(btn){
  103. var statu = Ext.getCmp('bc_statuscode');
  104. if(statu && statu.value != 'AUDITED'){
  105. btn.hide();
  106. }
  107. },
  108. click: function(btn){
  109. me.FormUtil.onResAudit(Ext.getCmp('bc_id').value);
  110. }
  111. },
  112. 'erpEndButton': {
  113. afterrender: function(btn){
  114. var status = Ext.getCmp('bc_statuscode');
  115. if(status && status.value != 'AUDITED'){
  116. btn.hide();
  117. }
  118. },
  119. click: function(btn){
  120. me.FormUtil.onEnd(Ext.getCmp('bc_id').value);
  121. }
  122. },
  123. 'erpResEndButton': {
  124. afterrender: function(btn){
  125. var status = Ext.getCmp('bc_statuscode');
  126. if(status && status.value != 'FINISH'){
  127. btn.hide();
  128. }
  129. },
  130. click: function(btn){
  131. me.FormUtil.onResEnd(Ext.getCmp('bc_id').value);
  132. }
  133. },
  134. 'erpAddButton': {
  135. click: function(){
  136. me.FormUtil.onAdd('addBusinessChance', '新增商机', 'jsps/crm/chance/BusinessChance.jsp');
  137. }
  138. },
  139. 'erpCloseButton': {
  140. click: function(btn){
  141. me.FormUtil.beforeClose(me);
  142. }
  143. },
  144. 'erpSendSampleButton': {
  145. afterrender: function(btn){
  146. var statu = Ext.getCmp('bc_statuscode');
  147. if(statu && statu.value != 'AUDITED'){
  148. btn.hide();
  149. }
  150. },
  151. click:function(){
  152. this.SendSample();
  153. }
  154. },
  155. 'erpQuoteButton': {
  156. afterrender: function(btn){
  157. var statu = Ext.getCmp('bc_statuscode');
  158. if(statu && statu.value != 'AUDITED'){
  159. btn.hide();
  160. }
  161. },
  162. click:function(){
  163. this.Quote();
  164. }
  165. },
  166. 'erpPlaceOrderButton': {
  167. afterrender: function(btn){
  168. var statu = Ext.getCmp('bc_statuscode');
  169. if(statu && statu.value != 'AUDITED'){
  170. btn.hide();
  171. }
  172. },
  173. click:function(){
  174. this.PlaceOrder();
  175. }
  176. },
  177. 'erpShipmentButton': {
  178. afterrender: function(btn){
  179. var statu = Ext.getCmp('bc_statuscode');
  180. if(statu && statu.value != 'AUDITED'){
  181. btn.hide();
  182. }
  183. },
  184. click:function(){
  185. this.Shipment();
  186. }
  187. }
  188. });
  189. },
  190. getForm: function(btn){
  191. return btn.ownerCt.ownerCt;
  192. },
  193. SendSample:function(){
  194. var bc_id=Ext.getCmp('bc_id');
  195. if(bc_id.value==''){
  196. return;
  197. }
  198. var main = parent.Ext.getCmp("content-panel");
  199. main.getActiveTab().setLoading(true);// loading...
  200. Ext.Ajax.request({
  201. url : basePath + 'crm/chance/SendSample.action',
  202. params: {id:bc_id.value},
  203. method : 'post',
  204. callback : function(options,success,response){
  205. main.getActiveTab().setLoading(false);
  206. var localJson = new Ext.decode(response.responseText);
  207. if(localJson.exceptionInfo){
  208. showError(localJson.exceptionInfo);
  209. return "";
  210. }
  211. if(localJson.success){
  212. if(localJson.log){
  213. showMessage("提示", localJson.log);
  214. window.location.reload();
  215. }
  216. }
  217. }
  218. });
  219. },
  220. Quote:function(){
  221. var bc_id=Ext.getCmp('bc_id');
  222. if(bc_id.value==''){
  223. return;
  224. }
  225. var main = parent.Ext.getCmp("content-panel");
  226. main.getActiveTab().setLoading(true);// loading...
  227. Ext.Ajax.request({
  228. url : basePath + 'crm/chance/Quote.action',
  229. params: {id:bc_id.value},
  230. method : 'post',
  231. callback : function(options,success,response){
  232. main.getActiveTab().setLoading(false);
  233. var localJson = new Ext.decode(response.responseText);
  234. if(localJson.exceptionInfo){
  235. showError(localJson.exceptionInfo);
  236. return "";
  237. }
  238. if(localJson.success){
  239. if(localJson.log){
  240. showMessage("提示", localJson.log);
  241. window.location.reload();
  242. }
  243. }
  244. }
  245. });
  246. },
  247. PlaceOrder:function(){
  248. var bc_id=Ext.getCmp('bc_id');
  249. if(bc_id.value==''){
  250. return;
  251. }
  252. var main = parent.Ext.getCmp("content-panel");
  253. main.getActiveTab().setLoading(true);// loading...
  254. Ext.Ajax.request({
  255. url : basePath + 'crm/chance/PlaceOrder.action',
  256. params: {id:bc_id.value},
  257. method : 'post',
  258. callback : function(options,success,response){
  259. main.getActiveTab().setLoading(false);
  260. var localJson = new Ext.decode(response.responseText);
  261. if(localJson.exceptionInfo){
  262. showError(localJson.exceptionInfo);
  263. return "";
  264. }
  265. if(localJson.success){
  266. if(localJson.log){
  267. showMessage("提示", localJson.log);
  268. window.location.reload();
  269. }
  270. }
  271. }
  272. });
  273. },
  274. Shipment:function(){
  275. var bc_id=Ext.getCmp('bc_id');
  276. if(bc_id.value==''){
  277. return;
  278. }
  279. var main = parent.Ext.getCmp("content-panel");
  280. main.getActiveTab().setLoading(true);// loading...
  281. Ext.Ajax.request({
  282. url : basePath + 'crm/chance/Shipment.action',
  283. params: {id:bc_id.value},
  284. method : 'post',
  285. callback : function(options,success,response){
  286. main.getActiveTab().setLoading(false);
  287. var localJson = new Ext.decode(response.responseText);
  288. if(localJson.exceptionInfo){
  289. showError(localJson.exceptionInfo);
  290. return "";
  291. }
  292. if(localJson.success){
  293. if(localJson.log){
  294. showMessage("提示", localJson.log);
  295. window.location.reload();
  296. }
  297. }
  298. }
  299. });
  300. }
  301. });