using APT.Infrastructure.Api;
using APT.Infrastructure.Utility;
using System;
using System.ComponentModel;
using APT.Infrastructure.Core;
namespace APT.BaseData.Domain.Entities
{
    [Redis("PAGE_ID", "ID", "CODE")]
    [APT.Infrastructure.Api.RootOrg]
    [IgnoreT4]
    public partial class T_PF_BTN : MesEntityBase
    {
        public T_PF_BTN()
        {
            this.ENABLE_STATUS = 0;
            this.IS_COMFIRM = false;
        }

        /// <summary>编码</summary>
        public string CODE { get; set; }
        /// <summary>
        /// 显示名称
        /// </summary>
        public string LABEL { get; set; }
        /// <summary>
        /// 页面ID（用于Redis）
        /// </summary>
        public Guid? PAGE_ID { get; set; }
        /// <summary>
        /// 表ID字段
        /// </summary>
        public Guid? PAGE_TABLE_ID { get; set; }

        /// <summary>
        /// 表ID字段
        /// </summary>
        public Guid? PAGE_EDIT_ID { get; set; }

        /// <summary>
        /// 自定义表单ID
        /// </summary>
        public Guid? PAGE_CUSTOM_FORM_ID { get; set; }

        /// <summary>所属类型 
        /// PFBtnPageTypeEnum
        /// </summary>
        public int BTN_PAGE_TYPE { get; set; }
        /// <summary>
        /// 所属功能类型
        /// PFBtnFuncTypeEnum
        /// </summary>
        public int BTN_FUN_TYPE { get; set; }

        /// <summary>
        ///  按钮类型 1：保存 2：新增 3：删除 ....
        ///  PFBtnTypeEnum
        /// </summary>
        public int BTN_TYPE { get; set; }
        /// <summary>
        /// 是否权限控制
        /// </summary>
        public bool IS_RULE { get; set; } = true;
        /// <summary>
        /// 点击事件
        /// </summary>
        public string CLICK_EVENT { get; set; }

        /// <summary>
        /// 按钮条件每组条件用|分隔如   leval,1,1|Node.NAME,2,厦门奥普拓
        /// </summary>
        public string BTN_CONDITION { get; set; }
        /// <summary>
        /// CSS
        /// </summary>
        public string CSS { get; set; }
        /// <summary>
        /// ICON图标
        /// </summary>
        public string ICON { get; set; }
        /// <summary>
        ///  保存当前表的字段（保存到当前编辑表的字段：多个字段用,号分隔）
        /// </summary>
        public string INPUT_SAVE_FIELD { get; set; }
        /// <summary>
        /// 保存取关联表的字段（保存的字段，关联表的字段：多个字段用,号分隔）
        /// </summary>
        public string INPUT_NAV_FIELD { get; set; }
        /// <summary>
        /// 跳转表单编码
        /// </summary>
        public string FORM_CODE { get; set; }
        /// <summary>
        /// WORD打印模板编码：只对Word模板打印按钮有用
        /// </summary>
        public string WORD_TEMPLATE_CODE { get; set; }

        /// <summary>自定义参数  参数名称=参数值  多个参数时以||分割,当为列表查看时，配置字段</summary>
        public string CUSTOM_PARAMS { get; set; }

        /// <summary>
        /// 选择后可用（列表有选择项时，按钮可用）
        /// </summary>

        public bool SELECT_SHOW { get; set; }
        /// <summary>
        /// 是否同级
        /// </summary>

        public bool IS_SAME_LEVEL { get; set; }

        /// <summary>
        /// 是否默认按钮
        /// </summary>

        public bool IS_DEFAULT { get; set; }

        /// <summary>
        /// 是否需确认
        /// </summary>
        public bool? IS_COMFIRM { get; set; }

        /// <summary>
        /// API 在自定义、自定义按钮时，执行的API
        /// </summary>
        public string API_URL { get; set; }


        /// <summary>
        /// 保存后关闭窗体类型
        /// PFBtnSaveCloseTypeEnum
        /// </summary>
        public int SAVE_CLOSE_TYPE { get; set; }

        /// <summary>
        /// 保存后清空数据类型
        /// PFBtnSaveClearTypeEnum
        /// </summary>
        public int SAVE_CLEAR_TYPE { get; set; }


        /// <summary>
        /// 顺序 
        /// </summary>
        public int NUM { get; set; }


        [Description("启用标志")]
        [EnumName("FMEnableStatusEnum")]
        public int? ENABLE_STATUS { get; set; }


        [Description("源ID")]
        public Guid? SRC_ID { get; set; }

        /// <summary>
        /// 是否显示文本
        /// 现在 非行按钮显示【文本 + 图标】   行按钮 显示图标
        /// 这个字段 实现 行按钮也可以显示 【文本 + 图标】
        /// </summary>
        [Description("是否显示文本")]
        public bool IS_SHOWLAB { get; set; }
    }
}
