功能设计工具负责业务功能设计,设计内容包括:功能模型定义、功能字段定义、功能事件定义、功能界面设计等。通过功能设计工具规范业务功能配置,提高开发效率,提高业务功能的易维护性,零编码可实现完善的带业务流程的功能。
制作一个业务功能一般需要下面五个步骤:功能信息定义、字段定义、事件注册、表格设计、表单设计。
如果是新建功能或修改了功能信息,功能设计完成后,还需要点击“功能列表——生成文件”按钮,重新生成文件 public\data\NodeDefine.js 文件。然后刷新菜单就可以操作新建的功能。

1. 功能设计器说明

1.1 功能信息定义

负责定义业务功能的表名、主键、编码规则、数据过滤条件、显示页面文件等信息。系统事件、审批流程依赖的功能信息都从此读取,功能设计器管理所有业务功能的模型信息。

1.1.1 功能模型字段说明

image.png :::info 功能名称 菜单名称。
功能标识 模块代号_用户代号 (小写英文), 也可以直接采用表名 sys_user。
功能序号 菜单排序。

注册类型
主 功 能: 将显示在菜单中,只有在菜单中会出现的功能才可以定义工作流程;
树形功能: 将显示在菜单中,新增记录后主键值将按层级构建,四位一级;
子 功 能: 不会显示在菜单中,用于定义住功能的明细表功能,不支持数据权限定义;
选择功能: 不会显示在菜单中,用于选择窗口控件选择数据用,支持数据权限定义;
结 果 集: 用于定义首页portlet(门户组件)用;
其他功能: 暂时不使用,临时功能;
不 使 用: 标识该功能不使用了,可以直接删除掉;

布 局 页 面 功能布局页面一般设置为: /public/layout/layoutcloud.js,打开一个功能菜单时先执行布局页面的js,如果没有页面则取”GRID页面”设置值;
GRID 页 面 grid页面路径。/project/money/grid_money_plan.js 目录结构:/产品代号/模块代号/文件名,以“grid
”为前缀,后面加功能ID,该文件由“表格设计”工具自动生成JS文件。 简单功能推荐
FORM页面 form页面路径。/project/money/formmoney_plan.js 目录结构:/产品代号/模块代号/文件名,以“form”为前缀,后面加功能ID,该文件由“表单设计”工具自动生成JS文件。 复杂功能推荐

功 能 图 标 logo
子 功 能 ID 添加当前功能拥有的子功能ID,可以填写多个,必须用“,”分隔,如:subid1,subid2
数 据 源 名 缺省为“default”,表示当前业务记录操作哪个数据源,数据源在WEB-INF\conf\server.xml中配置
必填子功能 必须是本功能“子功能ID”中的子功能,在记录复核时会检查这些子功能中必须有数据,否则不能复核
缺省查询字段 指查询控件中缺省显示的第一字段,填写格式为:表名_字段名,如:money_plan money_type;

名 该功能才做的业务表。
缀 用于业务单据编码的前缀,如:DX,则生成编码为:DX201102000001
业 务 表 主 键 业务表的主键字段,必须带表名,如:tablename.key_id,保存、复核操作都根据主键值检索记录
编码字段 必须带表名,如:table_name.my_code。如果填写了业务编码字段,则新增记录时会自动生成编码
记录状态列 必项带表名,如:table_name.auditing,表示记录执行状态的字段,当记录不是“未提交”状态时将不能百年祭。
复制列 必须带表名,如:table_name.my_title. 注册该字段后,复制记录时将在该字段值后添加“-”标志。
有 效 记 录 值 如果当前功能不需要审批流程,则有效记录值为 “已提交”,否则需要填写“已审批”。
如果有效值是“已审批”,表示有审批流程,签字后的调用类都要在审批通过后“process_3”事件时才执行。在流程定义功能中,启用与禁用流程时会自动处理该值。
子 功 能 外 键 注册类型为“子功能”时才需要填写。当注册到某个主功能时,将根据字段名从主功能的相应字段中取值做为子表的外键。
审批界面类型 点击审批任务时显示 表格 | 表单 | 审批单
块 _I _D 修改模块ID后,可以调整功能所在的模块

