ChildForm.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. /**
  2. * Created by zhouy on 2018/10/18.
  3. */
  4. Ext.define('KitchenSink.view.binding.ChildForm', {
  5. extend: 'Ext.window.Window',
  6. xtype: 'document-kind-childwin',
  7. layout: 'fit',
  8. modal: true,
  9. width: 500,
  10. //工具类
  11. FormUtil: Ext.create('saas.util.FormUtil'),
  12. BaseUtil: Ext.create('saas.util.BaseUtil'),
  13. height: 260,
  14. listeners:{
  15. show:function(w){
  16. if(w.record){
  17. w.down('form').loadRecord(w.record);
  18. }
  19. }
  20. },
  21. initComponent:function(){
  22. var me=this;
  23. Ext.apply(me,{
  24. items:me.setFormItems()
  25. });
  26. me.callParent();
  27. },
  28. etc:{
  29. customerkind:{
  30. items:[{
  31. xtype:'hidden',
  32. name:'id'
  33. },{
  34. xtype:'textfield',
  35. name:'ck_name',
  36. allowBlank:false,
  37. fieldLabel:'类型'
  38. }],
  39. keyField:'id',
  40. saveUrl:''
  41. },
  42. vendorkind:{
  43. items:[{
  44. xtype:'hidden',
  45. name:'id'
  46. },{
  47. xtype:'textfield',
  48. name:'vk_name',
  49. allowBlank:false,
  50. fieldLabel:'类型'
  51. }],
  52. },
  53. productkind:{
  54. items:[{
  55. xtype:'hidden',
  56. name:'id'
  57. },{
  58. xtype:'textfield',
  59. name:'pt_name',
  60. allowBlank:false,
  61. fieldLabel:'类型'
  62. }],
  63. },
  64. bankinformation:{
  65. items:[{
  66. xtype:'hidden',
  67. name:'id'
  68. },{
  69. xtype:'textfield',
  70. name:'bk_bankname',
  71. allowBlank:false,
  72. fieldLabel:'账户名称'
  73. },{
  74. xtype:'textfield',
  75. name:'bk_bankcode',
  76. allowBlank:false,
  77. fieldLabel:'账户编号'
  78. },{
  79. xtype:'numberfield',
  80. name:'bk_beginamount',
  81. allowBlank:false,
  82. fieldLabel:'期初金额'
  83. },{
  84. xtype:'numberfield',
  85. name:'bk_thisamount',
  86. allowBlank:false,
  87. fieldLabel:'当前金额'
  88. }],
  89. },
  90. productbrand:{
  91. items:[{
  92. xtype:'hidden',
  93. name:'id'
  94. },{
  95. xtype:'textfield',
  96. name:'pb_name',
  97. allowBlank:false,
  98. fieldLabel:'类型'
  99. }],
  100. },
  101. inoutkind:{
  102. items:[{
  103. xtype:'hidden',
  104. name:'id'
  105. },{
  106. xtype:'textfield',
  107. name:'ft_name',
  108. allowBlank:false,
  109. fieldLabel:'类型'
  110. }]
  111. }
  112. },
  113. setFormItems:function() {
  114. var me = this, kind = me.dataKind;
  115. var conf = {
  116. xtype: 'form',
  117. bodyPadding: 10,
  118. border: false,
  119. autoScroll:true,
  120. modelValidation: true,
  121. layout: {
  122. type: 'vbox',
  123. align: 'stretch'
  124. },
  125. defaults: {
  126. xtype: 'textfield'
  127. },
  128. buttons: [{
  129. text: '保存',
  130. formBind:true,
  131. handler: me.onSave,
  132. scope:me
  133. }, {
  134. text: '取消',
  135. handler: me.onCancel,
  136. scope:me
  137. }]
  138. };
  139. return Ext.apply(conf, me.etc[kind]);
  140. },
  141. onSave:function(){
  142. var belong = this.belong;
  143. var form=this.down('form');
  144. var dataField = form.down('[name='+belong.dataField+']');
  145. // if(!dataField.value){
  146. // Ext.Msg.alert('提示','数据有误');
  147. // return false;
  148. // }
  149. var keyField = form.down('[name='+belong.keyField+']');
  150. //保存接口
  151. var params = {};
  152. params[belong.dataField] = dataField.value;
  153. params[belong.keyField] = keyField.value || 0;
  154. this.BaseUtil.request({
  155. url: belong.reqUrl,
  156. params: JSON.stringify(params),
  157. method: 'POST',
  158. })
  159. .then(function(localJson) {
  160. if(localJson.success){
  161. Ext.Msg.alert('提示','保存成功');
  162. var grid = form.ownerCt._parent.lookup('document-kind-Grid');
  163. if(grid){
  164. grid.store.load();
  165. }
  166. form.ownerCt.close();
  167. }
  168. })
  169. .catch(function() {
  170. Ext.Msg.alert('提示','保存失败');
  171. });
  172. },
  173. onCancel:function(){
  174. this.hide();
  175. }
  176. });