一、使用说明及示例
-
人员选择器地址:console_user_selector_url(eg:https://devel.ketanyun.cn/console/userselector)
-
从postMessage.js中引入DesignerFactory, Designer作为数据传递工具
-
示例(仅供参考) 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"
}