是否归档 ✅构建查询语句时会添加:(auditing=’0’ or auditing=’6’),表示当前只显示“未复核”与“审批退回”记录
用户信息 ✅在新增、保存、复核操作时都会填写用户信息字段,否则不会填写。用户信息有四个字段,
每个业务表都会自动添加,字段名为:add_date,add_userid,modify_date,modify_userId
初始显示 ✅表示GRID页面打开时显示数据,❎不显示数据。
显示查询 ❎GRID工具栏中不显示通用查询栏与查询按钮。
表格编辑 ✅生成可编辑的表格,页面类型为“editgrid”,如果哪个字段需要在表格中可以编辑,还需要在字段列表中勾选“表格编辑”❎不可编辑

from 子 句 要带 “from”关键字,支持填写多表,但必须包含“业务表名”
where子句 不带“where”关键字,在后台构建查询语句时会添加“()”。where子句中可以输入函数
order 子句 不带“order”关键字, 构建的SQL将根据它排序。
group子句 不带“group”关键字,字段分组 ::: image.png

1.1.2 功能创建步骤

:::success

  1. 确定需要新建哪个模块下面的功能,点击二级模块名,然后点击新建,输入功能ID
  2. 在列表中添加功能名称、业务表名、功能序号、注册类型、布局页面、GRID页面、FORM页面等基础信息
  3. 切换到“功能信息”FORM页面,继续完善功能模型信息,然后点击“保存”,模型定义完成。 :::

    1.1.3 注意事项

    :::warning

  4. 在定义功能模型前必须先理解每个字段的用途,根据需要填写字段信息。

  5. 类似的功能创建可以通过列表中“复制”按钮,将复制模型定义、字段定义、事件定义、页面设计文件等
  6. 任何功能定义信息修改后都需要点击:功能列表 — 生成文件,把功能模型定义静态化。
  7. 功能信息界面中右下角的三个字段修改后,需要重新生成表格页面才能生效,字段定义任何信息修改后,都需要重新生成表格、表单页面。 :::

    1.2 功能字段定义

    负责定义功能模型需要的字段信息、字段可编辑性、数据样式、显示控件等信息,业务表单界面模型是依据这些信息生成。
    image.png

    1.2.1 字段列表说明

    :::info 字段代码格式为:table_name.field_name
    字段名称是显示在GRID表格的标题或FORM页面中的字段标签
    数据类型选项:int、double、string、date,如果功能需要clob字段,需要自定义扩展处理。
    更 新 后台构建新增与保存SQL时,该字段的值会修改,否则不会修改。不是当前功能主表字段这个值为否
    编 辑 生成界面时该字段可以修改
    必 填 生成界面时该字段必须填写,字段标题是蓝色带星号;
    序 号 排列序号
    控件类型下拉选项:combo;下拉弹出层:combowin;弹出对话框选择:selectwin;上传附件控件:file;
    图片控件:image; 字段控件:form;
    控件名称combo控件:下拉选项控件;combowin,selectwin控件:窗口控件
    数据样式文本:text;整数:int;两位小数:number;三位小数:number3;金额:money;
    日期格式:date(yyyy-mm-dd),datemin(yyyy-mm-dd hh:mi);
    datetime(yyyy-mm-dd hh:mi:ss), datemonth(yyyy-mm);
    表格编辑开启或关闭
    统 计 列开启:会显示一行统计栏
    缺 省 值 默认值 :::

    1.2.2 字段创建步骤

    :::success

  8. 导入数据 ——-> 选择字段 ——-> 完善 “必填、控件类型、控件名称、显示样式、缺省值”

  9. image.png ——-> 关联其他表 ——-> 选择其他表需要的字段 ——-> 导入数据
  10. “combwin、selectwin”控件类型 ——-> 点击“扩展信息”进行完善 ——-> 保存
  11. image.png :::

    1.2.3 字段扩展信息

    image.png :::info 控件类型为 combowin、selectwin时
    选择同名赋值✅则选择记录后判断来源数据记录与目标记录中的
    控件是否只读✅当字段控件类型为combowin、selectwin时,
    是 否 可 多 选✅
    不允许重复值✅ 新增、保存时会检查该字段的值不能重复,如果

where 子 句该过滤语句将作为打开GRID记录的附加查询语句 {XXXX}常量值的用法与功能信息中的where子句相同
where 参 数 值 当where子句中有“?”时,需要填写参数值,当有多个参数时,需要用“;”分隔。参数值可以是字符常量值,或者是当前记录的字段名含表名,格式如:value;[table_name.field_name],字段名的值将根据当前记录的值解析。
where参数类型当where子句中有“?”时,需要填写参数类型,如:String;string
选 择 来源字段
选 择 目标字段当字段控件类型为combowin、selectwin时,必须要填写数据目标字段,是需要选择数据的字段名,如:table_name.field;field2;field3,同一表名的字段可以不带表名,第一个字段必须要注册选择控件的字段名。

