关于人员属性的请教
本帖最后由 aqsj 于 2023-12-7 16:33 编辑如图所示:我给该人员添加了一个个人属性“基本提成率”,在流程表单中,选择这个人员名字后,想在表单的基本提成率%这个位置获取到该人员的“基本提成率”的值“19”,该如何获取呢,请管理大大指导下,谢谢!!!
在绩效人员的change事件里去获取个人属性,var attributeList = this.org.getPersonAttribute( person, attr );详细用法参考一下api
您这里还有一个难点是在于您使用的数据表格,取值和赋值需要先获取到您当前编辑的行,再获取具体行里的字段,这个在api里的datatable里也是有的 论坛管理员 发表于 2023-12-8 10:02
在绩效人员的change事件里去获取个人属性,var attributeList = this.org.getPersonAttribute( person, att ...
好的 ,谢谢 :handshake 本帖最后由 aqsj 于 2023-12-12 09:42 编辑
论坛管理员 发表于 2023-12-11 09:30
我在人员组件的change里面的代码如下:
var basicCoefficient = this.org.getPersonAttribute( person, "basicCoefficient" );
return this.data.textfield = basicCoefficient;
文本输入框textfield没有获取的数据,是哪里写错了
首先您跟踪一下basicCoefficient这个变量有没有获取到数据
其次这里不需要return,return直接删掉 论坛管理员 发表于 2023-12-12 09:47
首先您跟踪一下basicCoefficient这个变量有没有获取到数据
其次这里不需要return,return直接删掉 ...
控制台里报错如下
ReferenceError: person is not defined
at MWF.Macro.scriptSpace.f_0 (<anonymous>:2:53)
at Object.exec (<anonymous>:1:568)
at Object.fire (<anonymous>:1:1690)
at i.extend.$owner (mootools-1.6.0_all.js:1399:1)
at Object.<anonymous> (<anonymous>:1:9108)
at Object.<anonymous> (<anonymous>:1:183184)
at Array.forEach (<anonymous>)
at Function.forEach (mootools-1.6.0_all.js:235:1)
at Array.each (mootools-1.6.0_all.js:345:1)
at Object.fireEvent (<anonymous>:1:183144) person未定义,您得先拿到person,person就是您当前选择到的人员,this.data.字段标识,获取到的是一个数组,拿到个人的全称 本帖最后由 aqsj 于 2023-12-15 13:34 编辑
论坛管理员 发表于 2023-12-13 09:26
person未定义,您得先拿到person,person就是您当前选择到的人员,this.data.字段标识,获取到的是一个数组 ...
var line = this.target.parentLine //获取数据表格的当前行
var person = this.data.datatable.data.zj_performancePersonnel.distinguishedName; //获取人员全名
var basicCoefficient = this.org.getPersonAttribute( person, "基本提成" ); //获取人员个人属性中的“基本提成”的值
var zj_performancePersonnel = line.getModule("zj_performancePersonnel").getData()//获取数据表中的人员的值
var zj_basicCoefficient = line.getModule("zj_basicCoefficient").getData()//获取数据表中基本提成的值
line.getModule("zj_basicCoefficient").setData(basicCoefficient);//把获取到的人员属性中的“基本提成”的值设置为数据表中的基本提成的值
在数据表中的人员组织组件的change事件中执行以上代码,发现如下问题:
1、从数据表的第2行开始个人属性“基本提成”basicCoefficient的值不会随着人员名称改变而更新
2、数据表首行里的“基本提成”basicCoefficient是可以随着人员名字改变更新的
比如 首行:张三19 ,
第2行李四 19,李四的个人属性里的“基本提成”其实是16
请问下管理大大该如何解决这个问题 论坛管理员 发表于 2023-12-13 09:26
person未定义,您得先拿到person,person就是您当前选择到的人员,this.data.字段标识,获取到的是一个数组 ...
var line = this.target.parentLine //获取数据表格的当前行
var person = this.data.datatable.data.zj_performancePersonnel.distinguishedName; //获取人员全名
var basicCoefficient = this.org.getPersonAttribute( person, "基本提成" ); //获取人员个人属性中的“基本提成”的值
var zj_performancePersonnel = line.getModule("zj_performancePersonnel").getData()//获取数据表中的人员的值
var zj_basicCoefficient = line.getModule("zj_basicCoefficient").getData()//获取数据表中基本提成的值
line.getModule("zj_basicCoefficient").setData(basicCoefficient);//把获取到的人员属性中的“基本提成”的值设置为数据表中的基本提成的值
在数据表中的人员组织组件的change事件中执行以上代码,发现如下问题:
1、从数据表的第2行开始个人属性“基本提成”basicCoefficient的值不会随着人员名称改变而更新
2、数据表首行里的“基本提成”basicCoefficient是可以随着人员名字改变更新的
比如 首行:张三19 ,
第2行李四 19,李四的个人属性里的“基本提成”其实是16
请问下管理大大该如何解决这个问题
页:
[1]