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

QQ登录

只需一步,快速开始

查看: 2097|回复: 7

[结贴] 在UI层的model中规则的calculate,能否调用自定义函数或action

[复制链接]

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
发表于 2014-6-13 14:07:54 | 显示全部楼层 |阅读模式
在UI层的model中规则的calculate,能否调用自定义函数或action,如果可以,具体如何实现呢。我自己写了一个fn函数,在UI层的calculate中设置为getSalesPrice(data('masterData')/gProcessCode, data('masterData')/fCustomerID, data('detailData')/fMatID,'',data('detailData')/fIsInputPrice,data('detailData')/fBasePrice)

在biz的process的model.config.xml include这个函数的fn,code.action.  

执行时还是会报错function getSalesPrice not found

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-6-13 14:37:14 | 显示全部楼层
可以自己定义一个js函数,js中调用自定义的action,然后在calcutate中通过call()调用js函数
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
 楼主| 发表于 2014-6-13 14:55:03 | 显示全部楼层
jishuang 发表于 2014-6-13 14:37
可以自己定义一个js函数,js中调用自定义的action,然后在calcutate中通过call()调用js函数 ...

自定义JS函数,以及JS调用自定义的action,这个怎么写呢。能否举个例子了,语法不太懂得如何写。比如我定义了一个ACTION,方法为getSalesPriceAction
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-6-13 15:31:01 | 显示全部楼层
调用action参考http://bbs.justep.com/thread-33841-1-1.html

规则中调用js函数如下:call('aa')
                                 aa就是js函数名
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
 楼主| 发表于 2014-6-13 16:09:55 | 显示全部楼层
本帖最后由 xuni2 于 2014-6-13 16:17 编辑
jishuang 发表于 2014-6-13 15:31
调用action参考http://bbs.justep.com/thread-33841-1-1.html

规则中调用js函数如下:call('aa')

在JS中调用,我会写。常见模式就是加一个trigger,然后在onclick写调用ACTION。
现在我不明白的是calculate,怎么写。因为我现在没有trigger,自然不会自动生成onclick,也就不会有写调用ACTION。。是不是就不用写JS了,直接在calculat写call(getSalesPriceAction,data('masterData')/gProcessCode, data('masterData')/fCustomerID, data('detailData')/fMatID,'',data('detailData')/fIsInputPrice,data('detailData')/fBasePrice) 这样就可以了。还是说所有逻辑处理都自己写一个JS。mainActivity.getSalesPrice = function(event){}。。。然后在calculate写call(getSalesPrice),还是说怎样处理。能否说的更明白一下语法的位置。比如calculate写什么,JS的写什么。比如我已经在logic/action定义这样的ACTION,getSalesPrice(String gProcessCode, String fCustomerID, String fMatID, String fPriceType, Integer fIsInputPrice,BigDecimal fBasePrice)。返回DECIMAL值。。。那JS和CALL具体怎么写呢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-6-13 16:43:57 | 显示全部楼层
2楼已经说了,自己在js中定义一个函数,在这个函数中调用action
然后在calculate中调用js中定义的这个函数,如何调用参考4楼
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
 楼主| 发表于 2014-6-13 16:54:45 | 显示全部楼层
本帖最后由 xuni2 于 2014-6-13 17:02 编辑
jishuang 发表于 2014-6-13 16:43
2楼已经说了,自己在js中定义一个函数,在这个函数中调用action
然后在calculate中调用js中定义的这个函数 ...

不理解aa 是什么意思。。是getSalesPrice,还是getSalesPriceAction,还是mainAcitivty.xxx 还是。。。

例如我写了JS  

mainActivityDetail.getSalesPrice1 = function(event) {         
      alert("获取销售价");
justep.Request.sendBizRequest2({
dataType: "json",
action: "getSalesPriceAction",
parameters : param,
callback: function(result) {
   if (result.state) {
   alert("调用成功!");
    } else {
        throw new Error("调用失败!|" + result.response.message);
               }
          }
    });
};


calculate是不是这样写(getSalesPrice1())

如果是,我执行的时候,UI怎么没有提示框“获取销售价”弹出来
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-6-13 17:35:05 | 显示全部楼层
calculate中写call('mainActivityDetail.getSalesPrice1 ')
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 12:28 , Processed in 0.075532 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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