发布日期:2023-10-10

  • 升级提醒

    • 重要提示1:自本版本开始,谷神最低JDK版本要求为JDK17,不再支持JDK8版本。
    • 插件支持变更:
      • 自本版开始,不再默认支持flowable工作流组件,需要使用flowable工作流组件的项目,则采用外置插件模式支持(此处下载)。
      • 自本版开始,不再默认支持cxf(webservice)组件,需要使用cxf的项目,则采用外置插件模式支持(此处下载)。
  • 新增功能

    • beta
      • 用户界面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($field2 = $vs.util.newMap())
          #set($field2.fieldId='EXT_FIELD2')
          // 数据类型,可选,默认VARCHAR,其他类型(详见谷神开发环境添加表字段里的类型)
          // BIGINT、DATETIME、DECIMALINT、LONGTEXT、SMALLINTTEXTTIMESTAMPVARCHAR等
          #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
        // 注意:携带的属性无法在调试时查看。
      • 表格增加getCellFormatergetCellStyle事件,用于统一触发列的对应事件(优先级低于列对应事件)。
      • gUtil增加新APIloadStyle用以动态添加CSS文件。
      • inputFormitemTable数据源支持谷神脚本功能。
      • 支持系统菜单和菜单目录混合排序算法
  • 底层包版本升级说明(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
文档更新时间: 2024-04-18 09:43   作者:weir