Online二次开发 === 智能表单的页面和业务逻辑增强采用JS增强和Sql增强实现。 ![](https://img.kancloud.cn/2b/e7/2be7acfa8d0f949cfc6477c2116d1f9f_1041x367.png) ## 1.JS增强 功能说明: JS增强通过写JS方法可以对页面表单效果进行任意处理,比如弹出提示信息。 代码示例一:alert('hello jeecgjs增强'); ![](https://img.kancloud.cn/2c/d3/2cd3cefa8162ac67c593eeec4bfc0f46_1018x611.png) 演示效果:(JS注入到表单页面中执行) ![](https://img.kancloud.cn/c8/06/c8062235fecb1fb78b3fda7fbb3867c5_613x466.png) 代码示例二 ![](https://img.kancloud.cn/fb/6a/fb6aff08bbc9410ce2b64c148b185c2d_914x569.png) 演示效果:(通过JS在页面中追了一个按钮[SQL解析],输入sql会自动生成字段) ![](https://img.kancloud.cn/81/a3/81a3d27a94863a5b9acdfab409dd9999_782x377.png) 代码示例三: 控制弹出窗口大小 使用方式 js增强 list添加 ``` $(document).ready( function(){ {你的ID}Fw = 900; {你的ID}Fh = 500; }); ``` ## 2.SQL增强 ### 1.基本用法 SQL增强语法:update set day_num = day_num + 1 where id = #{id} 关联表单数据的字段采用#{id}写法 通过增强SQL,可以关联修改业务数据 ![](https://img.kancloud.cn/08/fb/08fb9394f286744f9c07aaa81efc13ea_907x567.png) ### 2.系统变量用法 系统当前用户上下文变量用法: | 变量名称| 变量释义| | -------- | ----- | ---- | | #{sys.sys_user_code}| 登陆用户的ID| | #{sys.sys_org_code}| 登陆用户所属机构编码| | #{sys.sys_company_code}| 登陆用户所属公司编码| | #{sys.sys_date}| 系统日期"yyyy-MM-dd"| | #{sys.sys_time}| 系统时间"yyyy-MM-dd HH:mm"| | #{sys.sys_user_name}| 登录用户真实姓名| 在SQL增强语句中使用系统变量#{sys.sys_user_name}。 ![](https://img.kancloud.cn/fa/7e/fa7e1356ce9d45aa45113409eedf9916_1025x591.png) 如果{}前面加了#符号,不带sys,则表示该变量是列表所选数据中的字段。 配置好之后,在界面点击自定义按钮“审核”,效果如图。 ![ ](https://img.kancloud.cn/1a/88/1a88f1314189e70c481600594ba1badc_899x526.png) 生成的SQL如下: ``` update test_person set conets = '管管理员' where id ='c200b011-5771-4271-978c-f96872c025cb' ``` ## 3.自定义按钮 通过自定义按钮功能,可以为智能表单列表添加按钮,实现扩展功能。 #### ①表单维护界面点击“自定义按钮”按钮。 ![](https://img.kancloud.cn/d4/96/d49690b84810fd6f79752f16ddc8b185_820x297.png) #### ②进入按钮配置界面如图,在此维护界面可以对选择的表单进行按钮配置。 ![](https://img.kancloud.cn/5c/4a/5c4a8c0cc1043ebafa490807b20b6ccf_623x123.png) #### ③ 详细配置信息 ![](https://img.kancloud.cn/df/92/df92b668d2dd3f83647c2cdd88d9f883_709x469.png) **按钮编码:**该编码在一个智能表单配置中唯一,该编码同时是按钮触发的JS函数名。例如:按钮编码设为audit。则该按钮点击触发的函数名为 function audit(); **按钮名称:**按钮上面显示的文本。 **按钮样式:**可选button/link。 button:即生成的按钮显示在导航工具栏上; link:显示在每一条数据的操作列。 **动作类型:**可选action/js。 action:该按钮会触发通用入口,挂接到SQL增强上(前提是SQL增强配置中配置了按钮编码对应的sql语句)。 Js:该按钮会触发JS增强中类型为“list”的配置中编写了函数名为按钮编码的函数。 **显示表达式:暂无说明。** **显示图标样式:**按钮的图标样式。 #### ④效果演示 ![](https://img.kancloud.cn/e1/66/e166e3f4393542fae088c38088dc5bdf_839x118.png) ## 4.Java增强 通过此功能可在表单的增加、修改、和删除数据时实现额外的功能,类似spring中的后置通知。 首先,实现CgformEnhanceJavaInter接口,execute方法将被调用,其参数为表单数据。例如,定义如下类: ![](https://img.kancloud.cn/cd/b7/cdb7ebafc109581f1d912d0b1eb8710d_725x247.png) 点击java增强 ![](https://img.kancloud.cn/c6/ed/c6ed23d5247eb20874e6ceba0063c6cc_1188x147.png) ![](https://img.kancloud.cn/51/ec/51ec62efb15ffe3f75bfcf72e8326af3_507x361.png) 表单编辑保存时便调用execute方法,如下: ![](https://img.kancloud.cn/03/d7/03d7aca797c9089c07e59cc5d7700708_299x146.png) ## 5.表单导出导入