# 选人组件

# 使用示例

使用ctpui2.0、ctpui3.0、ctpui4.0的页面可以使用这种方式调用选人组件:

$.selectPeople({
    // 选人参数
    type:'selectPeople',
    panels:'Department,Post,Team,Node,BusinessDepartment',
    selectType:'Member,Node',
    maxSize:1,
    minSize:1,
    params : {
        // 已选数据回填
        value: "Member|12121,Department|2313",
        text:"树琦、信创中心"
    },
    callback:function(ret){
     // 选人确定回调
    }
})

前端JSP使用完整示例代码:

<%--
  Author shuqi
  Rev
  Date: 2022-03-09 22:46
  
  Copyright (C) 2022 Seeyon, Inc. All rights reserved.
  
  This software is the proprietary information of Seeyon, Inc.
  Use is subject to license terms.
  @company  seeyon.com
  @since  V5 V8.1SP1
  @author       shuqi
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
 <%@include file="/WEB-INF/jsp/common/common_header.jsp" %>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
 <meta name="renderer" content="webkit|ie-comp|ie-stand">
 <title>ctpui 选人测试代码</title>
</head>
<body>
</body>
<%@include file="/WEB-INF/jsp/common/common_footer.jsp" %>
<script>
$(function(){
    $.selectPeople({
        type:'selectPeople',//固定
        panels:'Department,Post,Team,Role',//定义显示的页签
        selectType:'Member,Department',//定义可以选择那些类型的数据
        params : {
            // 已选数据回填
            value: "Member|12121,Department|2313",
            text:"树琦、信创中心"
        },
        callback:function(ret){
            // 选人确定回调
         console.log(ret.text);//"树琦、信创中心"
         console.log(ret.value);//"Member|12121,Department|2313"
        }
    })
});
</script>
</html>

# Comp组件

这种使用方式和上一种是一样,只是页面渲染、事件绑定有ctpui自动完成。同样如果你愿意也可以动态生成input框,设置好属性并使用$("jQuerySelector").compThis();

示例如下:

<input
 type="text" 
 class="comp" //固定
 comp="type:'selectPeople',panels:'Department,Post,Team,Role',selectType:'Member,Department'" // 传入选人参数
/>

动态组件示例:

$(function(){
    var $input = $("<input type='text' id='selectorgDemo1'/>");
    $input.addClass("comp");
    $input.attr("comp","type:'selectPeople',panels:'Department,Post,Team,Role',selectType:'Member,Department'");
    $("body").append($input);
    $input.compThis();
});

完整的页面示例:

<%--
  Author shuqi
  Rev
  Date: 2022-03-09 22:46
  
  Copyright (C) 2022 Seeyon, Inc. All rights reserved.
  
  This software is the proprietary information of Seeyon, Inc.
  Use is subject to license terms.
  @company  seeyon.com
  @since  V5 V8.1SP1
  @author       shuqi
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
 <%@include file="/WEB-INF/jsp/common/common_header.jsp" %>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
 <meta name="renderer" content="webkit|ie-comp|ie-stand">
 <title>ctpui 选人测试代码</title>
</head>
<body>
<input
 type="text"
 class="comp"
 comp="type:'selectPeople',panels:'Department,Post,Team,Role',selectType:'Member,Department'"
/>
</body>
<%@include file="/WEB-INF/jsp/common/common_footer.jsp" %>
<script>
$(function(){
 var $input = $("<input type='text' id='selectorgDemo1'/>");
 $input.addClass("comp");
 $input.attr("comp","type:'selectPeople',panels:'Department,Post,Team,Role',selectType:'Member,Department'");
 $("body").append($input);
 $input.compThis();
});
</script>
</html>

# V3x框架使用

如果你的页面使用的是v3x老框架,同样也可以使用选人。PS:v3x属于过时的老页面,建议尽快改完新框架

1、引入v3x命名空间

<%@ taglib uri="http://v3x.seeyon.com/taglib/core" prefix="v3x"%>

