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

namespace APT.BaseData.Domain.Entities
{
    [Redis("PAGE_FORM_ID", "ID", "CODE")]
    [APT.Infrastructure.Api.RootOrg]
    [IgnoreT4] public partial class T_PF_PAGE_TABLE : TreeEntityBase<T_PF_PAGE_TABLE>
    {
        public T_PF_PAGE_TABLE()
        {
            this.SEND_TYPE = "Post";
			this.IS_SHOW_ROW_NO = false;
			this.FILTER_ORG_TYPE = 0; 
		}
        [Description("编码")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        /// <summary>编码</summary>
        public string CODE { get; set; }
		/// <summary>
		/// 窗体ID
		/// </summary>
		public Guid? PAGE_FORM_ID { get; set; }
        /// <summary>
        /// 表名
        /// </summary>
        [Description("名称")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string TABLE_NAME { get; set; }

        /// <summary>
        /// 标题（EXCEL导出标题）
        /// </summary>
        [Description("EXCEL标题")]
        [FormFieldTable]
        [FormFieldEdit]
        public string TITLE{ get; set; }
        /// <summary>
        /// 数据库表名
        /// </summary>
        [Description("数据库表")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string DATA_TABLE { get; set; }
        /// <summary>
        /// 是否显示选择列
        /// </summary>
        [Description("是否选择")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public bool SHOW_CHECK { get; set; }

        /// <summary>
        /// 表单显示条件
        /// </summary
        /// </summary
        [Description("表显示条件")]
        [FormFieldEdit]

        public string TABLE_CONDITION { get; set; }
        /// <summary>
        /// 0:checkbox 1:radio
        /// </summary>
        [Description("选择类型")]
        [FormFieldEdit]
        public int CHECK_TYPE { get; set; }
        /// <summary>
        /// 显示名称
        /// </summary>
        [Description("显示名称")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string LABEL_NAME { get; set; }
        /// <summary>
        /// 访问路径：URL路径，如：/Production/WorkOrder/DispatchStaff
        /// </summary>
        [Description("分页接口")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string API_URL { get; set; }
        /// <summary>
        /// 删除API地址
        /// </summary>
        [Description("删除接口")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string DEL_API_URL { get; set; }
        /// <summary>
        /// 批量删除API地址
        /// </summary>
        [Description("批删接口")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string BATCH_DEL_API_URL { get; set; }
        /// <summary>
        /// 发送方式
        /// </summary>
        [Description("发送方式")]
        [EnumName("SendTypeEnum")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string SEND_TYPE { get; set; }

        [Description("排序字段")]
        [FormFieldEdit]
        /// <summary>
        /// 排序字段
        /// </summary>
        public string SORT { get; set; }


        [Description("排序字段组")]
        [FormFieldEdit]
        /// <summary>
        /// 排序字段
        /// </summary>
        public string SORTS { get; set; }
        /// <summary>
        /// 排序方式
        /// </summary>
        [Description("排序方式")]
        [FormFieldEdit]
        public int ORDER { get; set; }

        /// 排序方式
        /// </summary>
        [Description("排序方式组")]
        [FormFieldEdit]
        public string ORDERS { get; set; }
        /// <summary>
        /// 样式字段
        /// </summary>
        [Description("样式字段")]
        [FormFieldEdit]

        public string CLASS_FIELD { get; set; }

        [Description("样式函数")]
        [FormFieldEdit]
        /// <summary>
        /// 自定义样式函数
        /// </summary>
        public string CLASS_FUNC_NAME { get; set; }

        [Description("顺序")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        /// <summary>
        /// 顺序 
        /// </summary>
        public int NUM { get; set; }

        [Description("最大选中记录数")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        /// <summary>
        /// 顺序 
        /// </summary>
        public int MAX_SELECT { get; set; }
        /// <summary>
        /// 表格宽度
        /// </summary>
        [Description("宽度")]
        [FormFieldEdit]
        public int WIDTH { get; set; }
        /// <summary>
        /// 图片字段配置
        /// </summary>
        [Description("图片字段")]
        [FormFieldEdit]
        public string PIC_CODE_FIELD { get; set; }
        /// <summary>
        /// 表格高度
        /// </summary>
        [Description("高度")]
        [FormFieldEdit]
        public int HEIGTH { get; set; }
        /// <summary>
        /// 'top' | 'bottom' | 'both'  分页位置（默认both)
        /// </summary>
        [Description("分页位置")]
        [FormFieldEdit]
        public string POSITION { get; set; }

        [Description("父表字段")]
        [FormFieldEdit]
        /// <summary>
        ///子表关联父表，父表字段名称 默认为ID
        /// </summary>
        public string PARENT_RELATION_FIELD { get; set; }

        [Description("子表关联字段")]
        [FormFieldEdit]
        /// <summary>
        ///与父表关联字段
        /// </summary>
        public string RELATION_FIELD { get; set; }
        /// <summary>
        /// 是否按照卡片显示
        /// </summary>
        [Description("卡片显示")]
        [FormFieldEdit]
        public bool IS_SHOW_CARD { get; set; }
        /// <summary>
        /// 是否不根据字段查询
        /// </summary>
        [Description("不按字段查")]
        [FormFieldEdit]
        public bool NO_SELECT_FIELD { get; set; }
        /// <summary>
        /// 自定义参数
        /// </summary>
        [Description("导航：表过滤条件")]
        public virtual ICollection<T_PF_TABLE_PARAMS> Nav_TableParams { get; set; }

        [Description("显示页脚")]
        [FormFieldEdit]
        /// <summary>是否显示页脚</summary>
        public bool IS_SHOW_FOOTER { get; set; }

        [Description("页脚汇总类型")]
        [FormFieldEdit]
        [EnumName("TableFooterSumTypeEnum")]
        /// <summary>
        /// 页脚汇总类型  TableFooterSumTypeEnum
        /// </summary>
        public int FOOTER_SUM_TYPE { get; set; }

        [Description("自定义参数")]
        [FormFieldEdit]

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



        [Description("显示序号")]
        [FormFieldTable]
        [FormFieldEdit]
        /// <summary>是否序号</summary>
        public bool? IS_SHOW_ROW_NO { get; set; }

		/// <summary>
		/// 过滤组织类型
		/// </summary>
		[EnumName("PFFilterOrgTypeEnum")]
		public int? FILTER_ORG_TYPE { get; set; }
        /// <summary>
        /// 是否忽略组织权限
        /// </summary>
        public bool IGNORE_ORG_RULE { get; set; }

        public Guid? PARAM_SCHEME_ID { get; set; }


        [Description("导航：表单基础表")]
        /// <summary>
        /// 窗体
        /// </summary>
        public virtual T_PF_FORM Nav_PageForm { get; set; }

        [Description("导航属性:列表")]
        public virtual ICollection<T_PF_COLUMN> Nav_Columns { get; set; }


        [Description("导航属性:按钮")]
        public virtual ICollection<T_PF_BTN> Nav_Btns { get; set; }
        /// <summary>
        /// 导航属性，区域列表
        /// </summary>
        [Description("导航属性:区域")]
		public virtual ICollection<T_PF_PAGE_TABLE_PANEL> Nav_Panels { get; set; }

        [Description("导航属性")]
        public virtual T_PF_PARAM_SCHEME Nav_ParamScheme { get; set; }

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