|
@@ -22,9 +22,14 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
searchItems: [], // 查询字段
|
|
searchItems: [], // 查询字段
|
|
|
reportTitle: '报表',
|
|
reportTitle: '报表',
|
|
|
autoLoad:true,
|
|
autoLoad:true,
|
|
|
|
|
+ printAble: true,
|
|
|
|
|
+ exportAble: true,
|
|
|
|
|
+ queryMode: 'DETAIL',
|
|
|
|
|
|
|
|
initComponent: function() {
|
|
initComponent: function() {
|
|
|
var me = this;
|
|
var me = this;
|
|
|
|
|
+ var printAble = me.printAble;
|
|
|
|
|
+ var exportAble = me.exportAble;
|
|
|
var store = me.initStore();
|
|
var store = me.initStore();
|
|
|
columnWidth: 0.25,
|
|
columnWidth: 0.25,
|
|
|
Ext.apply(me, {
|
|
Ext.apply(me, {
|
|
@@ -49,6 +54,7 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
},{
|
|
},{
|
|
|
xtype:'button',
|
|
xtype:'button',
|
|
|
text:'打印',
|
|
text:'打印',
|
|
|
|
|
+ hidden: !printAble,
|
|
|
style: {
|
|
style: {
|
|
|
float: 'right'
|
|
float: 'right'
|
|
|
},
|
|
},
|
|
@@ -65,6 +71,7 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
float: 'right'
|
|
float: 'right'
|
|
|
},
|
|
},
|
|
|
text: '导出',
|
|
text: '导出',
|
|
|
|
|
+ hidden: !exportAble,
|
|
|
menu: {
|
|
menu: {
|
|
|
defaults: {
|
|
defaults: {
|
|
|
handler: 'exportTo'
|
|
handler: 'exportTo'
|
|
@@ -163,7 +170,6 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
}],
|
|
}],
|
|
|
viewConfig: {
|
|
viewConfig: {
|
|
|
deferEmptyText: false,
|
|
deferEmptyText: false,
|
|
|
- emptyText: '无数据',
|
|
|
|
|
listeners: {
|
|
listeners: {
|
|
|
itemcontextmenu: function(view, rec, node, index, e) {
|
|
itemcontextmenu: function(view, rec, node, index, e) {
|
|
|
e.stopEvent();
|
|
e.stopEvent();
|
|
@@ -283,7 +289,7 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
var params = me.applyParams({
|
|
var params = me.applyParams({
|
|
|
number: store.exportNumber?store.exportNumber:op._page,
|
|
number: store.exportNumber?store.exportNumber:op._page,
|
|
|
size: store.exportPageSize?store.exportPageSize:store.pageSize,
|
|
size: store.exportPageSize?store.exportPageSize:store.pageSize,
|
|
|
- mode: 'DETAIL',
|
|
|
|
|
|
|
+ mode: me.queryMode || 'DETAIL',
|
|
|
condition: JSON.stringify(condition),
|
|
condition: JSON.stringify(condition),
|
|
|
calculateFields: JSON.stringify(summarys)
|
|
calculateFields: JSON.stringify(summarys)
|
|
|
});
|
|
});
|
|
@@ -378,6 +384,7 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
|
|
|
|
|
initSearchItems: function() {
|
|
initSearchItems: function() {
|
|
|
var me = this,
|
|
var me = this,
|
|
|
|
|
+ queryItems = [],
|
|
|
items = me.searchItems,
|
|
items = me.searchItems,
|
|
|
viewModel = me.getViewModel();
|
|
viewModel = me.getViewModel();
|
|
|
|
|
|
|
@@ -392,6 +399,10 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
item.beforeLabelTextTpl = "<font color=\"red\" style=\"position:relative; top:2px;right:2px; font-weight: bolder;\">*</font>";
|
|
item.beforeLabelTextTpl = "<font color=\"red\" style=\"position:relative; top:2px;right:2px; font-weight: bolder;\">*</font>";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if(!ignore) {
|
|
|
|
|
+ queryItems.push(name);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if(item.xtype == 'numberfield') {
|
|
if(item.xtype == 'numberfield') {
|
|
|
Ext.applyIf(item, {
|
|
Ext.applyIf(item, {
|
|
|
hideTrigger: true, // 隐藏trigger
|
|
hideTrigger: true, // 隐藏trigger
|
|
@@ -435,6 +446,8 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ me.queryItems = queryItems;
|
|
|
|
|
+
|
|
|
return items;
|
|
return items;
|
|
|
},
|
|
},
|
|
|
|
|
|
|
@@ -444,17 +457,19 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
formItems = form.items.items,
|
|
formItems = form.items.items,
|
|
|
viewModel = me.getViewModel(),
|
|
viewModel = me.getViewModel(),
|
|
|
viewModelData = viewModel.getData(),
|
|
viewModelData = viewModel.getData(),
|
|
|
- bindItems = viewModelData['form'],
|
|
|
|
|
|
|
+ formData = viewModelData['form'] || {},
|
|
|
|
|
+ queryItems = me.queryItems,
|
|
|
condition,
|
|
condition,
|
|
|
conditions = [];
|
|
conditions = [];
|
|
|
|
|
|
|
|
- for(k in bindItems) {
|
|
|
|
|
|
|
+ for(var i = 0; i < queryItems.length; i++) {
|
|
|
|
|
+ var n = queryItems[i];
|
|
|
var item = Ext.Array.findBy(formItems, function(i) {
|
|
var item = Ext.Array.findBy(formItems, function(i) {
|
|
|
- return i.name == k;
|
|
|
|
|
|
|
+ return i.name == n;
|
|
|
});
|
|
});
|
|
|
var field = item.name,
|
|
var field = item.name,
|
|
|
func = item.getCondition,
|
|
func = item.getCondition,
|
|
|
- value = bindItems[k],
|
|
|
|
|
|
|
+ value = formData[n],
|
|
|
condition;
|
|
condition;
|
|
|
|
|
|
|
|
if(typeof func == 'function') {
|
|
if(typeof func == 'function') {
|
|
@@ -463,7 +478,6 @@ Ext.define('saas.view.core.report.ReportPanel', {
|
|
|
value: func(value)
|
|
value: func(value)
|
|
|
}
|
|
}
|
|
|
}else {
|
|
}else {
|
|
|
- // var xtype = item.xtype || 'textfield',
|
|
|
|
|
type = item.fieldType || me.getDefaultFieldType(item),
|
|
type = item.fieldType || me.getDefaultFieldType(item),
|
|
|
operation = item.operation || me.getDefaultFieldOperation(item),
|
|
operation = item.operation || me.getDefaultFieldOperation(item),
|
|
|
conditionValue = me.getConditionValue(item, value);
|
|
conditionValue = me.getConditionValue(item, value);
|