WEB单据状态控制附件是否可新增、删除如何通过DEP进行控制,下面以付款申请单为例进行说明:
1. 新建付款申请单编辑页面和查看页面的扩展
2.编辑页面配置页面添加 <页面打开事件>,保存
3.在编辑页面打开事件对应的处理方法里写上根据单据状态控制附件是否可上传和是否可删除(具体根据业务要求设置)
代码如下:
var billStatusValue;
var webAttachments = waf("#form").find("[ctrlrole=fileUpload]"); //获取当前页面上的所有附件控件
if (webAttachments != null && webAttachments.length > 0 && _self.getCurrentModel()) {
billStatusValue = _self.getCurrentModel().billStatus.value;
for(var i=0;i<webAttachments.length;i++){
//基础上传控件可能包含章节,也可能不包含。通过id拼接关系来寻找所有附件组件
var uploadid = waf(webAttachments[i]).attr("id");
var attachid = uploadid.substring(0,uploadid.lastIndexOf("_"));
var webAttachment = waf("#"+attachid);
if(billStatusValue == 1){//保存状态
webAttachment.webAttachment("addFileDisable",false); //设置上传附件是否可(false:可用,true:不可用)
webAttachment.webAttachment("deleteFileDisable",false); //设置删除附件是否可用
}else if(billStatusValue == 2){//提交状态
webAttachment.webAttachment("addFileDisable",false);//设置上传附件是否可用
webAttachment.webAttachment("deleteFileDisable",false);//设置删除附件是否可用
}else if(billStatusValue == 3){//审核状态
webAttachment.webAttachment("addFileDisable",false);//设置上传附件是否可用
webAttachment.webAttachment("deleteFileDisable",false);//设置删除附件是否可用
}
}
}
4.付款申请单查看页面 做同样的控制。
5.WEB单据判断在工作流和非工作流状态时附件是否允许编辑。代码如下:
var billID;
var webAttachments = waf("#form").find("[ctrlrole=fileUpload]"); //获取当前页面上的所有附件控件
if (webAttachments != null && webAttachments.length > 0 && _self.getCurrentModel()) {
if(_self.getCurrentModel()){
billID = _self.getCurrentModel().id;
}
var isInworkFlow = false; //是否在工作流中
if(billID){
//根据单据ID获取最新流程实例ID
waf.doPost({ url:waf.getContextPath()+'/component/preworflow.do?method=preViewProcessDiagram',
async:false,
data:{"billID":billID},
success:function(data)
{
isInworkFlow = true;
},
error:function(response,textStatus,errorThrown){
isInworkFlow = false;
}
});
}
for(var i=0;i<webAttachments.length;i++){
//基础上传控件可能包含章节,也可能不包含。通过id拼接关系来寻找所有附件组件
var uploadid = waf(webAttachments[i]).attr("id");
var attachid = uploadid.substring(0,uploadid.lastIndexOf("_"));
var webAttachment = waf("#"+attachid);
if(isInworkFlow){//在工作流中
webAttachment.webAttachment("addFileDisable",true);//设置上传附件是否可用
webAttachment.webAttachment("deleteFileDisable",true);//设置删除附件是否可用
}else{
webAttachment.webAttachment("addFileDisable",false);//设置上传附件是否可用
webAttachment.webAttachment("deleteFileDisable",false);//设置删除附件是否可用
}
}
推荐阅读