142

FoxOne---一个快速高效的BS框架--生成增删改查 - 0124

 6 years ago
source link: http://www.cnblogs.com/gk0124/p/7590268.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

FoxOne---一个快速高效的BS框架--生成增删改查

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK