下拉控件

1.基本功能 1.基本功能

1.1.下拉【通用数据字典】 1.1.下拉【通用数据字典】

  • 下拉框有单选下拉框,多选下拉框两种。
  • 字段的输入值用户可直接选择,此时可以配置下拉控件。下拉控件的下拉明细一般有三种类型分别为:下拉控件【通用数据字典】下拉【单层数据字典】下拉【单层数据字典-分组】这三种。三种的区别主要在于数据字典维护方式不一致。
  • 1.2. 通用数据字典 1.2. 通用数据字典

    通用数据字典在平台维护下拉明细,如果后续有增加明细必须要回到平台上维护。

    1.3. 单层数据字典 1.3. 单层数据字典

  • 单层数据字典主要适用的场景是下拉明细来源于业务表中,后续增加下拉明细项直接在对应的业务表中新增记录即可。在单层数据字典的基础上另外增加了【单层数据字典-分组】,此情况和【单层数据字典】的主要区别于后者是取业务表中的所有明细记录而前者则可以根据某些字段过滤部分数据。目前过滤是根据常量过滤的,无法通过变量来过滤。
  • 下拉通用-效果1

    1.4. 数据字典查询缓存 1.4. 数据字典查询缓存

    数据字典支持缓存加载功能,用户通过配置文件中的开关控制是否启用缓存,默认是关闭缓存功能

    2.配置方法 2.配置方法

    2.1.下拉框控件 2.1.下拉框控件

    配置

    1. 准备好对应的通用数据字典或者是单层数据字典。此步骤具体可以根据需求参考2.2或者2.3小节。
    2. 对象建模–业务对象–业务对象管理:查询需要配置的业务对象,编辑业务对象,点击【可视化布局】按钮,跳转到可视化编辑页面。
    3. 找到要配置下拉控件的字段,将右侧【控件类型】修改为【下拉框】。如果是多选下拉控件,则将控件类型为多选下拉框。如果是使用通用数据字典单层数据字典无分组的,则在【字典表】中填写【字典代码】值(备注:此处的字典代码指2.2和2.3中配置的字典代码字段)。
      字典表01
      如果是使用单层数据字典-分组的,则在【字典表】中填写【字典代码】值(备注:此处的字典代码指2.2和2.3中配置的字典代码字段)且需要在【字典分组值】中填入单层数据字典中【分组字段】中的记录值。例如分组字段为IS_ACTIVE且字段中的维护的记录有Y和N,如果此处【字典分组值】为【Y】,则下拉选项会筛选出IS_ACTIVE='Y'的记录。
      字典表03
    4. 保存可视化,重新生成前端页面。

    代码

    html中body元素上生成g-dict标签,标签里面的值即为配置的数据字典代码,如果是有分组的则生成的格式为【字典代码$字典分组值】。

    <body ng-controller="testLixq301DbController" g-dict="TEST_CASE_TYPE,OrderType,MD_CURRENCY,MD_CURRENCY_GROUP$Y"class="showColor" style="min-width:inherit"  on-finish-render>
    
      <g-column-editor> 
       <g-dropdown g-focus-select="" show-event="click" ng-model="row.currencyGroup" unmatch-remove="true" placeholder="请选择" source="$dict.MD_CURRENCY_GROUP$Y" name="testLixq301DetailDb.currencyGroup" id="testLixq301DetailDb.currencyGroup" display-express="value" value-prop="key"> 
       </g-dropdown> 
      </g-column-editor>
    

    2.2. 通用数据字典2.2. 通用数据字典

    配置

    1. 对象建模–基础数据–数据字典:点击这个菜单进入到数据字典维护界面,点击新增按钮新增一笔数据字典。
    2. 填写数据字典代码名称(自定义,输入格式:英文字母和下划线,且名称要唯一),字典名称(名称自定义),字典类型为【通用数据字典】,然后点击保存按钮。
      下拉通用-配置2
    3. 在数据字典明细中新增数据,维护代码值,显示值和顺序号。几条明细代表几个下拉选项,代码值建议是英文字母,显示值自定义,顺序号则是下拉选项的排序。数值小的排在前面。
      下拉通用-配置3
    4. 保存数据后,回到管理页找到刚才维护的数据字典,点击【同步到目标数据库】。如果需要将明细刷到其他环境,可以点击【导出配置数据】按钮;如果勾选的数据是其他视图引用的数据字典,用户需要回到原视图做【同步到目标数据库】和【导出配置数据】操作。

    2.3. 单层数据字典 2.3. 单层数据字典

    配置

    1. 对象建模–基础数据–数据字典:点击这个菜单进入到数据字典维护界面,点击新增按钮新增一笔数据字典。
    2. 填写字典代码(自定义),字典名称(自定义),字典类型(单层字典表),字典表名(为业务库中维护下拉选项对应的表名),字典代码字段(对应表的字段且是需要存储的下拉值),字典ID字段(对应表的主键),字典名称字段(对应表字段且是下拉框中的显示值)。
      下拉单层-配置3
    3. 如果需要分组的,则需要勾选【是否分组】,填写分组字段。
      单层字典2
    4. 保存数据后,回到管理页找到刚才维护的数据字典,点击【同步到目标数据库】。如果需要将明细刷到其他环境,可以点击【导出配置数据】按钮;如果勾选的数据是其他视图引用的数据字典,需要回到原视图做【同步到目标数据库】和【导出配置数据】操作。

    2.4. 数据字典查询缓存 2.4. 数据字典查询缓存

    配置

    1. 在工程目录\src\resources\config下,找到application.properties配置文件,增加glpaas.dict.cache = true配置项。
    2. 如果是通用数据字段,在平台上有新增修改数据字段明细,除了同步配置数据,还要点击【清除字典缓存】按钮,界面上的数据字典才会更新,或者前台请求调用清理查询缓存路径http://IP:端口/上下文/dictionary/clearDictionaryCache ,例如http://localhost/MyProject/dictionary/clearDictionaryCache 。
    3. 如果项目组有自己维护数据字典,在保存更新或删除时可以调用接口更新字典缓存,接口可以参考常用扩展3.1. 数据字典查询缓存

    3.常用扩展 3.常用扩展

    3.1. 数据字典查询缓存 3.1. 数据字典查询缓存

    1. 如果项目组有自己维护数据字典,在保存更新或删除时可以调用接口更新字典缓存(后台代码调用接口,
      gillion-ipf-base包中中提供处理数据字典缓存的相关接口:DictionaryServiceExt)
      (1)清除所有缓存:clearDictionaryCache
      (2)如果是单层数据字典(不分组)和通用数据字典调用下面提供的接口
      单笔更新(根据字典代码):updateDictionaryCacheByDictCode
      批量更新(根据字典代码):batchUpdateDictionaryCacheByDictCode
      (3)如果是单层数据字典且分组需调用如下接口:(提供字典代码值和分组字段对应的真实值,例如数据字典值为 DataType$num 则:DataType是字典代码值,num是分组字段对应的数据中的值。)
      updateDictionaryCacheByDictCodeAndGroupValue(String dictCode,String groupValue);

    /** * 清除数据字典缓存 */ void clearDictionaryCache(); /** * 根据数据字典代码更新数据字典缓存 * * @param dictCode */ void updateDictionaryCacheByDictCode(String dictCode); /** * 根据数据字典代码批量更新数据字典缓存 * * @param dictCodeList */ void batchUpdateDictionaryCacheByDictCode(String[] dictCodeList); /** * 更新单层数据字典分组字段组合key * * @param dictCode * @param groupValue */ void updateDictionaryCacheByDictCodeAndGroupValue(String dictCode, String groupValue); }

    4.版本更新 4.版本更新

    7.4.1,2021.03.12

    优化

  • 【导出数据字典】按钮,如果勾选的是引用数据,提示【请回原视图导出配置数据!】。
  • 【同步到目标数据库】按钮,如果勾选的是引用数据,提示【请回原视图同步配置数据!】。
  • 查询界面上增加字段【归属视图】用来区分引用数据所属视图。