s-HR产品多选F7的相关问题答疑原创
3人赞赏了该文章
323次浏览
编辑于2023年07月24日 17:05:41
s-HR产品对F7有设置多选的配置
这个配置主要是解决2个问题:
1、列表过滤数据,进行多选作为过滤条件过滤数据
2、带分录的表单,增加分录数据时候,可以进行多选,重写F7的afterOK方法,每条生成一个分录
其他场景均不支持,如果有其他场景需要,需要进行自行二开代码处理
常见的处理方式:
1、实体模型上建立比较长的字符串,这个存基础资料ID,多个用逗号隔开,有一定限制,前后端都需要自行代码进行处理。(这种是id个数在10以内比较建议,缺点是解析麻烦,特别是参与报表计算时候,sql是没法搞定的,特别麻烦)
视图界面展示时候,视图配置上,需要将多个F7主键值进行隐藏配置
如:<field name="xxxxF7Ids" type="hidden"/> id隐藏栏位值如:xxx01,xxx02,xxx03
将F7的显示值进行展示
如:<field name="xxxxF7Names" /> 显示栏位值:显示值1,显示值3,显示值3
编辑时候,需要对xxxxF7Names进行F7控件初始化,并通过xxxxF7Ids和xxxxF7Names出来的初始值,组装data赋值给F7
查看时候不做任何处理,直接展示显示值就好了,不需要去初始化F7控件
初始化数据:后端重写com.kingdee.shr.base.syssetting.web.handler.EditHandler#afterInitModel这个方法
前端F7的初始化方法:在js中搜索能够找到的,如下:
var data= {id:'xxxx',name:'xxx'};//单个 var data= [{id:'xxxx',name:'xxx'},{id:'xxxx',name:'xxx'},...];//多个 $('#xxxx').shrPromptBox('setValue',data);
2、实体模型上建立分录关联属性,做成一对多的关系表,将多条存到关系表里面,前后端都需要自行代码处理。(建议方案,各做解析都比较优秀)
推荐阅读