注意:一般控件类型为combowin、selectwin时,“同名赋值、控件是否只读”勾选为是,填写“选择来源字段、选择目标字段”,其它字段根据需要填写。如果来源字段与目标字段同名可以不用填写。 :::

1.2.4 主表字段从子表中统计的配置方法:

如:在主表的金额字段上配置扩展属性,填写子表的相关字段。

image.png

1.3 功能事件注册

功能事件分为通用系统事件与功能扩展事件两类,“开发平台 —-> 功能管理 —-> 系统事件注册”功能中定义了业务系统所有通用系统事件,并且通过 “开发平台 —-> 功能管理 —-> 事件域注册”功能对系统事件进行分组,在具体业务功能中只需要选择合适的事件域,业务功能就具备了丰富的业务操作功能,可显示的事件将在工具栏中显示操作按钮。
注意:在了解“功能事件定义”之前先需要阅读下面的“系统事件注册”与“事件域注册”功能介绍。
image.png :::info 功能事件注册有三种方式:

  1. 新增 ———> 代码 ———> 选择事件域 ———> 保存
  2. 如果没有符合要求的事件域,则可以通过“导入事件”按钮选择需要的系统事件。
  3. 如果需要注册功能自定义事件,则可以点击“新增”按钮,根据“系统事件注册”功能介绍,填写类信息域执行方法参数 :::

1.4 表格页面设计 (GRID页面)

所有业务功能都必须有表格页面,表格页面设计前,先确认“功能信息 ——> GRID页面”字段中是否定义了文件路径与文件名,如果没有则不能生成页面文件。
image.png :::info

  1. 当切换到“表格设计” TAB 页面时,如果是第一次设计,则缺省按字段注册顺序显示所有序号 <10000 的字段;
  2. 把鼠标移动到任何一个字段 HEAD 的靠右边会出现如上图中的下拉菜单,把不需要显示的字 段勾选去掉;
  3. 根据字段文本长度调整列宽,把鼠标移动到字段 HEAD 之间的“ “||”时,当鼠标形状变为“尺寸调整符”时就可以左右调整宽度;
  4. 根据业务需要,可以调整字段的排列次序,点击字段 HEAD 拖动到合适位置,一般建议把“记录状态”字段放在的第一个字段;
  5. 表格设计完成后,点击“ 保存 ”按钮,保存设计文件,下次打开设计页面时则会显示当前保存的设计;
  6. 最后点击“ 发布 ”按钮,生成 Grid 页面文件, 文件 生成到功能定义中的 GRID页面文件路径中 。

“删除 ”按钮用于删除设计文件,将重新显示缺省状 态的设计文件。 :::

1.5 表单页面设计

业务字段较多,编辑方式复杂的业务功能都需要表单页面,如果是采用Grid编辑数据或简单查询功能则不需要表单页面。表单页面设计前,
先确认“功能信息 —-> FORM页面”字段中是否定义了文件路径与文件名,如果没有则不能生成页面文件。
“功能信息 —-> 布局页面”需要选择layout_cloud或layout_tree_cloud,否则不会显示FORM页面的TAB。
image.png

1.5.1 表单布局控件说明

:::info

  1. form 行布局控件:灰色在设计器的最底层,用于控制显示行,内部包含column列布局控件;
  2. column 列布局控件:绿色在行布局控件的上层,用于控制行中的列,内部包含field字段布局控件;
  3. field 字段布局控件:灰色在列布局控件的上层,表示一个字段的显示位置; :::

    1.5.2 布局控件之间的关系

    :::info

  4. 上图中“0标志”表示设计画布局,用GRID作为背景,设计完成后控件都必须摆放在设计画布中,但设计过程中可以把控件拖放到右边的空白区;

  5. form行布局控件可以有多个,不能重叠,必须从上至下排序摆放;
  6. column列布局控件的中心必须放在 FORM 行布局控件内部,一个 FORM 行布局中可以有多个列布局,不能重叠,必须从左至右排序摆放;
  7. fleid字段布局控件的中心必须放在column列布局控件内部,一个column列布局中可以有多个字段布局,不能重叠,必须从上至下排序摆放。 :::

    1.5.3 布局控件属性配置

    只有 FORM 行布局控件、 FIELD 字段布局控件可以调整属性,双击控件或选择控件,点击“扩展操作—控件属性 ”按钮,就可以弹出属性对话框,下面说明属性配置内容。
