环境说明
测试环境为致远V8.0SP2(Build Id: B210518.144014.CTP3994_202105181438)版本,理论上支持V8.0及以上版本,对V7.1及以下版本暂不支持。
场景
由于致远表单的明细表序号是特殊控件,在表单设计中无法修改序号字体大小,只能使用默认的14px大小,如果在对表单整体设计中,不能对字体进行统一样式定义,对于强迫症患者来说,是无法忍受的。如下图:
此测试表单中,其他字体的大小统一设置为12px,而序号对应的数字控件,由于无法设置大小,系统默认为14px,能够明显看出字体不统一。
为了实现统一样式的功能,下面说明如何进行小小的开发改造来实现效果。
实验记录
对样式的调整,需要打开浏览器的调试工具,进行代码查看,相关操作与之前的文章类似,有兴趣的可以参考文章:【致远V7.1SP1版本查询报表页面,枚举筛选条件显示样式定制开发实例】
下面是具体操作:
1、
通过打开的调试工具,查找到对应序号字体的代码段;
2、
看到有个font-size标记,尝试修改此标记值,并查看效果;
这里为了明细区别,特意修改font-size的值为24px,可以看到页面的字体大小有了明细变化,由此可以确认此段代码控制字体大小;
同时,如果把此代码标记去掉,发现字体大小按照单元格的大小设置变化,如下图:
这样就可以实现由单元格控制序号大小。
3、
接下来开始查找对应代码位置;
切换到调试工具的【网络】标签页,然后进行全局搜索关键字font-size;
接下来是结合各种可能性的分析判断了。
由于在页面中找样式,如果不清楚系统框架以及有相关基础知识,无异于大海捞针,此处我也是自己摸索大半天。下面说一下分析过程:
3.1、
首先,在第1步和第2步找到的对应序号字体的代码段中有color标记,同时也对比了其他字段对应代码的color标记值,发现只有序号下面的字体对应color标记值为rgb(66,66,66);
3.2、
刚开始,我按照color:rgb(66,66,66)整体搜索文件位置,或者按照color:rgb搜索,都没有得到匹配结果,而且在搜索后发现,文件中的内容都是color:#****等这样的结果,于是猜测应该是对rgb(66,66,66)做了转换;
3.3、
然后用颜色转换工具得到rgb(66,66,66)对应的十六进制值为#424242,有了这个对应,就按照color搜索关键字,同时也匹配着搜索font-size关键字做对比分析;
3.4、
至于为什么要找formson.js文件,是基于对致远的了解,致远的明细表对应的表名称为formson标记,想着应该会是这个文件,当然为了确保准确,也对其他文件进行了分析查看;
3.5、
点开formson.js文件后,开始搜索color关键字;如下图
3.6、
在匹配出的结果中,发现有一处为color: #424242,并且下面对应的其他key值与页面中的元素代码段里面的内容一致;
3.7、
有了以上分析,接下来开始对文件进行修改测试;
通过标头中的请求URL,得到对应文件位置为:seeyon/common/cap4/template/display/pc/form/dist/static/js/formson.js
同时结合上面的查找结果,可以确认关键字【showTdGrid】,接下来就是找到文件并修改内容了。
4、
通过编辑工具打开对应文件,查找到关键字showTdGrid对应的内容,如下图:
然后进行编辑,经过之前的分析,此处把,fontSize:"14px"
代码段去掉;
注意:记得备份!记得备份!!记得备份!!!
编辑后效果如下图:
编辑完成后,不用重启服务程序,关闭浏览器或者清空缓存,重新登录系统,再打开页面就可看到效果。
效果图中可以看到,明细表中的序号对应字体的大小标记key不存在了,字体的大小按照单元格中的字体大小样式设置,即设置成了font-size:22px,而单元格的字体是可以灵活修改调整的,这样就可以灵活控制字体与页面样式,做到统一布局,不再让强迫症加剧了!!!
总结
致远V7.1版本的明细表序号样式,没有单独的formson.js控制,无法找到具体位置文件,所以此方法不适用V7.1版本及以下版本。
基于以上的操作,可以实现小小的需求,当然,以上只是测试,没有全面测试是否会影响其他页面的样式布局,如果各位有兴趣或者其他问题,可以深入交流,共同学习。
【记录于2021年9月27日】