发布日期:2022-07-05
1.4.2版本目前已进入维护状态,不再新增功能,项目可继续使用,但无法获得以后版本发布的新功能。
BUG修正
- 202506160932:
- 修复日志文件下载权限问题
- 修复其他已知BUG
- 202501101522:
- 修复gUtil.round对负数四舍五入问题,如:
// JS和其他语言对 -0.5 负数round的结果存在偏差 // 原计算结果: gUtil.round(-1.235,2) = -1.23 // 现调整结果: gUtil.round(-1.235,2) = -1.24 // 正数结果不变: gUtil.round(1.235,2) = 1.24
- 修复其他已知BUG
- 修复gUtil.round对负数四舍五入问题,如:
- 202406201247:
- 地区库世界国家数据补全(遗漏了巴勒斯坦、哈萨克斯坦、法罗群岛、摩纳哥、南苏丹等几国)
- 更新最新(2023年)国家统计局地区库,取消已合并的区、新增新的地区
- 修复其他已知BUG
- 202312201440:
- 修复一个元组件,在不同页面内,被同时打开时,组件内表格最大化失效问题。
- 修改其他已知的BUG
- 漏洞安全升级:
- spring-5.3.30 -> 5.3.31
- spring-boot-2.7.16 -> 2.7.18
- tomcat-9.0.80 -> 9.0.83
- 202311291118:
- 修复开发环境推算控件默认名称时无法校验tabpage下控件的问题。
- 修复新能源车牌号识别问题
- 修复打包文件中,资源文件中文名称的情况下,在linux下升级后变成乱码问题
- 修改其他已知问题
- 202310311047:
- 修复缓存内存溢出问题。
- 202310180925:
- 修复谷歌浏览器下代码字体变小问题。
- 202310101716:
- 修复调试时,数组元素为空的情况下,无法打开数组列表问题
- 框架漏洞升级:
- spring-5.3.29 -> 5.3.30
- spring-boot-2.7.14 -> 2.7.16
- tomcat-9.0.78 -> 9.0.80
- jackson-databind-2.13.5 -> 2.15.2
- com.google.guava:guava-31.1-jre -> 32.1.2-jre
- cn.hutool:hutool-core-5.3.3 -> 5.8.22
- commons-net-3.5 -> 移除
- commons-httpclient-3.1 -> 移除
- 202309221531:
- 修复SQL升级语句归档号不能超过10的问题
- 修改其他已发现的BUG
- 202309011544:
- 增加WPS文件预览功能,实现与solution.wps.cn在线预览服务对接
- 登录weboffice开放平台创建应用,配置相应的回调地址
- 在系统配置文件中设置weboffice申请到的AppSecret 、AppID
- 修复报表日期查询中,带有时间的日期格式,点击月报错问题
$vs.http.xxx
方法增加新参数$ignoreError
:忽略服务器返回的错误码。默认false
(返回码超过400就会抛出异常),true
- 不管服务端返回什么码,都会读取服务端返回的数据不会抛出异常,需要开发者自行解析请求是否正确
- 增加WPS文件预览功能,实现与solution.wps.cn在线预览服务对接
- 202308241303:
- 底层包版本升级(2.6.8 -> 2.7.14)
- 开发环境打包优化:加快打包速度,解决打包时内存溢出问题
- 修复了开发环境打包经常报连接超时问题
- 修复对话框关闭后,页面上点击回车仍旧会触发对话框事件的问题
- 202307031113:
- 修正表格数字值如:
0.00000021
这类的数据,在js中,显示科学计数问题,需要升级主数据且所有相关页面全编译发包 - 修正其他已知的问题。
- 修正表格数字值如:
- 202306091122:
- 开发环境增加编译包文件清理功能,清理规则:
- 一般编译包默认保存15天
- 开发者可以手工推迟清理时间
- 每个系统至少保留3个编译包
- 修正
$vs.redis.setnx
和$vs.redis.rename
递归循环调用问题 - 日常其他已知问题修复。
- 开发环境增加编译包文件清理功能,清理规则:
- 202305230828:
$vs.cipher
增加新加密解密API$vs.cipher.hmacSHA512($data:string,$secret:string,$charset:string):string
$vs.cipher.hmacSHA512B($data:byte[],$secret:byte[]):byte[]
$vs.cipher.hmacSHA512S($data:string,$secret:string):byte[]
$vs.cipher.rsaPrivateEncode($str:string, $key:string,$len:int):string
$vs.cipher.rsaPublicEncode($str:string, $key:string,$len:int):string
$vs.cipher.rsaPublicDecode($str:string, $key:string,$len:int):string
$vs.cipher.rsaPrivateDecode($str:string, $key:string,$len:int):string
$vs.cipher.rsaSign($str:string, $key:string,$type:string):string
$vs.cipher.rsaVerify($str:string, $sign:string, $key:string,$type:string):boolean
- 202305150944:
- 数据权限分配增加“
不控制当前用户的此项数据权限
”功能,分配权限时,若为当前用户(或角色)勾选了此项选项,则当前用户将拥有此数据权限项下的所有权限,如:为“总经理”角色的“部门数据权限”勾选此选项,则所有属于“总经理”角色的用户在查询报表或者做单时,不再控制部门权限。
- 数据权限分配增加“
- 202304261358:
- 增加HTTP接口对代理服务器的支持,系统打包配置增加如下项:
golden.system.proxy.host
: HTTP代理服务器地址,如:proxy.guthon.comgolden.system.proxy.port
: HTTP代理服务器地址端口,如:8080golden.system.proxy.user-name
: HTTP代理服务器地登录用户(如果需要身份验证)golden.system.proxy.password
: HTTP代理服务器地登录密码(如果需要身份验证)
- 增加HTTP接口对代理服务器的支持,系统打包配置增加如下项:
- 202304191534:
- 报表增加自定义导出文件名称参数
_report_name_
,在report.load({_report_name_:'导出文件名称',BILL_NO:'HT201220912039'})
(润乾报表支持) - 修复其他已知的问题。
- 报表增加自定义导出文件名称参数
- 202303210958:
- 增加调用主页面和子页面的查询API
$vs.proc.callMainPageFind()
:主页面分页查询$vs.proc.callMainPageList()
:主页面不分页查询$vs.proc.callMainPageSum()
:主页面汇总合计查询$vs.proc.callDetailPageSearch()
:子页面查询
- 角色权限审计、用户权限审计中加入默认查询权限、过滤禁用模块
- 增加调用主页面和子页面的查询API
- 202303170912:
- 修复Oracle数据库下,
$vs.dbTools.batchUpdate
方法数据类型不一致时,报ORA-01790: 表达式必须具有与对应表达式相同的数据类型
错误问题。 - 新增远程数据源访问函数:
$vs.dbTools.connect($ip,$port,$userName,$pass,$dbType,$dbName)
- 新增文件二进制内容读取函数:
$vs.file.getFileBytes($path)
- 修复Oracle数据库下,
- 202302161731:
- 修正
$vs.redis.setnx
和$vs.redis.rename
递归循环调用问题 - 修正偶发性用户丢失问题
- 异步线程不再支持
$vs.request
,在异步线程中,获取返回的是null
- 修正多言无法翻译问题
- 修正
- 202302091642:
$vs.file
新增接收HTTP上传文件方法$vs.file.parseAndSaveFileToPrivate()
: 解析并上传私有文件$vs.file.parseAndSaveFileToPublic()
: 解析并上传公有文件
- 202302081200:
- 修正
$vs.redis.setnx
和$vs.redis.rename
递归循环调用问题 - 表格控件增加API:
table.setSingleSelect(b):
设置表格为单选或者多选模式table.isSingleSelect()
: 返回当前表格是多选还是单选模式
$vs.proc.isHaveProc
方法增加跨库查询功能。
- 修正
- 202301111331:
$vs.proc.callPageSave
增加$ignoreDataAuth
参数,用于保存时禁止判断数据权限$vs.proc.callPageUpdate
增加$ignoreDataAuth
参数,用于修改时禁止判断数据权限$vs.proc.callPageRemove
增加$ignoreDataAuth
参数,用于删除时禁止判断数据权限- 新增
$vs.auth.offCurThreadDataAuth()
函数,用于禁用当前线程所有数据权限判断操作(可漫游到远程调用及子线程)
- 202301101412:
- 添加正则表达式支持:
$vs.regexp.match($str,$exp)
$vs.regexp.matchIgnore($str,$exp)
$vs.regexp.findFirst($str,$exp)
- ……
#set($str='123Abc,AGD9090,asdf') // 原始搜索字符串 #set($exp='[a-z]+') // 正则 // $vs.log.info($vs.regexp.findFirst($str,$exp)) // --> bc $vs.log.info($vs.regexp.findFirstIgnore($str,$exp)) // --> Abc $vs.log.info($vs.regexp.findAll($str,$exp)) // --> ["bc","asdf"] $vs.log.info($vs.regexp.findAllIgnore($str,$exp)) // --> ["Abc","AGD","asdf"] // #set($matcher = $vs.regexp.match($str,$exp)) #set($list = $vs.util.newList()) #while ($matcher.find()) $list.add($matcher.group()) #set($start = $matcher.start()) // 匹配字符串开始位置 #set($end = $matcher.end()) // 匹配字符串结束位置 #end
- 添加正则表达式支持:
- 202301041005:
- 增加
inputform
对checkbox
和radio
的必输验证.
- 增加
- 202212131440:
- 日程消息不与系统ID关联,修复取不到系统ID时报错。
- 站内信新增附件上传及查看功能。
- 放开站内信选择用户和权限时需要管理员权限限制。
- 202212081017:
- 企业版表格导出功能控制:当前登录用户无导出权限时,禁止企业版表格导出excel功能。
- 增加单据新增保存及修改保存性能报告数据,默认超过2s的操作会打印性能报告
- 单据新增保存及修改保存性能优化(2000条保存时间从240秒下降到2秒)
- 202211251721:
- 修复主表格合计字段中,出现主表和关联表格相同字段而报错问题。
- 202211291155:
- 修复开发环境特殊建表SQL解析时导致死循环问题
- 202211251428:
- 打包后数据库密码支持加密保存
- 修复gUtil.openDialog函数无法打开选单窗口问题
- 修复定时作业立即执行时,路由到远程协同端的定时任务报请登录后再操作问题。
- 202211101047:
- 取消任务栏页面风格下,自动添加窗口标题.
- 修复下拉过滤不支持特殊字符(如:&)问题
- 修复主页面、主表格下拉按钮排第一个时,弹出的下拉菜单被主菜单遮挡问题。
- 202506160932:
重要变更
- 明细表格
detailTable
和inputForm
全表加载检测,自本版本始默认开启,由低版本升级上来的项目注意检查各自代码是否存在问题,若要关闭检查,则手动添加参数golden.control.load.is-skip-check=true
来关闭(所有微服务都需要添加)。 - 日志中心表结构变更通知:
- 自今日起,1.42版本的日志表中的text字段全部转为记录表,原大文本字段保留,类型全部转换为varchar(1),请及时调整日志详模块,否则查看日志详情时,会不显示发送和接收报文内容;其他版本不受此影响
- 明细表格
主报表表格汇总合计算法变更兼容性警告:
- 原先算法:
select <用户自定义汇总表达式> from <原生SQL汇总语句FROM后的部分>
- 调整为:
select sum(field) from ( select 原生SQL from xxx )
- 实例(原):
select
sum(Amt) as AMT,
sum(a.AMC) as AMC,
sum(case when status =1 then amt else -amt end) as AMD
from table where billNo=#{bilNo}
AMT、AMC 为正常字段,AMD为表达式字段,这种表达式在老的算法里是支持.
其中AMC字段,新算法为了兼容老算法会把 a.AMC 转换为 AMC。
但类似 AMD 这些个性化表达式字段,无法进行转换,需要开发者自己调整,否则会报错,新的算法如下:
select
sum(AMT) as AMT,
sum(AMC) as AMC,
sum(AMD) as AMD
from (
select
AMT,
a.AMC,
case when status =1 then amt else -amt end as AMD,
a.billNo as billNo,
....
from tabe1 a,table2 b
where a.billNo = b.billNo
) t
在新的算法中,如果AMD仍旧使用 case when status =1 then amt else -amt end 子句将会出错。
新增功能
$vs.dbTools
增加新方法:$vs.dbTools.clearDatabaseCache()
清理当前线程内的MYBATIS一级缓存(一般用于需要实时读取数据库同一条记录的情况)
- 服务端谷神脚本增加直接调用页面保存方法:
$vs.proc.callPageSave()
:服务端调用页面的单据新增方法(一般用于接口等需要创建单据时与原保存代码复用的场景)。$vs.proc.callPageUpdate()
:服务端调用页面的单据修改方法(一般用于接口等需要创建单据时与原保存代码复用的场景)。
- 报表增加分组小计功能:
- 默认所有报表都支持分组小计功能
- 功能入口:主数据报表右上角更多功能菜单按钮点击后,下拉菜单中会多出
分组小计查询
菜单项 - 有些特殊报表不支持的,请在表格的属性中,选择“禁用分组小计功能”关闭当前报表的分组小计功能
- 主数据表格
mainTable
增加API:table.setGroupSubTotal(fields)
通过代码的方式开启分组小计功能 - 当用户开启分组小计时,此表格导出EXCEL的内容也会同步分组小计
$vs.util
增加新的API:$vs.util.urlEncode($str:string):string
对字符串进行URLEncode编码$vs.util.urlDecode($str:string):string
对字符串进行URLDecode解码
- 加入第三方IP库Ip2region支持
- 此功能主要用于将IP转换为详细的地址(国家、省、市、区等);
- 使用些功能需要将地址数据库放于系统运行目录下,并重启服务。
- 加入UniApp消息推送功能
- 此功能先在Dcloud平台创建应用,应用类型选择uni-app;点击应用名称,进入应用详情,选择uniPush 1.0后,编辑应用详细信息进行保存,然后再点击消息推送,查看相应的推送参数,并配置到开发平台应用发布中;
- 在开发平台消息模版设置中对APP消息参数进行配置,其中详情地址为APP中打开详情页跳转地址。
- app开发时在登录页面嵌入相关代码,详见APP消息推送开发文档
- 加入用户权限审计报表
- 用于查看所有用户、所有模块的权限分配情况,可根据关键字检索;
- 可以查看拥有某一功能权限的所有用户信息;
- 支持导出用户权限审计数据。
- 加入角色权限审计报表
- 用于查看所有角色、所有模块的权限分配情况,可根据关键字检索;
- 可以查看拥有某一功能权限的所有角色信息;
- 支持导出角色权限审计数据。
- 新增用户会话信息修改功能:
$vs.user
增加属性$vs.user.disUserName
属性,业务程序可以设置这个属性用于在用户登录后,右上角显示个性化的用户姓名如:您好,XXX部门XXX。
- 新增API
$vs.cache.reputUserSession()
方法,用于把当前会话中的用户信息同步更新到redis中,用法如下#set($vs.user.DEPT_CODE = '001') // <-- 切换当前登录用户的部门编码 #set($vs.user.ORG_CODE = '002') // <-- 切换当前登录用户的机构编码 #set($vs.user.disUserName = '高达总部研发部张三丰') // <-- 设置个性化右上角显示名称 // $vs.cache.reputUserSession(); // <-- 把上面对`$vs.user`用户信息的修改更新到redis,注意:此方法没有参数
- 侧边栏窗口功能优化:
gUtil.openSideWin
增加参数:isAppendToBody
,表示窗口是否添加到全局,默认false,窗口内容添加到调用窗口内。$vm.openSideWin
增加参数:isAppendToBody
,表示窗口是否添加到全局,默认false,窗口内容添加到调用窗口内。
- 页面风格支持单页模式:
- 开启方法:编辑主数据系统属性->勾选“禁用任务栏(单页模式)”
- 开启后效果:运行系统主菜单切换时,上次打开的主界面将会被强制关闭(也就是一次只能打开一个主页面,类似服务端渲染中的页面刷新效果)
- 开启方法:编辑主数据系统属性->勾选“禁用任务栏(单页模式)”
- 增加可获取返回值的线程方法调用:
$vs.thread.runFutureTask($strProcName:string,$funName:string,$args:Object...):FutureTaskResult
$vs.thread.runServiceCompFutureTask($strCompId:string,$args:Object):FutureTaskResult
- 使用方法:
// 开启线程 #set($future1 = $vs.thread.runFutureTask('com.golden.bdp.basic.imported','getMembers','000001')) #set($future2 = $vs.thread.runServiceCompFutureTask('com.golden.bdp.tms.main.serviceActionDemo',$vs.util.newMap())) #set($member = $future1.get()) // 等待线程返回 #set($info = $future2.get()) // 等待线程返回 /* #set($member = $future1.get(6000)) // <-- 设置获取等待时间的方法 #set($bool = $future1.cancel(true)) #set($bool = $future1.isDone()) #set($bool = $future1.isCancelled()) */ $vs.log.info($member) $vs.log.info($info)
- 增加全局常量栈功能:常量栈(
$vs.stock
),用于寄存常量,可以在任意后台谷神脚本中获取设置的常量值- 注意事项:
- 1、常量栈只可以在系统脚本
系统启动初始化脚本
中初始化,初始化脚本可以调用过程函数,在过程函数中初始化常量栈;其他任何地方的谷神脚本都再不允许初始化常量栈。 - 2、微服务系统之间常量栈的值互不共享(主数据的常量栈无法在业务服务中读取,反之亦然),同时常量栈在同一业务微服务(如:贸易系统)不同集群服务间不共享
- 1、常量栈只可以在系统脚本
- 代码示例(系统启动初始化脚本):
#set($vs.stock.BT01031="BT01031") // 采购合同(此注释会在代码提示中读取) #if ($vs.util.isNotNull($vs.util.getSystemId())) #set($vs.stock.BT01032="BT01032") // 销售合同(此注释会在代码提示中读取) #end $vs.proc.invoke('com.golden.stock','init') // <-- 也可以把代码写到过程函数在过程函数中初始化常量栈
- 读取示例(任意谷神脚本处执行):
#if ($billType eq $vs.stock.BT01031) // to do .... #end
- 注意事项:
- 谷神脚本增加函数变量支持语法
- 函数变量:函数本身可以赋值到一个变量里去。
- 调用示例:
#set($funs = $vs.util.newMap()) // 创建父级对象 #set($funs.funA = @funA) // <-- 函数不允许赋值给一级对象(函数必须有父级对象) $funs.funA(1) // 函数调用 #function funA($a) return $a + 1 #end
- 常量栈支持二级分类:
- 调用示例(系统初始化脚本里执行):
#set($vs.stock.billTypes = $vs.util.newMap()) #set($vs.stock.billTypes.BT001001 = 'BT001001')
- 调用示例(系统初始化脚本里执行):
- 常量栈支持全局函数注册:
- 调用示例(系统初始化脚本里执行):
#set($vs.stock.funs = $vs.util.newMap()) #set($vs.stock.funs.stockFunA = @stockFunA) #set($vs.stock.funs.stockFunB = @stockFunB) #function stockFunA($a) return $vs.stock.funs.stockFunB($a) #end #function stockFunB($a) #set($a=$a + 1) #if ($a > 100) return $a #end return $vs.stock.funs.stockFunB($a) // 递归调用 #end
- 调用示例(系统初始化脚本里执行):
- 常量支持代码提示:
- 编写谷神脚本代码时输入
$vs.sotck.
后,会弹出项目已初始的常量代码,模块开发时提示当前系统下的常量,过程函数开发时提示当前数据源下的常量 - 开发环境启动时自动加载所有初始化脚本中注册的常量
- 初始化脚本保存之后自动更新常量数据,需要手动刷新开发平台页面进行重新加载
- 编写谷神脚本代码时输入
- 系统脚本中,增加自定义系统脚本(JS、CSS)的功能:
- 支持新增CSS、JS脚本新增,基本功能同默认系统脚本。
- 打包时会自动将新增的脚本合并至原脚本文件中;
- 场景导入时会自动导入新增的系统脚本。
- 系统初始化脚本增加
立即执行
功能:主要是用于刷新常量栈变量及函数使用(免去频繁重复启动系统)。 inputForm
下拉字段功能升级:- 增加api:
form.setSelectValue(field,value)
:用于通过设置一个下拉字段预期的值,来获取显示值和反射值inputForm.setSelectValue('STATUS_NAME',1); // 等同于: // var resut = gUtil.getServerData('com.golden.getCache',{CODE:1}) // inputForm.set(STATUS_NAME,result.name) // inputForm.set(STATUS,result.code)
form.set(field,value)
增加新功能:判断,若field为下拉字段,则会把value作为显示名称,去解析下拉值,并反射对应code字段inputForm.set('STATUS_NAME','暂停'); // 等同于: // var resut = gUtil.getServerData('com.golden.getCache',{CODE:1}) // inputForm.set(STATUS_NAME,result.name) // inputForm.set(STATUS,result.code)
- 增加api:
- 菜单支持静态传参:
- 模块菜单打开主页面时,支持静态传递自定义字符串参数
- 设置方法:开发环境->模块开发->菜单属性修改->传递参数
- 注意事项:传递的参数是一个字符串,在窗口
onOpen
中的args
参数中接收,字符串不可以包含双引号。
- 增加初始化用户登录环境API:
$vs.auth.doUserFieldLoginPC()
和$vs.auth.doUserFieldLoginAPP()
- 用途:一般用于三方系统单点登录。
- 建议实现:
- 与三方系统约定通信密钥
- 建立映射地址的服务组件,如:/gdpaas/comps/login.htm
- 三方地址访问登录地址,并传递token
- 服务组件接受token,并根据通信密钥验证,还原得到用户编码
- 调用本方法完成浏览器cookie的登录环境初始化
- 页面重定向到谷神相关页面,单点登录完成。
- 使用限制:
- 必须在浏览器访问进程内调用,其他(如:异步线程、定时作业)不可访问
- 必须在主数据环境下访问,其他微服务不允许调用本方法
- 服务端谷神脚本增加直接调用页面删除方法:
$vs.proc.callPageRemove()
:服务端调用页面的单据删除方法(一般用于接口等需要后台删除单据时与原保存代码复用的场景)。
- 保存提交按钮增加新事件:
saveData
: 数据保存前触发(事务内)
- $vs.proc.callPageSave、$vs.proc.callPageUpdate、$vs.proc.callPageRemove增加
$ignoreTrans
参数:- 参数用途:默认请情况下,
$vs.proc.callPageSave
方法必须在非事务内调用,若要强制在事务内调用,则必须设置此参数为true
。 - 不良影响:强制在事务内运行可能会导致严重不良影响、数据库死锁、事务混乱等问题。实际调用过程中,一次保存,会调用
beforeSave
>saveData
>框架保存数据
>afterSave
>complateSave
这几个事件,而beforeSave
、complateSave
这两个事件是非事务内的,如果此处强制在总事务内运行,则这两个事件也会带上主事务,从可能会而导致数据库死锁。 - 举例如下:
- 例1:在
complateSave
事件中开启了异步线程,需要在异步线程中读取主单据保存后的数据,但是由于此处和主事务是一个事务,主事务并没有提交,故,在异步线程中,无法读取保存后的数据 - 例2:在
complateSave
事件中发起了三方接口调用,此接口会反馈结果,并修改主单据,但是由于主单据未提交事务,故三方接口会被数据库锁死,但是在complateSave
事件中一直在等待三方接口的返回,不返回又无法提交事务,这样就会导致数据库死锁。
- 例1:在
- 参数用途:默认请情况下,
- 开发平台增加API帮助中心:
- 显示API目录树:页面端脚本工具、服务端脚本工具,点击查看具体工具下的函数信息
- 支持按函数名称、函数描述进行检索
- 消息提醒功能优化:
- 当前打开的浏览器标签页不是谷神业务系统页面且有新消息时,谷神业务系统标签页显示消息提醒,提醒有新消息
- 当页面切换至谷神业务系统时,关掉标签显示的消息提醒
- 数据字典功能优化: 增加拖动移动常用代码位置的功能
- $vs.math新增API:
$vs.math.sin($d:double):double
$vs.math.asin($d:double):double
$vs.math.cos($d:double):double
$vs.math.acos($d:double):double
$vs.math.toRadians($d:double):double
$vs.math.toDegrees($d:double):double
- $vs.util新增函数:
$vs.util.fill($len,$char):string
返回重复指定次数的字符串
- SQLTools增加新方法:
SQLTools.UUID()
转换为数据库的UUID函数,一般返回36位长度的字符串。
- 数据库查询功能:
- 开发平台数据库管理模块下面加入数据库查询模块,主要用于开发人员无需VPN登录,直接在线进行数据库表和视图查询,方便进行远程开发;
- 支持双击表名进行表数据查询,还可以点击下拉菜单,同时也支持直接输入SQL语句进行查询;
- 支持查看表结构;
- 支持选择表字段自动生成Select 语句、Update语句;
- 支持根据表生成Insert语句;
- 支持根据表内容生成SET代码;
- 支持表字段排序、双击表内容自动生成“字段:内容”。
- 新增模块参数功能:
- 模块参数为开发平台提供给开发者自由配置复杂参数的功能。
- 模块参数具有产品继承性,产品可以通过导出场景发布到项目;项目若对本参数进行任何形式的修改,则下次产品升级到项目时就不再对本参数进行升级。
- 模块参数可随打包/增量发布从开发环境导出到生产环境。
- 新增相关API函数:
$vs.properties.getModuleConfig($configId):Map
$vs.properties.getModuleConfigValue($configId,$path):Object
功能优化
- 开发平台
插件管理
模块中插件上传时加入最后修改人信息。 - 表格列中加入选择区域后进行类似EXCEL合计信息。
- 修正应用参数管理模块部分查询条件无效。
- 修改缓存监控管理为树形结构展示及过滤。
- 修改根据导出字段进行EXCEL导出时,字段隐藏也可以导出。
- 产品服务组件代码继承到项目后,由原先的
@inherit()
变为return @inherit()
。 - 加入单独代码版本的控制,防止高版本导入低版本。
- 修正ORACLE环境下设计自定义报表时选择计算字段下报错,分组字段显示出分组相关信息。
- 过滤时如果页面上没有合计信息,则自动加入页面合计。
- 修改开发平台
系统页面
加入菜单无法显示问题,加入不允许在系统页面下加入菜单的控制。 - 开发平台
插件管理
模块插件删除时删除相关信息(插件资源、插件权限等)。 - 开发平台
单据类型管理
模块加入导入、导出到项目功能。 - 开发平台
数据字典列表
模块加入导入、导出到项目功能。 - 开发平台
定时任务管理
模块加入是否允许用户修改功能和查询条件,运营平台中分布式调度设置
模块只显示允许修改的定时任务。 - 修复开发环境下,产品代码断点无法进入的问题
- 业务日志中,增加调用链编码字段,方便结合文件日志和业务日志关联查看。
- 开发平台
定时任务管理
加入查询条件。 - 开发平台代码保存时加入#end标签匹配检测,未能完全匹配时给出错误提示。
- 修正开发平台编写代码时如果块代码末尾有注释,运行时报错问题。
- 删除自定义报表时删除相关联的菜单。
- 消息提示框加入移动端位置适配。
- 修复tabpage控件套tabpage控件的情况下,编译js文件错乱问题。
- 开发平台禁用模块时自动禁用子模块及菜单,启用时自动启用子模块及菜单。
- 修复定时任务设置“用户可修改”之后未能发布至测试、生产环境问题。
- 将单据保存时字段太长异常转换为具体的错误提示信息
- 列表中设置分组小计可以添加保存方案中
- 日期禁用时增加日期、减少日期图标禁用
- 针对非空下拉字段不检测显示字段,检查数据库保存字段
- 开发平台控件修改名字后自动修改代码中的名字
inputForm
数字格式化事件从原先的失去焦点提前到onchange前inputForm
增加初始化页面时自动加载数据的选择,默认启用detailTable
增加初始化页面时自动加载数据的选择,默认启用- 修复谷神脚本字符串转义字符无法表达问题,现在使用
#set($str='aa\nbbb')
可以输出换行符 - 支持
K8S
Docker 模式下部署(在开发者中心审核授权文件时,必须选择当前项目使用K8S部署模式
)。
- 开发平台
代码结构版本号
- 当前代码结构版本号:1.0.0
注:相同的代码结构版本号的版本开发的页面代码可以相互导出/升级。
- 当前代码结构版本号:1.0.0
文档更新时间: 2025-06-16 09:35 作者:weir