2、申明选人组件

提供的参数不全,可以通过扩展参数的方式设置。

<v3x:selectPeople
 id="manager"
 showMe="true"
 panels="Department,Post,Level,Team"
 selectType="Department,Post,Level,Team"
 memberId=""
 departmentId=""
 postId=""
 levelId=""
 maxSize="1"
 minSize="1"
 selectNode4EdocWorkflow=""
 showAllAccount=""
 include=""
 originalElements="Member|123"
 jsFunction="setBulPeopleFields(elements,'managerUserIds','managerUserNames')"
 maxSize="50"
></v3x:selectPeople>

3、扩展参数

如果需要设置全部参数,可以添加全局变量:参数名_组件Id = xxx_var onlyLoginAccount_manager=true

//支持的扩展参数
['accountId', 'departmentId', 'memberId', 'postId', 'levelId', 'elements', 'showOriginalElement', 'excludeElements', 'isNeedCheckLevelScope', 'onlyLoginAccount', 'showAccountShortname', 'showConcurrentMember', 'hiddenPostOfDepartment', 'hiddenRoleOfDepartment', 'hiddenMetadataOfDepartment', 'onlyCurrentDepartment', 'showDeptPanelOfOutworker', 'unallowedSelectEmptyGroup', 'showTeamType', 'hiddenOtherMemberOfTeam', 'hiddenAccountIds', 'isCanSelectGroupAccount', 'showAllOuterDepartment', 'hiddenRootAccount', 'hiddenGroupLevel', 'showDepartmentsOfTree', 'showDepartmentsNoChildrenOfTree', 'hiddenSaveAsTeam', 'hiddenMultipleRadio', 'showAdminTypes', 'includeElements', 'extParameters', 'showSecondMember', 'isAllowContainsChildDept', 'isCheckInclusionRelations', 'showRecent', 'notShowAccountRole']
//示例
var onlyLoginAccount_manager=true;

# Vue场景

vue要使用选人需要引入:${contextpath}/common/js/selectOrgSdk.js

selectOrgSdk.showSelectOrg({
    panels: 'Department,JoinOrganization',
    selectType: 'Member',
    minSize: 0,
    onlyLoginAccount: true,
    targetWindow: getA8Top(),
    params: {
        value: _selectRoleIds
    },
    callback: function(ret) {
      // 选人确定回调
        console.log(ret.text);//"树琦、信创中心"
        console.log(ret.value);//"Member|12121,Department|2313"
    }
});

# Vjoin使用

$.SeeyonSelectPeople({
    panels: 'Department,JoinOrganization',
    selectType: 'Member',
    minSize: 0,
    onlyLoginAccount: true,
    targetWindow: getA8Top(),
    params: {
        value: _selectRoleIds
    },
    callback: function(ret) {
        $(thisDom).val(ret.text);
        $(thisDom).parent().children(":first").val(ret.value);
    }
});

# 选人界面参数

