母子表,母表如何传递更多变量
仰望星空的鱼 发布于103月前 9答/4410阅

我想实现的功能:

我在做项目和合同管理模块,合同又分母子合同。

即项目——》合同——》子合同,其中表为项目表和合同表。合同表中,projectid存储项目表中的id,pid存储父合同id。

在EOVA中,我想用母子表结构创建父子合同,项目编号能从主表传到字表。


过程中遇到的问题:

在合同表中,会存储项目的编号project_id,可以创建合同ID。


在创建子合同中,如何将目标中的project_id传递下去,在子表中调用表达式进行显示项目名。或者思路是什么。


我的分析过程如下:

我用拦截器,也需要母表传过来的值。

按照问答介绍的,表达式中可以用user得到相应的字段,那么一般的母表条目中的数据呢?



[沙发] Jieven
前端级联的核心逻辑:思路:将父控件动态传入,然后随意获取父上的各种数据
webapp\eova\template\singletree\btn\add.html

服务端关联参数的处理:将级联的参数拿到,然后将对应的字段禁用掉,因为级联给值,就不能手填
WidgetManager.buildRef(Controller ctrl, MetaObject object);

看懂和理解这两个大概就明白了,这可能并不是最优的解法,仅供参考!
最佳
[地板] 仰望星空的鱼
我已经看了/eova/widget/form/btn/add.html,com.demo.DemoIntercept,com.eova.widget.form.FormController,com.eova.template.masterslave.MasterSlaveController等几个文件。
觉得是不是最好是手动改数据库中的eova_button表的字段替换成自己修改的html文件最好?
[地毯] Jieven
这个问题比较复杂,最好先看明白当前主子是如何自动带回主表关联字段的!
[4楼] Jieven
如果界面比较复杂建议自己做模版,参考现有模版的实现思路和解决方案。
大概就是
使用Tag <#grid 一句话创建表格,有几个创建几个,然后使用JS来做级联!
[5楼] Jieven
同理 拿到父的参数以后 也可以ajax来获取数据,禁用字段什么的,万能的JS解法很多,看个人爱好!
[6楼] 陳sir
其实这块从理论上来说可以有个基本实现 继承到框架中。
@Jieven
[7楼] 仰望星空的鱼
我暂时修改webapp\eova\template\singletree\btn\add.html,写死参数的方式获得数值解决了问题。不过就平台来说,最好有底层支撑类或者其他注入的地方,包括JS
[8楼] Jieven
最灵活的扩展就是手写代码 add.html 就是手写的产物,封装太多,大家的二次学习成本和记忆量就多!
[9楼] Jieven
不同模版之间本质的区别就是,组件布局摆放不一样,按钮功能操作不一样!
提交评论