查看: 5876|回复: 9

关于人员属性的请教

升级   0.08%

97

主题

137

回帖

8

积分

注册会员

Rank: 2

积分
8
发表于 2023-12-7 16:31:41 | 显示全部楼层 |阅读模式
本帖最后由 aqsj 于 2023-12-7 16:33 编辑

如图所示:我给该人员添加了一个个人属性“基本提成率”,在流程表单中,选择这个人员名字后,想在表单的基本提成率%这个位置获取到该人员的“基本提成率”的值“19”,该如何获取呢,请管理大大指导下,谢谢!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-12-8 10:02:06 | 显示全部楼层
在绩效人员的change事件里去获取个人属性,var attributeList = this.org.getPersonAttribute( person, attr );详细用法参考一下api
您这里还有一个难点是在于您使用的数据表格,取值和赋值需要先获取到您当前编辑的行,再获取具体行里的字段,这个在api里的datatable里也是有的
回复

使用道具 举报

升级   0.08%

97

主题

137

回帖

8

积分

注册会员

Rank: 2

积分
8
发表于 2023-12-8 10:05:20 | 显示全部楼层
论坛管理员 发表于 2023-12-8 10:02
在绩效人员的change事件里去获取个人属性,var attributeList = this.org.getPersonAttribute( person, att ...

好的 ,谢谢
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-12-11 09:30:45 | 显示全部楼层
回复

使用道具 举报

升级   0.08%

97

主题

137

回帖

8

积分

注册会员

Rank: 2

积分
8
发表于 2023-12-12 08:35:48 | 显示全部楼层
本帖最后由 aqsj 于 2023-12-12 09:42 编辑
我在人员组件的change里面的代码如下:   


var basicCoefficient = this.org.getPersonAttribute( person, "basicCoefficient" );  
return this.data.textfield = basicCoefficient;

文本输入框textfield没有获取的数据,是哪里写错了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-12-12 09:47:09 | 显示全部楼层
首先您跟踪一下basicCoefficient这个变量有没有获取到数据
其次这里不需要return,return直接删掉
回复

使用道具 举报

升级   0.08%

97

主题

137

回帖

8

积分

注册会员

Rank: 2

积分
8
发表于 2023-12-12 10:30:18 | 显示全部楼层
论坛管理员 发表于 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)
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-12-13 09:26:42 | 显示全部楼层
person未定义,您得先拿到person,person就是您当前选择到的人员,this.data.字段标识,获取到的是一个数组,拿到个人的全称
回复

使用道具 举报

升级   0.08%

97

主题

137

回帖

8

积分

注册会员

Rank: 2

积分
8
发表于 2023-12-13 11:25:38 | 显示全部楼层
本帖最后由 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[0].zj_performancePersonnel[0].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

请问下管理大大该如何解决这个问题
回复

使用道具 举报

升级   0.08%

97

主题

137

回帖

8

积分

注册会员

Rank: 2

积分
8
发表于 2023-12-15 13:35:02 | 显示全部楼层
论坛管理员 发表于 2023-12-13 09:26
person未定义,您得先拿到person,person就是您当前选择到的人员,this.data.字段标识,获取到的是一个数组 ...

var line = this.target.parentLine   //获取数据表格的当前行
var person = this.data.datatable.data[0].zj_performancePersonnel[0].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

请问下管理大大该如何解决这个问题
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread