阅读:1271
回复:0
|
[技术实例]区分驳回到开始还是驳回到上一步
今天做的一个需求,如果有同等需要的,可以借用。可能代码不是最优化的,欢迎大家提出建议。
在驳回的时候,我们需要区分是驳回到开始还是驳回到上一步 如果是驳回到上一步,则正常驳回就可以,驳回到开始的话,我们需要调用一般处理程序,把最开始占用的资金释放。 但是在流程设计里面只有任务驳回后,不能区分是驳回到开始还是驳回到上一步。 这时候需要通过前端判断,前端系统默认的驳回方法是: Reject: function(actionControl, destActivity) { actionControl.IsReject = true; if(!$.MvcSheet.ActionValidata(actionControl)) return false; var that = this; $.MvcSheet.ConfirmAction(SheetLanguages.Current.ConfirmDo + " [ " + SheetLanguages.Current.Reject + " ] " + SheetLanguages.Current.Operation + "?", function() { $.LoadingMask.Show(SheetLanguages.Current.Rejecting); var SheetPostValue = that.GetMvcPostValue(that.Action_Reject, destActivity); that.PostSheet({ Command: that.Action_Reject, MvcPostValue: JSON.stringify(SheetPostValue) }, function(data) { that.ResultHandler.apply(that, [actionControl, data]); }); }) } 需要重写这个方法: 在表单中修改: $.MvcSheet.Reject = function(actionControl, destActivity) { actionControl.IsReject = true; if(!$.MvcSheet.ActionValidata(actionControl)) return false; var that = this; var result= {"Success":true,"Message":""} $.MvcSheet.ConfirmAction(SheetLanguages.Current.ConfirmDo + " [ " + SheetLanguages.Current.Reject + " ] " + SheetLanguages.Current.Operation + "?", function() { $.LoadingMask.Show(SheetLanguages.Current.Rejecting); //提示完毕后,判断是驳回到上一步还是驳回到开始。 if(destActivity == "__RejectTo_Start") { $.ajax({ type: "post", url: "地址", data: {参数}, async: false, success: function(data) { result = JSON.parse(data); } }); } //如果执行成功!按正常驳回。 if(result.Success){ var SheetPostValue = that.GetMvcPostValue(that.Action_Reject, destActivity); that.PostSheet({ Command: that.Action_Reject, MvcPostValue: JSON.stringify(SheetPostValue) }, function(data) { that.ResultHandler.apply(that, [actionControl, data]); }); //如果没有,则不进行驳回,并提示后台返回的错误信息 }else{ $.LoadingMask.Hide(); $.MvcSheet.AlertAction(result.Message); } }) } |
最新喜欢:![]()
|