FormController.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. Ext.define('saas.view.test.order.FormController', {
  2. extend: 'saas.view.core.form.FormPanelController',
  3. alias: 'controller.test-order-formcontroller',
  4. init: function (form) {
  5. var me = this;
  6. this.control({
  7. /**放大镜新增demo*/
  8. "field[name=combo]":{
  9. beforerender:function(f){
  10. f.addHandler=me.addCombo;
  11. }
  12. },
  13. //放大镜赋值关系 以及 tpl模板
  14. 'dbfindtrigger[name=pu_vendorcode]':{
  15. beforerender:function(f){
  16. Ext.apply(f,{
  17. dbfinds:[{
  18. from:'pu_vendorcode',to:'pu_vendorcode'
  19. },{
  20. from:'pu_vendorname',to:'pu_vendorname'
  21. }],
  22. dbtpls:[{
  23. field:'pu_vendorcode',width:100
  24. },{
  25. field:'pu_vendorname',width:100
  26. }]
  27. }) ;
  28. }
  29. }
  30. });
  31. },
  32. save:function(btn){
  33. var form = btn.ownerCt.ownerCt;
  34. if(form.getForm().wasDirty==false){
  35. Ext.Msg.alert('提示','未修改数据,请修改后保存');
  36. return false;
  37. }
  38. if(form.getForm().wasValid==false){
  39. Ext.Msg.alert('提示','表单校验有误,请检查');
  40. return false;
  41. }
  42. //form里面数据
  43. Ext.each(form.items.items, function(item){
  44. if(item.xtype == 'numberfield'){
  45. //number类型赋默认值,不然sql无法执行
  46. if(item.value == null || item.value == ''){
  47. item.setValue(0);
  48. }
  49. }
  50. });
  51. var r = form.getValues();
  52. var keys = Ext.Object.getKeys(r), f;
  53. var reg = /[!@#$%^&*()'":,\/?]|[\t|\n|\r]/g;
  54. Ext.each(keys, function(k){
  55. r[k] = r[k].trim().replace(reg, '');
  56. });
  57. var formData = {
  58. main:r,
  59. items:[{}]
  60. };
  61. var params = {};
  62. params.formData = formData;
  63. Ext.Ajax.request({
  64. url: 'http://192.168.253.58:8800/purchase/form',
  65. params: JSON.stringify(params),
  66. method: 'POST',
  67. headers: {
  68. 'Access-Control-Allow-Origin': '*',
  69. "Content-Type": 'application/json;charset=UTF-8'
  70. },
  71. success: function (response, opts) {
  72. debugger
  73. },
  74. failure: function (response, opts) {
  75. debugger
  76. }
  77. });
  78. },
  79. addCombo:function(){
  80. var combo=this.ownerCmp;
  81. Ext.create('Ext.window.Window',{
  82. layout:'vbox',
  83. bodyPadding: 15,
  84. width:500,
  85. items:[{
  86. fieldLabel:'实际值',
  87. xtype:'textfield'
  88. },{
  89. fieldLabel:'显示值',
  90. xtype:'textfield'
  91. }],
  92. buttons:[{
  93. text:'确认',
  94. handler:function(b){
  95. combo.setValue('ok');
  96. b.up('window').close();
  97. }
  98. }],
  99. renderTo:this.ownerCmp.ownerCt.getEl()
  100. }).show();
  101. }
  102. });