using APT.Infrastructure.Core;
using APT.Infrastructure.Utility;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace APT.BaseData.Domain.Entities
{
	[Redis("PAGE_TABLE_ID")]
	[APT.Infrastructure.Api.RootOrg]
	[IgnoreT4] public partial class T_PF_COLUMN : MesEntityBase
    {
        public T_PF_COLUMN()
        {
            IS_DEFAULT = true;
			this.INPUT_FILTER_ORG_TYPE = 0;

		}
        //public string Mapping_Table { get; set; }
        /// <summary>
        /// 字段名称
        /// </summary>
        public string FIELD_NAME { get; set; }
        
        /// <summary>
        /// 显示名称
        /// </summary>
        public string LABEL { get; set; }
        /// <summary>
        /// 表格名称（默认为页面名称）
        /// </summary>
        public string TABLE_NAME { get; set; }
        /// <summary>
        /// 表ID字段
        /// </summary>
        public Guid? PAGE_TABLE_ID { get; set; }
        /// <summary>
        /// 是否权限控制
        /// </summary>
        public bool IS_RULE { get; set; }
        /// <summary>
        /// 是否显示
        /// </summary>
        public bool IS_DEFAULT { get; set; }
        /// <summary>
        /// 列类型：1.普通（数据库字段）  2.自定义数据 
        /// </summary>
        public int DATA_TYPE { get; set; }
		/// <summary>
		/// 是否不排序
		/// </summary>
		public bool NO_SORT { get; set; }
		/// <summary>
		/// 控件类型：1：input 2：datetime 3:select 4:radio 5:check 6:area
		/// </summary>
		[EnumName("PFColumnControlTypeEnum")]
        public int CONTROL_TYPE { get; set; }
        /// <summary>
        /// 验证方法
        /// </summary>
        public string VALIDATA_TYPE { get; set; }
        /// <summary>
        /// 格式化
        /// </summary>
        public string FORMAT { get; set; }
         /// <summary>
        /// 枚举名称
        /// </summary>
        public string ENUM { get; set; }
        /// <summary>
        /// 顺序 
        /// </summary>
        public int NUM { get; set; }
        /// <summary>
        /// 列固定宽度
        /// </summary>
        public int WIDTH { get; set; }

		/// <summary>
		/// 级联显示级数
		/// </summary>
		public int INPUT_DATA_LEVEL { get; set; }

		/// <summary>
		/// 是否只允许选中叶子节点
		/// </summary>
		public bool IS_ONLY_CHECK_LEAF { get; set; }

		/// <summary>
		/// 查询表单编号
		/// </summary>
		public string SHOW_FORM_CODE { get; set; }

		/// <summary>
		/// 长度最小值
		/// </summary>
		public int MIN_LEN { get; set; }


		/// <summary>
		/// 长度最大值
		/// </summary>
		public int MAX_LEN { get; set; }

		/// <summary>
		/// 查询ID字段名称
		/// </summary>
		public string SHOW_ID_FIELD { get; set; }

		/// <summary>
		/// 页脚汇总类型  ColumnFooterSumTypeEnum
		/// </summary>
		public int FOOTER_SUM_TYPE { get; set; }


		/// <summary>自定义参数 参数名称=参数值  多个参数时以||分割</summary>
		public string CUSTOM_PARAMS { get; set; }

		/// <summary>分组合并字段  逗号隔开</summary>
		public string  MERGE_CELLS{get;set;}

		/// <summary>是否显示汇总</summary>
		public bool IS_SHOW_SUM { get; set; }

		///// <summary>
		///// 格式化方式
		///// </summary>
		//public int FORMAT_TYPE { get; set; }'
		/// <summary>
		/// 获取数据的API地址
		/// </summary>
		public string INPUT_DATA_API { get; set; }

		/// <summary>
		///  关联ID字段（配置保存主键ID的字段名称）
		/// </summary>
		public string INPUT_ID_FIELD { get; set; }

		/// <summary>
		/// 过滤条件对应的数据库ID(配置关联表的字段，多字段用,号分割）
		/// </summary>
		public string INPUT_FILTER_FIELD { get; set; }
		/// <summary>
		/// 排序字段(配置关联表的字段，多字段用,号分割）
		/// </summary>
		public string INPUT_SORT_FIELD { get; set; }
		/// <summary>
		/// 排序方式(配置关联表的字段，多字段用,号分割）
		/// </summary>
		public string INPUT_SORT_ORDER { get; set; }
		/// <summary>
		///  显示字段(选择后显示在控件上：配置关联表的一个字段）
		/// </summary>
		public string INPUT_LABEL_FIELD { get; set; }
		/// <summary>
		///  显示的数据库字段(联动查询后，显示的列表，配置关联表的字段：多字段用,号分割）（查询后，展开的数据）
		/// </summary>
		public string INPUT_SHOW_FIELD { get; set; }
		/// <summary>
		/// 保存取关联表的字段（保存的字段，关联表的字段：多个字段用,号分隔）
		/// </summary>
		public string INPUT_NAV_FIELD { get; set; }
		/// <summary>
		/// 保存当前表的字段（保存到当前编辑表的字段：多个字段用,号分隔）
		/// </summary>
		public string INPUT_SAVE_FIELD { get; set; }
		/// <summary>
		/// 过滤组织类型
		/// </summary>
		[EnumName("PFFilterOrgTypeEnum")]
		public int? INPUT_FILTER_ORG_TYPE { get; set; }

		/// <summary>
		/// 列表页区域ID
		/// </summary>
		public Guid? PAGE_TABLE_PANEL_ID { get; set; }

		//public virtual T_FM_USER Nav_Creater { get; set; }
		public virtual T_PF_PAGE_TABLE Nav_PageTable { get; set; }
		public virtual T_PF_PAGE_TABLE_PANEL Nav_PageTablePanel { get; set; }

		public virtual ICollection<T_PF_COLUMN_FILTER> Nav_Filters { get; set; }
		[Description("源ID")]
		public Guid? SRC_ID { get; set; }
	}
}
