|
|
@@ -4,8 +4,127 @@ Ext.define('saas.view.core.form.FormPanelController', {
|
|
|
|
|
|
FormUtil: Ext.create('saas.util.FormUtil'),
|
|
|
|
|
|
- add: Ext.emptyFn,
|
|
|
- save: Ext.emptyFn,
|
|
|
- audit: Ext.emptyFn,
|
|
|
+ add: function(btn){
|
|
|
+ var form = btn.ownerCt.ownerCt;
|
|
|
+ var mainTab = Ext.getCmp('main-tab-panel');
|
|
|
+ var title = '新增' + btn.ownerCt.ownerCt._title;
|
|
|
+ var id = form.xtype + '_add';
|
|
|
+ existingItem = mainTab.down('[id=' + id + ']');
|
|
|
|
|
|
+ lastView = mainTab.getActiveTab();
|
|
|
+
|
|
|
+ if (!existingItem) {
|
|
|
+ var form = {
|
|
|
+ id,
|
|
|
+ title,
|
|
|
+ xtype:form.xtype
|
|
|
+ };
|
|
|
+ mainTab.setActiveTab(mainTab.add(form));
|
|
|
+ }
|
|
|
+ },
|
|
|
+ delete: Ext.emptyFn,
|
|
|
+ save:function(btn){
|
|
|
+ var form = btn.ownerCt.ownerCt;
|
|
|
+ if(form.getForm().wasDirty==false){
|
|
|
+ Ext.Msg.alert('提示','未修改数据,请修改后保存');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if(form.getForm().wasValid==false){
|
|
|
+ Ext.Msg.alert('提示','表单校验有误,请检查');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //form里面数据
|
|
|
+ var formData = form.viewModel.data;
|
|
|
+ var gridData = [];
|
|
|
+ var newGridData = [];
|
|
|
+ if(formData.detailGridField){
|
|
|
+ gridData = formData.detailGridField;
|
|
|
+ }
|
|
|
+ var grid = form.query('detailGridField')[0];
|
|
|
+ var updRecords = grid.store.getUpdatedRecords();
|
|
|
+ if(updRecords.length>0){
|
|
|
+ Ext.each(updRecords, function(rec){
|
|
|
+ Ext.each(gridData, function(data,index){
|
|
|
+ if(data.id==rec.id){
|
|
|
+ if(data.id.indexOf('extMode')>-1){
|
|
|
+ data.id = '';
|
|
|
+ data[form._detnoColumn] = index + 1;
|
|
|
+ }
|
|
|
+ newGridData.push(data);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ var params = {
|
|
|
+ main:formData,
|
|
|
+ items:newGridData
|
|
|
+ }
|
|
|
+ Ext.Ajax.request({
|
|
|
+ url: 'http://192.168.253.58:8800/purchase/form',
|
|
|
+ params: JSON.stringify(params),
|
|
|
+ method: 'POST',
|
|
|
+ headers: {
|
|
|
+ 'Access-Control-Allow-Origin': '*',
|
|
|
+ "Content-Type": 'application/json;charset=UTF-8'
|
|
|
+ },
|
|
|
+ success: function (response, opts) {
|
|
|
+ //解析参数
|
|
|
+ Ext.Msg.alert('提示','保存成功');
|
|
|
+ },
|
|
|
+ failure: function (response, opts) {
|
|
|
+ //失败
|
|
|
+ Ext.Msg.alert('提示','保存失败');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ audit: function(btn){
|
|
|
+ var form = btn.ownerCt.ownerCt;
|
|
|
+ if(form.getForm().wasValid==false){
|
|
|
+ Ext.Msg.alert('提示','表单校验有误,请检查');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //form里面数据
|
|
|
+ var formData = form.viewModel.data;
|
|
|
+ var gridData = [];
|
|
|
+ var newGridData = [];
|
|
|
+ if(formData.detailGridField){
|
|
|
+ gridData = formData.detailGridField;
|
|
|
+ }
|
|
|
+ var grid = form.query('detailGridField')[0];
|
|
|
+ var updRecords = grid.store.getUpdatedRecords();
|
|
|
+ if(updRecords.length>0){
|
|
|
+ Ext.each(updRecords, function(rec){
|
|
|
+ Ext.each(gridData, function(data,index){
|
|
|
+ if(data.id==rec.id){
|
|
|
+ if(data.id.indexOf('extMode')>-1){
|
|
|
+ data.id = '';
|
|
|
+ data[form._detnoColumn] = index + 1;
|
|
|
+ }
|
|
|
+ newGridData.push(data);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ var params = {
|
|
|
+ main:formData,
|
|
|
+ items:newGridData
|
|
|
+ }
|
|
|
+ Ext.Ajax.request({
|
|
|
+ url: 'http://192.168.253.58:8800/purchase/audit',
|
|
|
+ params: JSON.stringify(params),
|
|
|
+ method: 'POST',
|
|
|
+ headers: {
|
|
|
+ 'Access-Control-Allow-Origin': '*',
|
|
|
+ "Content-Type": 'application/json;charset=UTF-8'
|
|
|
+ },
|
|
|
+ success: function (response, opts) {
|
|
|
+ //解析参数
|
|
|
+ Ext.Msg.alert('提示','审核成功');
|
|
|
+ },
|
|
|
+ failure: function (response, opts) {
|
|
|
+ //失败
|
|
|
+ Ext.Msg.alert('提示','审核失败');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|