Index: ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTaskView.js =================================================================== diff -u -r22011 -r22040 --- ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTaskView.js (.../workFlowApprovalTaskView.js) (revision 22011) +++ ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTaskView.js (.../workFlowApprovalTaskView.js) (revision 22040) @@ -26,7 +26,8 @@ var nodeDefinition_id = records[0].data['nodeDefinition_id']; var formType = records[0].data['formType']; var taskName = records[0].data['taskName']; - addAndEditWorkFlowApprovalTask(id,nodeDefinition_id,taskName,formId,formType); + var approvalResult = records[0].data['approvalResult']; + addAndEditWorkFlowApprovalTask(id,nodeDefinition_id,taskName,formId,formType,approvalResult); grid.getSelectionModel().deselectAll();// grid reload() 后,getSelectionModel()不变 } @@ -44,6 +45,9 @@ name : 'title', mapping : 'title' }, { + name : 'approvalResult', + mapping : 'approvalResult' + }, { name : 'nodeDefinition_id', mapping : 'nodeDefinition_id' }, { Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationFormForApproval.jsp =================================================================== diff -u -r21934 -r22040 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationFormForApproval.jsp (.../expensiveGoodsApplicationFormForApproval.jsp) (revision 21934) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationFormForApproval.jsp (.../expensiveGoodsApplicationFormForApproval.jsp) (revision 22040) @@ -6,6 +6,7 @@ <%@include file="/common/include_ForgonGrid4.2.5_Js.jsp"%> <% request.setAttribute("expensiveGoodsApplicationId", request.getParameter("expensiveGoodsApplicationId")); + request.setAttribute("allowChanges", request.getParameter("allowChanges")); %> @@ -16,6 +17,7 @@ 高值耗材申请单审批 Index: ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTask.jsp =================================================================== diff -u -r21976 -r22040 --- ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTask.jsp (.../workFlowApprovalTask.jsp) (revision 21976) +++ ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTask.jsp (.../workFlowApprovalTask.jsp) (revision 22040) @@ -18,6 +18,8 @@ var APPROVALRESULT_FAIL = <%=WorkFlowApprovalTask.APPROVALRESULT_FAIL%> //审批不通过 var APPROVALRESULT_CALLBACK = <%=WorkFlowApprovalTask.APPROVALRESULT_CALLBACK%> //回退 var APPROVALRESULT_SUBMIT = <%=WorkFlowApprovalTask.APPROVALRESULT_SUBMIT%> //申请人针对回退的申请单在待办任务列表的修改操作 + var APPROVALRESULT_NOTICE = <%=WorkFlowApprovalTask.APPROVALRESULT_NOTICE%> //申请人正常通知申请单人 + var APPROVALRESULT_NOTICEFAIL = <%=WorkFlowApprovalTask.APPROVALRESULT_NOTICEFAIL%> //申请人针对审批不通过通知申请单人 <%-- 引入本身的js --%> Index: forgon-core/src/main/java/com/forgon/workflow/model/NodeDefinition.java =================================================================== diff -u -r21908 -r22040 --- forgon-core/src/main/java/com/forgon/workflow/model/NodeDefinition.java (.../NodeDefinition.java) (revision 21908) +++ forgon-core/src/main/java/com/forgon/workflow/model/NodeDefinition.java (.../NodeDefinition.java) (revision 22040) @@ -50,6 +50,16 @@ * */ private Boolean allowDisagree; + /** + * 是否允许修改表单 + * */ + private Boolean allowChanges=false; + + /** + * 是否通知起单人 + * */ + private Boolean allowNoticeFormMan=false; + @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long getId() { @@ -101,6 +111,22 @@ this.allowDisagree = allowDisagree; } + public Boolean getAllowChanges() { + return allowChanges; + } + + public void setAllowChanges(Boolean allowChanges) { + this.allowChanges = allowChanges; + } + + public Boolean getAllowNoticeFormMan() { + return allowNoticeFormMan; + } + + public void setAllowNoticeFormMan(Boolean allowNoticeFormMan) { + this.allowNoticeFormMan = allowNoticeFormMan; + } + /** * 获取此节点的所有节点审批对象. * @param objectDao Index: forgon-core/src/main/java/com/forgon/workflow/model/WorkFlowApprovalTask.java =================================================================== diff -u -r21976 -r22040 --- forgon-core/src/main/java/com/forgon/workflow/model/WorkFlowApprovalTask.java (.../WorkFlowApprovalTask.java) (revision 21976) +++ forgon-core/src/main/java/com/forgon/workflow/model/WorkFlowApprovalTask.java (.../WorkFlowApprovalTask.java) (revision 22040) @@ -71,14 +71,16 @@ private int status; /** - * 审批结果: 1(待处理-默认值) 2(通过) 3(不通过) 4(回退) 5(提交:申请人针对回退的申请单在待办任务列表的修改操作) + * 审批结果: 1(待处理-默认值) 2(通过) 3(不通过) 4(回退) 5(提交:申请人针对回退的申请单在待办任务列表的修改操作) 6(正常通知起单人) 7(失败通知起单人) * */ private int approvalResult = APPROVALRESULT_PENDING; public static Integer APPROVALRESULT_PENDING = 1; public static Integer APPROVALRESULT_PASS = 2; public static Integer APPROVALRESULT_FAIL = 3; public static Integer APPROVALRESULT_CALLBACK = 4; public static Integer APPROVALRESULT_SUBMIT = 5; + public static Integer APPROVALRESULT_NOTICE = 6; + public static Integer APPROVALRESULT_NOTICEFAIL = 7; /** * 处理意见 Index: forgon-core/src/main/java/com/forgon/workflow/vo/WorkFlowApprovalTaskVO.java =================================================================== diff -u -r21957 -r22040 --- forgon-core/src/main/java/com/forgon/workflow/vo/WorkFlowApprovalTaskVO.java (.../WorkFlowApprovalTaskVO.java) (revision 21957) +++ forgon-core/src/main/java/com/forgon/workflow/vo/WorkFlowApprovalTaskVO.java (.../WorkFlowApprovalTaskVO.java) (revision 22040) @@ -59,7 +59,17 @@ */ private Long handlerId = AcegiHelper.getLoginUser().getUserId(); + /** + * 是否允许修改表单 + * */ + private Boolean allowChanges; + /** + * 是否通知起单人 + * */ + private Boolean allowNoticeFormMan; + + public Long getWorkFlowApprovalTaskId() { return workFlowApprovalTaskId; } @@ -139,4 +149,22 @@ public void setHandlerId(Long handlerId) { this.handlerId = handlerId; } + + public Boolean getAllowChanges() { + return allowChanges; + } + + public void setAllowChanges(Boolean allowChanges) { + this.allowChanges = allowChanges; + } + + public Boolean getAllowNoticeFormMan() { + return allowNoticeFormMan; + } + + public void setAllowNoticeFormMan(Boolean allowNoticeFormMan) { + this.allowNoticeFormMan = allowNoticeFormMan; + } + + } Index: ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTaskForm.js =================================================================== diff -u -r22024 -r22040 --- ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTaskForm.js (.../workFlowApprovalTaskForm.js) (revision 22024) +++ ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTaskForm.js (.../workFlowApprovalTaskForm.js) (revision 22040) @@ -16,8 +16,8 @@ } } -function addAndEditWorkFlowApprovalTask(workFlowApprovalTaskId, nodeDefinition_id,taskName,formId,formType) { - var aStore=null; +function addAndEditWorkFlowApprovalTask(workFlowApprovalTaskId, nodeDefinition_id,taskName,formId,formType,approvalResult) { + var aStore=null;//速度太慢,考虑放在打开的瞬间传过来 Ext4.Ajax.request({ async:false, url : WWWROOT + '/disinfectSystem/workFlowApprovalTaskAction!loadNodeDefinitionById.do', @@ -32,7 +32,12 @@ allowStore=new Ext4.data.JsonStore({ data:aStore, - fields : [ {name:'allowDisagree', type: 'boolean'}, {name:'allowRollback', type:'boolean'} ], + fields : [ + {name:'allowDisagree', type: 'boolean'}, + {name:'allowRollback', type:'boolean'}, + {name:'allowNoticeFormMan', type:'boolean'}, + {name:'allowChanges', type:'boolean'} + ], autoLoad:true }); @@ -51,7 +56,9 @@ var formTypeJsp; if(formType=="高值耗材申请单") - formTypeJsp=WWWROOT+'/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationFormForApproval.jsp?expensiveGoodsApplicationId='+formId; + formTypeJsp=WWWROOT+'/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationFormForApproval.jsp + +'?expensiveGoodsApplicationId='+formId' + +'&allowChanges='+allowStore.getAt(0).get('allowChanges'); var formIframe = Ext4.create('Ext.Component',{ html : '', @@ -103,16 +110,43 @@ } function submit(){ + //弹出警示框 var result =submitSaveHandleOpinionFlag(workFlowApprovalTaskId,formId,formType); if(result.success){ - showResult("审批成功"); + showResult("提交成功"); grid.reloadData(); approvalWindowObj.close(); }else{ - showResult("审批失败"); + showResult("提交失败"); } } + function confirmNotice(){ + var workFlowApprovalTaskVO = { + workFlowApprovalTaskId: workFlowApprovalTaskId, + approvalResult: approvalResult, + nodeDefinitionId:nodeDefinition_id, + formId: formId, + formType: formType + }; + Ext4.Ajax.request({ + url : WWWROOT + '/disinfectSystem/workFlowApprovalTaskAction!confirmNoticeWorkFlowApprovalTask.do', + method : 'POST', + params: { + workFlowApprovalTaskVO: JSON.stringify(workFlowApprovalTaskVO) + }, + success : function(response, options) { + result = Ext4.JSON.decode(response.responseText); + showResult("确认成功"); + grid.reloadData(); + approvalWindowObj.close(); + }, + failure : function(response, options) { + showResult("确认失败"); + } + }); + } + function Fail(){ failFormObj= Ext4.create('Ext4.form.Panel', { id:'failFormObj', @@ -295,7 +329,7 @@ } function RollBack(){ rollBackformObj= Ext4.create('Ext4.form.Panel', { - id:'rollBackformObj', + //id:'rollBackformObj', layout : 'column', frame : true, border : 0, @@ -384,8 +418,17 @@ autoScroll : true, buttonAlign : 'center', buttons : [{ + name:'allowNoticeFormManBtn', + //id:'allowNoticeFormManBtn', + text : '确认', + iconCls : 'btn_ext_application_edit', + hidden: allowStore.getAt(0).get('allowNoticeFormMan')||approvalResult==APPROVALRESULT_NOTICEFAIL?false:true, + handler : function() { + confirmNotice(); + } + },{ name:'submitBtn', - /*id:'submitBtn',*/ + //id:'submitBtn', text : '提交', iconCls : 'btn_ext_application_edit', hidden: nodeDefinition_id==null?false:true, @@ -394,34 +437,34 @@ } },{ name:'passBtn', - /*id:'passBtn',*/ + //id:'passBtn', text : '审核通过', iconCls : 'btn_ext_application_edit', - hidden: nodeDefinition_id==null?true:false, + hidden: (allowStore.getAt(0).get('allowNoticeFormMan'))||(!allowStore.getAt(0).get('allowNoticeFormMan')&&nodeDefinition_id==null)?true:false, handler : function() { Pass(); } },{ name:'failBtn', - /*id:'failBtn',*/ + //id:'failBtn', text : '审核不通过', iconCls : 'btn_ext_application_edit', - hidden: allowStore.getAt(0).get('allowDisagree')?false:true, + hidden: (allowStore.getAt(0).get('allowNoticeFormMan'))||(!allowStore.getAt(0).get('allowNoticeFormMan')&&!allowStore.getAt(0).get('allowDisagree'))?true:false, handler : function() { Fail(); } }, { name:'rollBackBtn', - /*id:'rollBackBtn',*/ + //id:'rollBackBtn', text : '回退', iconCls : 'btn_ext_application_edit', - hidden:allowStore.getAt(0).get('allowRollback')?false:true, + hidden:(allowStore.getAt(0).get('allowNoticeFormMan'))||(!allowStore.getAt(0).get('allowNoticeFormMan')&&!allowStore.getAt(0).get('allowRollback'))?true:false, handler : function() { RollBack(); } }, { name:'approvalRecordBtn', - /*id:'approvalRecordBtn',*/ + //id:'approvalRecordBtn', text : '查看审批记录', iconCls : 'btn_ext_application_edit', handler : function() { @@ -462,29 +505,26 @@ } -//待加载完毕,再把按钮设置可用 -/*function setBtnAbled(){ +/*//待加载完毕,再把按钮设置可用 +function setBtnAbled(){ + alert(1); Ext4.getCmp('submitBtn').setDisabled(true); Ext4.getCmp('passBtn').setDisabled( true); Ext4.getCmp('failBtn').setDisabled(true); Ext4.getCmp('rollBackBtn').setDisabled(true); Ext4.getCmp('approvalRecordBtn').setDisabled(true); - Ext4.getCmp('approvalFormObj').getForm().findField('submitBtn').getValue(); - Ext4.getCmp('approvalFormObj').getForm().findField('passBtn').getValue(); - Ext4.getCmp('approvalFormObj').getForm().findField('failBtn').getValue(); - Ext4.getCmp('approvalFormObj').getForm().findField('rollBackBtn').getValue(); - Ext4.getCmp('approvalFormObj').getForm().findField('approvalRecordBtn').getValue(); -}*/ +} //待加载完毕,再把按钮设置不可用 -/*function setBtnDisabled(){ - //Ext.getCmp('submitBtn').setDisabled(false); - Ext4.getCmp('approvalFormObj').getForm().findField('submitBtn').getValue(); - Ext4.getCmp('approvalFormObj').getForm().findField('passBtn').getValue(); - Ext4.getCmp('approvalFormObj').getForm().findField('failBtn').getValue(); - Ext4.getCmp('approvalFormObj').getForm().findField('rollBackBtn').getValue(); - Ext4.getCmp('approvalFormObj').getForm().findField('approvalRecordBtn').getValue(); -}*/ +function setBtnDisabled(){ + alert(0); + Ext4.getCmp('submitBtn').setDisabled(false); + Ext4.getCmp('passBtn').setDisabled(false); + Ext4.getCmp('failBtn').setDisabled(false); + Ext4.getCmp('rollBackBtn').setDisabled(false); + Ext4.getCmp('approvalRecordBtn').setDisabled(false); +} +*/ function submitSaveHandleOpinionFlag(workFlowApprovalTaskId,formId,formType){ var sub = document.getElementById("formIframe").contentWindow;