<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>规则表达式生成页面</title>
<link rel="stylesheet" type="text/css" href="resources/jquery-easyui1.4.2/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="resources/jquery-easyui1.4.2/themes/icon.css">
<link rel="stylesheet" type="text/css" href="resources/jquery-easyui1.4.2/demo.css">
<script type="text/javascript" src="resources/jquery-easyui1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="resources/jquery-easyui1.4.2/jquery.easyui.min.js"></script>
<style type="text/css">
.tableStyle {
background-color: gray;
width:600px;
}
.tdHead {
background-color: #A9CEFE;
}
.tdLeftBody {
background-color: #EBF3FF;
}
.tdRightBody {
background-color: white;
}
.expElemClass{
border:solid 1px #A9CEFE;
width:50px;
height:20px;
background-color:#EBF3FF;
padding:2px;
margin:2px;
}
#expDiv{
padding-top:5px;
padding-bottom:5px;
}
</style>
<script type="text/javascript">
//打开表达式元素选择窗口
function showExpElemSelWindow(type)
{
$('#'+type+'Win').window('open');
}
//选择属性
function selectField()
{
var chineseName=$('#fieldObj').find("option:selected").attr('chineseName');
var columnName=$('#fieldObj').find("option:selected").attr('columnName');
var javaType=$('#fieldObj').find("option:selected").attr('javaType');
var fullClassName=$('#fieldObj').find("option:selected").attr('fullClassName');
var fieldXml='<field chineseName="'+chineseName+'" columnName="'+columnName+'" javaType="'+javaType+'" fullClassName="'+fullClassName+'"/>';
var fieldHidden="<input type='hidden' name='expElem' value='"+fieldXml+"'/>";
var fieldSpan='<span class="expElemClass">'+chineseName+fieldHidden+'</span>';
$('#expDiv').append(fieldSpan);
$('#fieldWin').window('close');
}
//输入值
function inputValue()
{
var value=$('#valueObj').val();
var valueXml='<valueList> <value value="'+value+'" /> </valueList>';
var valueHidden="<input type='hidden' name='expElem' value='"+valueXml+"'/>";
var valueSpan='<span class="expElemClass">'+value+valueHidden+'</span>';
$('#expDiv').append(valueSpan);
$('#valueWin').window('close');
}
//各类运算符处理
function selectCommonOperator(type)
{
var value=$('#'+type+'Obj').val();
var text=$('#'+type+'Obj').find("option:selected").text();
var operatorXml='<'+type+' symbol="'+value+'" />';
var operatorHidden="<input type='hidden' name='expElem' value='"+operatorXml+"'/>";
var operatorSpan='<span class="expElemClass">'+text+operatorHidden+'</span>';
$('#expDiv').append(operatorSpan);
$('#'+type+'Win').window('close');
}
//保存表达式
function saveExp()
{
var ruleId=$('#ruleId').val();
var ruleName=$('#ruleName').val();
var packagePath=$('#packagePath').val();
var ruleDesc=$('#ruleDesc').val();
var expXml='';
$('.expElemClass input').each(function(){
expXml+=$(this).val();
});
var submitExpXml='<?xml version="1.0" encoding="GBK"?><ruleExpression ruleId="'+ruleId+'" ruleName="'+ruleName+'" packagePath="'+packagePath+'" ruleDesc="'+ruleDesc+'">'+expXml+'</ruleExpression>';
$('#expXml').val(submitExpXml);
$('#expForm').submit();
}
</script>
</head>
<body>
<form id="expForm" action="DrlGenAction" method="post">
<input type="hidden" id="expXml" name="expXml" value="">
<table border="0" cellspacing="1" class="tableStyle">
<tr>
<td class="tdHead" colspan="4">规则基本信息</td>
</tr>
<tr>
<td class="tdLeftBody">规则编号</td>
<td class="tdRightBody">
<input id="ruleId" name="ruleId" type="text" value="" size="20">
</td>
<td class="tdLeftBody">规则名称</td>
<td class="tdRightBody">
<input id="ruleName" name="ruleName" type="text" value="" size="20">
</td>
</tr>
<tr>
<td class="tdLeftBody">包路径</td>
<td class="tdRightBody" colspan="4">
<input id="packagePath" name="packagePath" type="text" value="" size="30">
</td>
</tr>
<tr>
<td class="tdLeftBody">规则描述</td>
<td class="tdRightBody" colspan="4">
<textarea id="ruleDesc" name="ruleDesc" rows="5" cols="54"></textarea>
</td>
</tr>
<tr>
<td class="tdHead" colspan="4">表达式信息</td>
</tr>
<tr>
<td class="tdRightBody" colspan="4" align="center">
<input type="button" value="属性" οnclick="showExpElemSelWindow('field');">
<input type="button" value="值" οnclick="showExpElemSelWindow('value');">
<input type="button" value="操作符" οnclick="showExpElemSelWindow('operator');">
<input type="button" value="关系运算符" οnclick="showExpElemSelWindow('relationalOperator');">
<input type="button" value="逻辑运算符" οnclick="showExpElemSelWindow('logicOperator');">
<input type="button" value="特殊运算符" οnclick="showExpElemSelWindow('specialOperator');">
</td>
</tr>
<tr>
<td class="tdRightBody" colspan="4">
<div id="expDiv">
</div>
</td>
</tr>
<tr>
<td class="tdRightBody" colspan="4" align="center">
<input type="button" value="提 交" οnclick="saveExp();">
</td>
</tr>
</table>
</form>
<div id="fieldWin" class="easyui-window" title="属性选择框" data-options="modal:true,closed:true,iconCls:'icon-save'" style="width:300px;height:100px;padding:10px;">
<select id="fieldObj">
<option chineseName="投保日期" columnName="appDate" javaType="java.util.Date" fullClassName="com.pingan.drlgen.model.Summary" value="投保日期#appDate#java.util.Date#com.pingan.drlgen.model.Summary">投保日期</option>
<option chineseName="投保人年龄" columnName="policyHolder.age" javaType="java.lang.Integer" fullClassName="com.pingan.drlgen.model.Summary" value="投保人年龄#policyHolder.age#java.lang.Integer#com.pingan.drlgen.model.Summary">投保人年龄</option>
<option chineseName="投保人性别" columnName="policyHolder.gender" javaType="java.util.String" fullClassName="com.pingan.drlgen.model.Summary" value="投保人年龄#policyHolder.age#java.lang.Integer#com.pingan.drlgen.model.Summary">投保人性别</option>
</select>
<input type="button" value="选择" οnclick="selectField();"/>
</div>
<div id="valueWin" class="easyui-window" title="值输入框" data-options="modal:true,closed:true,iconCls:'icon-save'" style="width:300px;height:100px;padding:10px;">
<input type="text" size="30" id="valueObj"/>
<input type="button" value="确定" οnclick="inputValue();"/>
</div>
<div id="operatorWin" class="easyui-window" title="操作符选择框" data-options="modal:true,closed:true,iconCls:'icon-save'" style="width:300px;height:100px;padding:10px;">
<select id="operatorObj">
<option value="left-bracket">(</option>
<option value="right-bracket">)</option>
</select>
<input type="button" value="选择" οnclick="selectCommonOperator('operator');"/>
</div>
<div id="relationalOperatorWin" class="easyui-window" title="关系运算符选择框" data-options="modal:true,closed:true,iconCls:'icon-save'" style="width:300px;height:100px;padding:10px;">
<select id="relationalOperatorObj">
<option value="gt">大于</option>
<option value="lg">小于</option>
<option value="eq">等于</option>
<option value="gt-ep">大于等于</option>
<option value="lg-ep">小于等于</option>
<option value="not-ep">不等于</option>
</select>
<input type="button" value="选择" οnclick="selectCommonOperator('relationalOperator');"/>
</div>
<div id="logicOperatorWin" class="easyui-window" title="逻辑运算符选择框" data-options="modal:true,closed:true,iconCls:'icon-save'" style="width:300px;height:100px;padding:10px;">
<select id="logicOperatorObj">
<option value="and">并且</option>
<option value="or">或者</option>
<option value="not">非</option>
</select>
<input type="button" value="选择" οnclick="selectCommonOperator('logicOperator');"/>
</div>
<div id="specialOperatorWin" class="easyui-window" title="特殊运算符选择框" data-options="modal:true,closed:true,iconCls:'icon-save'" style="width:300px;height:100px;padding:10px;">
<select id="specialOperatorObj">
<option value="in">存在于</option>
<option value="not-in">不存在于</option>
</select>
<input type="button" value="选择" οnclick="selectCommonOperator('specialOperator');"/>
</div>
</body>
</html>