Ext.define('saas.view.sys.config.FormPanelController', { extend: 'Ext.app.ViewController', alias: 'controller.sys-config-formpanel', BaseUtil: Ext.create('saas.util.BaseUtil'), FormUtil: Ext.create('saas.util.FormUtil'), onSave: function() { var me = this, form = this.getView(); var valid = form.isValid(); if(!valid) { showToast('表单校验有误,请检查'); return false; } if(form.getForm().wasDirty==false){ showToast('未修改数据,请修改后保存'); return false; } //form里面数据 var formData = form.getFormData(); me.save(formData); }, save:function(formData){ var me = this, form = this.getView(), detailCount = form.detailCount, viewModel = me.getViewModel(), modelData = viewModel.getData(); var params = { main:formData.main }; for(var i = 0; i < detailCount; i++) { params['items' + ( i + 1)] = formData['detail' + i]; } // 只有一个从表时从表字段改为items if(detailCount == 1) { params.items = params.items1; delete params.items1; } me.BaseUtil.request({ url: form._saveUrl, params: JSON.stringify(params), method: 'POST', }) .then(function(localJson) { if(localJson.success){ var id = localJson.data.id; var code = localJson.data.code; form.initId = id; form.FormUtil.loadData(form); showToast('保存成功'); var newId = form.xtype + '-' + id; var newTitle = form._title + '(' + code + ')'; refreshTabTitle(newId, newTitle); } }) .catch(function(res) { console.error(res); showToast('保存失败: ' + res.message); }); } });