布局属性 属性说明
Form布局控件属性:
image.png
collapsible:表示分类栏是否可折叠;
collapsed: 表示分类栏缺省是否折叠;
FIELD控件属性:
image.png
xtype:控件类型
title : 字段标签文本
colcode:字段代码
vislible : 是否显示
只需要调整是否显示属性的值,其它值都不能调整。

1.5.4 排版操作方式说明

:::info

  1. 布局控件支持拖动、大小调整:鼠标点击控件则拖动,但鼠标移动到控件边缘,则可以调整控件大小;
  2. 支持鼠标框选控件操作:把鼠标移动到非布局控件上,按住鼠标左键,然后拖动鼠标,则出现红线框随鼠标移动,放开鼠标左击后则框选的控件都显示红色虚线。
  3. 支持 Ctrl+ 鼠标多选操作:按住 Ctrl 按钮,然后鼠标点击布局控件,则可以多选控件;也可以先框选多个控件,然后再用 Ctrl+ 鼠标取消其中的某个已选控件;
  4. 支持拖动多个布局控件:鼠标移动到已控件上,拖动,则所有已选控件都可以拖动; :::

    1.5.5 表单页面设计步骤

    :::info

  5. 当切换到“表单设计” TAB 页面时,如果是第一次设计,则缺省按字段注册顺序显示所有字段,采用 两 列式排列显示字段,字段序号 <10000 的字段背景色为深灰色;

  6. 根据上面介绍的操作方式排版 FORM 页面,如果需要一个字段控件占两列或占三列,则需要添加新的行布局控件与列布局控件,可以点击“ 布局 ”按钮创建缺省的布局,一般超过 200 个文字的字段需要占三列,高度占两个背景格;
  7. 把不需要显示的字段属性调整为隐藏,如果需要显示 FieldSet 信息分类栏,则可以设置 FORM 布局控件的属性;
  8. 表单设计完成后,点击“ 保存 ”按钮,保存设计文件,下次打开设计页面时则会显示当前保存的设计;
  9. 最后 点击“ 发布 ”按钮,生成 FORM 页面文件 ,文件生成到功能定义中的 FORM页面文件路径中 。 :::

    1.5.6 其他按钮说明

    :::info

  10. “删除”按钮用于删除设计文件,将重新显示缺省状态的设计文件。

  11. “同步”属性 按钮用于同步字段定义信息与设计器中的字段信息,同步信息有:控件类型、字段标题、是否显示三个属性,根据字段代码检索字段控件,如果不存在的控件则自动删除。
  12. “字段” ”按钮用于检查字段列表中的字段在设计器中的显示情况,如果在完成FORM 页面设计后在字段列表中添加了新的字段,则可以通过“设置字段”功能添加到设计器中,界面如: ::: | image.png | 点击“设置字段”按钮弹出左边的对话框; | | —- | —- | | | 已在设计器中的字段背景是深蓝色的,不存在的字段背景是白色的; | | | 点击字段列表会反向显示,如果存在设计器中则会删除该控件,如果不存在则会在设计器右上角添加显示该字段控件。 |

:::info

  1. “+布局”按钮用于创建缺省布局,方便排版操作,添加后的效果如:底部红线框的是添加的布局,可以删除两个列布局控件,也可以调整 FORM 布局控件的高度,内部的列控件高度自动调整。

image.png

  1. “+控件”包括:添加一行、添加一列、添加字段,指分别添加不同的布局控件,显示在设计器的右上角。
  2. “扩展”包括:控件属性、删除控件、导出设计。“控件属性”指配置当前选择控件的属性;“删除控件”指删除当前选择的控件,可以是多个控件;“导出设计”指导出当前设计器中的设计文件,是 XML 格式。 :::

    2. 功能设计扩展操作

    第一部分6个操作是功能设计扩展信息,必须选择指定的功能; 第二部分数据导入定义生成静态JS文件、与导入外部设计文件到平台; 第三部分3个操作是生成当前选择功能的报表定义信息。

image.png

2.1 扩展页面定义

前台页面文件的扩展是JS文件,后缀改为inc,一般是对按钮事件、页面个性化元素进行扩展,文件路径在此定义。

