package cn.estsh.i3plus.pojo.base.annotation;

import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;

import java.lang.annotation.*;

/**
 * 字段类型属性注解
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.TYPE})
public @interface DynamicField {
    // Web前端字段数据类型
    CommonEnumUtil.FIELD_TYPE webFieldType();
    // 条件表达式:>,<,>=等
    String conditionExpre() default "=";
    // 条件连接符:and/or
    String conditionConnector() default "and";
    // 排序序号
    int seq() default 0;
    // 字段列宽度
    double width() default 0d;
    // 排序规则:默认0-不排序，1-升序2-降序
    int sort() default 0;
    // 是否标题字段加粗 是否加粗:默认1-加粗，2-非加粗
    int isWider() default 2;
    // 是否可选作查询条件:默认1-可选，2-不可选
    int isQuery() default 1;
    // 是否勾选:默认1-勾选，2-非勾选
    int isSelect() default 1;
    // 是否必选:默认1-必选，2-非必选
    int isRequire() default 1;
    // 是否表单字段展示:默认1-显示，2-隐藏
    int isShow() default 1;
    // 是否跳过本字段扫描 0-不跳过，1-跳过
    int isSkip() default 0;
    // 下拉列表显示列名称,多个列名需要根据逗号分隔
    String listColumnName() default "";
    // 下拉搜索列名称,多个列名需要根据逗号分隔
    String searchColumnName() default "";
    // 回显列名
    String explicitColumnName() default "";
    // 是否多选:1-多选，默认2-单选
    int isMultiple() default 2;
    // 数据来源
    String dataSrc() default "";
    // 取值方式
    CommonEnumUtil.DYNAMIC_FIELD_GET_WAY getValWay() default CommonEnumUtil.DYNAMIC_FIELD_GET_WAY.ENUM;
}
