FormPanelController.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. Ext.define('saas.view.sys.baseconfig.FormPanelController', {
  2. extend: 'Ext.app.ViewController',
  3. alias: 'controller.sys-baseconfig-formpanel',
  4. init: function (form) {
  5. var me = this;
  6. this.control({
  7. 'button[name=save]':{
  8. click:function(){
  9. me.onSave();
  10. }
  11. }
  12. });
  13. },
  14. onSave: function() {
  15. var me = this,
  16. form = this.getView();
  17. var valid = form.isValid();
  18. if(!valid) {
  19. saas.util.BaseUtil.showErrorToast('表单校验有误,请检查');
  20. return false;
  21. }
  22. if(form.getForm().wasDirty==false){
  23. saas.util.BaseUtil.showErrorToast('未修改数据,请修改后保存');
  24. return false;
  25. }
  26. viewModel = me.getViewModel();
  27. var formData = [];
  28. var items = me.view.getForm().getFields().items;
  29. Ext.each(items, function(item, index){
  30. formData.push({
  31. code:item.name,
  32. data:item.value
  33. })
  34. });
  35. saas.util.BaseUtil.request({
  36. url: form._saveUrl,
  37. params: JSON.stringify(formData),
  38. method: 'POST',
  39. })
  40. .then(function(localJson) {
  41. if(localJson.success){
  42. saas.util.BaseUtil.showSuccessToast('保存成功');
  43. viewModel = form.getViewModel();
  44. var url = form._readUrl;
  45. saas.util.BaseUtil.request({url })
  46. .then(function(res) {
  47. if(res.success) {
  48. var list = res.data.list;
  49. if(list.length>0){
  50. var d = {};
  51. Ext.each(list, function(item, index){
  52. d[item.code] = item.data;
  53. });
  54. viewModel.setData(d);
  55. viewModel._parent.setData(d)
  56. }
  57. }
  58. })
  59. .catch(function(e) {
  60. console.error(e);
  61. });
  62. }
  63. })
  64. .catch(function(res) {
  65. console.error(res);
  66. saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
  67. });
  68. }
  69. });