From 34ec065162fd43819479a053dd3cc06b359c6b87 Mon Sep 17 00:00:00 2001 From: zhulianghua Date: Wed, 20 Jun 2018 15:31:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=8F=E8=94=BD=E7=BB=8F=E9=94=80=E5=95=86?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseFlowList/BaseFlowApplyListEnd.jspf | 2 +- .../BaseFlowList/BaseFlowApplyListStart.jspf | 44 +++++++++++++++++++ .../BaseFunction/BaseFlowFunction.jspf | 7 +++ .../FlowManager/FlowPage/FlowPageViewTab.jsp | 24 +++++++--- .../Tenwa/Core/MyWork/AppMyWorkDraft.jsp | 13 +++++- .../Tenwa/Core/MyWork/AppMyWorkHasDo.jsp | 15 +++++-- .../Tenwa/Core/MyWork/AppMyWorkPass.jsp | 13 +++++- .../Tenwa/Core/MyWork/AppMyWorkPassClose.jsp | 13 +++++- .../Tenwa/Core/MyWork/AppMyWorkToDo.jsp | 13 +++++- .../FlowTaskViewTabService.java | 35 +++++++++++++++ 10 files changed, 161 insertions(+), 18 deletions(-) diff --git a/WebContent/Tenwa/Core/FlowManager/BaseFlowList/BaseFlowApplyListEnd.jspf b/WebContent/Tenwa/Core/FlowManager/BaseFlowList/BaseFlowApplyListEnd.jspf index 0bf3a04e1..20fe41435 100644 --- a/WebContent/Tenwa/Core/FlowManager/BaseFlowList/BaseFlowApplyListEnd.jspf +++ b/WebContent/Tenwa/Core/FlowManager/BaseFlowList/BaseFlowApplyListEnd.jspf @@ -35,7 +35,7 @@ $(function(){ } }); function afterSearch(){ - FlowFunction.afterSearch(); + FlowFunction.afterSearchRole(<%=bFlag%>); } <%/*~END~*/%> diff --git a/WebContent/Tenwa/Core/FlowManager/BaseFlowList/BaseFlowApplyListStart.jspf b/WebContent/Tenwa/Core/FlowManager/BaseFlowList/BaseFlowApplyListStart.jspf index 627c5ea00..c562a6b3b 100644 --- a/WebContent/Tenwa/Core/FlowManager/BaseFlowList/BaseFlowApplyListStart.jspf +++ b/WebContent/Tenwa/Core/FlowManager/BaseFlowList/BaseFlowApplyListStart.jspf @@ -34,6 +34,50 @@ dwTemp.ReadOnly = "1";//编辑模式 dwTemp.genHTMLObjectWindow(""); String sButtons[][] = applyManager.getButtonArr(); + + //control distributor(temporary) + List buttonLists = Arrays.asList(sButtons); + buttonLists = new ArrayList(buttonLists); + int num1 = 0; + boolean flag1 = false; + int num2 = 0; + boolean flag2 = false; + for(int i = 0; i < sButtons.length; i ++) { + for(int j = 0; j < sButtons[i].length; j ++) { + if("viewFlowGraph()".equals(sButtons[i][j])) { + num1 = i; + flag1 = true; + break; + } + if("backButton".equals(sButtons[i][j])) { + num2 = i; + flag2 = true; + break; + } + } + } + boolean bFlag = false; + List roles = CurUser.getRoleTable(); + for(String role : roles) { + if(role.startsWith("4") || "399".equals(role)) { + bFlag = true; + break; + } + } + if(bFlag) { + if(flag1) { + String[] removeB1 = buttonLists.get(num1); + buttonLists.remove(removeB1); + } + if(flag2) { + String[] removeB2 = buttonLists.get(num2); + buttonLists.remove(removeB2); + } + } + sButtons = new String[buttonLists.size()][]; + for(int i = 0; i < buttonLists.size(); i ++) { + sButtons[i] = buttonLists.get(i); + } %> <%@include file="/Tenwa/Core/FlowManager/BaseFunction/FlowCommButton.jspf"%> <%/*~END~*/%> diff --git a/WebContent/Tenwa/Core/FlowManager/BaseFunction/BaseFlowFunction.jspf b/WebContent/Tenwa/Core/FlowManager/BaseFunction/BaseFlowFunction.jspf index 36df38247..a5f7f946d 100644 --- a/WebContent/Tenwa/Core/FlowManager/BaseFunction/BaseFlowFunction.jspf +++ b/WebContent/Tenwa/Core/FlowManager/BaseFunction/BaseFlowFunction.jspf @@ -245,6 +245,13 @@ FlowFunction.afterSearch=function(){ } setColumnWidth(0,"ACTION",150); }; +/*~[Describe=流程加载之后回调;InputParam=无;OutPutParam=无;]~*/ +FlowFunction.afterSearchRole=function(userRole){ + for(var i=0;i申请详情 ' : '显示流程图    申请详情 '; + } + setColumnWidth(0,"ACTION",150); +}; /*~[Describe=流程指派;InputParam=无;OutPutParam=无;]~*/ FlowFunction.setConfigFlowToOtherUser=function(curUser,sTaskNo,sObjectNo){ var tasknos=sTaskNo.join("@"); diff --git a/WebContent/Tenwa/Core/FlowManager/FlowPage/FlowPageViewTab.jsp b/WebContent/Tenwa/Core/FlowManager/FlowPage/FlowPageViewTab.jsp index a5ea16301..a3380e4bd 100644 --- a/WebContent/Tenwa/Core/FlowManager/FlowPage/FlowPageViewTab.jsp +++ b/WebContent/Tenwa/Core/FlowManager/FlowPage/FlowPageViewTab.jsp @@ -30,6 +30,15 @@ MapstartMap=GetFlowAction.getFlowParamByFlowUnid(FlowFixedParam.get("ObjectNo")); FlowTaskViewTab viewTab = new FlowTaskViewTab(taskNo,CurUser.getUserName()); + //control distributor(temporary) + boolean flag = false; + List roles = CurUser.getRoleTable(); + for(String role : roles) { + if(role.startsWith("4") || "399".equals(role)) { + flag = true; + break; + } + } %> @@ -48,7 +57,10 @@ out.write(new Button("结束传阅", "结束传阅", "closePassed()", "", "btn_icon_add").getHtmlText()); } }else{ - for(Button bt : viewTab.getButtonItemList()){ + for(Button bt : viewTab.getButtonItemList()){ + if(flag && bt.getHtmlText().indexOf("viewFlowGraph") != -1) { + continue; + } out.write(""+bt.getHtmlText()+""); } } @@ -57,10 +69,10 @@ - <%=new Button("流程图", "查看流程图", "viewFlowGraph()", "", "btn_icon_add").getHtmlText()%> - <%=new Button("流程历史", "查看历史信息", "viewFlowTaskOpionion()", "", "btn_icon_add").getHtmlText()%> - <%=new Button("流程日志", "查看日志信息", "viewFlowLog()", "", "btn_icon_add").getHtmlText()%> - <%=new Button("项目总表", "查看项目总表", "viewProjectFlowAllInfo()", "", "btn_icon_add").getHtmlText()%> + <%=flag ? "" : new Button("流程图", "查看流程图", "viewFlowGraph()", "", "btn_icon_add").getHtmlText()%> + <%=flag ? "" : new Button("流程历史", "查看历史信息", "viewFlowTaskOpionion()", "", "btn_icon_add").getHtmlText()%> + <%=flag ? "" : new Button("流程日志", "查看日志信息", "viewFlowLog()", "", "btn_icon_add").getHtmlText()%> + <%=flag ? "" : new Button("项目总表", "查看项目总表", "viewProjectFlowAllInfo()", "", "btn_icon_add").getHtmlText()%>
@@ -81,7 +93,7 @@ $(document).ready(function(){ argmap.put("RightType",rightType); argmap.put("IsHistory", viewTab.getIsHistory()); argmap.put("ViewID",ViewID); - String viewTabInfo = FlowTaskViewTabService.showViewObjectTabInfo(viewTab.getViewTabItemList(), argmap, Sqlca); + String viewTabInfo = FlowTaskViewTabService.showViewObjectTabInfoRole(viewTab.getViewTabItemList(), argmap, Sqlca, flag); out.println(viewTabInfo); %> //如果使用addDataItem,则必需调用init()函数 diff --git a/WebContent/Tenwa/Core/MyWork/AppMyWorkDraft.jsp b/WebContent/Tenwa/Core/MyWork/AppMyWorkDraft.jsp index 74f62cadd..578a253cb 100644 --- a/WebContent/Tenwa/Core/MyWork/AppMyWorkDraft.jsp +++ b/WebContent/Tenwa/Core/MyWork/AppMyWorkDraft.jsp @@ -12,11 +12,20 @@ dwTemp.ReadOnly = "1"; //只读模式 dwTemp.setPageSize(10); dwTemp.genHTMLObjectWindow(CurPage.getUserId()); + //control distributor(temporary) + boolean bFlag = false; + List roles = CurUser.getRoleTable(); + for(String role : roles) { + if(role.startsWith("4") || "399".equals(role)) { + bFlag = true; + break; + } + } String sButtons[][] = { {"true","","Button","申请详情","申请详情","viewTab()","","","","btn_icon_detail",""}, {"true","All","Button","提交申请","提交申请","doSubmit()","","","","btn_icon_submit",""}, {"true","All","Button","签署意见","签署意见","signOpinion()","","","","btn_icon_othersys",""}, - {"true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""}, + {bFlag ? "false" : "true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""}, {"true","","Button","删除草稿","删除草稿","cancelApply()","","","","btn_icon_delete",""} }; %> @@ -24,7 +33,7 @@ diff --git a/WebContent/Tenwa/Core/MyWork/AppMyWorkHasDo.jsp b/WebContent/Tenwa/Core/MyWork/AppMyWorkHasDo.jsp index e6e6f68b5..22c611a83 100644 --- a/WebContent/Tenwa/Core/MyWork/AppMyWorkHasDo.jsp +++ b/WebContent/Tenwa/Core/MyWork/AppMyWorkHasDo.jsp @@ -15,10 +15,19 @@ dwTemp.ReadOnly = "1"; //只读模式 dwTemp.setPageSize(10); dwTemp.genHTMLObjectWindow(CurPage.getUserId()); + //control distributor(temporary) + boolean bFlag = false; + List roles = CurUser.getRoleTable(); + for(String role : roles) { + if(role.startsWith("4") || "399".equals(role)) { + bFlag = true; + break; + } + } String sButtons[][] = { {"true","","Button","申请详情","申请详情","viewHisTab()","","","","btn_icon_detail",""}, {"true","All","Button","撤回申请","撤回申请","takeBack()","","","","btn_icon_refresh",""}, - {"true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""} + {bFlag ? "false" : "true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""} }; %> <%@include file="/Frame/resources/include/ui/include_list.jspf"%> @@ -38,8 +47,8 @@ function afterSearch(){ flowState=userName+"指派或委托"; } } - if(flowState!=""){getObj(0,i,"flow_key").innerHTML=getObj(0,i,"flow_key").innerHTML+"["+flowState+"]";} - getObj(0,i,"ACTION").innerHTML='显示流程图    申请详情 '; + if(flowState!=""){getObj(0,i,"flow_key").innerHTML=getObj(0,i,"flow_key").innerHTML+"["+flowState+"]";} + getObj(0,i,"ACTION").innerHTML= <%=bFlag%> ? '申请详情 ' : '显示流程图    申请详情 '; } setColumnWidth(0,"ACTION",150); } diff --git a/WebContent/Tenwa/Core/MyWork/AppMyWorkPass.jsp b/WebContent/Tenwa/Core/MyWork/AppMyWorkPass.jsp index c3780fbd8..e1a98301c 100644 --- a/WebContent/Tenwa/Core/MyWork/AppMyWorkPass.jsp +++ b/WebContent/Tenwa/Core/MyWork/AppMyWorkPass.jsp @@ -12,10 +12,19 @@ dwTemp.ReadOnly = "1"; //只读模式 dwTemp.setPageSize(10); dwTemp.genHTMLObjectWindow(CurPage.getUserId()); + //control distributor(temporary) + boolean bFlag = false; + List roles = CurUser.getRoleTable(); + for(String role : roles) { + if(role.startsWith("4") || "399".equals(role)) { + bFlag = true; + break; + } + } String sButtons[][] = { {"true","All","Button","结束传阅","结束传阅","closePassed()","","","","btn_icon_submit",""}, {"true","","Button","申请详情","申请详情","viewHisTabRead()","","","","btn_icon_detail",""}, - {"true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""} + {bFlag ? "false" : "true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""} }; %> <%@include file="/Frame/resources/include/ui/include_list.jspf"%> @@ -23,7 +32,7 @@ //在加载完表格后调用 function afterSearch(){ for(var i=0;i ? '申请详情 ' : '显示流程图    申请详情 '; } setColumnWidth(0,"ACTION",150); } diff --git a/WebContent/Tenwa/Core/MyWork/AppMyWorkPassClose.jsp b/WebContent/Tenwa/Core/MyWork/AppMyWorkPassClose.jsp index 12db8d187..a58213980 100644 --- a/WebContent/Tenwa/Core/MyWork/AppMyWorkPassClose.jsp +++ b/WebContent/Tenwa/Core/MyWork/AppMyWorkPassClose.jsp @@ -12,9 +12,18 @@ String jboWhere=" FLOW_READER.isRead='1' and FLOW_READER.reader='"+custid+"' "; dwTemp.ReadOnly = "1"; //只读模式 dwTemp.setPageSize(10); dwTemp.genHTMLObjectWindow(CurPage.getUserId()); + //control distributor(temporary) + boolean bFlag = false; + List roles = CurUser.getRoleTable(); + for(String role : roles) { + if(role.startsWith("4") || "399".equals(role)) { + bFlag = true; + break; + } + } String sButtons[][] = { {"true","","Button","申请详情","申请详情","viewHisTab()","","","","btn_icon_detail",""}, - {"true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""} + {bFlag ? "false" : "true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""} }; %> <%@include file="/Frame/resources/include/ui/include_list.jspf"%> @@ -22,7 +31,7 @@ String jboWhere=" FLOW_READER.isRead='1' and FLOW_READER.reader='"+custid+"' "; //在加载完表格后调用 function afterSearch(){ for(var i=0;i ? '申请详情 ' : '显示流程图    申请详情 '; } setColumnWidth(0,"ACTION",150); } diff --git a/WebContent/Tenwa/Core/MyWork/AppMyWorkToDo.jsp b/WebContent/Tenwa/Core/MyWork/AppMyWorkToDo.jsp index 6c5d742d5..f077a7dc7 100644 --- a/WebContent/Tenwa/Core/MyWork/AppMyWorkToDo.jsp +++ b/WebContent/Tenwa/Core/MyWork/AppMyWorkToDo.jsp @@ -23,12 +23,21 @@ dwTemp.ReadOnly = "1"; //只读模式 dwTemp.setPageSize(50); dwTemp.genHTMLObjectWindow(CurPage.getUserId()); + //control distributor(temporary) + boolean bFlag = false; + List roles = CurUser.getRoleTable(); + for(String role : roles) { + if(role.startsWith("4") || "399".equals(role)) { + bFlag = true; + break; + } + } String sButtons[][] = { {"true","","Button","申请详情","申请详情","viewTab()","","","","btn_icon_detail",""}, {"true","All","Button","提交申请","提交","doSubmit()","","","","btn_icon_submit",""}, //{"true","","Button","退回申请","退回","backStep()","","","","btn_icon_refresh",""}, {"true","All","Button","签署意见","签署意见","signOpinion()","","","","btn_icon_othersys",""}, - {"true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""} + {bFlag ? "false" : "true","","Button","流程图","流程图","viewFlowGraph()","","","","btn_icon_workflow",""} //{"true","","Button","流程指派","流程指派","setConfigFlowToOtherUser()","","","","btn_icon_workflow",""}, //{"true","","Button","取消指派","取消指派","deleteConfigFlowToOtherUser()","","","","btn_icon_workflow",""} }; @@ -63,7 +72,7 @@ function afterSearch(){ } } if(flowState!=""){getObj(0,i,"flow_key").innerHTML=getObj(0,i,"flow_key").innerHTML+"["+flowState+"]";} - getObj(0,i,"ACTION").innerHTML='显示流程图    申请详情 '; + getObj(0,i,"ACTION").innerHTML= <%=bFlag%> ? '申请详情 ' : '显示流程图    申请详情 '; } setColumnWidth(0,"ACTION",150); } diff --git a/src_core/com/tenwa/flow/tabviewservice/FlowTaskViewTabService.java b/src_core/com/tenwa/flow/tabviewservice/FlowTaskViewTabService.java index 53226193a..0d5f253dc 100644 --- a/src_core/com/tenwa/flow/tabviewservice/FlowTaskViewTabService.java +++ b/src_core/com/tenwa/flow/tabviewservice/FlowTaskViewTabService.java @@ -110,6 +110,41 @@ public class FlowTaskViewTabService { return viewTabInfo; } + + public static String showViewObjectTabInfoRole(List viewTabList, HashMap argmap, Transaction Sqlca, boolean flag) throws Exception{ + String viewTabInfo = "";//返回结果 + //tab编号,标题和事件 + String tabNo = "Blank"; + String tabTitle = "该流程阶段没有配置功能信息,请确认"; + String tabAction = getOpenComp(tabTitle,tabNo,"/Blank.jsp",""); + + //默认打开tab + String defaultOpenTab = tabNo; + if(viewTabList.size() == 0){ + viewTabInfo = getTabCompent(tabNo, tabTitle, tabAction); + } else { + defaultOpenTab = viewTabList.get(0).getAttribute("relationship").getString(); + for(BizObject tabItem : viewTabList){ + //是否展示tab【true:展示,false:不展示】 + tabNo=tabItem.getAttribute("relationship").getString(); + tabTitle =tabItem.getAttribute("displayname").getString(); + tabAction = getObjectTabAction(tabItem, argmap, Sqlca); + if("FlowOpinions".equals(tabNo)) { + if(flag) { + continue; + } else { + viewTabInfo += getTabCompent(tabNo, tabTitle, tabAction); + } + } else { + viewTabInfo += getTabCompent(tabNo, tabTitle, tabAction); + } + + } + } + viewTabInfo += "tabCompent.setSelectedItem(\""+ defaultOpenTab +"\");"; //默认选中项的编号 + + return viewTabInfo; + } /** * 获取Tab的调用对象 * @param tabItem