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

[其他] createConfirm点击确认或取消的返回值是什么?

[复制链接]
青岛融贯汇众 发表于 2014-8-1 14:45:36 | 显示全部楼层 |阅读模式
本帖最后由 jack 于 2014-9-25 12:05 编辑
  1. var keHu= getItemValue("客户");
  2. var cid = getItemValue("客户ID");
  3. var buMen = getItemValue("部门");
  4. var lianXiRen = getItemValue("联系人");
  5. var lianXiShiJian = getItemValue("联系时间");
  6. var jinDu= getItemValue("进度");
  7. var keHuZhuangTai = getItemValue("客户状态");
  8. var chuLiFangShi = getItemValue("处理方式");
  9. var shiYongWenJian = getItemValue("使用文件");
  10. var equip = getItemValue("产品类目");
  11. var lianXiNeiRong = getItemValue("联系内容");
  12. println("cid:"+cid);
  13. var pid = getCurrentDocument().getParent();
  14. println("***********PIDDDDDDDD"+ keHu +"***************");
  15. var flag1=true;
  16. var sql = "select * from dbo.TLK_客户报备表";
  17. var query = queryBySQL(sql);
  18. if(query!=null){
  19.     for(var it = query.iterator();it.hasNext();){
  20.         var datas = it.next();
  21.         var custId = datas.getItemValueAsString("客户ID");
  22.         println("ID:"+custId);
  23.         var flag = cid.equals(custId);
  24.         if(flag == true){                                   
  25.                 var rs = createConfirm("确定要再次导入?");
  26.                 println("---lfx test confirm--"+rs);
  27.                 flag1 = rs;
  28.                
  29.         }       
  30.    }
  31. }

  32. if(flag1==true){
  33. var process = new Packages.cn.myapps.core.dynaform.document.ejb.DocumentProcessBean(getApplication());
  34. var params = new Packages.cn.myapps.base.action.ParamsTable();
  35. var user = getWebUser();
  36. var doc = new Packages.cn.myapps.core.dynaform.document.ejb.Document();
  37. doc.setFormid('11e3-f83d-4d6f4cce-9b91-2177a2e776a0');
  38. doc.setFormname('至诚卓越OA系统/CRM/客户管理/客户管理新/客户报备表');

  39. doc.setAuthor(user.getId());

  40. doc.setIstmp(false);
  41. doc.setApplicationid(getApplication());
  42. doc.setDomainid(user.getDomainid());

  43. if(pid != null)
  44. {
  45.     doc.setParent(pid);
  46. }

  47. doc.addStringItem("客户",keHu);
  48. doc.addStringItem("客户ID",cid);
  49. doc.addStringItem("部门",buMen);
  50. doc.addStringItem("联系人",lianXiRen);
  51. doc.addStringItem("联系时间",lianXiShiJian);
  52. doc.addStringItem("进度",jinDu);
  53. doc.addStringItem("客户状态",keHuZhuangTai);
  54. doc.addStringItem("处理方式",chuLiFangShi);
  55. doc.addStringItem("使用文件",shiYongWenJian);
  56. doc.addStringItem("联系设备名称",equip);
  57. doc.addStringItem("联系内容",lianXiNeiRong);
  58. process.doCreate(doc);
  59. createAlert("导入成功");
  60. }
复制代码
弹出对话框后,点击确定之后就没了,也不会执行
jack 发表于 2014-8-1 15:11:48 | 显示全部楼层
回复 1# 青岛融贯汇众


    您好!createConfirm是在脚本执行完才弹出确认框的,所以点击确定时脚本已经执行完了。createConfirm不返回值,一般是确认是否要阻断程序接下来的操作,比如跳转等。
您的脚本是写在哪里的?如果是在按钮里,可以把createConfirm写在执行前脚本,而确认后需要执行的代码写在执行后脚本中。
回复

使用道具 举报

 楼主| 青岛融贯汇众 发表于 2014-8-1 15:18:25 | 显示全部楼层
本帖最后由 jack 于 2014-8-1 15:29 编辑

