流程选人
流程选人是一组可以进行部门,人员,岗位,职务级别,组,外部人员选择的组件,根据配置参数,可以设置

构造函数

cmp.selectOrg1

cmp.selectOrg1
(
  • id
  • options
)
Object

参数:

名称类型标识描述
id String 必选

选人组件唯一标识,如果该id对应页面上的控件的id,则选人组件会主动给该控件绑定点击事件,点击后进行选人业务

options Object 必选

配置参数

名称类型标识描述
type Number 必选

组件的类型

  • 1:流程选人

[flowType] Number 可选

专为流程选人定义的一个参数,用于同一个选人组件,选择条件改变的情况;具体值的含义:

  • 1:改变成单选(及进行替换操作)
  • 2:多选模式(多选操作)
  • 3:默认模式

[minSize] Number 可选

最少选人的数量,默认-1不受限制

[flowOptsChange] Boolean 可选

是否进行流程选人配置参数的重置(由于业务改变才需要设置该值,只对流程选人有效),默认:false

[label] Array 可选

按需导入首页页签,默认:["dept","org","post","team","extP"],其中:

  • dep:【本部门】
  • org:【组织机构】
  • post:【岗位】
  • team:【组】
  • level:【职务级别】
  • extP:【编外人员】
  • vjOrg:【外部机构】

[permission] Boolean 可选

流程选人时,整体选部门,选岗位、选组是否受当前登录人员权限控制(默认流程选人要受权限控制)默认:true

[directDepartment] Boolean 可选

流程选人中是否直选部门(即不进行是否包含子部门的提示)默认:false

[fillBackData] Array 可选

回填值格式,其中

  • 人员数据:[{id:181818,name:"杨海",type:"member"}]
  • 部门数据:[{id:"-155555",name:"天龙八部",type:"department"}]
  • 单位(account)、职务(level)、岗位(post)只是type不一样

[excludeData] Array 可选

被排除的不能选择的数据,格式同fillBackData一样,其中
默认是被排除的人员是被选中的,如果想要被排除的数据不被默认选中,需要在数据上传属性disable:true 如:[{id:181818,name:"杨海",type:"member",disable:true}]

[seeExtAccount] Boolean 可选

是否能查看外单位,即是否能进行外单位切换

[notSelectAccount] Boolean 可选

是否所有的【本单位】页签都不能选择,默认:false

[server] String 可选

对于跨域请求rest接口的时候,需要开发者自定义服务器地址 如:http://192.168.10.55:8080

callback Function 必选

回调函数 根据组件类型返回的值有数据类型标识:

  • concurrent:流程并联类型数据
  • sequence:流程串联类型数据

[closeCallback] Function 可选

关闭组件的回调函数

[choosableType] Array 可选

可选的数据类型 ["department","account","member","post","team","level"],默认是可以选人员、部门、单位、岗位、组、职务级别

返回值:

[Object]

选人组件对象

示例:

<script>
    cmp.selectOrg("flowID",{
             type:1,
             flowType:3,
             fillBackData:[],
             minSize:-1,
             fillback: null,
             excludeData:[{id:181818,name:"杨海",type:"member",disable:true}],
             directDepartment:false,
             label:["dept","org","post","team","extP"],
             flowOptsChange:false,
             permission:true,
             callback:function(result){
                      result = cmp.parseJSON(result);
                      for(var i = 0;i< result.length; i ++){
                         console.log(cmp.parseJSON(result[i]));
                      }
              },
              closeCallback:function(){
                      //TODO
              }
    });
</script>
Top