发布日期:2021-12-10
新增功能
谷神脚本语言对临时表的支持:
$vs.dbTools.createTempTable($sql,$where,$isEnableDataAuth)
:临时表建表$vs.dbTools.dropTempTable($tableId)
:删除指定临时表$vs.dbTools.dropAllTempTable()
:删除所有当前线程的临时表- 使用方法:
createTempTable
必须是MYSQL
语法(不管您当前使用的是何种数据库),且代码可以在所有谷神支持的数据库上运行。代码示例:
// 直接建表语句创建临时表 $vs.dbTools.createTempTable(` CREATE TEMPORARY TABLE tmp_contract ( FPHM varchar(30) NOT NULL, -- 合同号码 MBCODE varchar(30) NOT NULL, MBNAME varchar(200) DEFAULT NULL, HZCODE varchar(30) NOT NULL, HZNAME varchar(200) DEFAULT NULL, CREATE_TIME datetime DEFAULT NULL, AMT decimal(18,2) DEFAULT NULL, DEPT_CODE varchar(10) DEFAULT NULL, ORG_CODE varchar(10) DEFAULT NULL, USER_ID varchar(30) DEFAULT NULL, PRIMARY KEY (FPHM), /*<-- 主键*/ INDEX IX_SBILLBATCH_1 (FPHM,MBCODE), -- 索引 UNIQUE INDEX IX_SBILLBATCH_2 (FPHM,MBCODE,HZCODE) -- 唯一索引 ) `);
临时表可以使用// 通过SQL直接建立临时表 $vs.dbTools.createTempTable(` CREATE TABLE tmp_select_contract as select FPHM, MBCODE, MBNAME, HZCODE, HZNAME, CREATE_TIME, AMT, DEPT_CODE, ORG_CODE, USER_ID FROM qs_contract where fphm = :FPHM `,$form);
$vs.dbTools.*
下的所有方法。请注意:在临时表使用完后请及时用
$vs.dbTools.dropAllTempTable()
清理临时表
主表格数据源增加
谷神脚本
选项:开发者可以选择SQL
或者用代码来编写报表的数据源谷神脚本
数据源代码编写如下:$vs.dbTools.createTempTable(` CREATE TEMPORARY TABLE tmp_contract ( FPHM varchar(30) NOT NULL, -- 合同号码 MBCODE varchar(30) NOT NULL, MBNAME varchar(200) DEFAULT NULL, HZCODE varchar(30) NOT NULL, HZNAME varchar(200) DEFAULT NULL, CREATE_TIME datetime DEFAULT NULL, AMT decimal(18,2) DEFAULT NULL, DEPT_CODE varchar(10) DEFAULT NULL, ORG_CODE varchar(10) DEFAULT NULL, USER_ID varchar(30) DEFAULT NULL, PRIMARY KEY (FPHM), /*<-- 主键*/ INDEX IX_SBILLBATCH_1 (FPHM,MBCODE), -- 索引 UNIQUE INDEX IX_SBILLBATCH_2 (FPHM,MBCODE,HZCODE) -- 唯一索引 ) `); #set($sql = ` INSERT INTO tmp_contract ( FPHM, MBCODE, MBNAME, HZCODE, HZNAME, CREATE_TIME, AMT, DEPT_CODE, ORG_CODE, USER_ID ) SELECT FPHM, MBCODE, MBNAME, HZCODE, HZNAME, CREATE_TIME, AMT, DEPT_CODE, ORG_CODE, USER_ID FROM qs_contract where fphm = :FPHM -- 注意此处的查询条件表达式 `) $vs.dbTools.execute($sql,$form) // <-- 把数据写进临时表去 // 判断当前是否为分页 #if ($form.pageSize eq null or $form.pageSize == 0) #set($isPage = false) #else #set($isPage = true) #end #if ($isSum) $vs.log.info($sumFields) #set($sql = ` select sum(AMT) as AMT from tmp_contract where fphm = :FPHM `) #set($page = $vs.dbTools.uniqueResult($sql,$form)) #else #set($sql = ` select FPHM, MBCODE, MBNAME, HZCODE, HZNAME, CREATE_TIME, AMT, DEPT_CODE, ORG_CODE, USER_ID from tmp_contract where fphm = :FPHM and DEPT_CODE = DATA_AUTH('DEPT_CODE') -- 数据权限表达式 `) #if ($isPage) #set($page = $vs.dbTools.findPage($sql,$form,true)) #else #set($page = $vs.dbTools.list($sql,$form,true)) #end #end $vs.dbTools.dropAllTempTable(); // 删除所有临时表 return $page;
新增密码复杂度配置功能:
- 开发平台
应用管理
->更多操作
->登录设置
进行密码强度设置- 密码强度:选择相应组合后,设置密码时必须包含相应的字符,
- 密码长度:分
6
位以上、8
位以上、10
位以上、12
位以上 - 强制修改密码:默认
0
不控制,大于0
时将按要求的月份到期强制要求修改密码 - 首次登录修改密码:用户第一次使用初始密码登录的强制要求修改密码
- 开发平台
新增访问控制配置功能:
- 开发平台
应用管理
->更多操作
->登录设置
进行启用设置,默认不启用 - 配置模块需要有超级管理员权限,在应用平台:
系统设置
->访问控制管理
中进行配置
- 开发平台
新增安全日志查询:(
登录
、修改密码
、访问控制
等)记录和日志查询功能- 安全日志查询模块需要有超级管理员权限,在应用平台:
系统设置
->系统日志查询
中进行查看
- 安全日志查询模块需要有超级管理员权限,在应用平台:
用户登录密码保护加强:用户登录时,对用户输入的密码进行再次加密,保证数据传输过程中的安全性和完整性。
inputForm
、gridForm
增加折叠线框控制功能:inputForm.foldbox('info-box').hide()
:隐藏折叠线及其下的所有控件inputForm.foldbox('info-box').show()
:显示折叠线及其下的所有控件inputForm.foldbox('info-box').isShow()
:返回折叠线框是否处于可视状态inputForm.foldbox('info-box').open()
:打开折叠线框显示其下控件inputForm.foldbox('info-box').close()
:关闭折叠线框隐藏其下控件inputForm.foldbox('info-box').isOpen()
:返回折叠线框是否处于打开状态inputForm.foldbox('info-box').getTitle()
:返回折叠线框的标题inputForm.foldbox('info-box').setTitle()
:设置折叠线框的标题
系统应用参数
增加字段初始值
,用于在产品升级项目时默认值。表格
EXCEL导出
增加如下功能:- 不再导出被用户手工隐藏的字段
- 导出文件默认以菜单命名
数据权限增加视图支持:
数据权限
设置中,数据源来源增加对视图的支持,允许选择数据权限的数据来源为视图。增加用户数据权限查询方法:
$vs.auth.getUserDataAuths($userId:string,$authFieldId:string)
$vs.auth.getUserDataAuths($userId:string)
$vs.auth.getUsersDataAuths($userIds:List<string>,$authFieldId:string)
$vs.auth.getUsersDataAuths($userIds:List<string>)
下拉组件支持谷神脚本:下拉组件新支持谷神脚本计算获取数据(不可用于缓存代码换算名称)
示例代码:
#set($sql = ` select * from basic_user where user_type = 10 and SQLTools.like(user_name,#{_keyword_}) // _keyword_ 为用户输入的关键字 `) #set($page=$vs.dbTools.findPage($sql,$form)) #foreach ($item in $page.result) // 必须每条记录都添加 code 和 name 属性 #set($item.code = $item.USER_ID) #set($item.name = $item.USER_NAME) #end return $page;
inputForm
、gridForm
、searchForm
增加方法:inputForm.setTitle(fieldId,title)
inputForm.getTitle(fieldId)
新增word转pdf文件方法:由于依赖冲突本功能已取消$vs.file.wordToPdf($filePath):string
新增文件下载方法:
$vs.file.getFileToTemp($filePath):string
:下载私有文件到本地临时目录$vs.file.getWebFileToTemp($filePath):string
:下载公有文件到本地临时目录
主数据表格字段增加
允许取消字段分组合计
功能:当报表的SQL为GROUP BY时,开启此功能可以在表格右上角的更多菜单中找到分组合计字段
菜单项,用户可以在此菜单内选择取消那些合计字段而达到动态合计数据的效果。表格右上角更多菜单中增加
隐藏显示字段
功能:方便用户显示/隐藏字段.新增在线用户管理:在应用平台:
系统设置
->在线用户管理
可以查询当前用户在线情况,特殊情况下强制退出某些操作员- 可以设置用户在线会话数,限制平台的同时在线人数,在开发平台应用管理->程序发布->添加标准配置中进行设置
新增菜单信息查询方法:
$vs.auth.getMenus($mkId)
页面按钮增加调起点击事件方法:
self.button('bnt').click()
inputForm
控件字段增加占位文字功能,可以额外提示用户字段含义。开发环境增加
开发日志
查询功能。系统脚本新增版本对比功能
新增试升级报告:导入场景之前可以先进行试升级,并查看相应报告
消息弹窗操作性优化:确认弹出框,加入左右键选择、ESC退出、Enter确认
导航菜单栏操作性优化:加入菜单收藏功能
预警监控功能升级:数据来源增加
谷神报表
,可以读取并执行已经存在的报表。inputForm
和inputGrid
控件增加富文本编辑器RichEditor
:- 开启方法:控件
text
类型字段启用大文本编辑
后再启用富文本编辑
属性。
- 开启方法:控件
inputForm
和..inputGrid
控件增加APIinputForm.richEditor('field')
:inputForm.richEditor('field').getEditor()
inputForm.richEditor('field').clear()
inputForm.richEditor('field').isFocus()
inputForm.richEditor('field').setFocus()
inputForm.richEditor('field').lostFocus()
inputForm.richEditor('field').getHtml()
inputForm.richEditor('field').getText()
inputForm.richEditor('field').insertContent()
inputForm.richEditor('field').setContent()
inputForm.richEditor('field').appendContent()
inputForm.richEditor('field').hasContent()
inputForm.richEditor('field').getSelectedText()
inputForm.richEditor('field').enabled()
inputForm.richEditor('field').disabled()
inputForm.richEditor('field').getLocalData()
inputForm.richEditor('field').clearLocalData()
对话框UI更改:
gUtil.alert(msg,fun,iconType)
:iconType 1 - 成功 2- 警告 3 - 错误gUtil.alertWarn(msg,fun)
:警告对话框gUtil.alertError(msg,fun)
:错误对话框