Index: ssts-web/src/main/webapp/disinfectsystem/customform/formdefinitionView.jsp =================================================================== diff -u -r36764 -r41130 --- ssts-web/src/main/webapp/disinfectsystem/customform/formdefinitionView.jsp (.../formdefinitionView.jsp) (revision 36764) +++ ssts-web/src/main/webapp/disinfectsystem/customform/formdefinitionView.jsp (.../formdefinitionView.jsp) (revision 41130) @@ -11,6 +11,7 @@ <%@ include file="/common/includeExtJsAndCss.jsp"%> <%@ include file="/common/includeExtJs4_2.jsp"%> + Index: ssts-web/src/main/webapp/disinfectsystem/customform/formdefinitionView.js =================================================================== diff -u -r41124 -r41130 --- ssts-web/src/main/webapp/disinfectsystem/customform/formdefinitionView.js (.../formdefinitionView.js) (revision 41124) +++ ssts-web/src/main/webapp/disinfectsystem/customform/formdefinitionView.js (.../formdefinitionView.js) (revision 41130) @@ -89,7 +89,8 @@ {name : 'type'}, {name : 'requirement'}, {name : 'options'}, - {name : 'optionsJson'} + {name : 'optionsJson'}, + {name : 'reportQueryItem'} ]); //触发项类 @@ -680,7 +681,8 @@ type : type, requirement : requirement, options : '', - optionsJson : "" + optionsJson : "", + reportQueryItem : '' }); formConfigStore.add(itemRecord); } @@ -727,6 +729,7 @@ {name : 'type'}, {name : 'requirement'}, {name : 'optionsJson'}, + {name : 'reportQueryItem'}, {name : 'options'} ] }) @@ -755,6 +758,23 @@ triggerAction : 'all' }) }, + {header : "报表查询项",width : 80,dataIndex : 'reportQueryItem',hidden : !sstsConfig.enableCustomReportDisplayOptions, + editor: new top.Ext.form.ComboBox({ + valueField : 'value', + displayField : 'value', + allowBlank : true, + width:80, + editable : false, + store : new top.Ext.data.SimpleStore({ + fields : [ 'value' ], + data : [['是'],['否']] + } + ), + forceSelection : true, + mode : 'local', + triggerAction : 'all' + }) + }, {header : "参数值",width : 150,dataIndex : 'options'}, {header: "排序", width: 80, dataIndex: 'id', renderer : moveUpDown, sortable: false, menuDisabled: true}, {id : 'aotuColumnId',header : "删除",dataIndex : 'name',width : 100, @@ -771,9 +791,22 @@ var record = thiz.getStore().getAt(rowIndex); var type = record.get("type"); var params = record.get("optionsJson"); - if(columnIndex == 4 && (itemTypes[3] == type || itemTypes[4] == type)){ + var column = 4; + if(sstsConfig.enableCustomReportDisplayOptions){ + column = 5; + } + if(columnIndex == column && (itemTypes[3] == type || itemTypes[4] == type)){ setFormDefinitionOptionsWin(params,rowIndex); } + }, + beforeedit: function(editor, context, eOpts){ + if(sstsConfig.enableCustomReportDisplayOptions){ + if(editor.field == 'reportQueryItem'){ + if(editor.record.data.type !== '日期'){ + return false + } + } + } } } }) @@ -824,7 +857,8 @@ type : items[i].type, requirement : items[i].requirement, options : items[i].optionsStr, - optionsJson : items[i].optionsJson + optionsJson : items[i].optionsJson, + reportQueryItem : items[i].reportQueryItem || '' }); store.add(itemRecord); } @@ -923,6 +957,7 @@ } var jsonArray = []; var submitFaildMsg = ""; + var reportQueryItemAmount = 0; for ( var i = 0; i < store.getCount(); i++) { var record = store.getAt(i); var name = record.get('name'); @@ -939,9 +974,17 @@ type : type, requirement : record.get('requirement'), options : record.get('optionsJson'), + reportQueryItem : record.get('reportQueryItem') || '', orderNumber : (i+1) }); + if(record.get('reportQueryItem') == '是'){ + reportQueryItemAmount++; + } } + if(reportQueryItemAmount > 1){ + showResult('只能设置一个日期元素为查询项。'); + return false; + } if(submitFaildMsg != ""){ showResult(submitFaildMsg); return false; Index: ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/config.js =================================================================== diff -u -r41087 -r41130 --- ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/config.js (.../config.js) (revision 41087) +++ ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/config.js (.../config.js) (revision 41130) @@ -240,6 +240,8 @@ enableSNRecognition:true, //OCR服务器地址 OCRServerAddress: 'http://192.168.2.229:5000', +//启用自定义报表显示选项内容功能 +enableCustomReportDisplayOptions:true, //启用第三方标识牌条码功能 enbaleThirdPartyIdCard:true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.jsp =================================================================== diff -u -r40893 -r41130 --- ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.jsp (.../formInstanceReportView.jsp) (revision 40893) +++ ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.jsp (.../formInstanceReportView.jsp) (revision 41130) @@ -32,6 +32,7 @@ <%@ include file="/common/includeExtJsAndCss.jsp"%> + @@ -52,7 +53,11 @@ 自定义表单报表 - + Index: ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.js =================================================================== diff -u -r41049 -r41130 --- ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.js (.../formInstanceReportView.js) (revision 41049) +++ ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.js (.../formInstanceReportView.js) (revision 41130) @@ -4,16 +4,32 @@ Ext.QuickTips.init(); function reloadReport(){ - var startDate = $Id('startDate').value; - if(startDate == ""){ - showResult("请选择开始日期"); - return; + var reportQueryItemName = Ext.getCmp('reportQueryItemName').getValue(); + var startDate = ''; + var endDate = ''; + if(reportQueryItemName == ''){ + startDate = $Id('startDate').value; + endDate = $Id('endDate').value; + if(startDate == ""){ + showResult("请选择开始日期"); + return; + } + if(endDate == ""){ + showResult("请选择结束日期"); + return; + } + }else { + startDate = $Id('startDate1').value; + endDate = $Id('endDate1').value; + if(startDate == ""){ + showResult("请选择开始日期"); + return; + } + if(endDate == ""){ + showResult("请选择结束日期"); + return; + } } - var endDate = $Id('endDate').value; - if(endDate == ""){ - showResult("请选择结束日期"); - return; - } var formName = Ext.getCmp("formName").getRawValue(); var title = Ext.getCmp("formName").getRawValue(); if(formName == ""){ @@ -33,19 +49,25 @@ removeMask: true }); myMask.show(); - window.open(WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do?jasperreportName=formInstanceReport.jasper&reportName=formInstanceReport&startDate=" + startDate + "&endDate=" + endDate +"&formName=" + encodeURI(formName) + "&departCoding="+departCoding+"&title=" + encodeURI(title),'thisIframe','_self'); + window.open(WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do?jasperreportName=formInstanceReport.jasper&reportName=formInstanceReport&startDate=" + startDate + "&endDate=" + endDate +"&reportQueryItemName=" + encodeURI(reportQueryItemName)+"&formName=" + encodeURI(formName) + "&departCoding="+departCoding+"&title=" + encodeURI(title),'thisIframe','_self'); } + + var queryReportQueryItemName = false; + if(sstsConfig.enableCustomReportDisplayOptions){ + queryReportQueryItemName = true; + } var formDefinitionStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ - url : '/disinfectSystem/formDefinitionAction!loadLastDeployFormDefinitionGroupByFormName.do', + url : '/disinfectSystem/formDefinitionAction!loadLastDeployFormDefinitionGroupByFormName.do?queryReportQueryItemName='+queryReportQueryItemName, method : 'POST' }), reader : new Ext.data.JsonReader({ root : 'data' },[ {name : 'id'}, - {name : 'name'} + {name : 'name'}, + {name : 'reportQueryItemName'} ] ) }); @@ -67,11 +89,11 @@ }); var dt = new Date(); + var startMonthDate = dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/01"; var newDate = dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate(); var form = new Ext.form.FormPanel({ title : entityName, region : 'north', - labelAlign : 'right', buttonAlign : 'center', collapsible : true, collapseMode : 'mini', @@ -80,6 +102,7 @@ frame : true, bodyStyle : 'padding:0px auto;margin:0px',// padding:1px;padding-top:5px; height : 110, + id:'reportForm', items : [{ layout : 'column', height : 60, @@ -89,9 +112,15 @@ id:'departCoding', name:'departCoding' },{ + xtype:'hidden', + id:'reportQueryItemName', + name:'reportQueryItemName' + },{ columnWidth : .2, layout : 'form', labelWidth : 80, + id: 'startDateBox', + labelAlign : 'right', items : [{ xtype: 'datefieldWithMin', fieldLabel: '开始日期', @@ -107,6 +136,8 @@ columnWidth : .2, layout : 'form', labelWidth : 80, + id: 'endDateBox', + labelAlign : 'right', items : [{ xtype: 'datefieldWithMin', fieldLabel: '结束日期', @@ -119,9 +150,45 @@ anchor : '100%' }] },{ + columnWidth : .2, + layout : 'form', + labelWidth : 80, + id: 'startDateBox1', + labelAlign : 'right', + items : [{ + xtype: 'datefieldWithMin', + fieldLabel: '开始日期', + id:'startDate1', + name : 'startDate1', + altFormats: 'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + format: 'Y-m-d', + readOnly : false, + value : new Date(startMonthDate), + anchor : '100%' + }] + },{ + columnWidth : .2, + layout : 'form', + labelWidth : 50, + id: 'endDateBox1', + labelAlign : 'center', + items : [{ + xtype: 'datefieldWithMin', + fieldLabel: '—', + labelSeparator:'', + id:'endDate1', + name : 'endDate1', + altFormats: 'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + format: 'Y-m-d', + readOnly : false, + value : new Date(newDate), + anchor : '100%' + }] + },{ columnWidth : .35, layout : 'form', labelWidth : 80, + labelAlign : 'right', items : [{ xtype : 'combo', id : 'formName', @@ -137,12 +204,31 @@ triggerAction : 'all', hideTrigger : false, typeAhead : false, - anchor : '100%' + anchor : '100%', + listeners:{ + select:function(combo, record, index){ + if(record.data.reportQueryItemName){ + Ext.query("*[for=startDate1]")[0].innerHTML = record.data.reportQueryItemName + ':'; + Ext.getCmp('startDateBox1').show(); + Ext.getCmp('endDateBox1').show(); + Ext.getCmp('startDateBox').hide(); + Ext.getCmp('endDateBox').hide(); + Ext.getCmp('reportQueryItemName').setValue(record.data.reportQueryItemName); + }else { + Ext.getCmp('startDateBox1').hide(); + Ext.getCmp('endDateBox1').hide(); + Ext.getCmp('startDateBox').show(); + Ext.getCmp('endDateBox').show(); + Ext.getCmp('reportQueryItemName').setValue(''); + } + } + } }] },{ columnWidth : .25, layout : 'form', labelWidth : 60, + labelAlign : 'right', items : [{ xtype : 'combo', id : 'departName', @@ -216,4 +302,6 @@ Ext.getCmp("departName").setValue(currentOrgUnitName); Ext.getCmp("departCoding").setValue(currentOrgUnitCode); + Ext.getCmp('startDateBox1').hide(); + Ext.getCmp('endDateBox1').hide(); }); \ No newline at end of file