|
|
@@ -55,9 +55,7 @@ Ext.define('saas.view.core.query.QueryPanel', {
|
|
|
var bind = item.bind,
|
|
|
name = item.name,
|
|
|
ignore = item.ignore,
|
|
|
- defaultValue = item.defaultValue,
|
|
|
- showDetail = item.showDetail,
|
|
|
- shwoDetailFunc = item.shwoDetailFunc;
|
|
|
+ defaultValue = item.defaultValue;
|
|
|
|
|
|
// 设置model绑定
|
|
|
if(!ignore) {
|
|
|
@@ -79,12 +77,6 @@ Ext.define('saas.view.core.query.QueryPanel', {
|
|
|
if(defaultValue) {
|
|
|
viewModel.set('form.' + bind, defaultValue);
|
|
|
}
|
|
|
- // 设置关联列表
|
|
|
- if(showDetail) {
|
|
|
- var fields = viewModel.get('showDetailFields');
|
|
|
- fields.push(bind);
|
|
|
- viewModel.set('showDetailFields', fields);
|
|
|
- }
|
|
|
}
|
|
|
});
|
|
|
|
|
|
@@ -210,28 +202,35 @@ Ext.define('saas.view.core.query.QueryPanel', {
|
|
|
viewModel = me.getViewModel(),
|
|
|
viewModelData = viewModel.getData(),
|
|
|
formData = viewModelData['form'],
|
|
|
- showDetailFields = viewModelData['showDetailFields'],
|
|
|
- detailModel;
|
|
|
+ detailModel = false;
|
|
|
|
|
|
- detailModel = !!Ext.Array.findBy(showDetailFields, function(name) {
|
|
|
- var item = Ext.Array.findBy(formItems, function(i) {
|
|
|
- var b = i.bind, bname;
|
|
|
- if(!Ext.isString(b)) {
|
|
|
- bname = b.value.replace(/[{|}]/g, '').split('.')[1];
|
|
|
- }else {
|
|
|
- bname = b.replace(/[{|}]/g, '').split('.')[1];
|
|
|
- }
|
|
|
- return bname == name;
|
|
|
- });
|
|
|
- if(!item) {
|
|
|
- return false;
|
|
|
+ for(var i = 0; i < formItems.length; i++) {
|
|
|
+ var item = formItems[i],
|
|
|
+ showDetail = item.showDetail,
|
|
|
+ isShowDetail = item.isShowDetail,
|
|
|
+ b = item.bind, bname;
|
|
|
+
|
|
|
+ if(!Ext.isString(b)) {
|
|
|
+ bname = b.value.replace(/[{|}]/g, '').split('.')[1];
|
|
|
+ }else {
|
|
|
+ bname = b.replace(/[{|}]/g, '').split('.')[1];
|
|
|
}
|
|
|
- var isShowDetail = item.isShowDetail || function(value) {
|
|
|
- return !!value;
|
|
|
+
|
|
|
+ var value = formData[bname];
|
|
|
+
|
|
|
+ if(showDetail) {
|
|
|
+ isShowDetail = isShowDetail || function(value) {
|
|
|
+ return !!value;
|
|
|
+ };
|
|
|
+ if(!Ext.isFunction(isShowDetail)) {
|
|
|
+ console.warn('field ' + item.name + '\'s property \'isShowDetail\' must been a function.');
|
|
|
+ }
|
|
|
+ if(isShowDetail(value)) {
|
|
|
+ detailModel = true
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- var value = formData[name];
|
|
|
- return isShowDetail(value);
|
|
|
- });
|
|
|
+ }
|
|
|
|
|
|
return detailModel ? 'DETAIL' : 'MAIN';
|
|
|
}
|