发布日期:2023-10-10
升级提醒
新增功能
- 202606181051:
- 安全修正:谷神增加网关拦截功能(运维管理,网关访问规则设置),可以设置允许通行IP或拒绝通行IP,同时可以设置规则起止时间
- 安全修正:接口系统设置里增加
允许来源IP属性,设置当前接口应用允许访问的来源IP,多个可以以逗号分隔 - 安全修正:校准
$vs.user.exts.CUR_IP为当前登录IP;$vs.user.exts.LAST_IP为上次登录IP; - 安全修正:谷神用户会话(cookie)绑定登录时的IP(也就是即便攻击者截取了cookie,也无法在其他IP使用他),但需要注意,移动网络在切换基站时,可能会导致固定IP的变更;或者目标客户的IP为非固定时,需要禁用本功能,禁用方式为主数据增加配置
guthon.login.ip-pined.enable=false - 安全修正:登录密码错误解锁算法变更:从原先的第二日自动解锁改为每超过设置错误次数1次增加15分钟的锁定时间(最多150分),过时后自动解锁
- 功能增强:用户收到消息后,系统会发出提示音
- 202606161441:
- 表格增加API:
table.openColumnEdit(),用于强制打开字段编辑属性(一般用于强制开启报表主表格字段编辑属性) - 登录参数设置增加
Cookie域名设置,用于设置登录后cookie注册的域名,此设置一般用于同一根域名下不同子域名之间cookie共享之用途。 - 修复H5端打开单页时用户登录信息未记录就调起页面,导致页面初始化查询未触发问题
- 分系统路由功能发布:
- 基础概念:分系统路由适配的需求为,主数据一套,业务系统根据机构(或者其他维度)每机构一套,且代码完全一样,但是数据库又完全独立的场景,支持套装组合(如:单主数据+多贸易+多日志系统+单XX)
- 开启方式:
- 系统管理员登录后,到运维管理菜单中,打开
分系统路由配置模块,在此添加分系统设置 - 配置说明:
- 方案编码:一般建议根据您切系统的业务编码,若您是按机构切分,则此处采用机构编码;若您按仓库切分,则此处采用仓库编码
- 方案名称:用于用户切换路由时显示,要求完整、简要
- 内外网域名:系统根据此来区分系统路由
- 系统管理员登录后,到运维管理菜单中,打开
- 启用效果:
- 用户根据配置的域名访问,后台会路由到对应的系统组中
- 定时任务采用广播方式,会同步执行所有分系统的过程函数
- 若存在多个可用路由方案,则系统主界面右上角会出现系统切换导航
- 注意事项:
- 一旦启用此功能,系统将只能接受配置的内外网域名访问,其他所有域名都将无法访问本系统。
- 增加相关API:
$vs.properties.getRouteSystemIds():获取多系统路由方案配置$vs.properties.getCurRouteId(): 获取当前系统运行的多系统路由环境编码$vs.proc.find($strProcName,$timeout,$systemId,$routeId),增加$roteId参数用于强制路由到目标系统
- 表格增加API:
- 202606031119:
- 修复JSON反序列化时,超大数字(Long)精度丢失问题
- 202605291325:
- 《谷神文件服务转换系统》发布,用于旧有项目把文件服务从谷神标配服务文件同步到OSS对象存储中
- 修复pg数据库模式下,日期字段导出excel时没有格式化问题
- 登录时,对密码进行SM4加密保护
- 202605181729:
- 谷神报表模板支持发布为菜单,并允许分配权限给其他操作员
- 内部消息功能优化:
- 界面优化
- 消息详情页面增加回复消息功能
- 修复发送消息时无权限查看和选择附件问题
table.update方法性能优化(采用异步UI刷新方式,防止大量调用此方法时,浏览器卡顿问题)
- 202605071243:
- 修复TEXT字段批量更新或者单据保存时,超过4000字符的情况下被截断问题(严重BUG,受影响版本包括1.3.3-2.0.0所有谷神版本)
- 修复分组合计和汇总合计同时存在的情况下,值反射字段冲突导致小计数据无法显示问题
- 202604241511:
- 用户超时登录窗口改版
- 开发端:
签出的代码窗口增加视图版本模块 - 模块开发:
查看我签出的页,增加操作列,可以打开或者定位对应的页面 - 模块开发:表单静态文本字段label启用字段
- 钉钉扫码优化:
- 优化扫码后左到右滑动时出现白屏情况
- 增加扫码成功后,自动关闭页面的功能(旧版本为需要手工关闭)
- 修复H5登录后,无法显示个性化元桌面组件问题
- 超时登录增加账户约束
- 202604151724:
- gUtil增加新API:
gUtil.saveTempBill(page): 单据暂存gUtil.showBillTempListDialog(page,onAfterLoad): 调起单据草稿加载窗口
- 登录参数设置中,增加
超时跳转设置,允许设置用户会话超时后的行为(弹出登录窗口或者跳转到登录页面) - 审批流改版
- gUtil增加新API:
- 202604031211:
- 文件上传支持
多文件上传模式,并全面改版文件上传功能。 - 修复生产(测试)环境登录设置中
密码有效期未生效问题 - 增加达梦字段超长时友好提示信息
- 修复H5模式下模糊查询失效问题
- 新增约束:TEXT类型字段不可用于索引
- 文件上传支持
- 202603181350:
$vs.file新增API:$vs.file.getFileMac($file): 获取文件内容摘要$vs.file.desEnCodeFile($file,$pass): 文件内容DES加密$vs.file.desDeCodeFile($file,$pass): 文件内容DES解密(文件必须是谷神服务加密后的文件)$vs.file.addFileToBillAttachment(....):将文件放到单据附件表
- 谷神文件附件管理插件增加
批量打印功能 - 运维管理登录参数设置中,增加
禁止账户登录设置,启用后,只允许扫码登录,不再允许使用用户名密码登录(请谨慎启用)。
- 202603041609:
- 编辑子页面中,增加表单控件、明细表格控件、TAB控件的控件折叠功能,开发者开启此功能后,可以在编辑页面收起整个控件,已释放页面高度空间给其他控件
- 新增API
$vs.report.mergePdfFile($files),合并PDF文件 - 操作日志数据增加浏览器指纹码字段
- 开发环境打包配置增加容器选择,开发者可以选择运行容器(目前有普元和东方通两种),打包服务会根据开发者选择使用相应的容器包打包。
- 202602090956:
- 新增读取CSV文件API
$vs.file.readCsvlFile(file,'UTF-8') - 开发环境模块开发改为允许打开多代码页面
- 开发环境模块开发增加页面级字段级按钮查询功能
- 升级优化pdf预览组件
- 表格水印文字增加日期
- 开发环境服务组件脚本编辑器增加定位菜单树功能
- 打包配置增加容器授权文件上传功能,打包后会自动生成授权文件
- 支持容器化(Docker)打包,直接打成镜像文件
- 支持容器化增量和全量打包
- Oracle、达梦、神通及OceanBase数据库字符(VARCHAR)字段长度调整为字符长度(默认字节长度),也就是一个中文算一个长度(以前一个中文需要占用2-3个长度),需要删库重建后才能生效。
$vs.file增加API:$vs.file.isFileExists($path): 判断一个文件或目录是否存在$vs.file.isFile($path): 判断一个路径是否为文件$vs.file.isDir($path): 判断一个路径是否为目录
$vs.util增加API:$vs.util.strPosLast($str,$ch): 返回字符串最后出现的位置
- 新增读取CSV文件API
- 202512311208:
- 支持适配
人大金仓数据库 - 树控件增加事件:
onInitTreeConfig: 树初始化前对树配置信息进行再次优化onInitTreeData: 树加载数据完成时触发,开发者可在此修正数据、设置节点图标等操作
- 支持适配
- 202512040933:
- 新增文件操作API:
$vs.file.moveFile($srcFile,$tarDir): 移动文件到目标目录(目标目录必须为/temp开头的目录)$vs.file.zipDir($dir): 压缩目录($dir必须为/temp开头的目录)$vs.file.rename($srcFile,$): 修改文件名称// 文件打包压缩示例 #set($dir = '/temp/20250110/HT209011200') // 必须以 /temp 开头 $vs.file.mkdirs($dir) #set($temp1 = $vs.file.getWebFileToTemp('/upload/xxx.pdf')) #if ($vs.util.isNotNull($temp1)) // 下载文件到本地临时目录 #set($newFile = $vs.file.moveFile($temp1,$dir+"/ht1")) // 移动文件 $vs.file.rename($newFile,"合同签约条款") // 重命名文件 #end #set($temp2 = $vs.file.getWebFileToTemp('/upload/bbb.png')) #if ($vs.util.isNotNull($temp2)) // 下载文件到本地临时目录 #set($newFile = $vs.file.moveFile($temp2,$dir+"/ht2")) // 移动文件 $vs.file.rename($newFile,"合同预览图片.png") // 重命名文件 #end #set($zipFile = $vs.file.zipDir($dir)) $vs.log.info($zipFile) $vs.file.removeLocalTempDir($dir) // 需要手工删除临时目录 //$vs.file.removeLocalTempFile($zipFile) $vs.file.download($zipFile) // 输出下载文件操作 return 'success';
- 新增文件操作API:
- 202511141330:
- 移动端H5下拉选择增加
清除按钮,用于清除已选择的下拉项 - 谷神框架增加对
OceanBase数据库的支持(注意:必须是OceanBase for Oracle模式) - 开发环境增加二维交叉表的支持
- 开启方式:(表格属性工具条中的二维交叉表按钮)