:::info 扩展页面有两类 Gird扩展文件与FORM扩展文件,要填写完整的路径与文件名;
路 径 规 范 要求在页面文件目录中添加“inc”文件夹,扩展文件都存放在inc文件中;
文件名规范 要求文件名与生成的页面文件名相同,但采用“inc”作为文件后缀;
文本编辑器 建议采用“Notepad++”工具,能识别UTF-8编码;
发布 生成文件时,会把扩展文件添加到生成的文件中。
Jxstar2版:平台中点击“代码”按钮,就可以编辑form或grid的inc文件,并且自动生成inc文件路径与名称。
image.png :::

2.2 树形页面定义

2.2.1 树形字段的用途

:::info 树 数 据 表 树形数据来源表。
节点ID字段 树形数据的 ID 字段名,不含表名,作为树形节点的 ID 值。
节点名字段 树形数据的描述字段名,不含表名,作为树形节点的显示描述。
级 别 字 段 树形数据的级别字段名,不含表名,将根据该字段的值构建树形级别。
树形功能ID 树形数据来自哪个功能 ID ,可以通过该功能的数据权限配置控制当前树形中的数据权限。
WHERE子句树形数据的过滤条件 SQL 。
OROER子句 树形数 据的排序字段名。
目标过滤条件当点击树形节点时,树形页面右边的表格将根据该过滤条件 SQL 显示数据,通用查询中都将包含该过滤条件。
数 据 源 名 树形数据来源的数据库,缺省值为default;
树 标 题 树形标题名称;
节点附加值 可以把表中其它字段的值写到节点属性对象中,直接填写字段名,多个字段之间用“,”分隔; :::

2.2.2 定义树形页面步骤

:::info 步骤: 开发平台 —-> 功能管理 —->

  1. 功能信息 —-> 布局页面 —-> 字段值必须选择 layout_tree_cloud或layout_tree;
  2. 功能列表 —-> 扩展操作 —-> 树形页面定义 —-> 设置功能的树形页面定义; :::

    2.2.3 多级树定义说明

    :::info 树序号 用于排序多级树的显示顺序,建议序号为1、2、3、4…;
    树类型 选项有:树、节点,如果是树,则单表可能会有多级数据;如果是节点,则单表只有一层数据;
    节点样式 选择当前树的节点样式,用于区分同一个树中来自不同表的数据;
    关联查询字段上级树会传递 ID 值给下级树,在此需要填写下级树过滤用的字段名称也可以写“ devtype_id like %[parentid]%”
    树形组标志 缺省都是 A ,暂时不用
    不检查子级 标识是否需要当前节点有下级数据 ,缺省为是,如果数据量比较大时,则建议关闭该选项 。 ::: image.png

    2.3 导入SQL定义

    用于定义“导入数据”按钮事件的导入SQL,是“数据流组件”的定义功能。 在“功能列表 —-> 扩展操作 —-> 导入SQL定义”的弹出对话框中显示的是当前功能定义的导入SQL.

image.png

2.3.1 部分字段说明

:::info 所属功能ID 外键字段,取当前功能 ID 。
来源功能ID 根据来源功能 ID 找到 GRID 页面文件构建导入数据对话框中的表格。
条 件 语 句 导入数据表格的附加过滤 WHERESQL ,将解析 “{ FKEYID}”标志为当前记录的外键值,该标志必须放在其他“?”的前面,还解析 “{VALIDDATA}”标志为记录有效值。如果 WHERESQL 中需要带更多的页面参数,则可以扩展“ dataImportParam”方法,参考《开发手册》。
导 入 布 局 导入数据对话中的布局页面,一般是选择树形布局,方便导入数据。 :::

2.3.2 路由条件用途

:::info 用于告知“数据导入”事件数据从哪里来:定义导入数据的来源功能 ID 、导入数据的过滤条件、导入数据界面的布局。 :::

2.3.3 SQL规则注册

:::info 还需要定义数据导入规则,来源数据取哪些值,目标数据取哪些,它们的字段对应关系怎样。在“ SQL规则注册明细”中新建或点击表单,弹出界面如:
image.png
因为需要新增记录,导入SQL 中定义的“目标更新 SQL ”都是 INSERT INTO 语句,而反馈 SQL 定义可以是 UPDATE, DELETE 语句。
所有功能定义的SQL在“开发平台 —-> 功能管理 —-> SQL 规则注册”功能中查看,维护 SQL 。 :::

2.3.4 数据导入定义步骤

:::info