回复 2# jack


    您好,但是我这个需求需要根据判断结果执行不同的代码,感觉分离不出来
  1. var keHu= getItemValue("客户");
  2. var cid = getItemValue("客户ID");
  3. var pid = getCurrentDocument().getParent();
  4. println("***********PIDDDDDDDD"+ keHu +"***************");
  5. var flag1=true;
  6. //查询数据库,看是否已经存在这条数据,如果没有,则直接添加
  7. var sql = "select * from dbo.TLK_客户报备表";
  8. var query = queryBySQL(sql);
  9. if(query!=null){
  10.     for(var it = query.iterator();it.hasNext();){
  11.         var datas = it.next();
  12.         var custId = datas.getItemValueAsString("客户ID");
  13.         println("ID:"+custId);
  14.         var flag = cid.equals(custId);
  15. //如果存在这条数据,提示是否再次导入
  16.         if(flag == true){                                   
  17.                 var rs = createConfirm("确定要再次导入?");
  18.                 println("---lfx test confirm--"+rs);
  19.                 flag1 = rs;
  20.                
  21.         }       
  22.    }
  23. }

  24. if(flag1==true){
  25. //添加数据
  26. var process = new Packages.cn.myapps.core.dynaform.document.ejb.DocumentProcessBean(getApplication());
  27. var params = new Packages.cn.myapps.base.action.ParamsTable();
  28. var user = getWebUser();
  29. var doc = new Packages.cn.myapps.core.dynaform.document.ejb.Document();
  30. doc.setFormid('11e3-f83d-4d6f4cce-9b91-2177a2e776a0');
  31. doc.setFormname('至诚卓越OA系统/CRM/客户管理/客户管理新/客户报备表');

  32. doc.setAuthor(user.getId());

  33. doc.setIstmp(false);
  34. doc.setApplicationid(getApplication());
  35. doc.setDomainid(user.getDomainid());

  36. if(pid != null)
  37. {
  38.     doc.setParent(pid);
  39. }

  40. doc.addStringItem("客户",keHu);
  41. doc.addStringItem("客户ID",cid);

  42. process.doCreate(doc);
  43. createAlert("导入成功");
  44. }
复制代码
回复

使用道具 举报

jack 发表于 2014-8-1 15:53:44 | 显示全部楼层
回复 3# 青岛融贯汇众


    平台暂时不支持这样的做法。您的脚本是写在哪里的?我们一起看看能不能通过别的办法来实现。
回复

使用道具 举报

 楼主| 青岛融贯汇众 发表于 2014-8-1 16:21:07 | 显示全部楼层
回复 4# jack


   联系记录表单中加了一个按钮,功能是点击之后添加到报备表单中,添加时判断:第一次添加则直接添加,第二次以上则弹出确认信息:是否再次添加,然后执行。
请问一下这样如何能实现?
回复

使用道具 举报

jack 发表于 2014-8-1 16:33:15 | 显示全部楼层
回复 5# 青岛融贯汇众


    您可以分两个按钮,一个是检验,一个是导入。导入按钮默认隐藏,在点击检验后再显示导入按钮。
点击检验按钮时,判断是否有重复添加的数据,如果没有,就显示没有重复的,如果有重复的,提示用户有哪些数据是重复的,如果重复添加就直接点击导入按钮进行添加,如果不想重复添加就在删除重复的数据后再点击第二个按钮进行添加。
您看这样行不行?
回复

使用道具 举报

 楼主| 青岛融贯汇众 发表于 2014-8-1 18:20:20 | 显示全部楼层
您好,我在执行前脚本中写代码如下:createConfirm("是否再次导入?");
执行后代码为添加数据脚本。
为什么点击确认框中的确认后,执行后代码同样不执行?
回复

使用道具 举报

jack 发表于 2014-8-4 14:03:58 | 显示全部楼层
回复 7# 青岛融贯汇众


    方便的话远程看看。313729549.
回复

使用道具 举报

jack 发表于 2014-8-4 15:27:07 | 显示全部楼层
回复 8# jack


    按钮类型为无,执行前脚本执行createConfirm方法,前台点击确认后无法执行执行后脚本,无此函数时可正常执行。确认为bug。
回复

使用道具 举报

jack 发表于 2014-8-22 10:31:41 | 显示全部楼层
回复 9# jack


    后续版本无类型的按钮改成只有执行脚本,而没有执行前和执行后脚本。所以,这个方案将不可用,此bug也不会再做修复。
楼主的问题现在是否已经想到其他方案解决?如果没有,可能采用前几楼中的方案?
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-13 21:39

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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