天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 3355|回复: 18

[已解决] 有关视图调用函数库的问题【bugid:9583】

[复制链接]
联正达 发表于 2013-10-29 14:59:28 | 显示全部楼层 |阅读模式
本帖最后由 kimi 于 2013-10-30 17:19 编辑

在视图列中,用脚本的方式获取到数据:

QQ图片20131029145624.jpg
代码如下:
  1. var start = getItemValueAsString("status");

  2. if(start == 0){
  3.         //var status_value = "<font style='color:red;'>未接收</font>";
  4.        
  5.         var status_value = "<input type='button' id='' value='催办' onclick="alert('11111')" />";
  6. }else{
  7.         var status_value = "<font style='color:green;'>已接收</font>";
  8. }       

  9. status_value;
复制代码
我想在button触发的时候调用函数库的方法,或者是直接执行一条sql语句,这个就目前的版本来说可以做到了吗?
kimi 发表于 2013-10-29 15:11:40 | 显示全部楼层
您好:目前视图列为脚本类型是做不到的,因为这里的脚本执行的前端页面的html代码,而我们函数库是在服务器端运行的,请问您具体什么需要呢?是想实现点击按钮时更改当前记录某个字段的值么?如果是您可以采用操作列类型为操作,然后操作类型选择脚本,那此时其动作执行脚本就可以调用函数库中的函数,如下图所示:
e7.gif
 楼主| 联正达 发表于 2013-10-29 15:16:56 | 显示全部楼层
我是想调用函数库里面的发送短信的方法:sendMobileMsg(sender,receiver,title,senddate,content)(PS:不知道这个方法是原系统带的还是同事写的。),也就是想要点击发送短信了。要么直接在表里插入一条数据,上面的方法也是插数据来的。。。那我先尝试一下“操作”吧。。
echochen 发表于 2013-10-29 15:24:22 | 显示全部楼层
请问您是用的我们打包好的数据吗?
还有如果您想要实现点击视图列执行函数库里面函数,那么您还是需要使用“操作”而不是脚本模式哦,您先尝试,有问题我们再沟通
 楼主| 联正达 发表于 2013-10-29 16:32:41 | 显示全部楼层
runscript(id, scriptId) 这个方法的两个参数是代表什么?应该怎么取到?
  1. function buttonCallJs(buttonValue,confirmMsg,Id,scriptId){
  2.        var js="{if(confirm('"+confirmMsg+"')){";
  3.            js+="runscript('"+Id+"', '"+scriptId+"');"
  4.            js+="}return false;}"
  5.           var value= "<input type=button value='"+buttonValue+"' onclick=""+js +""/>";
  6.          return value;
  7. }
复制代码
我想通过以上这个方法来实现在列里面打开另一个列宽为0操作列,然后在操作列里面编辑sql语句。但不知道runscript()方法如何实现的。
kimi 发表于 2013-10-29 16:59:32 | 显示全部楼层
您好:请问您这个函数您是在我们平台的某个js文件下找到的么?如果是不知道您为什么要使用该方法,您现在的具体需求到底是怎样?您这里说的用该方法在列里面实现打开另一个列的操作列是什么意思?
 楼主| 联正达 发表于 2013-10-30 09:57:26 | 显示全部楼层
本帖最后由 联正达 于 2013-10-30 09:59 编辑

runscript(id, scriptId)  这个函数确实是你们的js文件给的,这个问题已解决了。我原本的需求是:
1、由于在 “列->脚本” 下不能使用onclick调用函数库。所以我在函数库里新加了一个buttonCallJs()的方法(见我的上条留言),此方法是打开一个列宽为0的列,如下图:

QQ图片20131030093614.jpg

2、然后在此列里写调用函数库的方法:
  1. #include "toolLib"
  2. var msg = sendMobileMsg("12345678901", "10987654321", "night test", "2013-10-10", "What a fucking day!");
  3. msg;
复制代码
在函数库里面的方法是:
  1. function sendMobileMsg(sender,receiver,title,senddate,content)
  2. {
  3.         println(sender+"-------------"+senddate);
  4.    var uuid = new Packages.cn.myapps.util.sequence.Sequence();

  5.    var id = uuid.getSequence();
  6.    var domainid=getDomainid();        //域id
  7.    var applicationId = getApplication();//获取应用id
  8. println(title);
  9.    var sql="insert into sysdata.t_shortmessage_submit (ID,CONTENTTYPE,TITLE,CONTENT,SENDDATE,REPLYCODE,SENDER,RECEIVERUSERID,RECEIVER,SUBMISSION,ISFAILURE,ISREPLY,ISTRASH,ISDRAFT,NEEDREPLY,MASS,DOCID,APPLICATIONID,DOMAINID,T_FLAG) values (";
  10.       sql += "'" + id + "',";
  11.       sql += "'" + "0" + "',";
  12.       sql += "'" + title + "',";
  13.       sql += "'" + content + "',";
  14.       sql += "'" + senddate + "',";
  15.       sql += "'" + "" + "',";
  16.       sql += "'" + sender + "',";
  17.       sql += "'" + "" + "',";
  18.       sql += "'" + receiver + "',";
  19.       sql += "'" + "0" + "',";
  20.       sql += "'" + "0" + "',";
  21.       sql += "'" + "0" + "',";
  22.       sql += " '0', '0', '0','0','',";
  23.       sql += "'" + applicationId + "',";
  24.       sql += "'" + domainid + "',";
  25.       sql += "'0')";
  26. println(sql);
  27.       insertByDSName("sysdata",sql);
  28. println("1111111");
  29. }
复制代码
现在的问题是这个函数执行完了,程序运行正常,包括sql也能在第三方软件下执行。但没有插入数据表里。。。很奇怪,请问问题出在哪?
kimi 发表于 2013-10-30 10:07:23 | 显示全部楼层
您好:您现在的需要将是需要点击该操作方式站内短信是么,您可以直接用我们封装好的方法发送站内短信,对应可参考帖子:http://www.teemlink.com/bbs/view ... E%C4%DA%B6%CC%D0%C5
 楼主| 联正达 发表于 2013-10-30 10:23:28 | 显示全部楼层
也还是不行啊:
  1. println("11");
  2. sendMessage("fa32-d3d2-9e0f1ed5-b7c8-6b6dd74a2a4a", "55e2-d3d2-9e0f1ed5-b7c8-6b6dd74a2a4a","test", "what a fucking day!");
  3. println("22");
复制代码
QQ图片20131030102251.jpg

应该已经执行了,但表里没有相关的东西,也没报错。
kimi 发表于 2013-10-30 10:29:47 | 显示全部楼层
您好:您在这个用户前台的站内短信中没有看到信息么?

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 04:34

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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