起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2695|回复: 11

[结贴] 在baasData中编辑规则,某个字段计算里填三元表达式不生效

[复制链接]

37

主题

99

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
QQ
发表于 2017-3-24 16:22:25 | 显示全部楼层 |阅读模式
在baasData中编辑规则,某个字段计算里填如下三元表达式,我发现只要不是“0”就都成"处理完毕"了,这个地方这种写法不支持吗?
$row.val("STATUS") =="0"?"待处理" $row.val("STATUS"=="1")?"正在处理":"处理完毕")
发表于 2017-3-24 16:40:59 | 显示全部楼层
$row.val("STATUS"=="1")
这个写错了吧!

应该是
$row.val("STATUS")=="1"
复杂的运算,建议绑定一个自定义js方法!将当前行传递进去!!在js中return 字符串即可赋值!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

37

主题

99

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
QQ
 楼主| 发表于 2017-3-24 17:43:31 | 显示全部楼层
liangyongfei 发表于 2017-3-24 16:40
$row.val("STATUS"=="1")
这个写错了吧!

对,我写的表达式有错误,但是我试了
$row.val("STATUS") =="0"?"待处理": ($row.val("STATUS")=="1"?"正在处理":"处理完毕")

$row.val("STATUS") ==0?"待处理": ($row.val("STATUS")==1?"正在处理":"处理完毕")

这个两个表达式都不生效,我发现$row.val("STATUS") 取出的值永远不等于0或“0”,1或“1”,但我直接取值时能够得到1或者0,这是怎么回事?
回复 支持 反对

使用道具 举报

发表于 2017-3-24 18:03:00 | 显示全部楼层
joechinochl 发表于 2017-3-24 17:43
对,我写的表达式有错误,但是我试了
$row.val("STATUS") =="0"?"待处理": ($row.val("STATUS")=="1"?"正 ...

复杂逻辑运行,建议绑定一个自定义js方法实现吧!!这样就可以调试看js代码!!获取的值是什么了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

37

主题

99

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
QQ
 楼主| 发表于 2017-3-24 18:05:02 | 显示全部楼层
liangyongfei 发表于 2017-3-24 18:03
复杂逻辑运行,建议绑定一个自定义js方法实现吧!!这样就可以调试看js代码!!获取的值是什么了! ...

我写了js函数,而且得到值了,发现和http://bbs.wex5.com/forum.php?mod=viewthread&tid=113484,这位弟兄的问题一样,js函数执行了两遍。
回复 支持 反对

使用道具 举报

发表于 2017-3-24 18:13:45 | 显示全部楼层
joechinochl 发表于 2017-3-24 18:05
我写了js函数,而且得到值了,发现和http://bbs.wex5.com/forum.php?mod=viewthread&tid=113484,这位弟 ...

执行几次没关系!加载执行一次!data初始化再执行一次!
这个不是大问题!!能成功就可以了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

37

主题

99

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
QQ
 楼主| 发表于 2017-3-24 18:32:19 | 显示全部楼层
本帖最后由 joechinochl 于 2017-3-24 19:29 编辑
liangyongfei 发表于 2017-3-24 18:13
执行几次没关系!加载执行一次!data初始化再执行一次!
这个不是大问题!!能成功就可以了! ...

肯定有问题的,运行两次,再一次运行的时候event取到的值就是上次返回的值,“待处理”,“未分类”等汉字,不是0,1,2这样的数字了。这样肯定不会得到正常的效果。
回复 支持 反对

使用道具 举报

37

主题

99

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
QQ
 楼主| 发表于 2017-3-24 19:22:46 | 显示全部楼层
本帖最后由 joechinochl 于 2017-3-24 19:28 编辑
liangyongfei 发表于 2017-3-24 18:13
执行几次没关系!加载执行一次!data初始化再执行一次!
这个不是大问题!!能成功就可以了! ...

$row.val("STATUS") =="0"?"待处理": ($row.val("STATUS")=="1"?"正在处理": ($row.val("STATUS")=="2"?"处理完毕": $row.val("STATUS")))

我现在在计算规则里这样写的,可以显示不同状态了,但是为空的就不能显示“未处理”了。是不是计算规则这个语法的解析有点问题?
回复 支持 反对

使用道具 举报

发表于 2017-3-27 09:33:23 | 显示全部楼层
joechinochl 发表于 2017-3-24 19:22
$row.val("STATUS") =="0"?"待处理": ($row.val("STATUS")=="1"?"正在处理": ($row.val("STATUS")=="2"?" ...

你的逻辑比较复制!判断条件比较多!
建议不要一行代码,一个表达式就搞定。请自定义js方法!!在计算规则中绑定自定义方法!并传参$row

在js方法中,通过计算返回一个 字符串 值 即可!

这样做很方便!还能调试js代码!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

37

主题

99

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
QQ
 楼主| 发表于 2017-3-27 11:41:53 | 显示全部楼层
本帖最后由 joechinochl 于 2017-3-27 11:44 编辑
liangyongfei 发表于 2017-3-27 09:33
你的逻辑比较复制!判断条件比较多!
建议不要一行代码,一个表达式就搞定。请自定义js方法!!在计算规 ...

我绑定了自定义js方法$model.statusShow($row.val("STATUS"))试了,但运行两次,第一次运行的时候得到0,1,2这样的值,再一次运行的时候event取到的值就是上次返回的值,“待处理”,“未分类”等汉字,不是0,1,2这样的数字了。这样结果就是不管是什么都是“处理完毕”。我不知道为什么会执行两次,传的值会不同。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-6 09:22 , Processed in 0.062886 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表