天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 2468|回复: 11

[已解决] 需要通过下拉选人,提交审批人时为下拉的选人

[复制链接]
网络菜菜 发表于 2025-4-10 11:27:42 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v5.1- F社区版
【浏览器类型】:Chrome/其他
【联系方式-QQ】:260217944
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:设计的表单,想通过提交下一审批人时,按照下拉控件指定的人来提交。

附上代码,原来为下拉部门,来选择审批人对应部门的负责人,现在需要改为下拉人为审批人

(function(){   
         var doc = getCurrentDocument();   
         var userId = getWebUser().getId();   
         println(userId);   
         var process = getDepartmentProcess();   
         println(process);   
         var rolename="电脑维护岗";//角色名称   
         var rolenames = rolename.split(";");   
         println("获取角色名称---》"+rolenames);   
         //var deptname = doc.getItemValueAsString("申请部门2");
         var deptname = "wzEkxXP9alIB7rSKmoA";
         println("获取选中表单的部门---》"+deptname);
         var sel_user = doc.getItemValueAsString("需要支撑人员");
         println("获取选中支撑人员的ID---》"+sel_user);      //这里为下拉人的中文名,需要转换为用户的ID
         var userlist = createObject("java.util.ArrayList");

  
                 for (var i = 0; i < rolenames.length; i++) {   
                         var roleid = getRoleIdByName(rolenames[i]);    //根据角色名称获取角色id   
                         println("根据角色名称获取角色id--->"+roleid);   
                         var users = getUsersByDptIdAndRoleId(deptname,roleid);   
                         println("打印getUsersByDptIdAndRoleId的ID---》"+users);   
                         for (var it=users.iterator(); it.hasNext();){   
                                 var user = it.next();   
                                 //if(user != null){
                                 if(user == sel_user){    //这里需要将入选的审批人的ID与下拉人的用户ID比较
                                 userlist.add(user);                  
                                 }   
                         }   
                 }   
         //}   
         return userlist;   
})()

这里电脑维护岗有三个人,张万华,小明,小方,如果通过部门和角色是可以选人,但要领导手工选,希望通过下拉控件的选人,直接提交审批人时不用选择

1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\\\\\\\"已解决可结帖\\\\\\\"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
yaya 发表于 2025-4-16 13:49:57 | 显示全部楼层
需要自己去数据库表中查对应用户的id
 楼主| 网络菜菜 发表于 2025-4-16 16:14:47 | 显示全部楼层
yaya 发表于 2025-4-16 13:49
需要自己去数据库表中查对应用户的id

假如三人的id分别如下 ,请问要如何做比较选择?
OCUOaA9NCgODWZtHu2U
4ljO73tjXdOpwgz57KZ
RIC9SBZdI8q3qAAsudY

因为下拉选人,是直接出名字的,没有提取对应的ID
yaya 发表于 2025-4-16 17:29:09 | 显示全部楼层
网络菜菜 发表于 2025-4-16 16:14
假如三人的id分别如下 ,请问要如何做比较选择?
OCUOaA9NCgODWZtHu2U
4ljO73tjXdOpwgz57KZ

要比较什么,具体实现什么
 楼主| 网络菜菜 发表于 2025-4-16 17:33:20 | 显示全部楼层
yaya 发表于 2025-4-16 17:29
要比较什么,具体实现什么

提交审批人,通过表单的下拉人选择
yaya 发表于 2025-4-16 17:53:22 | 显示全部楼层
网络菜菜 发表于 2025-4-16 17:33
提交审批人,通过表单的下拉人选择

脚本的审批人是表单中的字段?下拉框多选还是单选?
 楼主| 网络菜菜 发表于 2025-4-17 09:46:32 | 显示全部楼层
yaya 发表于 2025-4-16 17:53
脚本的审批人是表单中的字段?下拉框多选还是单选?

脚本的审批人,在表单中的字段是“需要支撑人员”,下拉框为单选,以部门内三人的其中一人。
yaya 发表于 2025-4-17 10:10:06 | 显示全部楼层
网络菜菜 发表于 2025-4-17 09:46
脚本的审批人,在表单中的字段是“需要支撑人员”,下拉框为单选,以部门内三人的其中一人。

只要获取表单下拉框的值,作为审批人就可以了,不用比较啦
 楼主| 网络菜菜 发表于 2025-4-17 11:48:43 | 显示全部楼层
yaya 发表于 2025-4-17 10:10
只要获取表单下拉框的值,作为审批人就可以了,不用比较啦

不需要用脚本吗?但流程设置里有部门和角色的,没有单独按人员名提交的
yaya 发表于 2025-4-17 15:35:19 | 显示全部楼层
网络菜菜 发表于 2025-4-17 11:48
不需要用脚本吗?但流程设置里有部门和角色的,没有单独按人员名提交的

节点审批人改成脚本的方式:
(function(){
var doc = getCurrentDocument();
var username = doc.getItemValueAsString("name"); //表单下拉框字段
var userVO = getUserById(userid);//userid要通过t_user表中查出来
return userVO;
})()

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 09:33

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表