2018-06-03 22:26:41 +08:00

180 lines
6.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/Frame/resources/include/include_begin.jspf"%>
<body>
<head>
<title>JBOQL查询语句</title>
<style>
.tdr{text-align: right; width:80px; padding:1px;vertical-align: middle;}
.tdl{text-align: left; padding:5px;vertical-align: middle;}
.input{text-align: left; width:150px; padding:2px;vertical-align: middle;}
table.mdftbl{margin:0;border-collapse:collapse;width:90%; }
table.mdftbl td{font-size:12px;border:1px solid #bebebe; padding:4px; color:#222222}
tr.alce{ text-align:center; background:#dcdcdc}
tr.alce b{ font-size:14px; color:#435868}
table.mdftbl a{color:red; float:right}
</style>
</head>
<div style="margin-top: 6px;" align="left">
<table>
<tr valign=top>
<td>
<span>
主对象:&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" id="MajorObjClass" value="jbo.awe.AWE_MENU_INFO" style="cursor: pointer;width: 250px;" ondblclick="selectMajorObjClass(this)">
<input type="hidden" id="Parameters" value="" />
&nbsp;&nbsp;
<input type="checkbox" checked id="rowLimitCheckbox">
限制行数<input type="text" id="rowLimit" value="100" style="width: 50px;text-align: right;">
</span>
<%=new Button("查询","查询","doQuery()").getHtmlText()%>
<%=new Button("导出Excel","导出Excel","exportPage()").getHtmlText()%>
</td>
</tr>
<tr valign="top">
<td>
<span>查询语句: </span>
<textarea cols="110" rows="6" id="queryString" onchange="getParamList();" style="width:90% ;overflow: auto;">1=1</textarea>
</td>
</tr>
</table>
</div>
<div>
<table>
<tr id="paramContainer" style="display: block;"></tr>
</table>
</div>
<div id="resultDiv" style="overflow: auto;width: 100%;height: 400px;"></div>
<form name=formexport method=post action="<%=request.getContextPath()%>/servlet/view/stream?CompClientID=<%=sCompClientID%>" target=iframehide >
<div style="display:none">
<input name=stream value="">
<input name=viewtype value=save>
<input name=contenttype value="text/html">
<input name=encodingfrom value="GBK">
<input name=encodingto value="GBK">
<input name=filename value="">
</div>
</form>
<iframe name="iframehide" src="<%=com.amarsoft.awe.util.Escape.getBlankHtml(sWebRootPath)%>" style="display:none" width=0 height=0 frameborder=0></iframe>
</body>
<script type="text/javascript">
var checkFlag = true;
var paramArray = new Array();
$(document).ready(function(){
$("#resultDiv").hide(); //初始化时隐藏结果区
});
function selectMajorObjClass(ObjName){
AsDialog.PopView("/InfoManage/ASQuery/JBOQL/SelectJBOClass.jsp", "", {width:"400px",title:"选择JBO对象"}, function(sReturn){
if(sReturn && sReturn != "_CLEAR"){
$(ObjName).val(sReturn.split("@")[0]);
}else if(sReturn == "_CLEAR"){
$(ObjName).val("");
}
});
}
function exportPage(){
var sContent = $("#resultDiv").html();
formexport.filename.value = $("#MajorObjClass").val() + "<%="-"+StringFunction.replace(StringFunction.getTodayNow(),"/","")+".xls" %>";
formexport.stream.value=sContent;
formexport.submit();
}
function doQuery(){
$("#resultDiv").hide();
var rowLimitChecked = $("#rowLimitCheckbox").is(":checked").toString();
var rowLimit = $("#rowLimit").val();
//查询前先将隐藏域Parameters的值置为空
$("#Parameters").val("");
//取输入框内的主对象、查询语句
var majorObjClass = $("#MajorObjClass").val();
var queryString = $("#queryString").val();
if(!majorObjClass){
$("#MajorObjClass").focus();
return;
}
if(iV_all()){
//用正则表达式替换掉回车换行符
queryString = queryString.replace(/\r/ig,"").replace(/\n/ig,"");
var parametersValue = $("#Parameters").val();
var paraString = "MajorObjClass="+majorObjClass+"&JBOQL="+queryString+"&Parameters="+parametersValue+"&RowLimitChecked="+rowLimitChecked+"&RowLimit="+rowLimit;
// 方案1
$.ajax({
type: "GET",
url: '<%=sWebRootPath%>/InfoManage/ASQuery/JBOQL/QueryResultAjax.jsp?CompClientID=<%=CurComp.getClientID()%>&'+paraString,
async: true,
success: function(msg){
$('#resultDiv').html(msg); //填充结果区resultDiv
$("#resultDiv").show(); //展示结果区
}
});
// 方案2
/* AsDialog.PopView("/InfoManage/ASQuery/JBOQL/QueryResultList.jsp", paraString, ""); */
}
}
function checkRequired(paramid,messageid){
var value = $("#"+paramid).val();
if(typeof(value) == "undefined" || value.length == 0){
$("#"+messageid).show();
$("#"+messageid).html("请输入参数"+paramid+"");
checkFlag = false;
}else{
$("#"+messageid).hide();
$("#"+messageid).html("");
//有输入值则保存回隐藏域Parameters
var parametersValue = $("#Parameters").val() + "," +paramid+"@"+value;
$("#Parameters").val(parametersValue);
checkFlag = true;
}
return checkFlag;
}
function iV_all(){
var checkFlag = true;
for(var i=0;i<paramArray.length;i++){
var sParameter = paramArray[i];
var sReturn = checkRequired(sParameter,'msg'+sParameter);
checkFlag = checkFlag && sReturn;
}
return checkFlag;
}
/*~[Describe=获取参数列表;InputParam=无;OutPutParam=无;]~*/
function getParamList(){
paramArray = []; //获取前先清空
var majorObjClass = $("#MajorObjClass").val();
var queryString = $("#queryString").val();
if(majorObjClass.length == 0 || queryString.length == 0) return;
queryString = queryString.replace(/\r/ig,"").replace(/\n/ig,"");
$.ajax({
type: "POST",
url: '<%=sWebRootPath%>/InfoManage/ASQuery/JBOQL/LoadParameterAjax.jsp?CompClientID=<%=CurComp.getClientID()%>&MajorObjClass='+majorObjClass+'&JBOQL='+queryString,
async: true,
success: function(msg){
var list = $.parseJSON(msg);
if(list.length > 0) $('#paramContainer').html("<font style='font-size: 9pt;'>参数赋值:</font>");
else $('#paramContainer').html("");
$('#paramContainer').nextAll('.no').remove();//清空
for(var j=list.length-1;j>=0;j--){
var obj = list[j];
var sParameter = obj.Parameter;
paramArray[j] = sParameter; //将参数放入全局数组
//填充paramContainer
$('#paramContainer').after(addItem(sParameter));
}
}
});
}
function addItem(sParameter){
var item = "<tr class=\"no\"><td class=\"tdr\">"+sParameter+" &nbsp;<font color=\"red\">*</font></td>"+
"<td class=\"tdl\"><input class=\"input\" type=\"text\" id=\""+sParameter+"\" onblur=\"checkRequired('"+sParameter+"','msg"+sParameter+"')\"/>"+
"<label id=\"msg"+sParameter+"\" style=\"color:red\"></label></td></tr>";
return item;
}
</script>
<%@ include file="/Frame/resources/include/include_end.jspf"%>