Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
D docs
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • 科探开源
  • docs
  • Wiki
  • UserSelector人员选择器

Last edited by 冯容 May 12, 2025
Page history

UserSelector人员选择器

一、使用说明及示例

  1. 人员选择器地址:console_user_selector_url(eg:https://devel.ketanyun.cn/console/userselector)

  2. 从postMessage.js中引入DesignerFactory, Designer作为数据传递工具

  3. 示例(仅供参考) UseSelector.zip

**附: userfilter中文转换userfilter_cn.js

二、参数说明

参数名 类型 说明
【必填】parenttoken String 使用父级的token
【动态必填】groupcreateropenid String 使用分组时必需传入创建人的openid
ismultiple Boolean 是否支持多选 默认true
【新】proirityuser Boolean 在支持岗位和组织机构树时,支持将人展示在岗位/组织机构之前,默认为false
【新】inneruserfilter String 人员列表增加岗位/部门过滤,格式参照userFilter *另注:不支持::openid/模式的输入
scanway Array 人员选择器可选类型:人员,岗位,组织机构,群组(新版暂不支持)按先后顺序排列。可选:[{value:"user",lable:"人员",rendertree:"default/loginuser"},{value:"post",lable:"岗位"},{value:"dept",lable:"组织机构",rendertree:"default/loginuser"}]
注意:rendertree默认为default常规模式,loginuser为通过当前登录人身份信息进行人员列表和组织机构列表过滤
domainid String 人员选择器 组织机构/岗位/人员来自指定业务域虚拟树,请提供对应环境业务域树的id 业务域
注意:当domainid设置了值之后,scanway中的rendertree无效;ispostclassify以及isdeptclassify均强置为false
outputway String 人员选择器辅助信息(如人的姓名,组织机构,岗位名称等信息,与scanway匹配使用)可选:"user,dept,post"
inputdata String 已选数据,已选人员进行回显,仅支持userFilter 格式 userFilter
themecolor String 主题颜色
ispostclassify Boolean 按岗位类型分类展示 默认false
isdeptclassify Boolean 按组织类型分类展示 默认false
needallperson Boolean 是否开启“所有人员”选项 默认false
setting Object 其他基础信息配置
(1)人员选择器左上角标题:setting.title='人员选择器'

注意:如果设置为domain模式渲染,关闭人员选择器之后的回显请按需使用对应接口

三、初始化选择器(init,load,save)

// mounted使用人员选择器前 
DesignerFactory.init(true);
Designer.load = this.designerLoad();
Designer.save = this.designerSave();
// metheds 
designerLoad() {
 let that = this;
 let load = () => {
 //入参
 let _source = {
   ismultiple:true,
   scanway:[{
            value:"user",
            label:"人员"
   }],
   outputway: "user",
   inputdata:"",
   themecolor:"",
   ispostclassify:false,
   isdeptclassify:false,
   parenttoken:'',
   needallperson:false,
 };
 let designerSource = {
   source: _source,
   timestamp: new Date().getTime(),
   data: "",
   dataUpdate: true
  }
  return designerSource;
 };
 return load;
}

四、父页面打开人员选择器(open)

    designerOpen() {
      let name = this.$global.uuidv1();//为打开的人员选择器创建一个独一无二的name
      let url = this.$store.state.console_user_selector_url;//来自环境变量,参见1
      DesignerFactory.open(url,name);
    }

五、人员选择器内确认已选事件,关闭人员选择器并返回已选数据到该方法

    designerSave() {
         let that = this;
         let save = (name, source, timestamp, force) => {
            console.log(source)
              return true;
         };
    return save;
    }

六、数据结构确认已选后输出数据结构

{
    //标准输出
    "userfilter": "::useropenid1,::useropenid2"
}
Clone repository
  • UserSelector人员选择器
  • Home
  • taskapi调用的查询接口(第三方供应商提供)