You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

578 lines
20 KiB
Plaintext

11 months ago
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>发起限制规则</title>
<!--SQL编辑器-->
<link href="../../Scripts/CodeMirror/lib/codemirror.css" rel="stylesheet" />
<link href="../../Scripts/CodeMirror/addon/hint/show-hint.css" rel="stylesheet" />
<script src="../../Scripts/CodeMirror/lib/codemirror.js"></script>
<script src="../../Scripts/CodeMirror/addon/edit/matchbrackets.js"></script>
<script src="../../Scripts/CodeMirror/mode/sql/sql.js"></script>
<script src="../../Scripts/CodeMirror/addon/hint/show-hint.js"></script>
<script src="../../Scripts/CodeMirror/addon/hint/sql-hint.js"></script>
<script src="../../Scripts/LoadSql.js"></script>
<link href="../../Scripts/easyUI145/themes/color.css" rel="stylesheet" />
<link href="../../Scripts/easyUI145/themes/default/easyui.css" rel="stylesheet" type="text/css" />
<link href="../../../DataUser/Style/ccbpm.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.input {
width: 95%;
height: 20px;
}
#Btn_Save {
background-image: url(../../Img/Btn/Save.png) !important;
}
</style>
<script type="text/javascript" src="../../Scripts/bootstrap/js/jquery.min.js"></script>
<script type="text/javascript" src="../../Scripts/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../../Scripts/QueryString.js"></script>
<!-- ccbpm -->
<script type="text/javascript" src="../../Scripts/config.js"></script>
<script type="text/javascript" src="../../Comm/Gener.js"></script>
<base target="_self" />
<link rel="stylesheet" type="text/css" href="../../Scripts/easyUI145/themes/default/easyui.css" />
<link rel="stylesheet" type="text/css" href="../../Scripts/easyUI145/themes/icon.css" />
<script type="text/javascript" src="../../Scripts/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="../../Scripts/easyUI145/jquery.easyui.min.js"></script>
<script type="text/javascript" src="../../Scripts/easyUI145/locale/easyui-lang-zh_CN.js"></script>
<script src="../Admin.js"></script>
<script type="text/javascript">
//全局变量
var FK_Flow; //流程id
var _StartLimitRole; //限制规则枚举JSON)
//页面启动函数.
$(function () {
$("#Msg").html("<img src=../../Img/loading.gif />&nbsp;正在加载,请稍后......");
InitPage();
$("#Msg").html("");
});
function InitPage() {
var fk_flow = GetQueryString("FK_Flow");
var data = new Entity("BP.WF.Flow", fk_flow);
var _StartLimitRole = data.StartLimitRole;
//批量赋值.
GenerFullAllCtrlsVal(data);
if (_StartLimitRole == 1) {
$("#RB_ByTime").attr("checked", true);
$("#TB_ByTimePara").val(data.StartLimitPara);
$("#DDL_ByTime").val(0);
}
var dat = data;
$("#TB_Alert").val(dat.StartLimitAlert); //限制提示信息
switch (parseInt(dat.StartLimitRole)) {
case 0: //不限制 None
$("#RB_None").attr("checked", true);
//$("input[name=xzgz][value=RB_None]").attr("checked", true);
$("#TB_ByTimePara").val(dat.StartLimitPara); //for test
break;
case 1: //天
$("#RB_ByTime").attr("checked", true);
$("#TB_ByTimePara").val(dat.StartLimitPara);
$("#DDL_ByTime").val(0);
break;
case 2: //周
$("#RB_ByTime").attr("checked", true);
$("#TB_ByTimePara").val(dat.StartLimitPara);
$("#DDL_ByTime").val(1);
break;
case 3: //月份
$("#RB_ByTime").attr("checked", true);
$("#TB_ByTimePara").val(dat.StartLimitPara);
$("#DDL_ByTime").val(2);
break;
case 4: //月份?
$("#RB_ByTime").attr("checked", true);
$("#TB_ByTimePara").val(dat.StartLimitPara);
$("#DDL_ByTime").val(3);
break;
case 5: //年度
$("#RB_ByTime").attr("checked", true);
$("#TB_ByTimePara").val(dat.StartLimitPara);
$("#DDL_ByTime").val(4);
break;
case 6: //发起的列不能重复,(多个列可以用逗号分开)
$("#RB_ColNotExit").attr("checked", true);
$("#TB_ColNotExit_Fields").val(dat.StartLimitPara);
break;
case 7: //<=0
$("#RB_SQL").attr("checked", true);
$("#TB_SQL").val(dat.StartLimitPara);
$("#DDL_SQL").val(0);
break;
case 8: //>0
$("#RB_SQL").attr("checked", true);
$("#TB_SQL").val(dat.StartLimitPara);
$("#DDL_SQL").val(1);
break;
case 9: //为子流程时仅仅只能被调用1此
$("#RB_OnlyOneSubFlow").attr("checked", true);
break;
default:
alert('没有判断的类型.');
break;
}
$("#Msg").html("");
}
function Save(parameters) {
//获取控件值
var startLimitRole = "", startLimitPara = "";
var xzgz = $("input[name=xzgz]:checked")[0].id; //$("input[type=radio][name=xzgz]:checked")[0].id
switch (xzgz) {
case "RB_None":
startLimitRole = "0";
break;
case "RB_ByTime":
var DDL_ByTime = parseInt($("#DDL_ByTime").val());
switch (DDL_ByTime) {
case 0:
startLimitRole = "1";
break;
case 1:
startLimitRole = "2";
break;
case 2:
startLimitRole = "3";
break;
case 3:
startLimitRole = "4";
break;
case 4:
startLimitRole = "5";
break;
}
startLimitPara = $("#TB_ByTimePara").val();
break;
case "RB_OnlyOneSubFlow":
startLimitRole = "9";
break;
case "RB_ColNotExit":
startLimitRole = "6";
startLimitPara = $("#TB_ColNotExit_Fields").val();
break;
case "RB_SQL":
var DDL_SQL = $("#DDL_SQL").val();
startLimitRole = DDL_SQL == 0 ? "7" : "8";
startLimitPara = editor.getValue();
break;
default:
break;
}
// //第2代技术.
// var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_AttrFlow");
// handler.AddPara("FK_Flow", GetQueryString("FK_Flow"));
// handler.AddPara("StartLimitRole", startLimitRole);
// handler.AddPara("StartLimitPara", startLimitPara);
// handler.AddPara("StartLimitAlert", $("#TB_Alert").val());
// var data = handler.DoMethodReturnString("Limit_Save");
// if (data.indexOf("err@") == 0) {
// alert(data);
// return;
// }
// alert(data);
//第3代技术.
var flow = new Entity("BP.WF.Flow", GetQueryString("FK_Flow"));
flow.StartLimitRole = startLimitRole;
flow.StartLimitPara = startLimitPara;
flow.StartLimitAlert = $("#TB_Alert").val();
flow.Update();
Reload();
}
function Help() {
var url = "http://doc.ccbpm.cn";
window.open(url);
}
</script>
<style type="text/css">
/*body.easyui-layout {
top: 20px;
left: 40px;
}*/
.panel-body {
padding: 0px;
}
.tabs {
border-width: 1px 0 1px 0;
}
.btn-default {
border: 0px;
}
.cs-btn-group {
width: auto !important;
min-height: 34px;
text-align: right;
background-color: transparent;
}
.cs-btn-group .l-btn-icon {
display: none;
}
.cs-btn-group .l-btn-text {
margin: 0;
}
.layout-panel {
position: absolute;
right: 0;
top: 0 !important;
box-shadow: none;
}
.layout-panel-north {
width: auto !important;
left: auto !important;
background-color: transparent;
}
.btn {
padding: 0 10px;
color: #fff !important;
border-radius: 0px !important;
border: 0;
height: 24px;
line-height: 24px;
box-sizing: border-box;
}
.btn:hover {
padding: 0 10px;
border: 0;
}
.btn-light-green {
background-color: #50b6ac !important;
}
.btn-light-green:hover {
background-color: #50b6ac;
}
.btn-light-blue {
background-color: #62cae3 !important;
}
.btn-light-blue:hover {
background-color: #62cae3;
}
.btn-light-yellow {
background-color: #f3ba20 !important;
}
.btn-light-yellow:hover {
background-color: #f3ba20;
}
.btn-light-red {
background-color: #f74f52 !important;
}
.btn-light-red:hover {
background-color: #f74f52;
}
.btn-white {
border: 1px solid #031f5d;
background-color: #fff !important;
;
color: #031f5d !important;
}
.btn-white:hover {
border: 1px solid #031f5d;
}
.tabs-wrap .tabs, .tabs-panels, .tabs li a.tabs-inner, .tabs-panels table, td.FDesc, td.FContext, td {
border: 0;
}
.tabs-wrap table {
width: 100% !important;
}
.tabs-wrap .tabs {
padding-left: 0;
width: auto;
border-bottom: 1px solid #0a2561;
}
.tabs li a.tabs-inner {
padding: 0 16px;
background: none;
border-radius: 5px 5px 0 0;
}
.tabs li a.tabs-inner:hover {
background: none;
font-weight: bold;
}
.tabs li.tabs-selected a.tabs-inner {
border: 1px solid #0a2561;
border-bottom-color: #fff;
background: #fff;
}
td {
box-sizing: border-box;
}
td a {
color: #15398b;
font-size: 12px;
}
td a img {
vertical-align: -2px;
}
td.FContext {
width: 30%;
}
td.FContext:nth-child(2) {
padding-right: 30px;
}
td.FContext > *:only-child {
width: 100% !important;
font-size: 13px;
color: #282828;
box-sizing: border-box;
}
td.FContext[colspan] {
padding-right: 0;
}
select[disabled], input[type=text]:disabled, .form-control, .form-control[disabled], .form-control[readonly], fieldset[disabled] {
background-color: #fff;
border: 1px solid #ccc !important;
text-align: left !important;
height: 32px;
box-sizing: border-box;
}
select[disabled], input[type=text]:disabled, .form-control[disabled], .form-control[readonly], fieldset[disabled] {
background-color: #f7f6f9;
}
td input[type="text"], td input[type="number"], td input[type="date"], td input[type="tel"] {
height: 32px;
}
td input[type="checkbox"] {
margin-right: 5px;
width: 16px;
height: 16px;
}
td label {
font-size: 13px;
}
/*td.FDesc {
padding-right: 10px;
text-align: right;
box-sizing: border-box;
}*/
/*td.FDesc:first-child {
width: 81px!important;
}
td:nth-child(3)[class="FDesc"] {
width: 130px!important;
}*/
.cs-form-import > .layout-panel-center {
padding: 16px 0 0 16px;
}
.cs-form-import > .layout-panel-north {
top: 6px !important;
padding-right: 21px;
border-radius: 0;
}
</style>
</head>
<body>
<div id="bar" class="cs-tr cs-bar">
<label style="float:left;font-size:13px;font-weight:bolder;padding-top:10px;">发起限时规则</label>
<input type="button" id="Btn_Save" runat="server" value="保存" onclick="Save()" />
</div>
<fieldset>
<legend>
<input type="radio" name="xzgz" id="RB_None" value="RB_None">
<!-- checked="checked"> -->
<label style="font-size:13px;font-weight:bolder;" for="RB_None">
不限制(默认)
</label>
</legend>
<ul style="color: Gray">
<li>不限制发起次数,比如报销流程、请款流程。</li>
<br />
</ul>
</fieldset>
<fieldset>
<legend>
<br />
<input type="radio" name="xzgz" id="RB_ByTime">
<label style="font-size:13px;font-weight:bolder;" for="RB_ByTime">
按时间规则计算
</label>
<br />
<br />
</legend>
<table style="width: 100%">
<tr>
<td style="width: 80px;">
规则模式:
</td>
<td>
<br />
<select id="DDL_ByTime">
<option value="0">每人每天一次</option>
<option value="1">每人每周一次</option>
<option value="2">每人每月一次</option>
<option value="3">每人每季一次</option>
<option value="4">每人每年一次</option>
</select>
<br />
</td>
</tr>
<tr>
<td colspan="3">
<a href="javascript:ShowHidden('FQGZ')">发起时间段限制参数设置:</a>
<br>
<div id="FQGZ" style="display: none; color: Gray">
<ul>
<li>该设置,可以为空。</li>
<li>用来限制该流程可以在什么时间段内发起。</li>
<li>例如:按照每人每天一次设置时间范围,规则参数:@08:30-09:00@18:00-18:30解释该流程只能在08:30-09:00与18:00-18:30两个时间段发起且只能发起一次。</li>
</ul>
</div>
<input type="text" class="input" id="TB_ByTimePara">
</td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>
<input type="radio" name="xzgz" id="RB_OnlyOneSubFlow">
<label style="font-size:13px;font-weight:bolder;" for="RB_OnlyOneSubFlow">
为子流程时的规则.
</label>
</legend>
<ul>
<li><label> <input type="checkbox" id="" /> 如果当前为子流程仅仅只能被调用1次不能被重复调用。</label></li>
<li><label> <input type="checkbox" /> 如果当前为子流程,需要等到指定的子流程结束以后才能启动该流程。</label></li>
<li>指定的流程编号:<input type=text />多个子流程用逗号分开.比如:001,003</li>
<br />
</ul>
</fieldset>
<fieldset>
<legend>
<input type="radio" name="xzgz" id="RB_ColNotExit">
<label style="font-size:13px;font-weight:bolder;" for="RB_ColNotExit">
按照发起字段不能重复规则
</label>
<br />
<br />
</legend><a href="javascript:ShowHidden('fields')">填写设置字段</a>
<div id="fields" style="display: none; color: Gray">
<ul>
<li>设置一个列允许重复比如NSRBH</li>
<li>设置多个列的时候需要用逗号分开比如field1,field2</li>
<li>流程在发起的时候如果发现,该列是重复的,就抛出异常,阻止流程发起。</li>
<li>比如:纳税人注销流程,一个纳税人只能发起一次注销,就要配置纳税人字段,让其不能重复。</li>
</ul>
</div>
<input type="text" class="input" id="TB_ColNotExit_Fields">
</fieldset>
<fieldset>
<legend>
<br />
<input type="radio" name="xzgz" id="RB_SQL">
<label style="font-size:13px;font-weight:bolder;" for="RB_SQL">
按SQL规则
</label>
<br />
<br />
</legend>
<!-- &nbsp;&nbsp; -->
<span>规则模式:</span>
<br>
<select name="规则模式" id="DDL_SQL">
<option value="0">设置的SQL数据为空或者返回结果为零时可以启动</option>
<option value="1">设置的SQL数据为空或者返回结果为零时不可以启动</option>
</select>
<br>
<a href="javascript:ShowHidden('Div2')">SQL规则参数:</a>
<br>
<div id="Div2" style="display: none; color: Gray">
<ul>
<li>例如SELECT COUNT(*) AS Num FROM TABLE1 WHERE NAME='@MyFieldName'</li>
<li>解释编写一个sql语句返回一行一列如果信息是0就是可以启动非0就不可以启动。</li>
<li>该参数支持ccbpm的表达式。比如:@WebUser.No,@WebUser.Name,@WebUser.FK_Dept,@WebUser.OrgNo</li>
</ul>
</div>
<textarea class="input" id="TB_SQL" name="TB_SQL" rows="3" style="height: 45px;"></textarea>
</fieldset>
<fieldset>
<legend><a href="javascript:ShowHidden('msgAlert')">限制提示信息:</a></legend>
<div id="msgAlert" style="display: none; color: Gray">
<ul>
<li>例如:您的发起的流程违反了xxx限制规则不能发起该流程。</li>
<li>当限制规则起作用的时候,应该提示给用户什么信息。</li>
<li>该信息在创建工作失败的时候提示。</li>
</ul>
</div>
<br>
<input type="text" class="input" id="TB_Alert">
</fieldset>
<!--<tr>
<td colspan="2" style="text-align: center;">
<input type="button" id="Btn_Save" value="保存" onclick="Save()" />
<input type="button" id="Button1" value="帮助" onclick="Help()" />
</td>
</tr>-->
<div id="Msg">
</div>
</body>
</html>