apzl_leasing/WebContent/Common/WorkFlow/SimpleTaskListNew.jsp
2018-06-03 22:26:41 +08:00

269 lines
12 KiB
Plaintext

<%@page import="com.amarsoft.biz.workflow.ApproveManager"%>
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/Frame/resources/include/include_begin_list.jspf"%>
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List00;Describe=注释区;]~*/%>
<%
/*
Content: 仅展示流程相关数据,不关联业务数据
*/
%>
<%/*~END~*/%>
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List01;Describe=定义页面属性;]~*/%>
<%
String PG_TITLE = "审查审批列表"; // 浏览器窗口标题 <title> PG_TITLE </title>
%>
<%/*~END~*/%>
<%
//获得组件参数:流程对象类型、申请类型、流程编号、阶段编号、阶段类型、完成标志
String sApproveType = CurPage.getParameter("ApproveType");
String sFlowNo = CurPage.getParameter("FlowNo");
String sPhaseNo = CurPage.getParameter("PhaseNo");
String sPhaseType = CurPage.getParameter("PhaseType");
String sFinishFlag = CurPage.getParameter("FinishFlag");
ApproveManager approve = new ApproveManager(sApproveType,sFlowNo, sPhaseNo, sFinishFlag, CurUser);
ASObjectModel doTemp = new ASObjectModel(approve.getDono());
doTemp.setLockCount(2);
doTemp.appendJboWhere(approve.getWhereClause()+" order by O.serialNo desc ");
//System.out.println("sql:"+doTemp.getJboClass()+" "+doTemp.getJboFrom());
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1"; //设置为Grid风格
//dwTemp.MultiSelect = true;//允许多选
dwTemp.ReadOnly = "1";//编辑模式
dwTemp.genHTMLObjectWindow("");
String sButtons[][] = approve.getButtonArr();
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
<%/*~BEGIN~可编辑区~[Editable=false;CodeAreaID=List06;Describe=自定义函数;]~*/%>
<script type="text/javascript">
/*~[Describe=提交任务;InputParam=无;OutPutParam=无;]~*/
function doSubmit() {
var sObjectType = getItemValue(0,getRow(),"OBJECTTYPE");
var sObjectNo = getItemValue(0,getRow(),"OBJECTNO");
var sFlowNo = getItemValue(0,getRow(),"FLOWNO");
var sPhaseNo = getItemValue(0,getRow(),"PHASENO");
var sTaskNo = getItemValue(0,getRow(),"SERIALNO");
var ASSIGNEDTASKNO = getItemValue(0,getRow(),"ASSIGNEDTASKNO");
if (typeof(sTaskNo)=="undefined" || sTaskNo.length==0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
//检查是否签署意见
var sReturn = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","isSignOpinion","TaskNo="+sTaskNo);//返回值: yes-有意见; no-无意见; error-查询出错
if(sReturn!="yes") {
alert(getMessageText("ALS70501"));//该业务未签署意见,不能提交,请先签署意见!
return;
}
if(typeof(ASSIGNEDTASKNO)!="undefined" && ASSIGNEDTASKNO.length>0){
if(confirm("此任务为退回的任务,将按照要求在退回后重新提交给退回人!是否继续?")){
AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","submit","TaskNo="+sTaskNo+",PhaseOpinion=null,PhaseAction=null");
//reloadSelf();
AsControl.OpenComp("/Common/WorkFlow/ApproveMain.jsp","ComponentName=流程示例审批&ComponentType=MainWindow&ApproveType=<%=sApproveType%>&FlowNo=<%=sFlowNo%>&PhaseNo=<%=sPhaseNo%>","_top");
}
return;
}
var sFlowState = getItemValue(0,getRow(),"FLOWSTATE");
if(sFlowState.length>0 && sFlowState ==="MEETING"){
//如果当前任务为贷审会委员审批--结束任务 并设置flowState为voted
AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","endMeetingTask","TaskNo="+sTaskNo);
alert("提交成功");
//reloadSelf();
AsControl.OpenComp("/Common/WorkFlow/ApproveMain.jsp","ComponentName=流程示例审批&ComponentType=MainWindow&ApproveType=<%=sApproveType%>&FlowNo=<%=sFlowNo%>&PhaseNo=<%=sPhaseNo%>","_top");
}else{
if( sFlowState ==="COLLECT"){ //如果是贷审会秘书汇总阶段,目前仅控制没有委员投票时不允许提交,可进一步添加其他规则
sRet = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","getVotedNum","TaskNo="+sTaskNo); //得到已投票个数
if(sRet<1){
alert("目前还没有委员投票,不允许提交");
return;
}
}
//弹出审批提交选择窗口
AsDialog.PopView("/Common/WorkFlow/FlowSubmitDialog.jsp","TaskNo="+sTaskNo,
"dialogWidth=580px;dialogHeight=420px;resizable=no;scrollbars=no;status:yes;maximize:no;help:no;",function(sPhaseInfo){
if(typeof(sPhaseInfo)=="undefined" || sPhaseInfo=="" || sPhaseInfo==null || sPhaseInfo=="null" || sPhaseInfo=="_CANCEL_") {
return;
}else if(sPhaseInfo == "Success" || sPhaseInfo == "success"){
alert("提交成功!");
//reloadSelf();
AsControl.OpenComp("/Common/WorkFlow/ApproveMain.jsp","ComponentName=流程示例审批&ComponentType=MainWindow&ApproveType=<%=sApproveType%>&FlowNo=<%=sFlowNo%>&PhaseNo=<%=sPhaseNo%>","_top");
}else{
alert("提交失败!");
}
});
}
}
/* 退回任意阶段 */
function returnTask(){
var sObjectNo = getItemValue(0,getRow(),"OBJECTNO");
var sFlowNo = getItemValue(0,getRow(),"FLOWNO");
var sPhaseNo = getItemValue(0,getRow(),"PHASENO");
var sTaskNo = getItemValue(0,getRow(),"SERIALNO");
if (typeof(sTaskNo)=="undefined" || sTaskNo.length==0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
var sFlowState = getItemValue(0,getRow(),"FLOWSTATE");
var sForkState = getItemValue(0,getRow(),"FORKSTATE");
if(sForkState=="INFORK"){
alert("当前任务在分支中,不能退回任意阶段!");
return;
};
if(sFlowState=="MEETING" || sFlowState=="COLLECT"){
alert("当前任务在贷审会委员投票阶段,不能退回任意阶段!");
return;
}
AsDialog.PopView("/Common/WorkFlow/TaskReturnList.jsp","SerialNo="+sTaskNo+"&ObjectNo="+sObjectNo+"&FlowNo="+sFlowNo+"&PhaseNo="+sPhaseNo,
"dialogWidth=850px;dialogHeight=550px;",function(){reloadSelf();});
}
/*~[Describe=签署意见;InputParam=无;OutPutParam=无;]~*/
function signOpinion() {
var sTaskNo = getItemValue(0,getRow(),"SERIALNO");
var sObjectType = getItemValue(0,getRow(),"OBJECTTYPE");
var sObjectNo = getItemValue(0,getRow(),"OBJECTNO");
if (typeof(sTaskNo)=="undefined" || sTaskNo.length==0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
var sFlowNo = getItemValue(0,getRow(),"FLOWNO");
var sPhaseNo = getItemValue(0,getRow(),"PHASENO");
var sFlowState = getItemValue(0,getRow(),"FLOWSTATE");
if(typeof(sFlowState)!="undefined" && sFlowState=="COLLECT"){ //贷审会秘书,意见汇总
AsDialog.PopView("/Common/WorkFlow/SignTaskOpinion_Collect.jsp","TaskNo="+sTaskNo+"&FlowNo="+sFlowNo+"&PhaseNo="+sPhaseNo+"&ObjectType="+sObjectType+"&ObjectNo="+sObjectNo,"");
}else{
AsDialog.PopView("/Common/WorkFlow/SignTaskOpinionInfo.jsp","TaskNo="+sTaskNo+"&ObjectType="+sObjectType+"&ObjectNo="+sObjectNo,
"dialogWidth=700px;dialogHeight=600px;resizable=no;scrollbars=no;status:yes;maximize:no;help:no;");
}
}
/*~[Describe=查看审批意见;InputParam=无;OutPutParam=无;]~*/
function viewOpinions() {
//获得申请类型、申请流水号、流程编号、阶段编号
sObjectType = getItemValue(0,getRow(),"OBJECTTYPE");
sObjectNo = getItemValue(0,getRow(),"OBJECTNO");
sFlowNo = getItemValue(0,getRow(),"FLOWNO");
sPhaseNo = getItemValue(0,getRow(),"PHASENO");
if (typeof(sObjectNo)=="undefined" || sObjectNo.length==0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
AsDialog.PopView("/Common/WorkFlow/ViewFlowOpinions.jsp","FlowNo="+sFlowNo+"&PhaseNo="+sPhaseNo+"&ObjectType="+sObjectType+"&ObjectNo="+sObjectNo,{title:"查看审批意见"});
}
/*~[Describe=退回前一步 --- 建议使用 退回任意阶段;InputParam=无;OutPutParam=无;]~*/
function backStep() {
//获取任务流水号
var sTaskNo = getItemValue(0,getRow(),"SERIALNO");
if(typeof(sTaskNo) == "undefined" || sTaskNo.length == 0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
if(!confirm(getMessageText("ALS70509"))) return; //您确认要将该申请退回上一环节吗?
var sRet = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","backStep","TaskNo="+ sTaskNo );
if(sRet=="success"){
alert("操作成功. ");
}else{
alert("操作失败! ");
}
parent.reloadSelf();
}
/* 查看流程图 */
function viewFlowGraph(){
//获得申请类型、申请流水号、流程编号
var sObjectType = getItemValue(0,getRow(),"OBJECTTYPE");
var sObjectNo = getItemValue(0,getRow(),"OBJECTNO");
var sFlowNo = getItemValue(0,getRow(),"FLOWNO");
if(typeof(sObjectNo) == "undefined" || sObjectNo.length == 0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
AsDialog.PopView("/Frame/ShowFlowInst.jsp","flowNo="+sFlowNo+"&objectType="+sObjectType+"&objectNo="+sObjectNo+"","dialogWidth=800px;dialogHeight=600px");
}
/* 查看流程历史 */
function flowHistory(){
var sObjectNo = getItemValue(0,getRow(),"OBJECTNO");
var sObjectType = getItemValue(0,getRow(),"OBJECTTYPE");
if(typeof(sObjectNo) == "undefined" || sObjectNo.length == 0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
AsControl.OpenTab("/AppConfig/FlowManage/FlowMonitor/FlowChangeList.jsp","ObjectNo="+sObjectNo+"&ObjectType="+sObjectType+"&FlowStatus=02",{title:"流程对象["+sObjectNo+"]历史"});
}
/* 撤回流程 */
function takeBack(){
var sObjectType = getItemValue(0,getRow(),"OBJECTTYPE");
var sObjectNo = getItemValue(0,getRow(),"OBJECTNO");
var sFlowNo = getItemValue(0,getRow(),"FLOWNO");
if (typeof(sObjectNo)=="undefined" || sObjectNo.length==0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
if(!confirm("确认撤回?")) return;
var sRet = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","takeBack","flowNo="+sFlowNo+",objectType="+sObjectType+",objectNo="+sObjectNo+",userID=<%=CurUser.getUserID()%>" );
if(sRet=="success"){
alert("操作成功. ");
}else{
alert(sRet);
}
//parent.reloadSelf();
AsControl.OpenComp("/Common/WorkFlow/ApproveMain.jsp","ComponentName=流程示例审批&ComponentType=MainWindow&ApproveType=<%=sApproveType%>&FlowNo=<%=sFlowNo%>&PhaseNo=<%=sPhaseNo%>","_top");
}
/* 获取任务池任务 */
function fetchTask(){
var sRet = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","fetchTask","FlowNo=<%=sFlowNo%>,PhaseNo=<%=sPhaseNo%>,UserID=<%=CurUser.getUserID()%>" );
if(sRet.length>0){
alert("获取任务成功. ");
}else{
alert("没有待获取的任务池任务! ");
}
reloadSelf();
}
/* 把任务退回到任务池 */
function returnTaskToPool(){
var sObjectType = getItemValue(0,getRow(),"OBJECTTYPE");
var sObjectNo = getItemValue(0,getRow(),"OBJECTNO");
var sTaskNo = getItemValue(0,getRow(),"SERIALNO");
var sFlowState = getItemValue(0,getRow(),"FLOWSTATE");
if (typeof(sTaskNo)=="undefined" || sTaskNo.length==0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
if (typeof(sFlowState)=="undefined" || sFlowState.length==0 || sFlowState!="SELECT"){
alert("不是从任务池获取的任务!");
return;
}
var sRet = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","returnTaskToPool",
"ObjectType="+sObjectType+",ObjectNo="+sObjectNo+",FlowNo=<%=sFlowNo%>,PhaseNo=<%=sPhaseNo%>" );
if(sRet=="success"){
alert("操作成功. ");
}
reloadSelf();
}
function returnSupply(){
var sTaskNo = getItemValue(0,getRow(),"SERIALNO");
var sObjectType = getItemValue(0,getRow(),"OBJECTTYPE");
var sObjectNo = getItemValue(0,getRow(),"OBJECTNO");
if (typeof(sTaskNo)=="undefined" || sTaskNo.length==0){
alert(getMessageText('AWEW1001'));//请选择一条信息!
return;
}
var sRet = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","returnSupply","ObjectType="+sObjectType+",ObjectNo="+sObjectNo+",TaskNo="+ sTaskNo );
if(sRet=="success"){
alert("操作成功. ");
}else{
alert("操作失败! ");
}
parent.reloadSelf();
}
</script>
<%/*~END~*/%>
<%@ include file="/Frame/resources/include/include_end.jspf"%>