FoxOne---一个快速高效的BS框架--(1)
FoxOne---一个快速高效的BS框架--(2)
FoxOne---一个快速高效的BS框架--(3)
FoxOne---一个快速高效的BS框架--(4)
FoxOne---一个快速高效的BS框架--WEB控件属性编辑器
FoxOne---一个快速高效的BS框架--数据访问(Dao)
FoxOne---一个快速高效的BS框架--生成增删改查
在这一节我将演示如何根据数据表自动生成一个增删改查的模块,在此我用的是MYSQL数据库,表结构如下:
这是一张用于存储员工请假数据的表结构,我在建表时把各字段的注释也写好了,因为是演示,所以字段类型和长度的就随意了……
首先运行FOXONE,打开“应用设计”--》“数据库表”页面,在这个页面中可以直接看到wf_form_leaveapproval的表结构,如下:
从截图中可以看到FOXONE已经自动识别了各字段的类型,长度,以及注释,我们要做的就是改一下“页面标题”然后点击“生成”:
然后,一个简单的增删改查就做好了,我们打开“应用设计”可以看到刚生成的列表页和表单页:
对应的增删改查的SQL语句则在“增删改查列表”中:
回到“应用设计”的“页面设计”,选中左边树控件的“请假申请信息编辑”,点击右边的“Design",我们来优化一下编辑页:
表单中有几个需求需要修改的:
1.Id不用填写,直接生成;
2.请假人和所属部门应该是默认当前登陆用户的信息,并且可以点选,不应该填写;
3.请假理由用多行文本框;
4.请假天数必填且输入的值必须为integer;
5.请假类型改为下拉框选择,并且以后可以自由增删请假类型;
下面我们一一来实现:
首先点击左下角红色的“编辑”链接,进入,选中“表单字段”,选中“ID”然后点击“批量删除",第一个需求就实现了
点击“CreatorId"的编辑链接,进入字段的控件编辑,选择控件为”KV文本框“,填写红色框如下:(UserSelector_Copy)是我提前已经做好的一个页面,如何定制选择器页面会在下一节详述。
Value中填写的”$User.Id$"为环境变量表达式,表示默认值为当前用户的意思,当前用户所属部门的表达式为:$User.DepartmentId$
点击保存后回来看看页面长什么样了:
可以看到此时的”请假人“已经从输入框变成的点选框,对于”所属部门“也执行同样的操作,只是选择器的名称改为”DepartmentSelector",DepartmentSelector同样是我提前做好的树型选择页。
这样需求2也就实现完了,
需求3把请假理由变为多行文本框,与上面的操作类型,只是选择的控件为“多行文本框”:
(注意重新选择了控件为Label和Rank值要重新填一下)
现在来看看页面的效果:
第3个需求也OK了,第4个:请假天数必填且输入的值必须为integer,还是先进“表单字段”选项卡,点击“LeaveDays”的“编辑”链接,填写validator的值如下:
这样第4个需求也实现了,最后一个需求,请假类型改为下拉框选择,并且以后可以自由增删请假类型,首先在“系统管理”中的“数据字典管理”中新增“请假类型”的字典
接到回到请假表单的设计页面,点开编辑进到“表单字段”选项卡,选中“Type”点编辑,选控件为“下拉框”,点“保存”,
再选择“数据源“选项卡,选择”数据字典数据源“,
这样就实现了所有需求了,现在再看看表单长成啥样了:
表单页的修改就算完成了,对于列表页的修改请参照第一篇FOXONE的文章:FoxOne---一个快速高效的BS框架--(1)
无非就是去掉多余的搜索条件,表格列应用一下转换器,删除不想显示的列,然后就长成下面这样了:
至此一个增删改查的页面也就算基本完成了。
顺便再提一点,如果在“流程应用管理”中,把刚才设计好的编辑页配置进去,则页面可以当成流程表单在流程引擎中流转(但工作流当前还没开源,完善好后再上传git):
可以看到上面的“保存”和“重置”多出来了,可以在设计页中把这两个按钮删除掉,这样在流程容器中保存就可以了。
如果有兴趣的可以加入群里来交流一下,群号:581523872
github:https://github.com/gameking0124/FoxOne