参数 字段类型 备注
panels string 控制选人界面panel,多个“,”分隔
selectType string 控制选人界面可选类型,多个“,”分隔
alwaysShowPanels string 切换单位一直显示页签,多个“,”分隔
hiddenOnChanageAccountForOrgTeam boolean 切换单位隐藏机构组 ,默认true
hiddenOnChanageAccountForExchangeAccount boolean 切换单位隐藏公文交换,默认true
hiddenGroupLevel boolean 不显示集团职务界别页签,参数控制不显示,默认值为false
showAccountPanel boolean 是否显示单位页签,默认为true,
showDeptPanelOfOutworker boolean 编外人员显示单位、岗位、职位级别、角色、主数据,默认为false
onlyShowChildrenAccount boolean 是否只显示子单位,默认false都显示(切换单位和单位树 )
showAllAccount boolean 是否显示全部单位,默认false
showAccountIds string 指定显示单位,多个以“,”分隔,默认null
hiddenAccountIds string 指定显示单位,多个以“,”分隔,默认null[已废弃]
showRecent boolean 是否显示最近页签,默认为true
allowSeachGroup boolean 是否允许全集团查询人员,缺省允许 true
onlyLoginAccount boolean 是否只定位到指定的(accountId或者登陆单位)单位
accountId long 指定默认单位Id
departmentId long 是否显示查询全集团的按钮
defaultUnitType String 默认组织类型
showOriginalElement boolean 是否回显原有数据,默认为true
hiddenSaveAsTeam boolean 隐藏“另存为组”,默认为false
maxSize int 最大可选择,默认为1000
minSize int 最小可选择,默认为1
hiddenMetadataOfDepartment boolean 是否隐藏部门下的人员属性
hiddenMemberOfDepartment boolean 隐藏部门下的人员选择框
hiddenRoleOfDepartment boolean 是否隐藏部门下的角色
hiddenPostOfDepartment boolean 是否隐藏部门下的岗位
showTeamType "1,2,3" 需要显示的组类型1-个人,2-系统,3-项目, 默认"",表示所有
showAdminTypes_${id} "SystemAdmin,AuditAdmin,GroupAdmin ,AccountAdministrator,AccountAdministrator _-81232345" 需要显示的管理员,如果不指定,表示显示所有
notShowAccountRole boolean (相对角色,表单控件下) 不显示单位角色,默认按照集团管理员勾选‘选人界面’的设置来。默认false
notShowMetadataRole boolean (相对角色,表单控件下) 不显示主数据下的角色。默认false
extParameters string 选人业务扩展参数。默认""
showRoleType string Account,Department 角色页签下显示什么类型的角色,默认显示所有,可以单独设置显示单位角色还是部门角色
orgMetadataTagTypes string 主数据显示支持类型,默认"Account,Department,Post,Member"
showAccountShortname string 是否只一直显示登录简称,默认auto
showConcurrentMember boolean 是否显示兼职人员(只外单位),默认true
showSecondMember boolean 是否显示副岗人员(只外单位),默认true
unallowedSelectEmptyGroup boolean 不允许选择空的组、部门,默认false
isCanSelectGroupAccount boolean 是否可以选择集团单位,默认true
alwaysShowBusiness boolean 总是显示的多维组织的id
showDepartmentsOfTree string 部门Id,部门树上可以显示的部门
showSearchFunction boolean 组织机构选人界面定义的是否显示搜索功能
unallowedChangeBusinessAccount boolean 是否允许切换多维组织单位,默认为false
currentBusinessAccount string 默认显示的多维组织单位id
SingleChoice boolean 控制单位树、组织机构树是否为单选
showChild boolean 是否显示子树
excludeElementsBeyondMemberSize string 指定类型的元素,该元素下的人员超过指定大小后,不允许选择 默认为null,Department
showDepartmentsNoChildrenOfTree string 部门页签下,显示当前部门和父级部门
isNeedCheckLevelScope boolean 是否需要进行职务级别校验,部门可见性校验由其决定
params object 上个页面回填的数据,如{value:"Member|122",text:"树琦"}
returnValueNeedType boolean 返回值是否需要带类型,默认true,如果false则只返回Id,只用于单一选择
isConfirmExcludeSubDepartment boolean 默认值true,选择部门时,是否提示“是否包含子部门”,默认false即包含子部门
hiddenAddExternalAccount boolean 显示增加外部单位连接,默认false
isAllowContainsChildDept boolean 在部门面板选择部门时,是否允许同时选择父部门和子部门,默认为false,不允许
isCheckInclusionRelations boolean 是否检查已选数据的包含关系,默认true
isNotShowNoMemberConfirm boolean 是否不显示“xxx部门下无人,是否继续选择”的提示语,默认false,即显示
isNotCheckDuplicateData boolean 是否不检查重复数据,默认false,即检查
returnMemberWithDept string true
isShowCheckboxIntree boolean 是否展示的树,允许复选框勾选,缺省不允许 false.单位树不受此开关控制
memberWithDeptInfo string 人员返回部门信息
isSelectUserDepartment boolean 部门页签是否默认选中用户所在部门
disabledAccountSelectorForOrgTeam boolean 禁用机构组的单位选择
disabledAccountSelectorForExchangeAccount boolean 禁用外部单位的单位选择
preReturnValueFun string 选择完后,点击确定时,需要进行回调该方法,参数为:传入所选对象的id
excludeElements list 不在被选框中显示 默认为null
includeElements list Element[] 备选的数据范围
showAllOuterDepartment boolean 是否显示所有的外部部门,默认false(按照自己的访问权限来)
showGroupRole boolean 是个显示集团角色,默认为false @since 8.2

