做法:
- 使用SQL获取该用户使用该流程的次数count;
- 流程中建一个文本类型字段用来存储查询到的提交次数;
- 将SQL语句以字段属性的方式插入新建的字段;
- 使用JS判断存储的次数是否大于1,若是大于1则禁止提交。
SQL语句
--A用户使用该流程的提交次数
SELECT COUNT(*) as 提交次数 FROM 表名 where workcode=工号
--A用户使用该流程的当月提交次数
SELECT COUNT(*) as 提交次数 FROM 表名 where workcode=工号 and (select DATENAME(MM,GETDATE()))=DATEPART(mm, appdate)
注:记得更换swal({ })部分,改为使用自己的弹框样式,否则出不来效果。
一个用户只能提交一次JS代码
<script src="/images/jslsx/alert02/dist/sweetalert2.min.js"></script>
<link rel="stylesheet" type="text/css" href="/images/jslsx/alert02/dist/sweetalert2.css">
<script type="text/javascript">
WfForm.registerCheckEvent(WfForm.OPER_BEFOREVERIFY, function(callback){
var num = WfForm.getFieldValue("field27054");//为提交次数字段
if(num>=1){
swal({
title:'Error!',
type: 'error',
timer: 10000,
html:'该流程您已经提交过一次了,不支持同一人多次提交。'
});
}else if(num<1){
callback();
}
});
</script>
一个用户一个月只能提交一次的JS代码
<script src="/images/jslsx/alert02/dist/sweetalert2.min.js"></script>
<link rel="stylesheet" type="text/css" href="/images/jslsx/alert02/dist/sweetalert2.css">
<script type="text/javascript">
//当月只能调整一次
WfForm.registerCheckEvent(WfForm.OPER_BEFOREVERIFY, function(callback){
var num = WfForm.getFieldValue("field27101");//为本月提交次数字段
if(num>=1){
swal({
title:'Error!',
type: 'error',
timer: 10000,
html:'该流程本月您已经提交过一次了,当月不支持多次提交。'
});
}else if(num<1){
callback();
}
});
</script>
效果图