|
|
@@ -0,0 +1,168 @@
|
|
|
+Ext.define('saas.view.core.baseform.FormPanelController', {
|
|
|
+ extend: 'Ext.app.ViewController',
|
|
|
+ alias: 'controller.core-baseform-formpanel',
|
|
|
+
|
|
|
+ BaseUtil: Ext.create('saas.util.BaseUtil'),
|
|
|
+ FormUtil: Ext.create('saas.util.FormUtil'),
|
|
|
+
|
|
|
+ auditBtnClick: function() {
|
|
|
+ var me = this,
|
|
|
+ form = me.getView(),
|
|
|
+ statusCodeField = form._statusCodeField,
|
|
|
+ viewModel = me.getViewModel(),
|
|
|
+ status = viewModel.get(statusCodeField);
|
|
|
+
|
|
|
+ status == 'AUDITED' ? me.unAudit() : me.audit();
|
|
|
+ },
|
|
|
+
|
|
|
+ add: function(){
|
|
|
+ var form = this.getView();
|
|
|
+ var id = form.xtype + '_add';
|
|
|
+ openTab(form.xtype,'新增' + form._title,id);
|
|
|
+ },
|
|
|
+
|
|
|
+ delete: function(){
|
|
|
+ var me = this;
|
|
|
+ var form = this.getView();
|
|
|
+ var id = form.getForm().findField(form._idField);
|
|
|
+ var code = form.getForm().findField(form._codeField);
|
|
|
+ if(id&&id.value!=0){
|
|
|
+ me.BaseUtil.request({
|
|
|
+ url: form._deleteUrl+id.value,
|
|
|
+ method: 'GET',
|
|
|
+ })
|
|
|
+ .then(function(res) {
|
|
|
+ var localJson = new Ext.decode(res.responseText);
|
|
|
+ if(localJson.success){
|
|
|
+ var mainTab = Ext.getCmp('main-tab-panel');
|
|
|
+ mainTab.getActiveTab().close();
|
|
|
+ //解析参数
|
|
|
+ Ext.Msg.alert('提示','删除成功');
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(function() {
|
|
|
+ Ext.Msg.alert('提示','删除失败');
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ onSave: function() {
|
|
|
+ var me = this,
|
|
|
+ form = this.getView(),
|
|
|
+ viewModel = me.getViewModel(),
|
|
|
+ modelData = viewModel.getData(),
|
|
|
+ detailBindFields = modelData._detailBindFields;
|
|
|
+
|
|
|
+ if(form.getForm().wasDirty==false){
|
|
|
+ Ext.Msg.alert('提示','未修改数据,请修改后保存');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if(form.getForm().wasValid==false){
|
|
|
+ Ext.Msg.alert('提示','表单校验有误,请检查');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //form里面数据
|
|
|
+ var formData = form.getFormData();
|
|
|
+
|
|
|
+ me.save(formData);
|
|
|
+ },
|
|
|
+
|
|
|
+ save:function(formData){
|
|
|
+ var me = this,
|
|
|
+ form = this.getView(),
|
|
|
+ viewModel = me.getViewModel(),
|
|
|
+ modelData = viewModel.getData(),
|
|
|
+ detailBindFields = modelData._detailBindFields;
|
|
|
+
|
|
|
+ var gridData = formData.detail?formData.detail:[];
|
|
|
+ var dirtyGridData = [];
|
|
|
+ if(gridData.length>0){
|
|
|
+ Ext.each(gridData, function(item,index){
|
|
|
+ var d = Object.assign({}, item.data),
|
|
|
+ dirty = item.dirty;
|
|
|
+ if(dirty){
|
|
|
+ if((typeof d.id) != "number" && d.id.indexOf('-')>-1){
|
|
|
+ d.id = 0;
|
|
|
+ }
|
|
|
+ for(k in d) {
|
|
|
+ if(!Ext.Array.contains(detailBindFields, k)) {
|
|
|
+ delete d[k];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dirtyGridData.push(d);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ var params = {
|
|
|
+ main:formData.main,
|
|
|
+ items:dirtyGridData
|
|
|
+ }
|
|
|
+ me.BaseUtil.request({
|
|
|
+ url: form._saveUrl,
|
|
|
+ params: JSON.stringify(params),
|
|
|
+ method: 'POST',
|
|
|
+ })
|
|
|
+ .then(function(res) {
|
|
|
+ var localJson = new Ext.decode(res.responseText);
|
|
|
+ if(localJson.success){
|
|
|
+ Ext.Msg.alert('提示','保存成功');
|
|
|
+ form.initId = localJson.data.id;
|
|
|
+ form.FormUtil.loadData(form);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(function() {
|
|
|
+ Ext.Msg.alert('提示','保存失败');
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ audit: function(){
|
|
|
+ var me = this;
|
|
|
+ var form = this.getView();
|
|
|
+ if(form.getForm().wasDirty==false){
|
|
|
+ Ext.Msg.alert('提示','未修改数据,请修改后保存');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if(form.getForm().wasValid==false){
|
|
|
+ Ext.Msg.alert('提示','表单校验有误,请检查');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //form里面数据
|
|
|
+ var formData = form.getFormData();
|
|
|
+ var gridData = formData.detail?formData.detail:[];
|
|
|
+ var dirtyGridData = [];
|
|
|
+ if(gridData.length>0){
|
|
|
+ Ext.each(gridData, function(item,index){
|
|
|
+ if(item.dirty){
|
|
|
+ if((typeof item.data.id) != "number" && item.data.id.indexOf('extMode')>-1){
|
|
|
+ item.data.id = 0;
|
|
|
+ }
|
|
|
+ dirtyGridData.push(item.data)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ var params = {
|
|
|
+ main:formData.main,
|
|
|
+ items:dirtyGridData
|
|
|
+ }
|
|
|
+ me.BaseUtil.request({
|
|
|
+ url: form._auditUrl,
|
|
|
+ params: JSON.stringify(params),
|
|
|
+ method: 'POST',
|
|
|
+ })
|
|
|
+ .then(function(res) {
|
|
|
+ var localJson = new Ext.decode(res.responseText);
|
|
|
+ if(localJson.success){
|
|
|
+ Ext.Msg.alert('提示','审核成功');
|
|
|
+ form.initId = localJson.data.id;
|
|
|
+ form.FormUtil.loadData(form);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(function() {
|
|
|
+ Ext.Msg.alert('提示','审核失败');
|
|
|
+ });
|
|
|
+ },
|
|
|
+ unAudit: function() {
|
|
|
+ console.log('反审核');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+});
|