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.

722 lines
28 KiB
Plaintext

9 months ago
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>下一步接受人员列表</title>
<!--
1, 退回界面。
2需要 FK_Flow, FK_Node,WorkID, FID.
3, 调用方法 ReturnWork.htm?FK_Flow=001&FK_Node=103&WorkID=232&FID=23
-->
<!-- <link href="../Scripts/bootstrap/css/bootstrap.css" rel="stylesheet" />
<link href="../Scripts/bootstrap/css/components-rounded.css" rel="stylesheet" />
<link href="../Scripts/bootstrap/css/font-awesome.css" rel="stylesheet" />
<link href="../Scripts/bootstrap/css/themes/default/style.min.css" rel="stylesheet" />
<link href="../Scripts/easyUI145/themes/icon.css" rel="stylesheet" type="text/css" />
<link href="../Scripts/layui/layui/css/modules/layer/default/layer.css" rel="stylesheet" />-->
<link href="../Portal/icons/font-icons.min.css" rel="stylesheet" />
<link href="../Portal/icons/icons.css" rel="stylesheet" />
<link href="../Scripts/layui/layui/css/layui.css" rel="stylesheet" />
<!--<link href="../Portal/layui/css/layui.css" rel="stylesheet" />
<link href="../Portal/layui/css/customer.css" rel="stylesheet" />-->
<link href="../Scripts/easyUI145/themes/default/easyui.css" rel="stylesheet" type="text/css" />
<script src="../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="../Scripts/layui/layui/layui.js" type="text/javascript"></script>
<script type="text/javascript" src="../Scripts/QueryString.js"></script>
<script type="text/javascript" src="../Scripts/bootstrap/js/jquery.min.js"></script>
<script type="text/javascript" src="../Scripts/QueryString.js"></script>
<script type="text/javascript" src="../Scripts/bootstrap/js/bootstrap.min.js"></script>
<script src="../Scripts/EasyUIUtility.js" type="text/javascript"></script>
<script src="../../DataUser/JSLibData/CommonShowConfig.js"></script>
<script src="../Scripts/easyUI/jquery.easyui.min.js" type="text/javascript"></script>
<script src="../Scripts/QueryString.js" type="text/javascript"></script>
<script type="text/javascript" src="../Scripts/DealErrInfo.js"></script>
<link href="../../DataUser/Style/ccbpm.css" rel="Stylesheet" />
<!-- 导入配置文件. -->
<script type="text/javascript" src="../Scripts/config.js"></script>
<script src="../Comm/Gener.js" type="text/javascript"></script>
<style type="text/css">
body {
background: transparent;
}
body div {
text-align: left;
}
#Message {
width: 100%;
}
#viewModal {
max-width: 1000px;
}
#SelectEmp {
position: relative;
width: 300px;
border-top: 0;
display: none;
margin-top: 5px;
}
.addbg {
background: #CFCFCF;
}
#next {
float: right;
position: relative;
width: auto;
margin-right: 10px;
}
button {
background: #fff;
color: #000;
border: 1px solid #ccc !important;
border-radius: 3px;
margin: 2px 3px 5px 3px;
padding: 4px 15px;
}
button:hover {
background: #f5f5f5 !important;
color: #000;
border: 1px solid #ccc !important;
}
.form-unit {
font-size: 17px;
/* font-style: oblique; */
color: #333;
border-bottom: 1px solid #ddd;
margin-bottom: 10px;
padding-bottom: 5px;
}
</style>
<script type="text/javascript">
var param = {};
var isSigleSelect = false;
var selectEmp = "";
var selectEmpNo = "";
var IsSend = GetQueryString("IsSend"); //是否发送该参数是ToNodes.htm 带回来的.
var isFrameCross = GetQueryString("isFrameCross");
if (isFrameCross == null || isFrameCross == undefined || isFrameCross == "" || isFrameCross == "null")
isFrameCross = 0;
var pageFrom = GetQueryString("PageFrom");
//判断读秒关闭的参数是否存在
if ("undefined" == typeof WF_WorkOpt_LeftSecond) {
var WF_WorkOpt_LeftSecond = 30;
}
var isDelayedSend = GetQueryString("IsDelayedSend") || "0";
$(function () {
if (isDelayedSend == "1") {
$("#Btn_Send").hide();
$("#Div_DelayedSend").show();
$("#Btn_DelayedSend").show();
}
if (IsSend == null || IsSend == undefined || IsSend == "")
IsSend = "1";
if (IsSend == "0")
$("#Btn_Send").hide(); //如果是ToNodes.htm调用的就隐藏发送.
$("#HelpInfo").toggle(); //没有起作用。
var handler = new HttpHandler("BP.WF.HttpHandler.WF_WorkOpt");
handler.AddUrlData(); //参数:ToNode,FK_Flow,FK_Node,WorkID
var data = handler.DoMethodReturnString("AccepterOfGener_Init");
if (data.indexOf('err@') == 0) {
alert(data);
window.parent.close();
return;
}
//获得结果集.该结果集有如下数据: SELECT * FROM WF_SelectAccper
var sas = JSON.parse(data);
BindTable(sas); //开始渲染列表.
//初始化人员选择窗口
var selectEmpModalHtml = '<div class="modal fade" id="SelectEmpsModal">' +
'<div class="modal-dialog" style="width:700px;">'
+ '<div class="modal-content" style="">'
+ '<div class="modal-header">'
+ '<button type="button" class="close" style="color:#000;opacity:1;" data-dismiss="modal" aria-hidden="true">&times;</button>'
+ '<h4 class="modal-title">接受人</h4>'
+ '</div>'
+ '<div class="modal-body" style="border-radius: 0px; ">'
+ '<iframe style="width:100%;border:0px;height:400px;" id="iframeSelectEmpsForm" name="iframeSelectEmpsForm"></iframe>'
+ '</div>'
+ '</div><!-- /.modal-content -->'
+ '</div><!-- /.modal-dialog -->'
+ '</div>';
$('body').append($(selectEmpModalHtml));
//获得部门编号.
var u = new WebUser();
var dept = u.FK_Dept;
var IsSelectMore = isSigleSelect == false ? 1 : 0;
var url = "SelectEmps.htm?FK_Dept=" + dept + "&FK_Node=" + GetQueryString("FK_Node") + "&IsSelectMore=" + IsSelectMore + "&s=" + Math.random();
//为天业集团做的特殊判断.
url = url.replace('=101&', '=10102&');
$('#Btn_SelectEmps').bind('click', function () {
var iframeUrl = url + "&SelectedEmps=" + selectEmpNo;
$('#iframeSelectEmpsForm').attr('src', iframeUrl);
$('#SelectEmpsModal').modal().show();
});
$(".Msg").hide();
var int = setInterval("clock()", 1000);
});
//是否单项选择.
var IsSimpleSelector = 0;
function BindTable(sas) {
var isDel = true;
var toNodeID = GetQueryString("ToNode");
var sa = new Entity("BP.WF.Template.Selector", toNodeID);
if (sa.IsSimpleSelector == 1) { //是否单项选择.
isDel = false; //如果是单项选择,就可以有移除按钮.
isSigleSelect = true;
}
IsSimpleSelector = sa.IsSimpleSelector;
selectEmp = "";
selectEmpNo = "";
for (var i = 0; i < sas.length; i++) {
var sa = sas[i];
var row = "";
row += "<tr>";
row += "<td>" + (i + 1) + "</td>";
//row += "<td>" + sa.FK_Emp + "</td>";
row += "<td>" + sa.EmpName + "</td>";
row += "<td title='" + sa.DeptName + "' >" + sa.DeptName + "</td>";
row += "<td style='width:40px;'><a href=\"javascript:Up('" + sa.MyPK + "');\" ><i class=icon-arrow-up-circle></i>上移</a></td>";
row += "<td style='width:40px;'><a href=\"javascript:Down('" + sa.MyPK + "');\" ><i class=icon-arrow-down-circle></i> 下移</a></td>";
if (isDel == true)
row += "<td style='width:40px;'><a href=\"javascript:DeleteIt('" + sa.MyPK + "');\" ><i class=icon-close></i> 移除</a></td>";
else
row += "<td style='width:40px;'> <a href=\"javascript:alert('当前节点是单选节点,当前处理人是默认自动计算的处理人,请选择一个处理人,系统就会自动替换掉。');\">帮助</a></td>";
row += "</tr>";
$("#Table1 tbody").append(row);
selectEmp += sa.EmpName + ",";
selectEmpNo += sa.FK_Emp + ","
}
}
//得到行对象
function ClearTable() {
var table = $("#Table1");
var tbody = $("#Table1 tbody");
var trArr = $("#Table1 tbody tr");
for (var i = 0; i < trArr.length; i++) {
var tr = trArr[i];
console.info(tr.id);
if (tr.id == "title")
continue;
tbody.empty();
}
}
function Ref() {
Reload();
}
function Up(mypk) {
var en = new Entity("BP.WF.Template.SelectAccper", mypk);
en.DoMethodReturnString("DoUp");
Reload();
}
function Down(mypk) {
var en = new Entity("BP.WF.Template.SelectAccper", mypk);
en.DoMethodReturnString("DoDown");
Reload();
}
function DeleteIt(mypk) {
var en = new Entity("BP.WF.Template.SelectAccper", mypk);
en.Delete();
Reload();
return;
}
//确定 执行下一步接受人员列表操作.
function AddEmps(isSend) {
var emps = this.document.getElementById("TB_Emps").value;
if (isSend == false && emps == "") {
alert('请输入接受人的人员ID,支持拼音查询.');
return;
}
AddEmpsExt(isSend, emps);
}
function AddEmpsExt(isSend, emps) {
var handler = new HttpHandler("BP.WF.HttpHandler.WF_WorkOpt");
handler.AddUrlData(); //参数ToNode, WorkID,FK_Node,FK_Flow
handler.AddPara("AddEmps", emps); //要增加的人员,多个可以用逗号分开.
var data = handler.DoMethodReturnString("AccepterOfGener_AddEmps");
if (data.indexOf('err@') == 0) {
alert(data);
Reload();
return;
}
if (data.indexOf('info@') == 0) {
$(".Msg").show();
$(".Msg").html(data);
return;
}
//是否执行发送?
if (isSend == true) {
SendIt();
return;
}
ClearTable();
var gwls = JSON.parse(data);
BindTable(gwls);
document.getElementById("TB_Emps").value = ""; //把人员的文本框清空.
return;
$(".foot").hide();
}
function DelayedSend() {
var handler = new HttpHandler("BP.WF.HttpHandler.WF_MyFlow");
handler.AddUrlData();
var day = $("#TB_Day").val() || 0;
var hour = $("#TB_Hour").val() || 0;
var minute = $("#DDL_Minute").val() || 0;
if (day == 0 && hour == 0 && minute == 0) {
layer.alert("请设置延期发送的时间");
return;
}
var trs = $("table tbody tr").length;
if (trs == 0) {
layer.alert("请选择下一个节点的接收人");
return;
}
handler.AddPara("TB_Day", day);
handler.AddPara("TB_Hour", hour);
handler.AddPara("DDL_Minute", minute);
handler.AddPara("ToNodeID", GetQueryString("ToNode"));
var data = handler.DoMethodReturnString("DelayedSend");
if (data.indexOf("err@") != -1) {
layer.alert(data);
return;
}
CloseAll();
}
//执行发送.
function Send() {
var emps = this.document.getElementById("TB_Emps").value;
if (emps != "") {
this.AddEmps(true); //如果人员不为空,把人员代
return;
}
SendIt();
}
function SendIt() {
if (pageFrom != null && pageFrom != undefined && pageFrom == "WorkCheckModel") {
window.parent.returnWorkWindowClose(selectEmpNo);
return;
}
var httphandler = new HttpHandler("BP.WF.HttpHandler.WF_WorkOpt");
httphandler.AddUrlData(); //FK_Flow,FK_Node,WorkID,FID,ToNode 等参数.
$("#Btn_Send").attr("disabled", "disabled"); //把发送按钮设置不可用.
$("#Btn_Send").text("正在发送请稍候...");
$("#Btn_Close").attr("disabled", "disabled"); //关闭按钮设置不可以用.
$("#Btn_SelectEmps").attr("disabled", "disabled"); //选择人按钮不可以用.
var data = httphandler.DoMethodReturnString("AccepterOfGener_Send");
if (data.indexOf('err@') == 0) { //如果发送失败.
DealErrMsg(data);
if (msgTech == "") {
$(".Msg").show();
$(".Msg").html(data);
$(".Msg").css("color", "red");
}
$("#Btn_Send").attr("disabled", false);
$("#Btn_Send").text("发送");
$("#Btn_Close").attr("disabled", false);
$("#Btn_SelectEmps").attr("disabled", false);
return;
}
if (isFrameCross == 0) {
if (window.parent != null && window.parent.WindowCloseReloadPage != null && typeof window.parent.WindowCloseReloadPage === "function") {
window.parent.WindowCloseReloadPage(data);
} else {
if (typeof WindowCloseReloadPage != 'undefined' && WindowCloseReloadPage instanceof Function)
WindowCloseReloadPage(data);
}
}
if (data.indexOf('TurnUrl@') == 0) { //发送成功时转到指定的URL
var url = data;
url = url.replace('TurnUrl@', '');
parent.window.location.href = filterXSS(url);
return;
}
//发送成功处理.
$(".Msg").css("color", "");
data = data.replace("'MyFlowInfo", "'../MyFlowInfo");
data = data.replace("'MyFlow.htm", "'../MyFlow.htm");
data = data.replace("'MyFlow.htm", "'../MyFlow.htm");
data = data.replace("'WFRpt", "'../WFRpt");
data = data.replace("'WFRpt", "'../WFRpt");
data = data.replace("'./Img", "'../Img");
data = data.replace("'./Img", "'../Img");
data = data.replace("'./Img", "'../Img");
data = data.replace("'./Img", "'../Img");
data = data.replace("'./Img", "'../Img");
data = data.replace("'./WorkOpt/", "");
data = data.replace("'./WorkOpt/", "");
data = data.replace("'./WorkOpt/", "");
data = data.replace("'./WorkOpt/", "");
data = data.replace('<br/>', '');
data = data.replace('<br/>', '');
data = data.replace('<br/>', '');
data = data.replace('@', '<br/>@');
data = data.replace(/@/g, '<br/>@');
data = data.replace('@', '<br/>@');
data = data.replace(/null/g, '');
data = data.replace("<br><br/><br/>", '');
data += " <div style='text-align:right;margin-right:10px;margin-bottom:10px'>";
data += " <button id='CloseBtn' type = 'button' onclick = 'CloseAll();'><img src='../Img/Btn/Close.png' />关 闭(30秒)</button></div> ";
$(".Msg").show();
$(".Msg").html(data);
$("#next").empty();
//隐藏table.
document.getElementById("Table1").style.display = "none";
document.getElementById("TB_Emps").style.display = "none";
//document.getElementById("Btn_SelectEmps").style.display = "none";
var ctrl = document.getElementById("Btn_Send");
if (ctrl != null)
ctrl.style.display = "none";
ctrl = document.getElementById("labInfo");
if (ctrl != null)
ctrl.style.display = "none";
ctrl = document.getElementById("Btn_Close");
if (ctrl != null)
ctrl.style.display = "none";
ctrl = document.getElementById("Btn_SelectEmps");
if (ctrl != null)
ctrl.style.display = "none";
}
//var num = 30;
function clock() {
if ($("#CloseBtn").length == 0)
return;
WF_WorkOpt_LeftSecond >= 0 ? WF_WorkOpt_LeftSecond-- : clearInterval(int);
$("#CloseBtn").html("<img src='../Img/Btn/Close.png' />关 闭(" + WF_WorkOpt_LeftSecond + "秒)");
if (WF_WorkOpt_LeftSecond == 0)
CloseAll();
}
//取消移交
function CloseAll() {
if (isFrameCross == 0) {
// 取得父页面URL用于判断是否是来自测试流程
var pareUrl = window.top.document.referrer;
if (pareUrl.indexOf("test") != -1 || pareUrl.indexOf("Test") != -1) {
// 测试流程时,发送成功刷新测试容器页面右侧
window.parent.parent.refreshRight();
}
if (window.parent != null && window.parent.returnWorkWindowClose != null) {
window.parent.close();
if (window.parent.parent != null && window.parent.parent != undefined
&& pareUrl.indexOf("test") != -1 && pareUrl.indexOf("Test") != -1)
window.parent.parent.close();
window.parent.returnWorkWindowClose();
}
} else {
window.parent.parent.close();
ChildrenPostMessage('', 'returnWorkWindowClose');
}
window.close();
}
//关闭model.
function CloseModel() {
if (isFrameCross == 0) {
if (window.parent != null && window.parent.returnWorkWindowClose != null) {
//获取接收人,作用于toNodes.htm页面
if (selectEmp != "" && IsSend == "0") {
if (pageFrom != null && pageFrom != undefined && pageFrom == "WorkCheckModel") {
window.parent.returnWorkWindowClose(selectEmpNo);
} else {
selectEmp = selectEmp.substring(0, selectEmp.length - 1);
window.parent.returnWorkWindowClose(selectEmp);
}
} else {
window.parent.returnWorkWindowClose("");
}
} else {
$('body').append($('<div>' + "已取消操作" + '</div>'));
window.close();
}
} else {
//获取接收人,作用于toNodes.htm页面
if (selectEmp != "" && IsSend == "0") {
selectEmp = selectEmp.substring(0, selectEmp.length - 1);
ChildrenPostMessage(selectEmp, 'returnWorkWindowClose');
} else {
ChildrenPostMessage('', 'returnWorkWindowClose');
}
}
}
//设置选中的人员
function selectEmpsWindowClose(data) {
$('#SelectEmpsModal').modal('hide');
if (data == '取消') {
return;
}
//返回的人员编号.
var val = frames["iframeSelectEmpsForm"].window.returnVal.No;
// alert(val);
AddEmpsExt(false, val); //调用增加接受人方法, fase=不让其发送. val= 选择的人员编号.
//$('#TB_Emps').val(frames["iframeSelectEmpsForm"].window.returnVal.No);
}
//得到行对象
function getRowObj(obj) {
var i = 0;
while (obj.tagName.toLowerCase() != "tr") {
obj = obj.parentNode;
if (obj.tagName.toLowerCase() == "table")
return null;
}
return obj;
}
//根据得到的行对象得到所在的行数
function getRowNo(obj) {
var trObj = getRowObj(obj);
var trArr = trObj.parentNode.children;
for (var trNo = 0; trNo < trArr.length; trNo++) {
if (trObj == trObj.parentNode.children[trNo]) {
alert(trNo + 1);
}
}
}
//事件
$(function () {
//人员选择,输入框拼写补全.
$("#TB_Emps").bind('input propertychange', function () {
if ($("#TB_Emps").val() == null || $("#TB_Emps").val() == "") {
//alert("输入内容为空!");
//return;
$("#SelectEmp").hide().html("");
return;
}
var handler = new HttpHandler("BP.WF.HttpHandler.WF_WorkOpt");
handler.AddPara("FK_Node", GetQueryString("FK_Node"));
handler.AddPara("WorkID", GetQueryString("WorkID"));
handler.AddPara("ToNode", GetQueryString("ToNode")); //要到达的节点.
handler.AddPara("TB_Emps", $("#TB_Emps").val()); //文本框的值
var data = handler.DoMethodReturnString("AccepterOfGener_SelectEmps");
if (data.indexOf('err@') == 0) { //如果有错误.
alert(data);
return;
}
data = JSON.parse(data); //返回 No,Name 两个列的值.
var html = "";
for (var i = 0; i < data.length; i++) {
//$("#SelectEmp").append("<option value='" + data[i].No + "' onclick=selectAdd('" + data[i].No + "')>" + data[i].Name + "</option>");
html = html + "<div class='item' onclick='getCon(\"" + data[i].No + "\");' onmouseenter='getFocus(this)'>" + data[i].Name + "</div>";
}
$("#SelectEmp").show().html(html);
});
});
//弹窗要调用的接口.
function selectAdd(No) {
$("#TB_Emps").val(No);
}
//鼠标事件
function getFocus(obj) {
$(".item").removeClass("addbg");
$(obj).addClass("addbg");
}
//选择下拉数据
function getCon(no) {
// $("#TB_Emps").val(no);
$("#SelectEmp").hide().html(""); //关闭掉人员列表。
AddEmpsExt(false, no); //调用增加人员的方法fase=不发送.
}
function Help() {
var str = "输入要下一步接受人员可以使用人员名称拼音支持全拼简拼。";
str += "比如: 查找耿润华您可以输入: grh 或者 gengrh 或者 gengrunhua;"
str += " 支持单位名称,比如:耿润华/集团信息中心, 可以输入为 grh/jtxxzx";
layer.alert(str, { icon: 6 });
}
//高级选择
function AdvSelect() {
var url = "./Selecter/ByStation.htm?WorkID=" + GetQueryString("WorkID") + "&ToNode=" + GetQueryString("ToNode");
url += "&FK_Node=" + GetQueryString("FK_Node");
OpenEasyUiDialogExtCloseFunc(url, '设置人员', 780, 380, null);
}
</script>
</head>
<body>
<div class="Msg" style="text-align: left;padding-left:25px; display:none;">
<img src='../Img/loading.gif' alt="" />页面数据正在加载中,请稍候......
</div>
<div class="divFieldly" style="text-align: left;padding-left:25px; display:none;">
</div>
<div class="divTech" style="text-align: left;padding-left:25px; display:none;">
</div>
<div class="techMsg" style="text-align: left;padding-left:25px; display:none;">
</div>
<div style="display:none;margin:10px" id="Div_DelayedSend">
<div class="form-unit">设置延期时间</div>
<div class="layui-form" style="margin-top:10px">
<div class="layui-form-item">
<div class="layui-input-inline">
<input type="text" name="TB_Day" id="TB_Day" class="layui-input" value="0" />
</div>
<label class="layui-form-label">天</label>
<div class="layui-input-inline">
<input type="text" name="TB_Hour" id="TB_Hour" class="layui-input" value="0" />
</div>
<label class="layui-form-label">小时</label>
<div class="layui-input-inline">
<select name="DDL_Minute" id="DDL_Minute">
<option value="0">0</option>
<option value="15">15</option>
<option value="30">30</option>
<option value="45">45</option>
</select>
</div>
<label class="layui-form-label">分</label>
</div>
</div>
<div class="form-unit">选择接收人</div>
</div>
<table class="table table-striped" id="Table1" style="width:98%;padding:5px; margin:10px;">
<!-- <caption>下一步接受人员列表</caption>-->
<thead>
<tr id="title" class="Sum">
<td style="width:40px; font-weight:bolder">#</td>
<!--<th>编号 </th>-->
<td style="width:30%; font-weight:bolder">姓名</td>
<!--<td style="width:40%; font-weight:bolder">部门 &nbsp; - &nbsp; <a href="javascript:Ref()">刷新</a></td>-->
<td style="width:40%; font-weight:bolder">部门</td>
<td style="width:60px; font-weight:bolder" colspan="3">操作</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
<div style="margin-left:20px;display:flex;justify-content:space-between;">
<div style="display:flex;align-items:center;margin-top:4px">
<input type="text" id="TB_Emps" name="TB_Emps"
title="输入: zs或zhangs或zhangsan"
placeholder="查张三,您可输入: zs或zhangs或zhangsan"
value='' style="width: 350px; height: 25px;" />
<div id="SelectEmp"></div>
<div style="margin-top:2px;">
<button id="Btn_SelectEmps">
<img src="../Img/Btn/AddLeader.png" /> 选人
</button>
</div>
</div>
<div id="next">
<button onclick="Send();" id="Btn_Send">
<img src="../Img/Btn/Send.png" /> 发送
</button>
<button onclick="DelayedSend();" id="Btn_DelayedSend" style="display:none">
<img src="../Img/Btn/Send.png" /> 延期发送
</button>
<button onclick="CloseModel();" id="Btn_Close">
<img src="../Img/Btn/Close.png" /> 关闭
</button>
</div>
</div>
</body>
</html>