- 开启后效果:
- 数据根据设置,进行二维交叉展示
- 分页功能禁用(强制采用非分页模式)
- 排序强制设置为页面排序
- 禁用报表二次开发功能
- 禁用报表分组小计功能
- 禁用报表汇总合计功能
- 禁用行展开功能
- 开启方式:(表格属性工具条中的二维交叉表按钮)
- 移动端H5下拉选择增加
- 202510291557:
- 表格增加功能:
- 右键菜单增加
选择当前行和选择区域行功能
- 右键菜单增加
- 底层包版本升级(3.3.9 -> 3.5.7),详见本文末尾升级说明
- 表格增加功能:
- 202510201719:
- 系统配套表格改版升级,部分函数有调整(谷神底层已对API适配),若项目中存在对表格原生API存在个性化定制的,需要相对应的调整。
- 由于本次变更属于重大版本变更,所以,您在升级版本时请注意以下几点:
- 开发环境升级后,请先做全编译
- 开发环境升级后,必须禁止对生产环境的增量升级
- 生产环境下一个版本升级时,请同步全量升级所有微服务
- 在升级生产环境前,请进行全量全功能测试,建议打开浏览器控制台,随时关注是否有js脚本错误情况
- 由于本次变更属于重大版本变更,所以,您在升级版本时请注意以下几点:
- 增加表格禁止范围复制功能(防止数据泄漏):
- 开启方法:系统管理员登录后台后,在运维管理 -> 系统参数设置 -> 表格设置中开启。
- 开启效果:
- 对于有导出权限的菜单模块,若当前用户无导出权限,则无法范围选择后复制(范围选择后,用户选择CTL+C后,将复制到第一个单元格,而不是范围选择的所有单元格数据)
- 对于无导出权限的菜单模块,则所有用户都无法范围选择复制数据
- 超级管理员用户不受此限制
- 系统配套表格改版升级,部分函数有调整(谷神底层已对API适配),若项目中存在对表格原生API存在个性化定制的,需要相对应的调整。
- 202509241145:
- 导出Excel文件时,记录导出日志
- 运维管理模块中,事物性操作增加操作日志记录
inputForm和searchForm字段增加页面事件:onClick和onDbClick
- 202509100852:
- 修改密码界面增加密码强度提示
$vs.message.sendTemplateMessage增加新参数$extitems:Map<string,object>用于发送钉钉和企业微信消息时,动态添加消息项,数据格式为:Map<数据项名称,数据项值>$vs.file增加新读取EXCEL文件API:$vs.file.readFreeExcelFile($filePath,$dataStartRowNo):读取自由格式的Excel文件$vs.file.readFreeExcelFileSheet($filePath,$sheetNo,$dataStartRowNo):读取自由格式的Excel文件
- 202508120916:
- 元桌面增加
桌面类型设置,可设置为工作台或首页,设置效果:- 工作台:设置为工作台后,此桌面可以展现在菜单
我的工作台下(支持权限分配) - 首页: 设置为首页后,点击系统切换菜单,会自动打开对应的元桌面
- 工作台:设置为工作台后,此桌面可以展现在菜单
- 运维管理增加
应用定制平台和模块权限分配功能,支持管理员对模块进行调整,以及模版的权限控制 $vs.sqlHelper增加新API:$vs.sqlHelper.buildToNativeSql($sql,$dbType),支持把开发sql编译为目标数据库的sql- 修复多语言翻译缓存同步失败BUG
- 修复其他已知BUG
- 元桌面增加
- 202506160932:
- 修复日志文件下载权限问题
- 修复其他已知BUG
- 202505081657:
- gUtil增加base64方法:
gUtil.base64encode(str)把字符串编码为base64字符串 - gUtil增加base64方法:
gUtil.base64decode(str)把字符串解码为base64字符串 - 部分默认无权限访问地址权限设置为登录权限,如:数据字典下拉,原先默认是无权限即可访问,现改为默认需要登录权限,若程序确实需要用到权限(如:注册页面),则可以增加默认权限规则配置
- 增加默认权限规则配置:
guthon.auth.default-auth,可选值login-auth:登录权限(默认);或no-auth:无权限(老版本默认)
- gUtil增加base64方法:
- 202504110932:
- word打印支持libreoffice方式,以解决对复杂word文件转换格式错误问题
- 修复word打印变量为空时报错问题
- 运维管理中,增加登录设置,可以设置用户密码复杂度、登录页面样式等
- 202503141509:
- 修复在线人数算法不准问题
- 修复查询方案无法加载问题
- 修复JDBC读取数据时,返回日期类型为
LocalDateTime类型,导致赋值失败问题
- 202503041723:
- 底层包版本升级(3.1.4 -> 3.3.9),详见本文末尾升级说明
- 202503031511:
- 在线帮助编辑器增加图片及附件上传功能
- SQLTools增加新的支持函数
SQLTools.isEmpty(field),用于where条件时使用,如:
select * from table where SQLTools.isEmpty(field),Oracle时输出field is null其他数据库输出SQLTools.isNull(field,'') = '' - 新增数字转中文大写方法:
$vs.format.numberToChinese($num) - 增加读取授权文件中额外配置功能,支持对表记录数扫码,若出现违规现象,将会锁闭单据保存功能,配置方式如下:
{ _TABLE_CHECK_:{ BASIC_ORG: { _COUNT_:3, STATUS:"1",ORG_ISLEAF:1 }, BASIC_DEPT:{ _COUNT_:8, STATUS: [1,2,3] } } } 1、BASIC_ORG 等效于select count(1) from BASIC_ORG where STATUS="1" and ORG_ISLEAF = 1; 2、BASIC_DEPT等效于select count(1) from BASIC_DEPT where STATUS in (1,2,3); 3、当对应的SQL返回结果超过_COUNT_值时,系统自动锁闭单据保存功能。
- 202501170803:
- 查询表格增加
汇总合计查询功能,支持用户选择合计列字段进行透视分析。 - 查询表单查询方案拆分为
查询方案和查询布局,两种设置可以分开保存默认值,发布系统方案仅可以发布系统布局方案 - 选单窗口支持
查询布局和自定义查询条件设置 - 主数据过程函数中,增附件下载前回调函数:
system.common.callback.attachmentBeforeDownload,在谷神附件下载前触发,用于项目对文件下载权限判断,可以返回下载文件的文件名称 - 主数据表格布局管理变更:
- 取消
保存当前布局和恢复默认布局功能 - 系统管理员
保存当前布局时,会有分享给其他用户选项,分享后,用户会默认多出一个TAB页 - 当用户所数布局超过1个时,报表界面会显示切换TAB页
- 取消
- 查询表格增加
- 202412311120:
- 增加在线感知功能,用于判断用户是否已经通过关闭浏览器退出系统。
- 开启条件:操作员在线数授权,授权人数小于50人,且同账户不可多地同时自动开启
- 开启后,将每2分钟发起一次在线应答,同时用户超时退出功能失效。
- 通过添加配置:
guthon.online-check.enabled = false来强制关闭本功能
- 增加谷神对
神州通用数据库的支持 - 表单text字段增加大文本编辑功能
- 编辑表格字段增加大文本编辑功能
- 增加在线感知功能,用于判断用户是否已经通过关闭浏览器退出系统。
- 202412091122:
- 开发环境,表格和表单隐藏增加字段功能改为批量增加。
- 开发环境,视图管理中,增加查看所有签出记录清空
- 开发环境,系统脚本中,增加查看所有签出记录清空
- 富文本编辑器控件增加文件上传功能。
- 202411291639:
SQLTools增加新API:SQLTools.leftLike()和SQLTools.rightLike()$vs.util新增API:$vs.util.setToList()$vs.report新增API:$vs.report.exportDataToExcel()// #set($datas = ....) // 数据列表 #set($title1 = $vs.util.newMap()) #set($title1.fieldId = "FIELD_CODE") // 字段 #set($title1.width = 130) // 字段宽度 #set($title1.format = "#,##0.00") // 格式 #set($title1.align = "right") // 对齐,left/right/center #set($title1.dataType = "VARCHAR") // 数据类型 #set($title1.label = "单据号码1") // 显示标题 #set($title2 = $vs.util.newMap()) #set($title2.fieldId = "KEY2") #set($title2.label = "单据号码2") #set($titles = $vs.util.newList($title1,$title2)) #set($file = $vs.report.exportDataToExcel($datas,$titles))
- 202411201211:
- 邮件增加个性化定制发送服务的功能:
#set($title="恭喜发财") #set($mail=$vs.mail.createMailService()) // 创建邮件发送服务 $mail.setSmtpHost("smtp.163.com") $mail.setSmtpUser("user") $mail.setSmtpPass("password") $mail.setSmtpSenderAddress("user@163.com") $mail.setSmtpSenderNickName("谷神低码") $mail.setTitle($title) // 邮件主题 $mail.setContext("<div>asld<font size='20' color='#f40'>kfj</font>lkj</div>") $mail.addReceivor("mail@qq.com") // 接受者 $mail.send() // $status => 0 - 成功 other 失败
- 邮件增加个性化定制发送服务的功能:
- 202410181631:
- 增加附件操作回调事件
attachmentBeforePutFile: 本函数将会在谷神附件上传后,正式上传到文件服务前触发,用于项目对文件进行判断和修改attachmentAfterSaveFileInfo: 本函数将会在谷神附件上传到文件服务器,并记录谷神附件信息后调起,用于项目对附件信息进行修改
- 增加附件操作回调事件
- 202410220851:
- 权限分配时,过滤当前管理员不拥有或者目录下没有菜单的树目录
- 工作空间(元桌面)改版
- 由原先的每系统一个元桌面改为下拉元桌面,不再和系统强绑定
- 元桌面支持权限分配
- 元桌面支持谷神模块模式
- 202409271358:
- 新增API:
$vs.report.wordToPdf将word文档转为pdf - 新增API:
$vs.report.createPdfTextWaterMark创建PDF水印
- 新增API:
- 202409260843:
- 便签支持查询功能:
- 当用户对报表表格开启便签功能后,会在查询条件上增加一个便签查询条件,用户可以通过此功能查询打标的数据。
- 便签支持查询功能:
- 202408271031:
- 分布式事务支持:
- 谷神分布式事务,采用seata服务,事务模式为
XA(不是seata默认的AT模式),XA模式为基于数据库分布提交的模式。 - 生产开启方式:在打包发布配置选择
启用分布式事务选项(注意,所有需要参与分布式计算的微服务都需要开启) - 开发开启方式:在资源管理服务中,系统属性设置里,选择
启用分布式事务,然后更新配置文件,重启服务即可(注意,请确保您已正确安装seata服务并连接到开发集群的nacos中,否则可能会导致服务启动失败) - 强制项目开启:在开发环境,应用管理中,应用属性,参数设置中,新增参数
分布式事务,若开发者启用此设置,则为强制项目必须部署seata服务,否则不允许打包;若未开启,则项目部署了seata则启用分布式事务,未部署,则采用本地事务的方式执行代码(如:您设置了过程函数FUN为分布式事务运行,但是当前没有部署seata服务,则系统运行时会以事务内模式运行)。 - 分布式事务配置入口有两处,分别为服务组件事务配置和过程函数的事务配置(原先为事务内和无事务,现在增加了一个新的
分布式事务选项),当开发者选择了分布式事务,则当调起本过程(或组件)时,将开启分布式事务环境。 - 单据保存和删除方法(
$vm.save和$vm.remove),则在提交按钮属性中,可以选择事务内运行,运行规则如下:$vm.save: 分布式事务在saveData事件前开启;在afterSave事件结束后结束并提交事务。$vm.remove: 分布式事务在deleteData事件前开启;在afterDelete事件结束后结束并提交事务。
- 关于事务传播原则:
- 微服务间调用默认支持事务传播
- 普通线程不支持分布式事务
- 可等待返回线程支持参数模式设置是否加到分布式事务
- 相关API:
$vs.dbTools.globalTransPause(): 暂停分布式事务$vs.dbTools.globalTransContinue(): 继续分布式事务$vs.thread.runFutureTaskWithGlobalTrans(...): 开启支持分布式事务的可等待结果线程$vs.thread.runServiceCompFutureTask(compId,param,true): 开启支持分布式事务的可等待结果线程$vs.proc.invokeWithGlobalTrans(xxxx): 立即执行过程脚本中的方法(强制使用分布式事务调用)$vs.proc.runServiceComp(xxx): 强制在分布式事务内执行服务组件
- 谷神分布式事务,采用seata服务,事务模式为
- UI元组件支持在一个单据(页面)内,重复引用。
- 分布式事务支持:
- 202408091725:
- 地址映射型服务组件支持
接口权限校验方式,当三方系统访问映射的地址时,可以通过请求头中的appId和accessToken来校验接口权限,校验通过后才可以调起服务组件。 - 用户收藏菜单合并到主菜单中
- 主菜单增加弹出菜单功能
- 打包配置增加复制其他配置文件的功能
- 地址映射型服务组件支持
- 202407101519:
- 新增API:
$vs.util.getChar($ascll): 通过ascll码获取字符 - 新增API:
$vs.http.getClientIp(): 获取用户浏览器IP地址 - 新增API:
table.scrollRowToVisual(row):滚动表格指定行到可视区 - 新增API:
table.scrollCellToVisual(fieldId): 滚动表格指定列到可视区 - 系统脚本版本控制功能升级:
- 增加强制提交功能,强制提交其他开发者签出的代码
- 增加强制撤销功能,强制撤销其他开发者签出的代码
- 开发环境视图管理功能升级:
- 视图管理增加视图分类功能
- 视图管理中增加签出、提交、修改记录等功能
- 开发日志增加历史版本,增量发布时,会根据开发者选择的版本发布
- 代码打包时,只打包已提交的视图,未提交的视图不会导出
- 新增API:
- 202407041204:
- 修复单点登录模式下,用户登录后无法跳转到第三方系统的问题。
- 单点登录模式增加两个回调过程函数:
system.common.callback.ssoGetUserInfo($sso,$dbUser,$resultUser):将返回给三方系统的用户信息(可修改、添加其内数据,并返给第三方系统)system.common.callback.ssoAfterUserLogin ($sso, $user):三方系统单点登录模式下,用户登录成功后回调,开发者可在此处判断当前登录用户是否具有访问权限。
- 应用数据权限功能扩展:
- 过滤条件支持取当前登录用户的表达式,如:
{MEMBER_CODE:$vs.user.MEMBER_CODE,DEPT_ISLEAF:1}用以根据当前登录用户来过滤可分配权限的业务单元数据。 - 增加“仅系统管理员能分配此权限”功能,用以限制普通用户分配此类数据权限(一般用于账套模式的SaaS系统)
- 增加“权限分配时不清理当前用户未拥有的权限”功能,此功能一般用于账套模式的SaaS系统
- 过滤条件支持取当前登录用户的表达式,如:
- 地区库更新升级:
- 地区库世界国家数据补全(遗漏了巴勒斯坦、哈萨克斯坦、法罗群岛、摩纳哥、南苏丹等几国)
- 更新最新(2023年)国家统计局地区库,取消已合并的区、新增新的地区
- 增加地区街道数据
- 地区控件改版:
- 支持街道选择和保存
- 支持境内、境外、境内境外选择
- 支持所有级别(省、市、县、镇)数据同时查询过滤
- 新增API:
form.clearAreaField(fieldId):动态清空地区数据 - 新增API:
form.setAreaSelect(fieldId,dqCode1,dqCode2,dqCode3,dqCode4):动态设置选择的地区
- 表格增加便签功能:
- 适用范围:所有表格控件(含:报表表格和编辑表格)
- 开始方式:表格右上角更多功能下拉菜单里的
表格便签设置功能里开启(所有操作员都可以开启自己的便签功能) - 便签设置:用户登录系统后,选择页面右上角个人头像,下拉菜单中增加
便签管理模块,可以在此维护便签。 - 操作说明:用户开启表格便签功能后,表格会增加便签列,用户可以在此为表格数据添加自定义标记。
- 202406131641:
- 表格增加API:
table.addCell(params),动态添加表格列。table.addCell({ headerName: '新字段', headerTooltip: '新字段', field: 'newFieldId', tooltipField: 'newFieldId', width: 150, sortable: true, // 允许排序 pinned: 'left', // 左定格 suppressMenu: true, // 禁止菜单 suppressFiltersToolPanel: true, // 禁止过滤 suppressColumnsToolPanel: true, // 禁止列编辑 }); - 表格增加API:
table.updateCell(params),动态修改表格列属性 - 表格增加API:
table.setFieldWidth(field,150),动态设置表格列宽度。 - 新增解压缩文件API:
$vs.file.unzip(zipfile):map<string,Object>返回目录结构 - 谷神容器支持信创普元替换Tomcat组件。
- 系统脚本->用户登录初始化脚本增加新功能,允许开发者设置用户登录成功后跳转地址(详见用户登录初始化脚本编辑窗口编写说明)
- 表格增加API:
- 202406051206:
- 编辑表单
inputform增加属性禁用设计,用于不显示表单布局设计按钮。 - 表格增加行展开功能:
- 开启方式:表格设置->行展开设置->允许行展开
- 支持范围:所有表格(主表格和编辑表格)
- 新增表格页面事件:
getIsRowMaster(rowData):获取当前行是否存在明细(是否允许展开) - 新增表格页面事件:
getDetailRowHTML(rowData, params):获取展开明细的html,他有三种返回格式,分别为html字符串、DOM对象或者VUE对象,详见下方的示例代码。- HTML字符串返回方式:
// $vm.pageEvent('on-ok-button-click',1) 方法会触发 窗口 doMethod 事件 var html = ` <span style="padding:10px" onclick="$vm.pageEvent('on-ok-button-click',1)"> 这里显示文字 </span> `; return html; - DOM对象返回方式:
var dom = document.createElement('div'); dom.innerHTML = "<span style='padding:10px'>这里显示文字</span>"; $(dom).children('span').click(function(){ alert('行被点击') }) return dom; - VUE对象返回方式(推荐):
var dom = document.createElement('div'); var html = ` <span style="padding:10px" @click="hello"> {{text}} {{load}}</span> <div v-if="show" :style="{height: height + 'px'}"></div> `; dom.innerHTML = html; var vue = new Vue({ el: dom, mounted() { var self = this; setTimeout(function(){ self.load = 'ok!!'; self.show = true; },1000) }, data(){ return { text: '这里显示VUE文字', load: ' load... ', height: 200, show: false } }, methods:{ hello : function () { alert('helloword') } } }); return vue;
- HTML字符串返回方式:
- 编辑表单
- 202405300903
- 用户界面UI调整。
- 增加字段权限功能:
- 开启方法:所有升级到
2.0.0版本的项目都默认开启 - 系统管理员登录生产环境后,可以开启页面字段权限,目前有四种控件支持开启字段权限控制,开启方式:
- 查询控件:点击查询按钮
右边下拉菜单中的“字段权限设置”菜单项
- 表单控件:表单右上角设置按钮
下拉菜单中的“字段权限设置”菜单项
- 主表控件:表格右侧更多操作按钮
中的“字段权限设置”菜单项
- 子表控件:开启方式同主表控件
- 查询控件:点击查询按钮
- 点击字段权限设置菜单,会弹出当前控件的字段列表,点击
图标即可将字段设置为字段权限控制字段。(请注意:一旦您开启了此字段的字段权限控制,所有用户(系统管理员除外)将立即无法看到这个字段,需要待用户分配权限后才可以查看到此字段)
- 字段权限分配:
- 批量权限分配:系统管理员登录-> 运维管理 -> 批量字段权限
- 字段权限分配:系统管理员登录-> 运维管理 -> 字段权限分配 (可查看具体用户/角色所拥有的字段权限)
- 开启方法:所有升级到
- 表格增加api
table.removeCell(fieldId):删除指定列 - 下拉组件增加
忽略大小写功能(Oracle生效,其他数据库默认支持),过滤下拉数据时,可以忽略用户输入的大小写字母。 searchForm保存查询方案功能升级:- 查询条件设计功能合并到查询方案中
- 用户可对查询条件移动顺序、修改标签名称、修改字段宽度
- 用户可以保存查询方案(含布局)为自己默认方案,用户下次打开此窗口时,会自动加载此方案
- 系统管理员可以发布方案为本系统默认方案,发布后用户打开窗口会自动加载此方案(注意:用户自定义方案优先级高于系统默认方案)
inputForm增加布局调整和保存布局功能:- 用户可对表单字段移动顺序、修改标签名称、修改字段宽度
- 用户可以保存布局方案(含布局)为自己默认方案,用户下次打开此窗口时,会自动加载此方案
- 系统管理员可以发布方案为本系统默认方案,发布后用户打开窗口会自动加载此方案(注意:用户自定义方案优先级高于系统默认方案)
- 通过api开发者可以动态添加表单字段
inputForm增加API:inputform.setFieldWidth(name,width):设置字段宽度inputform.getFieldWidth(name):获取字段宽度inputform.removeField(name,isForce): 删除字段inputform.isHaveField(name):获取字段是否存在inputform.addFieldAfter(xxx): 未表单(或查询条件框)增加新的输入字段inputform.addFieldBefore(xxx): 未表单(或查询条件框)增加新的输入字段inputform.addFieldFirst(xxx): 添加字段到第一位inputform.addFieldLast(xxx): 添加字段到末位
-opt参数选项:{ type: 'text', // 字段类型,默认 text, 可选: text,select,date,datetime,radio,checkbox,label,datesearch,numsearch width:1 , // 字段宽度(格),可选 1 - 9 每格 230px labelWidth: null, // 标签宽度(数字,px) maxLength: null, // 最大文本长度(type = text 有效) format: null, // 显示格式,如: yyyy-MM-dd or #,##0.00 validator : null, // 验证,如: dec2;num; (验证规则若需要,自己去查询下) placeholder:null, // 占位符 readonly : false, // 是否只读 hide : false, // 默认隐藏 select: { // 下拉选择配置 compId: '', // 必须,根据不同类型填值 codeType = 1 ? 数据字典编码(如:CD-D996-6B5D-73CC1F61) or 数据字典中文名称(如:用户类型); codeType = 2 ? 下拉组件编码(如:CP-27EA-EB83-965B494E) codeType: '1' or '2', // 必须,类型: 1 - 数据字典 2 - 下拉组件 forceSelection: true, // 是否强制下拉 params: {}, // 额外查询条件(codeType=2有效),如: {CODE_TYPE:1} onSelect:function(item){}, // 选择事件 codeFieldId: '', // 可选,反射值字段 list:[], // 静态下拉,如:[{code:'010',name:'xxx'},{code:'011',name:'xxx'}] ownerSystemId, // 下拉组件(codeType=2)无效,数据字典可选,若存在跨服务(如:主数据的数据字典,业务系统引用,则必须填值,填的是数据字典所在的系统编码,如:主数据系统编码) }, radio: [ // type = radio 必须 {name:'',code:''}, {name:'',code:''} ], checkbox: [ // type = checkbox 必须 {name:'',code:''}, {name:'',code:''} ], search: { // 查询条件配置(查询模式下,type=text下有效) isLike: true, // 是否默认查询 isDisAdvSearch: false, // 是否禁用高级查询 isDefaultLike: true // 默认查询情况下,是否默认模糊 } }
$vm.save功能改进升级:- 此方法已支持保存非谷神表管理的数据表,如:三方系统建立的表。
- 增加隐藏扩展属性用于开发者和谷神框架沟通。
// 需求:有些特殊项目可能需要在保存前对原先开发环境设计的表、字段等进行额外的调整, // 如,动态变更保存表ID、增加保存字段等操作,但是大部分项目又不需要使用此功能,故采用增加隐藏扩展属性的方法来满足项目需求。 // 由于本方法为特殊用法故不在API中公开公布有需要的项目按如下代码示例使用。 // 注意:以下代码必须在 beforeSave 事件中执行,其他事件中无效。 // 定义一个扩展对象,名称为 _save_exts_ 此对象谷神框架在编译insert/update/delete时会读取 #set($inputForm._save_exts_=$vs.util.newMap()) #set($inputForm._save_exts_.saveTableId='BASIC_COMPS') // 修改保存表名称 #set($inputForm._save_exts_.otherSaveFields = $vs.util.newList()) // 增加额外保存字段 $inputForm._save_exts_.otherSaveFields.add('EXT_FIELD1') // 增加简易保存字段(字段类型默认VARCHAR) #set($inputForm._save_exts_.disSaveFieldIds=$vs.util.newList('DIS_FIELD1','DIS_FIELD2')) // 增加禁止保存的字段列表 谷神2.0.0@202512260949以上版本支持此功能 #set($field2 = $vs.util.newMap()) #set($field2.fieldId='EXT_FIELD2') // 数据类型,可选,默认VARCHAR,其他类型(详见谷神开发环境添加表字段里的类型) // BIGINT、DATETIME、DECIMAL、INT、LONGTEXT、SMALLINT、TEXT、TIMESTAMP、VARCHAR等 #set($field2.dbDataType='INT') // 指定数据类型 $inputForm._save_exts_.otherSaveFields.add($field2) // 添加到额外保存字段列表中 // 表格等其他控件用法相同 #set($tabpage.tabpage0.detailtable._save_exts_=$vs.util.newMap()) ...
- 谷神自建数组对象,增加属性携带功能,如:
#set($list=$vs.util.newList()) #set($list.code = '123') // <-- 此处可以对列表进行属性增加和读取 $list.add(1) // 数组的原始方法可以继续使用 #foreach($item in $list) // 可以继续使用数组的循环功能 // do ... #end // 注意:从数据库读取的列表不支持属性携带功能。 - 保存事件中,表格对象数据列表增加可携带属性功能,如:
#set($detailTable.others = $vs.util.newMap()) #foreach($row in $detailTable) // do ... #end // 注意:携带的属性无法在调试时查看。 - 下载Excel导出模板中加入下列数据校验,示例如下:
gUtil.exportTemplate(self.pageId,"询价模板导出",{ "ALL_COLUMN_JSON": "{\"询价场次编号\":\"INQUIRY_BILLCODE\",\"询价场次名称\":\"INQUIRY_NAME\",\"报价截至时间\":\"END_DATE\",\"项目名称\":\"PROJECT_NAME\",\"项目所在城市\":\"CITY\",\"场次状态\":\"STATUS_NAME\",\"中选状态\":\"IS_FINAL_BID_NAME\"}", "MUST_INPUT_COLUMNS": "STATUS_NAME,INQUIRY_BILLCODE,INQUIRY_NAME", "DROP_DOWN_DATA ": "{\"STATUS_NAME\":[\"待提交\",\"待审核\",\"已拒绝\",\"报价中\",\"已结束\",\"已中止\"]}" }) // ALL_COLUMN_JSON:要导入的字段 // MUST_INPUT_COLUMNS:导入字段中必须填写字段 // DROP_DOWN_DATA:下列字段及下列数据信息 - 表格增加
getCellFormater和getCellStyle事件,用于统一触发列的对应事件(优先级低于列对应事件)。 gUtil增加新APIloadStyle用以动态添加CSS文件。inputForm、itemTable数据源支持谷神脚本功能。- 支持系统菜单和菜单目录混合排序算法
- 谷神新增
PostgreSQL数据库支持 - 谷神新增
OpenGauss数据库支持 - 谷神新增
Vastbase数据库支持 $vs.cipher.bytesToHex($bytes:byte[]):string: 二进制转字符串$vs.cipher.hexToBytes($str:string):byte[]: 字符串转二进制- 系统发布设置中,增加文件上传大小限制设置
golden.multipart.maxFileSize - 文件上传大小限制由300M调高到2G,若项目需要限制文件大小,则请额外配置
- 修复了文件超过设定值的情况下没有提示文件太大的问题
- 修复了上传文件太大容易导致内存溢出问题。
- 系统登录设置中,增加
使用国密3加密密码功能,设置后,密码会调整为SM3算法(警告:只有新项目才允许启用此设置,密码算法互不兼容,若中途更改算法,则必会导致登录用户密码失效) - 设置类增加新API:
$vs.properties.getUserPassType()获取当前系统用户密码算法类型,返回MD5或SM3 - 修复ORACEL环境批量插入数据超长提示不友好问题,新增POSTGRE环境下输入数据超长提示。
- 202606181051:
底层包版本升级说明(2.7.14 -> 3.1.4)
| 序号 | 包名 | 原版本 | 新版本 |
|---|---|---|---|
| 1 | spring-boot | 2.7.14 | 3.1.4 |
| 2 | spring-cloud | 2021.0.8 | 2022.0.4 |
| 3 | spring-framework | 5.3.29 | 6.0.12 |
| 4 | hibernate | 5.6.15.Final | 6.2.9.Final |
| 5 | tomcat | 9.0.78 | 10.1.13 |
| 6 | jackson | 2.13.5 | 2.15.2 |
| 序号 | 包名 | 原版本 | 新版本 |
|---|---|---|---|
| 1 | spring-boot | 3.1.4 | 3.3.9 |
| 2 | spring-cloud | 2022.0.4 | 2023.0.5 |
| 3 | spring-framework | 6.0.12 | 6.1.17 |
| 4 | hibernate | 6.2.9.Final | 6.5.3.Final |
| 5 | tomcat | 10.1.13 | 10.1.36 |
| 6 | jackson | 2.15.2 | 2.17.3 |
| 7 | logback | 1.4.11 | 1.5.16 |
| 8 | mybatis | 3.5.13 | 3.5.17 |
| 序号 | 包名 | 原版本 | 新版本 |
|---|---|---|---|
| 1 | spring-boot | 3.3.9 | 3.5.7 |
| 2 | spring-cloud | 2023.0.5 | 2025.0.0 |
| 3 | spring-framework | 6.1.17 | 6.2.12 |
| 4 | hibernate | 6.5.3.Final | 6.6.33.Final |
| 5 | tomcat | 10.1.36 | 10.1.48 |
| 6 | jackson | 2.17.3 | 2.19.2 |
| 7 | logback | 1.5.16 | 1.5.20 |
作者:weir 创建时间:2023-09-21 16:09
最后编辑:weir 更新时间:2026-06-18 10:56
最后编辑:weir 更新时间:2026-06-18 10:56