|
|
@@ -5,17 +5,26 @@ Ext.define('saas.view.core.form.FormPanelController', {
|
|
|
BaseUtil: Ext.create('saas.util.BaseUtil'),
|
|
|
FormUtil: Ext.create('saas.util.FormUtil'),
|
|
|
|
|
|
+ auditBtnClick: function() {
|
|
|
+ var me = this,
|
|
|
+ form = me.getView(),
|
|
|
+ statusField = form._statusField,
|
|
|
+ viewModel = me.getViewModel(),
|
|
|
+ status = viewModel.get(statusField);
|
|
|
+
|
|
|
+ status == 'AUDIT' ? me.unAudit() : me.audit();
|
|
|
+ },
|
|
|
+
|
|
|
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 = {
|
|
|
+ initId:0,
|
|
|
id,
|
|
|
title,
|
|
|
xtype:form.xtype
|
|
|
@@ -27,26 +36,25 @@ Ext.define('saas.view.core.form.FormPanelController', {
|
|
|
},
|
|
|
|
|
|
delete: function(btn){
|
|
|
+ var me = this;
|
|
|
var form = btn.ownerCt.ownerCt;
|
|
|
var id = form.getForm().findField(form._idField);
|
|
|
if(id&&id.value!=0){
|
|
|
- Ext.Ajax.request({
|
|
|
+ me.BaseUtil.request({
|
|
|
url: form._deleteUrl+id.value,
|
|
|
- params: '',
|
|
|
- headers: {
|
|
|
- 'Access-Control-Allow-Origin': '*',
|
|
|
- "Content-Type": 'application/json;charset=UTF-8'
|
|
|
- },
|
|
|
- success: function (response, opts) {
|
|
|
+ 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('提示','删除成功');
|
|
|
- },
|
|
|
- failure: function (response, opts) {
|
|
|
- //失败
|
|
|
- Ext.Msg.alert('提示','删除失败');
|
|
|
}
|
|
|
+ })
|
|
|
+ .catch(function() {
|
|
|
+ Ext.Msg.alert('提示','删除失败');
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
@@ -63,96 +71,90 @@ Ext.define('saas.view.core.form.FormPanelController', {
|
|
|
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 items = grid.store.data.items;
|
|
|
- if(items.length>0){
|
|
|
- Ext.each(items, function(rec){
|
|
|
- if(rec.dirty==true){
|
|
|
- Ext.each(gridData, function(data,index){
|
|
|
- data[form._detnoColumn] = index + 1;
|
|
|
- if(rec.id == data.id){
|
|
|
- newGridData.push(data);
|
|
|
- return false;
|
|
|
- }else if ((typeof data.id) != 'number'&&data.id.indexOf('extMode')>-1){
|
|
|
- data.id = '';
|
|
|
- newGridData.push(data);
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
+ 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 = '';
|
|
|
+ }
|
|
|
+ item.data[form._detnoColumn] = index + 1;
|
|
|
+ dirtyGridData.push(item.data)
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
var params = {
|
|
|
- main:formData,
|
|
|
- items:newGridData
|
|
|
+ main:formData.main,
|
|
|
+ items:dirtyGridData
|
|
|
}
|
|
|
me.BaseUtil.request({
|
|
|
url: form._saveUrl,
|
|
|
params: JSON.stringify(params),
|
|
|
method: 'POST',
|
|
|
})
|
|
|
- .then(function() {
|
|
|
- Ext.Msg.alert('提示','保存成功');
|
|
|
+ .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(btn){
|
|
|
+ var me = this;
|
|
|
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 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 = '';
|
|
|
}
|
|
|
- });
|
|
|
+ item.data[form._detnoColumn] = index + 1;
|
|
|
+ dirtyGridData.push(item.data)
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
var params = {
|
|
|
- main:formData,
|
|
|
- items:newGridData
|
|
|
+ main:formData.main,
|
|
|
+ items:dirtyGridData
|
|
|
}
|
|
|
- Ext.Ajax.request({
|
|
|
+ me.BaseUtil.request({
|
|
|
url: form._auditUrl,
|
|
|
params: JSON.stringify(params),
|
|
|
method: 'POST',
|
|
|
- headers: {
|
|
|
- 'Access-Control-Allow-Origin': '*',
|
|
|
- "Content-Type": 'application/json;charset=UTF-8'
|
|
|
- },
|
|
|
- success: function (response, opts) {
|
|
|
- //解析参数
|
|
|
+ })
|
|
|
+ .then(function(res) {
|
|
|
+ var localJson = new Ext.decode(res.responseText);
|
|
|
+ if(localJson.success){
|
|
|
Ext.Msg.alert('提示','审核成功');
|
|
|
- },
|
|
|
- failure: function (response, opts) {
|
|
|
- //失败
|
|
|
- Ext.Msg.alert('提示','审核失败');
|
|
|
+ form.FormUtil.loadData(form);
|
|
|
}
|
|
|
+ })
|
|
|
+ .catch(function() {
|
|
|
+ Ext.Msg.alert('提示','审核失败');
|
|
|
});
|
|
|
},
|
|
|
+ unAudit: function() {
|
|
|
+ console.log('反审核');
|
|
|
+ return;
|
|
|
+ }
|
|
|
});
|