apzl_leasing/WebContent/Common/WorkFlow/FlowBackSubmitDialog.jsp

206 lines
7.5 KiB
Plaintext

<%@page import="com.amarsoft.are.jbo.ql.Parser"%>
<%@page import="com.amarsoft.biz.workflow.*"%>
<%@page import="com.amarsoft.app.flow.*"%>
<%@page import="com.tenwa.flow.task.*"%>
<%@page import="com.amarsoft.are.lang.StringX"%>
<%@include file="/Frame/resources/include/include_begin.jspf"%>
<%@include file="/Tenwa/Core/FlowManager/BaseFunction/BaseFlowListFunction.jspf" %>
<%@page contentType="text/html; charset=GBK"%>
<%
String taskNo = CurPage.getParameter("TaskNo");
String applyType = CurPage.getParameter("applyType");
String phasename = CurPage.getParameter("phasename");
if(StringX.isSpace(taskNo)) taskNo = "";
if(StringX.isSpace(applyType)) applyType = "";
if(StringX.isSpace(phasename)) phasename = "";
String userID = CurUser.getUserID();
JBOTransaction tx = JBOFactory.createJBOTransaction();
TenwaFlowTask ft = new TenwaFlowTask(taskNo, tx);//使用jboTrans
String routeInfo=ft.getFlowRebackInfo();
String flowNo = ft.FlowNo;
String phaseNo=ft.PhaseNo;
String objectNo=ft.ObjectNo;
String flowState = ft.FlowState;
//会签历史纪录阶段号问题
tx.commit();
%>
<style>
.opinion-style{
width:100%;
overflow:hidden;
display:inline-block;
margin-bottom:2px;
outline:none;
}
.opinion-style2{
overflow:hidden;
display:inline-block;
margin-bottom:2px;
outline:none;
}
a.opinion-style:hover{
background-color:A8CAE5;
outline:none;
}
.opinion-focus{
background-color:A8CAE5;
}
</style>
<div>
<table>
<tr>
<td width="50%" align="right"><%=new Button("提交","确认提交","javascript:backMethod();","","btn_icon_Submit","").getHtmlText()%></td>
<td width="50%" align="center"><%=new Button("放弃","放弃提交","javascript:doCancel();","","btn_icon_delete","").getHtmlText()%></td>
</tr>
</table>
</div>
<div id="opinionset">
<div style="margin-top:10px;margin-left:15px;font-size:12px;">
<font color="#000000"><b>请选择退回后提交方式:</b></font>
</div>
<div style="margin-top:10px;margin-left:10px;font-size:12px;border:1px solid lightgray;padding:10px;">
<input id="directsubmit" type="radio" name="backmethod" value="1"/>直接提交退回步骤
<input id="stepapprove" type="radio" name="backmethod" value="2" />逐级审批
</div>
<div style="margin-top:10px;margin-left:15px;font-size:12px;">
<font color="#000000"><b>请选择退回路径:</b></font>
</div>
<div id="stepInfo" style="margin-top:10px;margin-left:10px;font-size:12px;border:1px solid lightgray;padding:10px;">
</div>
<div style="height:300px; overflow:auto">
<div id="actionset">
</div>
<div id="actionreadset">
</div>
</div>
<div>
<table width="100%" align="center">
<tr>
<td align="center"><b><span id="phaseinfo" style="color: #FF0000" ></span></b></td>
</tr>
</table>
</div>
<script type="text/javascript">
var strRouteJson='<%=routeInfo%>';
var routeJson= JSON.parse(strRouteJson);
var taskNo = "<%=taskNo%>";
var applyType = "<%=applyType%>";
var phasename = "<%=phasename%>";
var userID = "<%=userID%>";
var objectNo = "<%=objectNo%>";
$(function(){initRouteInfo();});
function initRouteInfo(){
//初始请选择退回后提交方式
var backnexttype=routeJson.backnexttype;
if(backnexttype.length==0){
$("#stepapprove").attr("checked",true);
}else{
if(backnexttype=="backnextperson"){
$("#directsubmit").attr("checked",true);
$("#stepapprove").attr("disabled",true);
$("#directsubmit").attr("disabled",true);
}else if(backnexttype=="backnextstep"){
$("#stepapprove").attr("checked",true);
$("#stepapprove").attr("disabled",true);
$("#directsubmit").attr("disabled",true);
}
}
var stepInfo=$("#stepInfo");
if(routeJson.backstept.length>0){
stepInfo.append("<table>");
for(var i=0;i<routeJson.backstept.length;i++){
var phaseNo=routeJson.backstept[i].phaseNo;
var phaseName=routeJson.backstept[i].phaseName;
if(i==0){stepInfo.append("<tr>");}else{if(i%3==0){stepInfo.append("</tr><tr>");}}
stepInfo.append("<td><a class='opinion-style2' href='javascript:void(0)' ><input type='radio' name='phaseopinion' onclick='initFlowUserInfo(\""+phaseNo+"\")' value='" +phaseNo+ "' >" + phaseName+ "("+phaseNo+")</input></a></td>");
if(i==(routeJson.backstept.length-1)){stepInfo.append("</tr>");}
}
stepInfo.append("</table>");
if(routeJson.backstept.length==1){
$("input[name='phaseopinion']:first").attr("checked",true);
initFlowUserInfo(routeJson.backstept[0].phaseNo);
}
}else{
stepInfo.append("没有可退回的步骤");
}
}
//初始化路由下面的用户
function initFlowUserInfo(tempphaseno){
var backUserInfo = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction", "getBackStepTaskInfo", "objectNo=<%=objectNo%>,phaseNo="+tempphaseno);
var actionSet = $("#actionset");
var cindex=0;
var selectUser=$('#phaseaction'+cindex).text()||"";
if(selectUser.length==0){
actionSet.append("<div style='margin-top:10px;margin-left:15px;font-size:12px;'><font color='#000000'><b>退回的用户:</b></font></div><div id='phaseaction"+cindex+"' style='margin-top:10px;margin-left:10px;font-size:12px;border:1px solid lightgray;padding:5px;'></div>");
}else{
$('#phaseaction'+cindex).html("");
}
var phaseAction = $("#phaseaction"+cindex);
if(backUserInfo!=null){
var userJson= backUserInfo;
var username= userJson.userName||"";
if(username.length>0){
phaseAction.append("<a class='opinion-style' style='width:100' href='javascript:void(0)' ><input type='radio' name='phaseaction"+cindex+"' checked value='"+userJson.taskNo+"'>"+userJson.userName+"</input></a>");
}else{
phaseAction.append("无用户");
}
}
//隐藏退回是用户信息
actionSet.hide();
}
function doCancel(){
if(confirm("您确定要放弃此次提交吗?")){
parent.AsDialog.ClosePage("_CANCEL_");
}
}
function backMethod(){
if(document.getElementById("stepapprove").checked){
commitAction();
}else if(document.getElementById("directsubmit").checked){
commitAction('recommit');
}else{
alert("请选择退回后提交方式!");
}
}
//提交动作
function commitAction(isRecommit){
var isCommited = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction", "isCommited", "TaskNo=<%=taskNo%>");
if(isCommited=='yes'){
var message = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","getTaskAutoColseInfo","taskNo=<%=taskNo%>");
if(message!=""){
alert("操作失败:"+message+"!");
}else{
alert("此流程任务已提交!");
}
}
var sTaskNo = $("input[name='phaseaction0']:checked").val()||"";
var returnUser = $("input[name='phaseaction0']:checked")[0].nextSibling.nodeValue||"";
if(typeof(sTaskNo)=="undefined" || sTaskNo.length==0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
if(confirm("确定退回吗?")){
var para="";
if(typeof(isRecommit)!=undefined && isRecommit=="recommit"){
para = ",Recommit=Y";
}
var msg = RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","returnTask","TaskNo=<%=taskNo%>,ReturnPoint="+sTaskNo+para);
var sFlowLogContent="<%=CurUser.getUserName()%>在@退回流程给"+returnUser;
insertFlowLog(objectNo,taskNo,sFlowLogContent);
alert("操作成功")
parent.AsDialog.ClosePage("_SUCCESS_");
}
}
</script>
<%@include file="/Frame/resources/include/include_end.jspf"%>