点击“ 功能列表 扩展操作 导入 SQL 定义 ”,新增 路由条件 ”记录,按照上面字段介绍填写定义信息;
切换到“ SQL 规则注册 TAB 页面,新增记录,按照下面“ 反馈 SQL 定义中的字段介绍填写定 义信息,注意数据导入的“ 触发事件 ”字段值都填 “,
点击“ 功能列表 扩展操作 生成规则文件 ”,重新生成文件 public data
RuleData.js 。
确保在“ 事件注册 ”中有 数据导入 ”事件,重新打开功能界面,就可以在
表格工具栏中看到“ 数据导入 ”按钮,定义完成。 :::

2.3.5 主从表数据导入定义

:::info 1、系统在导入主表的数据后,还会找目标功能的子功能 ID 定义,如果有再根据子功能 ID找是否定义了相应的导入sql,如果有就继续执行这条 SQL
2、配置方法是:在当前路由条件下继续添加 SQL 定义记录,目标功能 ID 为目标子功能 ID;来源 SQL采用来源表的主从关联的方式,根据主表数据ID,查出子表数据;目标 insert into 语句中需要采用: {NEWKEYID},{ FKEYID}的方式取到外键值 . :::

2.4 反馈SQL定义

定义当前功能在执行某个事件后需要执行的SQL 语句,如:修改相关业务的状态、签字后生成了新的业务记录、级联删除等,这些操作就不需要编写业务扩展类,采用 SQL 定义就可以实现。定义界面如:

image.png

2.4.1 部分字段说明

