部门人员列表展示
怎么获取系统登录者的同部门所有用户,并遍历展示到列表获取当前用户:https://www.o2oa.net/api/module-session.html#module-session 用户里有身份列表,同一个用户可能有多身份,所以需要循环身份列表,
身份列表里有组织id,根据组织id可以拿到组织:https://www.o2oa.net/api/module-org.html#.getUnit
获取组织下的所有成员:https://www.o2oa.net/api/module-org.html#.listIdentityWithUnit
请问我再datatable里声明了 一个变量 var personNameList = {};并通过for循环给 personNameList.add()添加了数据添加不上是为何? 这个声明的变量是在 datatable的onload 事件中的,那这个personNameList变量可以 在这个表格的 ,某一列的input 输入框中的 默认值创建时获取这个值么? 您是要在表单的datatable里,列表展示当前登录者的同部门所有用户?
那么可以在数据表格的默认值里加,通过return {"data":[],"total":{}}的方式默认加上,data里就是数据表格里存储的条目数据 论坛管理员 发表于 2024-11-4 09:44
您是要在表单的datatable里,列表展示当前登录者的同部门所有用户?
那么可以在数据表格的默认值里加,通过 ...
嗯 国企里同部门,有事业编人员 和 企业合同工 ,我想查出同部门 下 企业合同工的人员。1我先给人员添加了属性type = company (代表企业合同工)。2然后定义 var personNameList = [] ,用
var personList = this.org.listPersonWithUnit( unit );中通过 {"name":"type","person":"李支彬@362f7b2e-b6fd-440a-a6be-96ca397567a2@P","attributeList":["company"]}]里 attributeList找到 这些企业合同工(现在没存上)赋值给personNameList 3.然后再创建列表展示 /**
* 在数据表格末尾添加条目。
* @param {Object} 添加条目的数据。
* @return {MWF.xApplication.process.Xform.DatatablePC.Line} 添加的数据表格条目
* @example
* var line = this.form.get("dt1").addLine();
*/
var unitid = this.session.user.identityList.unit; // 获取组织id
var personList1 = this.org.listPersonWithUnit( unitid ); //根据组织id获取人员
console.log("datatable -->"+JSON.stringify(personList1)+" !");
var namesList = [];
//var dataSet = new Set();
for (var i = 0; i < personList1.length; i++) {
var promise = this.org.listPersonAllAttribute( personList1, true);
promise.then(function(attributeObjectList){
for (var j = 0; j < attributeObjectList.length; j++) {
var nl = attributeObjectList.name;
var attributeList = attributeObjectList.attributeList;
console.log("nl-->"+JSON.stringify(nl));
if(attributeList == "company"){
console.log("attributeList"+ JSON.stringify(attributeList));
//1 没有添加上是为何?
namesList.add(personList1.name);
}
console.log("attributeList2"+ JSON.stringify(attributeList));
}
})
//2添加重复的行序 1 122 334455
var line = this.form.get("datatable").addLine();
}
console.log("211111 - "+JSON.stringify(namesList));//输出为空
for (var i = 0; i < namesList.length; i++) {
// var line = this.form.get("datatable").addLine();
}
代码里 有俩问题,1 nameList存不上值 2.创建行有重复。请问您我要怎么改呢?? 单看脚本无法定位问题,要调试才行,但是按照您的需求,应该是使用var line = this.form.get("dt1").insertLine(0,data);这样的方式去插入数据才对
this.org.listPersonAllAttribute( personList1, true);这个是同步方法,不是promise,最后增加参数true才是promise,您可以仔细看一下api
页:
[1]