|
|
@@ -46,7 +46,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
messageLogText:'操作日志'
|
|
|
},
|
|
|
initComponent: function () {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
auditTexts = me.auditTexts;
|
|
|
me._deleteMsg = '删除的'+me._title+'将不能恢复,请确认是否删除?';
|
|
|
me.initViewModel();
|
|
|
@@ -121,7 +121,15 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
hidden: '{!id}'
|
|
|
},
|
|
|
handler:"showMessageLog"
|
|
|
- } ];
|
|
|
+ }, {
|
|
|
+ cls:'x-formpanel-btn-white',
|
|
|
+ text: '界面设置',
|
|
|
+ target: 'main',
|
|
|
+ handler: 'onSetting',
|
|
|
+ bind: {
|
|
|
+ hidden: '{!isAdmin}'
|
|
|
+ }
|
|
|
+ }];
|
|
|
|
|
|
Ext.apply(me, {
|
|
|
dockedItems: [{
|
|
|
@@ -139,13 +147,13 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
initFormItems: function() {
|
|
|
- var me = this;
|
|
|
+ let me = this;
|
|
|
saas.util.FormUtil.setItems(me);
|
|
|
},
|
|
|
|
|
|
getToolBarItems: function() {
|
|
|
- var me = this, items = [];
|
|
|
- var codeHeaderItems = [{
|
|
|
+ let me = this, items = [];
|
|
|
+ let codeHeaderItems = [{
|
|
|
xtype: 'tbtext',
|
|
|
bind: {
|
|
|
html: '<span class="x-tb x-no">NO. </span>' +
|
|
|
@@ -217,7 +225,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
* 一些初始化viewModel的方法
|
|
|
*/
|
|
|
initViewModel: function () {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
codeField = me._codeField,
|
|
|
statusField = me._statusField,
|
|
|
statusCodeField = me._statusCodeField,
|
|
|
@@ -231,7 +239,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
viewModel.set('creatorName', viewModel.get('account').realname);
|
|
|
|
|
|
if (statusCodeField) {
|
|
|
- var o = {};
|
|
|
+ let o = {};
|
|
|
o['bindEditable'] = {
|
|
|
bind: '{' + statusCodeField + '}',
|
|
|
get: function(value) {
|
|
|
@@ -254,10 +262,10 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
addItems: function (items) {
|
|
|
- var me = this;
|
|
|
+ let me = this;
|
|
|
me.setBindFields(items);
|
|
|
- var formItems = me.add(items);
|
|
|
- var codeField = me.getForm().findField(me._codeField);
|
|
|
+ let formItems = me.add(items);
|
|
|
+ let codeField = me.getForm().findField(me._codeField);
|
|
|
if(codeField && !Ext.Array.findBy(formItems, function(i) {
|
|
|
return i.name == me._codeField;
|
|
|
})) {
|
|
|
@@ -271,7 +279,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
* 获取form数据
|
|
|
*/
|
|
|
getFormData: function () {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
viewModel = me.getViewModel(),
|
|
|
allData = viewModel.getData(),
|
|
|
bindFields = allData.base.bindFields,
|
|
|
@@ -280,22 +288,22 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
detailGrids = me.query('detailGridField');
|
|
|
|
|
|
Ext.Array.each(bindFields, function(field) {
|
|
|
- var v = allData[field];
|
|
|
+ let v = allData[field];
|
|
|
if(Ext.isDate(v)) {
|
|
|
v = Ext.Date.format(v, 'Y-m-d H:i:s');
|
|
|
}
|
|
|
formData[field] = v;
|
|
|
});
|
|
|
|
|
|
- var data = {
|
|
|
+ let data = {
|
|
|
main: formData,
|
|
|
};
|
|
|
|
|
|
- for (var i = 0; i < detailCount; i++) {
|
|
|
- var g = detailGrids[i];
|
|
|
- var gridTrueData = g.getTrueData();
|
|
|
- var modelDetail = allData['detail' + i];
|
|
|
- var detailBindFields = modelDetail.detailBindFields;
|
|
|
+ for (let i = 0; i < detailCount; i++) {
|
|
|
+ let g = detailGrids[i];
|
|
|
+ let gridTrueData = g.getTrueData();
|
|
|
+ let modelDetail = allData['detail' + i];
|
|
|
+ let detailBindFields = modelDetail.detailBindFields;
|
|
|
|
|
|
Ext.Array.each(gridTrueData, function(d) {
|
|
|
for(k in d) {
|
|
|
@@ -313,7 +321,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
setFormData: function (formData) {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
main = formData.main,
|
|
|
detailCount = me.detailCount,
|
|
|
viewModel = me.getViewModel(),
|
|
|
@@ -321,16 +329,16 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
|
|
|
me.setMainData(main);
|
|
|
|
|
|
- var detailGrids = me.query('detailGridField');
|
|
|
+ let detailGrids = me.query('detailGridField');
|
|
|
|
|
|
- for (var i = 0; i < detailGrids.length; i++) {
|
|
|
- var detailData = formData['detail' + i] || [];
|
|
|
+ for (let i = 0; i < detailGrids.length; i++) {
|
|
|
+ let detailData = formData['detail' + i] || [];
|
|
|
me.setDetailData(detailData, i);
|
|
|
}
|
|
|
},
|
|
|
|
|
|
setMainData: function(mainData) {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
viewModel = me.getViewModel();
|
|
|
|
|
|
viewModel.setData(mainData);
|
|
|
@@ -342,7 +350,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
setDetailData: function(detailData, index) {
|
|
|
index = index || 0;
|
|
|
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
viewModel = me.getViewModel(),
|
|
|
viewData = viewModel.getData(),
|
|
|
detailGrids = me.query('detailGridField'),
|
|
|
@@ -354,12 +362,12 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
store.removeAll();
|
|
|
if (detailData.length > 0) {
|
|
|
|
|
|
- for(var j = 0; j < detailData.length; j++) {
|
|
|
- var d = detailData[j];
|
|
|
- var o = {};
|
|
|
+ for(let j = 0; j < detailData.length; j++) {
|
|
|
+ let d = detailData[j];
|
|
|
+ let o = {};
|
|
|
o[detnoColumn] = j + 1;
|
|
|
- var r = store.add(o)[0];
|
|
|
- for(var k in d) {
|
|
|
+ let r = store.add(o)[0];
|
|
|
+ for(let k in d) {
|
|
|
r.set(k, d[k]);
|
|
|
}
|
|
|
}
|
|
|
@@ -369,7 +377,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
initFormData: function(data) {
|
|
|
- var me = this;
|
|
|
+ let me = this;
|
|
|
me.setFormData(data);
|
|
|
me.clearDirty();
|
|
|
},
|
|
|
@@ -378,12 +386,12 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
* 设置需要绑定的字段
|
|
|
*/
|
|
|
setBindFields: function (items) {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
viewModel = me.getViewModel(),
|
|
|
bindFields = ['id', me._codeField, me._statusCodeField, me._statusField];
|
|
|
|
|
|
Ext.Array.each(items, function (item) {
|
|
|
- var xtype = item.xtype,
|
|
|
+ let xtype = item.xtype,
|
|
|
bind = item.bind,
|
|
|
name = item.name,
|
|
|
ignore = item.ignore,
|
|
|
@@ -399,6 +407,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
|
|
|
|
|
|
if (xtype == 'detailGridField') {
|
|
|
+ item.defaultColumns = item.columns;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -434,9 +443,9 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
clearDirty: function() {
|
|
|
- var me = this;
|
|
|
- var detailGrids = me.query('detailGridField');
|
|
|
- var fields = me.getForm().getFields().items;
|
|
|
+ let me = this;
|
|
|
+ let detailGrids = me.query('detailGridField');
|
|
|
+ let fields = me.getForm().getFields().items;
|
|
|
|
|
|
Ext.Array.each(fields, function(f) {
|
|
|
f.resetOriginalValue ? f.resetOriginalValue() : '';
|
|
|
@@ -447,11 +456,11 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
setEditable: function(able) {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
viewModel = me.getViewModel(),
|
|
|
items = me.getForm().getFields().items;
|
|
|
|
|
|
- var detailGrids = me.query('detailGridField');
|
|
|
+ let detailGrids = me.query('detailGridField');
|
|
|
|
|
|
Ext.Array.each(detailGrids, function(g) {
|
|
|
|
|
|
@@ -467,16 +476,16 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
|
|
|
//overriders
|
|
|
isValid: function() {
|
|
|
- var me = this;
|
|
|
- var viewModel = me.getViewModel();
|
|
|
- var formItems = me.formItems || [];
|
|
|
- var valid = !Ext.Array.findBy(formItems, function(f) {
|
|
|
+ let me = this;
|
|
|
+ let viewModel = me.getViewModel();
|
|
|
+ let formItems = me.formItems || [];
|
|
|
+ let valid = !Ext.Array.findBy(formItems, function(f) {
|
|
|
return !f.isValid();
|
|
|
});
|
|
|
- var detailGrids = me.query('detailGridField');
|
|
|
+ let detailGrids = me.query('detailGridField');
|
|
|
|
|
|
- for(var i = 0; i < detailGrids.length; i++) {
|
|
|
- var g = detailGrids[i];
|
|
|
+ for(let i = 0; i < detailGrids.length; i++) {
|
|
|
+ let g = detailGrids[i];
|
|
|
if(!g.isValid()) {
|
|
|
valid = false;
|
|
|
break;
|
|
|
@@ -487,13 +496,13 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
isDirty: function () {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
formItems = me.formItems || [],
|
|
|
detailGrids = me.query('detailGridField'),
|
|
|
dirty = false;
|
|
|
|
|
|
- for(var i = 0; i < detailGrids.length; i++) {
|
|
|
- var grid = detailGrids[i];
|
|
|
+ for(let i = 0; i < detailGrids.length; i++) {
|
|
|
+ let grid = detailGrids[i];
|
|
|
if(grid.isDirty()) {
|
|
|
dirty = true;
|
|
|
break;
|
|
|
@@ -510,7 +519,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
getSaveData: function() {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
viewModel = me.getViewModel(),
|
|
|
allData = viewModel.getData(),
|
|
|
bindFields = allData.base.bindFields,
|
|
|
@@ -519,22 +528,22 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
detailGrids = me.query('detailGridField');
|
|
|
|
|
|
Ext.Array.each(bindFields, function(field) {
|
|
|
- var v = allData[field];
|
|
|
+ let v = allData[field];
|
|
|
if(Ext.isDate(v)) {
|
|
|
v = Ext.Date.format(v, 'Y-m-d H:i:s');
|
|
|
}
|
|
|
formData[field] = v;
|
|
|
});
|
|
|
|
|
|
- var dirtyData = {
|
|
|
+ let dirtyData = {
|
|
|
main: formData,
|
|
|
};
|
|
|
|
|
|
- for (var i = 0; i < detailCount; i++) {
|
|
|
- var g = detailGrids[i];
|
|
|
- var gridDirtyData = g.getSaveData();
|
|
|
- var modelDetail = allData['detail' + i];
|
|
|
- var detailBindFields = modelDetail.detailBindFields;
|
|
|
+ for (let i = 0; i < detailCount; i++) {
|
|
|
+ let g = detailGrids[i];
|
|
|
+ let gridDirtyData = g.getSaveData();
|
|
|
+ let modelDetail = allData['detail' + i];
|
|
|
+ let detailBindFields = modelDetail.detailBindFields;
|
|
|
|
|
|
Ext.Array.each(gridDirtyData, function(d) {
|
|
|
for(k in d) {
|
|
|
@@ -552,7 +561,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
getDirtyData: function() {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
formF = me.getForm(),
|
|
|
viewModel = me.getViewModel(),
|
|
|
allData = viewModel.getData(),
|
|
|
@@ -562,8 +571,8 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
detailGrids = me.query('detailGridField');
|
|
|
|
|
|
Ext.Array.each(bindFields, function(field) {
|
|
|
- var v = allData[field];
|
|
|
- var f = formF.findField(field);
|
|
|
+ let v = allData[field];
|
|
|
+ let f = formF.findField(field);
|
|
|
if(Ext.isDate(v)) {
|
|
|
v = Ext.Date.format(v, 'Y-m-d H:i:s');
|
|
|
}
|
|
|
@@ -572,15 +581,15 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- var dirtyData = {
|
|
|
+ let dirtyData = {
|
|
|
main: formData,
|
|
|
};
|
|
|
|
|
|
- for (var i = 0; i < detailCount; i++) {
|
|
|
- var g = detailGrids[i];
|
|
|
- var gridDirtyData = g.getDirtyData();
|
|
|
- var modelDetail = allData['detail' + i];
|
|
|
- var detailBindFields = modelDetail.detailBindFields;
|
|
|
+ for (let i = 0; i < detailCount; i++) {
|
|
|
+ let g = detailGrids[i];
|
|
|
+ let gridDirtyData = g.getDirtyData();
|
|
|
+ let modelDetail = allData['detail' + i];
|
|
|
+ let detailBindFields = modelDetail.detailBindFields;
|
|
|
|
|
|
Ext.Array.each(gridDirtyData, function(d) {
|
|
|
for(k in d) {
|
|
|
@@ -614,7 +623,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
|
|
|
|
promiseCloseTab: function() {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
controller = me.getController();
|
|
|
|
|
|
if(me.isDirty()) {
|
|
|
@@ -632,5 +641,9 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
return resolve(true);
|
|
|
});
|
|
|
}
|
|
|
+ },
|
|
|
+
|
|
|
+ refreshViewConfig: function() {
|
|
|
+ this.getController().refresh();
|
|
|
}
|
|
|
});
|