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

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

[菜单] 如何通过脚本动态生成菜单?【脚本-生成菜单】

[复制链接]
bess 发表于 2012-11-12 15:11:25 | 显示全部楼层 |阅读模式
Q:如何通过脚本动态生成菜单?
A:具体的代码请参考:
但是有些参数需要自己手动去修改.

  1. var uuid = new Packages.cn.myapps.util.sequence.Sequence();
  2. var uuid_link = new Packages.cn.myapps.util.sequence.Sequence();
  3. var sortid=new Packages.cn.myapps.util.sequence.Sequence();
  4. var sortid_link=new Packages.cn.myapps.util.sequence.Sequence();
  5. /**
  6. *下面两个,选择其一就可以,一般直接用第二个即可.
  7. */
  8. //var dprocess = new Packages.cn.myapps.core.resource.ejb.ResourceProcessBean;
  9. var dprocess1 = createProcess("cn.myapps.core.resource.ejb.ResourceProcess");
  10. /**
  11. *链接对象
  12. */
  13. var link=new Packages.cn.myapps.core.links.ejb.LinkVO;
  14. link.setId(uuid_link.getSequence());
  15. link.setType("00");  //链接类型
  16. link.setModuleid("11e2-2970-84a13738-bad2-41e30f25df4c"); //所属模块(t_link表中的Moduleid字段)
  17. link.setActionContent("11e2-2a35-2db1b46a-be99-2996def62638");//链接内容  (t_link表中的ActionContent字段)link.setApplicationid(getApplication());
  18. link.setName("fm_ceshi");//链接名称
  19. link.setSortId(sortid_link.getTimeSequence());
  20. link.setQueryString("[]");//请求参数
  21. /**
  22. *菜单对象
  23. */
  24. var menu=new Packages.cn.myapps.core.resource.ejb.ResourceVO;
  25. menu.setId(uuid.getSequence());//菜单id
  26. menu.setSortId(sortid.getTimeSequence());
  27. menu.setDescription("链接");//菜单描述
  28. menu.setType("00");//菜单类型 (00=菜单; 01=页面  ;10=Mobile菜单)
  29. menu.setApplication(getApplication());
  30. menu.setDisplayView("11e2-28af-efed99dc-ae5d-25f9ab8b59b9");//视图id ( t_view表的id字段)[只有连接的是视图,该字段才有值]
  31. menu.setModule("11e2-28af-e41bc878-ae5d-25f9ab8b59b9");//模块id (t_module表中的id)
  32. menu.setResourceAction("01"); //菜单ACTION(t_resource表中的RESOURCEACTION字段)
  33. menu.setIsprotected(false); //是否受保护(t_resource表中的ISPROTECTEDS字段)
  34. menu.setApplicationid(getApplication());
  35. menu.setSuperior(dprocess.getResourceByName("动态菜单",getApplication()));//设置上级菜单
  36. menu.setLink(link);
  37. //dprocess.doCreate(menu);
  38. dprocess1.doCreateMenu(menu);


  39. //菜单连接类型的标识
  40.         FORM("00"), // 表单类型
  41.                 VIEW("01"), // 视图类型
  42.                 REPORT("02"), // 报表类型
  43.                 CUSTOMIZE_REPORT("09"), // 自定义报表类型
  44.                 RUNQIAN_REPORT("12"),//润乾报表
  45.                 EXCELIMPORT("03"), // excel导入类型
  46.                 ACTION("04"), // 平台控制器类型
  47.                 MANUAL_INTERNAL("05"), // 内部手动链接类型
  48.                 MANUAL_EXTERNAL("06"), // 外部手动链接类型
  49.                 SCRIPT("07"), // 脚本类型
  50.                 EMAIL("08"), // 邮件链接
  51.                 BBS("10"), // 论坛
  52.                 NetworkDisk("11"), // 论坛
  53.                 NONE("@@");
复制代码
摘自原帖子:
http://www.teemlink.com/bbs/view ... A%B3%C9%B2%CB%B5%A5
karrman 发表于 2016-12-21 13:46:07 | 显示全部楼层
在微OA365版本 之后,菜单只存在于t_resource表中,生成菜单的链接可以参考如下
  1. var uuid = new Packages.cn.myapps.util.sequence.Sequence();
  2. var resourceid=uuid.getSequence();
  3. var sortid=new Packages.cn.myapps.util.sequence.Sequence();

  4. var dprocess = createProcess("cn.myapps.core.resource.ejb.ResourceProcess");

  5. var menu=new Packages.cn.myapps.core.resource.ejb.ResourceVO;
  6. menu.setId(resourceid);//菜单id
  7. menu.setSortId(sortid.getTimeSequence());
  8. menu.setDescription("测试菜单生成");//菜单描述
  9. menu.setType("00");//菜单类型 (00=菜单; 01=页面  ;10=Mobile菜单)
  10. menu.setApplication(getApplication());//应用ID
  11. menu.setModuleid("11e6-3793-7e738a3a-bb3e-0f0e5b5071d4");//模块id (t_module表中的id)
  12. menu.setOpentarget("detail");
  13. menu.setSuperior(dprocess.getResourceByName("发送通知",getApplication()));//设置上级菜单
  14. menu.setLinkName("测试菜单生成");//菜单描述
  15. menu.setActionContent("11e6-379e-c19a3cd2-8f74-d1f31ae8522e");//打开视图的ID
  16. menu.setPermissionType("public");//权限类型.
  17. menu.setShowType(0);//0代表在流程中心和菜单都显示
  18. menu.setLinkType("01");
  19. dprocess.doCreateMenu(menu);
  20. //LinkType菜单连接类型的标识
  21.                FORM("00"), // 表单类型
  22.                 VIEW("01"), // 视图类型
  23.                 REPORT("02"), // 报表类型
  24.                 CUSTOMIZE_REPORT("09"), // 自定义报表类型
  25.                 RUNQIAN_REPORT("12"),//润乾报表
  26.                 EXCELIMPORT("03"), // excel导入类型
  27.                 ACTION("04"), // 平台控制器类型
  28.                 MANUAL_INTERNAL("05"), // 内部手动链接类型
  29.                 MANUAL_EXTERNAL("06"), // 外部手动链接类型
  30.                 SCRIPT("07"), // 脚本类型
  31.                 EMAIL("08"), // 邮件链接
  32.                 BBS("10"), // 论坛
  33.                 NetworkDisk("11"), // 论坛
  34.                 NONE("@@");
复制代码

本版积分规则

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

GMT+8, 2026-8-12 06:36

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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