:::info 所属功能 ID(目标功能 ID )指在哪个功能中定义该 SQL 。
来源功能 ID触 发 SQL 执行的功能 ID ,来源数据的主键值从来源功能中取值。
来源数据 SQL来源数据的结果值将作为目标 SQL 的参数值,格式如: select field1,field2 from table_name where key_id = ? ?,来源数据 SQL 能带一个“ “??”,将赋值当前选择记录的主键值。将解析“ “{FKEYID}”为当前功能的外键值,支持来源数据中可以选择主表中的值。支持自定义函数标志。
目标功能 ID目标 SQL 执行的功能对象,如果是数据导入,目标功能有多个子表,则子表记录也会导入。
目标数据 SQL目标执行的 SQL ,如 insert into wf_user(wfuse r_id, nodeattr_id,user_id, user_name,condition, process_id, node_id, add_date, add_userid)values({NEWKEYID}, {FKEYID}, ?, ?, ?, ?, ?, {TODAY}, {CURUSERID}) 。支持自定义函数标志,参数值中支持常量值有: :{ 表示主键值、 { 表示外键值、{ 表示新编码值、 { 是当前时间的自定义函数、 {CURUSERID 常量值标志。
触发事件触发执行定义 SQL 的事件代号,可以填写多个,如: :,create, save,,表示新增、保存后都会执行该 SQL ,事件必须用 “,,”分隔。常用事件代号有: :,audit,create,create_eg,create_sub,save,save_eg,delete,delete_eg,copy_eg 。
路由 ID 外键字段,如果是反馈 SQL 定义的,则值为“ noroute ”。

:::

2.4.2 规则参数说明

:::info 编辑反馈 SQL 保存后,会自动解析来源 SQL ,生成规则参数明细记录。 :::

2.5 编码规则定义

2.5.1 定义当前业务功能的编码规则

:::info 编码规则[编码前缀]+编码扩展+流水号,如:CG201103 0001
编码前缀非必须,在功能注册信息中注册;
编码扩展必须,缺省采用 YYYYMM 值;
流 水 号_必须,缺省采用四位 0 做填充,流水号采用四位;
如果要调整该功能的编码规则,则可以在“扩展功能 —-> 编码规则”中设置第二段与第三段。 ::: image.png

2.5.2 部分字段说明

:::info 编 码 扩 展 可以填写当前功能的字段,必须带表名,扩展值从业务记录中取;
注意前面必须有“::”符号;也可以为空,编码就只有流水号。
编码流水号 必须用数字0,0的个数表示流水号的位数。
编 码 长 度 指编码扩展与流水号长度之和,在编码扩展值不固定时才需要设置。如采用类别编码作为编码扩展时,
类别号长度有 2 位、 4 位等,如果生成的编码长度小于设置长度,则在流水号之前补 0 。 :::

2.6 生成定义文件

:::info 生成功能文件:重新生成并自动加载 public\data\NodeDefine.js,前台操作与界面需要;
生成规则文件:重新生成并自动加载 public\data\RuleData.js,构建数据导入操作需要。 :::

2.7 生成报表定义

:::info 生成当前功能的报表定义信息到报表设计器中,大大减少手工录入报表定义信息的工作
量,在报表定义工具中可以看到该操作生成的定义信息。 :::

3. 功能设计辅助功能

这些辅助功能都是为功能设计器服务的,定义相关信息给功能设计器使用。

3.1 选择控件定义

3.1.1 选项控件定义方法

:::info 类似图中的 audit 控件,有 8 个选项,控件代码、控件名称相同,控件值域显示值根据需要定义,序号显示排序用,控件属性指定该控件是平台通用控件还是指项目中使用的控件;
一般是先新增一条记录,然后根据选项值的个数复制相应数量的记录后,修改控件值与显示值,然后保存、生成文件,生成选项控件文件路径为 \public\locale\combo-lang-zh.js; ::: image.png

3.2 选择窗口定义

:::info 选择窗口控件主要是定义功能标识与布局类型,在功能字段定义中可以选择该控件, 选择窗口中数据过滤条件则可以根据字段扩展信息中定义。 ::: image.png

3.3 SQL规则注册

:::info 该功能用来查看所有的 SQL 定义信息,不允许新增,一般是在功能的扩展操作中定义 SQL 规则。 :::

3.4 系统事件注册

3.4.1 事件字段说明

:::info 事 件 代 码按钮控件的代码,但是如果是事件域,则事件代码是事件域的代码,后台将根据事件域查找相应的事件显示在工具栏中。
事 件 名 称显示在工具栏中的按钮名称
前 台 方 法工具栏中按钮事件的前台方法,可以带参数,如:addAttach(‘image’),但大部分前台方法不带参数
显 示 类 型在构建工具栏中显示的按钮时,将根据页面类型查询,用“,”分隔,
查询语句如:pagetype like ‘%,grid,%’;
常用页面类型有:form,chkform,grid,editgrid,subgrid,subeditgrid,chkgrid,combogrid,settype
含“form”字段的页面类型表示这些事件是在form页面中显示的,含“grid”字符的页面类型表示这些按钮是在 grid 页面中显示的,含“chk”表示用于审批功能页面,settype 表示数据权限值选择功能页面
权 限 类 型查询、编辑、审核、打印、其他,对应角色注册功能的操作权限授权选项。
显 示 类 型选项有:tool —-> 表示该事件以按钮的方式显示在工具栏中;
menu —-> 表示该事件以菜单的方式显示在工具栏中的“扩展操作”中。
当功能事件比较多时,可以把使用频率比较低的事件定义为menu类型。
事 件 序 号排序用,事件序号为100为一组。
是 否 隐 藏是:该事件才会显示在工具栏中,一般后台事件才会定义否
是否事件域是:事件代码是事件域的代码,只在“功能事件定义”中用
功 能 I D__
外键字段,系统事件功能ID有两类:sysevent表示操作按钮事件,queryevent表示数据查询事件 :::

1.4.2 事件类型注册

:::info 工具栏中的按钮如果需要向后台发送请求,则需要通过“类设置”设置事件执行的后台类。下面的表格定义事件执行类与方法,下面的表格定义方法的参数。
image.png :::

1.4.3 调用类字段说明

每个字段的用途

:::info 类路径与名调用类别,含完整的包路径。
方 法 名调用方法名
序 号如果有多个调用类,则按调用序号的次序来执行。
系统事件代码在功能事件注册中,如果是时间域,但又需要扩展系统事件类,则可以在此填写需要扩展的系统事件代码,如:create、save、audit等系统事件代号。
扩 展 位 置 选项有:0之前,1之后, 2替代,扩展位置只针对系统事件的扩展才有用,如在功能事件注册中,可以针对系统事件定义扩展类,定义扩展类是在系统事件类“之前”还是“之后”执行,还是“替代”系统类。 :::

1.4.4 调用参数说明

:::info 参 数 名是前台请求对象中的参数名,将根据该参数名取值作为执行方法的参数值。
参数类型keyid 主 键 值 :取当前记录的主键作为方法参数值,这种类型的“参数名称、参数值”都不需要填写;
askey主键数组:取当前选择记录的主键值数组作为方法参数值,这种类型的“参数名称、参数值”都不需要填写;
parameter请求参数:取当前请求对象RequestContext作为方法参数值,这种类型尽量少用。
constant常量值:取“参数值”字段中定义的常量值, 也可以选择{CUR…}作为常量值, 是从当前会话中取值。
context请求对象:取当前请求对象 RequestContext 作为方法参数值,这种类型尽量少用。
参 数 值
常量值作为执行方法的参数,可以选择{CUR…}作为常量值,它们是从当前会话中取值。
参数序号非常重要,是执行方法的参数定义序号。 ::: image.png

3.5 事件域注册

:::info 左边定义事件域,右边定义事件域中包含哪些事件。
“功能事件注册”中如果选择了某个事件域,则会根据事件域代号与页面类型查询事件显示在工具栏中。 ::: image.png

3.6 模块管理

:::info 树状结构数据,定义系统的一级模块与二级模块,如果不显示,则菜单中不会显示该模块,菜单顺序将根据序号排序。 ::: image.png

3.7 缺省值函数

:::info “:” 为前缀的值是用于“编码规则定义”中的编码扩展值,是日期格式的掩码;
“fun_” 为前缀的函数是在JxDefault.js文件中定义中的,用于“功能字段定义”中的缺省值定义;
“{CUR…}” 为前缀的函数是用于事件调用类参数中的常量值; ::: image.png

3.8 扩展属性模板

表格属性在表格设计器中选择使用;表单属性在表单设计器中选择使用。 扩展属性是对功能常用扩展方法形成配置,方便在功能开发时选择,同时也方便增加一些功能扩展属性,通过此属性配置。常用扩展属性如下:

image.png

3.9 页面布局定义

常用的页面布局在此注册,在功能信息设置界面中可以选择这些常用布局文件。

image.png

3.10 文字注册

文字注册是用于解决界面多语言功能,分为:前台文字注册、后台文字注册、设计文字注册。

3.10.1 前台文本注册

用于前台JS中使用的描述文字

:::info 定义前台代码中的中文描述,用于处理多语言,在前台代码中使用注册文字时要在键值前加JX,如:jx.base.add,表示“添加”字符串。
文字类型有:系统:表示该文字用于平台系统;产品:表示该文字用于行业产品;项目:表示该文字用于具体项目;
修改文字键值或字体描述信息后,必须点击“生成文件”,将重新生成 public\locale\jxstar-lang-zh.js文件,“生成文件(英文)”将生成 public\locale\jxstar-lang-en.js文件。 ::: | 分组代号 | 分组描述 | 分组代号 | 分组描描 | | —- | —- | —- | —- | | base | 通用文字描述 | index | 登陆页面用 | | event | GridEvenet.js,FormEvent.js类用 | node | GridNode.js,FormNode.js类用 | | print | JxPrint.js类用 | query | JxQuery.js类用 | | group | JxGroup.js类用 | req | Request.js类用 | | port | JxPortal.js类用 | star | jxstar.js类用 | | util | JxUtil.js类用 | plet | portlet模块用 | | layout | 页面布局类用 | sys | 系统模块用 | | dm | 数据建模工具模块用 | fun | 功能设计器模块用 | | wf | 工作流工具模块用 | rpt | 报表设计器模块用 |

image.png

3.10.2 后台文本注册

用于后台Java类使用

:::info Java写法如下:JsMessage.getValue(“functionbm.newkeynull”),为了方便修改文字内容并且动态加载,后台文字不采用:jxstar.properties形式的文件,则采用界面配置的方式。
如:修改完文字后,需要点击“重新加载”把文字内容实时加载到内存中。 ::: image.png

3.10.3 设计文本处理

用于解决通过开发工具配置的文字内容,方便维护文字的英文内容。


:::info 操作步骤:
提取导航栏中的文字内容 —-> 缩写对应文字的英文文字 —-> 保存再“生成文件” ::: | 类型 | 中文描述 | 英文描述 | | —- | —- | —- | | 菜单标题 | public\locale\fun-lang-zh.js | public\locale\fun-lang-en.js | | 事件标题 | public\locale\event-lang-zh.js | public\locale\event-lang-en.js | | 字段标题 | public\locale\按功能生成 | | | 其他标题 | public\locale\other-lang-zh.js | public\locale\other-lang-en.js |

image.png

3.10.4 相关系统变量

:::info “index.select.lang”:首页显示语言选项[1]|[0],“需要设置为1,开启登录时选择多语言”
“sys.lang.bouse” :后台文字采用文字注册表 “需要设置为1,开启后台语言文字从数据表中取值” :::

:::warning 注意:开发新项目时,可以一次性提取所有的中文文字到数据表中,然后到系统表(funall_text)中把相关中文文字一次性拷贝到excel中,然后再拷贝到百度翻译中,一次性翻译完成后,再把翻译结果导入到数据表中,然后逐个英文短语检查翻译的准确性,或着在excel检查完成后再导入到数据表中,这样能极大的提高翻译效率。 :::