›R3

    R3

    • R3 START
    • R3 API
    • R3 Route Policy
    • R3 CustomPage Configuration Rules
    • R3 CustomTab Policy
    • R3 Form Config
    • R3 System Configuration URL JumpRules
    • R3 Store
    • Extention Configuration
    • R3 Mixin
    • R3 Update
    • R3-components Update

    框架表单系统控制逻辑

    R3框架明细界面(单对象),本质是表单系统,该系统中每个字段允许附加的控制逻辑如下(在表单系统中,每个字段按照主控以及被控的关系可以分为主控字段以及被控字段)

    • 主控字段的值发生变化,是唯一触发被控字段受控逻辑的契机。被控字段受控场景有且仅有本文所述内容:
    • 被控字段是否允许编辑
    • 被控字段是否必填
    • 被控字段是否显示在界面上。
    • 被控字段的当前值、备选值。
    • 以下讲解示例中,假设主控字段以A、A1、A2、...、An表示。被控字段以B、B1、B2、...、Bn表示。

    受控点一:是否允许编辑

    场景一: 当A取值为"a"时,B允许编辑。其他情况,B均不可编辑。此时,应该针对B进行配置,配置规则如下:

    
    
    {
        webconf:{
            setAttributes:{
                field:[    
                  {
                        refcolumn:"来源字段的key",
                        refval:"来源字段的值"  //多个值域用逗号隔开
                   }
                ],
                props:{    设置属性( 是否可编辑)
                  disabled :true
                }
            }
        }
    }
    

    场景二: 当A1取值为"a1",A2取值为"a2",...,An取值为"an"时,B不允许编辑,其他情况,B均可编辑。此时,应该针对B进行配置,配置规则如下:

    {
        webconf:{
            setAttributes:{
                field:[    
                  {
                        refcolumn:"来源字段的key",
                        refval:"来源字段的值"  //多个值域用逗号隔开
                   },
                   {
                        refcolumn:"来源字段的key",
                        refval:"来源字段的值"  //多个值域用逗号隔开
                   }
                ],
                props:{    设置属性( 是否可编辑)
                  disabled :true
                }
            }
        }
    }
    
    
    

    受控点二:是否必填

    场景一: 当A取值为"a"时,B允许编辑。其他情况,B均不可编辑。此时,应该针对B进行配置,配置规则如下:

    
    {
        webconf:{
            webconf:{
            setAttributes:{
                field:[    
                  {
                        refcolumn:"来源字段的key",
                        refval:"来源字段的值"  //多个值域用逗号隔开
                   }
                ],
                props:{    设置属性( 是否必填)
                 required:true
                }
            }
        }
        }
    }
    

    场景二: 当A1取值为"a1",A2取值为"a2",...,An取值为"an"时,B不允许编辑,其他情况,B均可编辑。此时,应该针对B进行配置,配置规则如下:

    {
        webconf:{
            webconf:{
            setAttributes:{
                field:[    
                  {
                        refcolumn:"来源字段的key",
                        refval:"来源字段的值"  //多个值域用逗号隔开
                   },
                   {
                        refcolumn:"来源字段的key",
                        refval:"来源字段的值"  //多个值域用逗号隔开
                   }
                ],
                props:{    设置属性( 是否必填)
                 required:true
                }
            }
        }
        }
    }
    
    
    

    受控点三:是否显示

    场景一: 当A取值为"a1","a2",...,"an"时,B字段隐藏,其他情况B均显示。此时,应该针对B进行配置,配置规则如下:

    {
        hidecolumn:{
            refcolumn:"TYPE", // 来源字段
            refval:"1" // 来源字段的值,多字段用逗号隔开
        },
    }
    

    受控点四: 备选值、即时赋值

    控制备选值(值域)

    场景一: 有外键字段A、外键字段B,B字段的查询条件取决于当前A的取值。当A发生变化时,B需要清空。此时,应该针对B进行配置,配置规则如下:

    {
        refcolval:{
            fixcolumn:"AD_TABLE_ID", // 传参
            expre:"equal", // 拼接条件
            srccol:"AD_TABLE_ID" // 来源字段
        }
    }
    
    如果 srccol === '$OBJID$' ,则 支持主表id 过滤
    
    

    场景二: 有任意类型字段A,下拉Select类型字段B,B字段的查询条件取决于当前A的取值。当A发生变化时,B需要清空。此时,应该针对B进行配置,配置规则如下:

    {
        webconf:{
            filtercolval:{
                col:"", // 来源字段
                map:{
                    "来源字段的key":['被控字段的值域']
                }
            }
        }
    }
    

    控制当前值

    场景一: 有任意类型字段A1、A2、...、An,当其中任意主控字段的值发生变化时,需要根据业务需求为B1、B2、...、Bn赋值。此种情况全部统一走R3接口服务处理。即:当A1、A2、...、An中任意字段值发生变化时,携带指定参数请求对应的服务接口,接口返回B1、B2、...、Bn的即时值,由前端实时赋值处理。

    {
        webconf:{   // 配置到主控字段
            formRequest:{
                refcolumn:"DBNAME,NULLABLE,AD_TABLE_ID", // 需要向后台传参字段,多字段用逗号隔开
                url:'' // 后台服务端接口
            }
        }
    }
    

    多值查询功能

    场景: B字段根据字段A1、A2、...、An的值进行多值查询的功能

    {
        webconf:{   // 配置到被控字段
            refcolvalArray:[{
                fixcolumn:"AD_TABLE_ID", // 传参
                expre:"equal", // 拼接条件
                srccol:"AD_TABLE_ID" // 来源字段
            }]
        }
    }
    
    ← R3 CustomTab PolicyR3 System Configuration URL JumpRules →
    • 受控点一:是否允许编辑
    • 受控点二:是否必填
    • 受控点三:是否显示
    • 受控点四: 备选值、即时赋值
    • 多值查询功能
    相关资源
    ARK Share
    - 前端组件资源共享平台
    Ark Cli
    - 前端开发工具
    ARK Dingtalk
    - 基于钉钉E应用的移动端组件库
    ARK Design
    - 服务于企业级产品的设计语言
    应用项目
    Burgeon R3JFlow
    更多信息
    Copyright © 2020 syman reserved.
    友情链接
    快递查询