# 基础panel类型

code PanelType 名称 备注
OrgRecent ORG_RECENT 最近
Account ORG_ACCOUNT 单位
OcipOrganization OCIP_ORGANIZATION OCIP 需要OCIP插件
Department ORG_DEPARTMENT 部门
BusinessAccount ORG_BUSINESSACCOUNT 多维组织单位 需要多维组织插件
BusinessDepartment ORG_BUSINESSDEPARTMENT 多维组织部门 需要多维组织插件
Team ORG_TEAM
OrgTeam EDOC_ORGTEAM 机构组
Post ORG_POST 岗位
Level ORG_LEVEL 职务级别
Node ORG_NODE 相对角色
Outworker ORG_OUTWORKER 编外人员
FormField FORM_FIELD 表单字段
OrgMetadataTag ORG_METADATATAG 组织属性
RelatePeople ORG_RELATEPEOPLE 关联人员
Role ORG_ROLE 角色
BusinessRole ORG_BUSINESSROLE 多为组织角色 需要多维组织插件
Admin ORG_ADMIN 管理员
ExchangeAccount EDOC_EXCHANGEACCOUNT 公文外部单位
WFDynamicForm WF_DYNAMICFORM 动态表流程
WfSuperNode WF_SUPER_NODE 超级节点
Guest ORG_GUEST Guest账号
AppProperty APPLINK_APPPROPERTY 应用属性
JoinOrganization VJOIN_ORGANIZATION Vjoin组织 需要vjoin插件
JoinAccount VJOIN_ACCOUNT Vjoin部门 需要vjoin插件
JoinPost VJOIN_POST Vjoin岗位 需要vjoin插件
JoinAccountTag VJOIN_ACCOUNTTAG Vjoin组织属性 需要vjoin插件
GovRoleStdSystemAdmin ORG_GovRoleStdSystemAdmin 系统管理员
GovRoleStdSecretAdmin ORG_GovRoleStdSecretAdmin 安全管理员
GovRoleStdAuditAdmin ORG_GovRoleStdAuditAdmin 审计管理员
econtractForm ECONTRACT_FORM 电子合同
Unit ORG_UNIT 组织机构:中石油 中石油添加
MemberMetadataTag ORG_MEMBERMETADATATAG 人员主数据

# 基础selectType类型

code 名称 备注
Member 人员
Department 部门
Account 单位
Role 角色
Post 岗位
Department_Post 部门岗
Level 职务级别
Team
Admin 管理员
Guest 特殊账号
OrgMetadataTag 组织属性
Unit 组织机构:中石油
Node 相对角色
FormField 表单字段
JoinAccountTag vjoin组织扩展
BusinessAccount 多维组织
BusinessDepartment 多维组织部门
BusinessRole 多维组织角色
BusinessDepartment_BusinessRole 多维组织部门下角色
ExchangeAccount 外部单位
OrgTeam 机构组
doc 文档
meeting 会议
meetingsummary 会议纪要
bulletin 公告
news 新闻
WF_SUPER_NODE 流程超级节点
WFDynamicForm 审批路径表
GovRoleStdSystemAdmin 系统管理员
GovRoleStdSecretAdmin 安全管理员
GovRoleStdAuditAdmin 审计管理员
econtractForm 电子合同
编撰人:admin、het