FormPanelController.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. Ext.define('saas.view.sys.config.FormPanelController', {
  2. extend: 'Ext.app.ViewController',
  3. alias: 'controller.sys-config-formpanel',
  4. BaseUtil: Ext.create('saas.util.BaseUtil'),
  5. FormUtil: Ext.create('saas.util.FormUtil'),
  6. onSave: function() {
  7. var me = this,
  8. form = this.getView();
  9. var valid = form.isValid();
  10. if(!valid) {
  11. showToast('表单校验有误,请检查');
  12. return false;
  13. }
  14. if(form.getForm().wasDirty==false){
  15. showToast('未修改数据,请修改后保存');
  16. return false;
  17. }
  18. //form里面数据
  19. var formData = form.getFormData();
  20. me.save(formData);
  21. },
  22. save:function(formData){
  23. var me = this,
  24. form = this.getView(),
  25. detailCount = form.detailCount,
  26. viewModel = me.getViewModel(),
  27. modelData = viewModel.getData();
  28. var params = {
  29. main:formData.main
  30. };
  31. for(var i = 0; i < detailCount; i++) {
  32. params['items' + ( i + 1)] = formData['detail' + i];
  33. }
  34. // 只有一个从表时从表字段改为items
  35. if(detailCount == 1) {
  36. params.items = params.items1;
  37. delete params.items1;
  38. }
  39. me.BaseUtil.request({
  40. url: form._saveUrl,
  41. params: JSON.stringify(params),
  42. method: 'POST',
  43. })
  44. .then(function(localJson) {
  45. if(localJson.success){
  46. var id = localJson.data.id;
  47. var code = localJson.data.code;
  48. form.initId = id;
  49. form.FormUtil.loadData(form);
  50. showToast('保存成功');
  51. var newId = form.xtype + '-' + id;
  52. var newTitle = form._title + '(' + code + ')';
  53. refreshTabTitle(newId, newTitle);
  54. }
  55. })
  56. .catch(function(res) {
  57. console.error(res);
  58. showToast('保存失败: ' + res.message);
  59. });
  60. }
  61. });