using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using APT.Infrastructure.Utility;
using System;
using System.Collections.Generic;
using System.ComponentModel; 
namespace APT.BaseData.Domain.Entities
{
	 
    [Description("页面编辑配置表")]
	[Redis("PAGE_FORM_ID", "ID", "CODE")]
	[APT.Infrastructure.Api.RootOrg]
	[IgnoreT4] public partial class T_PF_PAGE_EDIT : TreeEntityBase<T_PF_PAGE_EDIT>
	{
        public T_PF_PAGE_EDIT()
        {
            this.SEND_TYPE = (int)SendTypeEnum.POST;
            this.QUERY_SEND_TYPE = (int)SendTypeEnum.POST;
			this.CODE_RULE_TYPE = 0;
			this.EDIT_PAGE_ENTITY_ORG_TYPE = 0;
			this.SHOW_CHECK = false;
			this.DEFAULT_PAGE_SIZE = 10;
		}
		/// <summary>
		/// 窗体ID
		/// </summary>
		public Guid? PAGE_FORM_ID { get; set; }

		/// <summary>编码</summary>
		public string CODE { get; set; }
		/// <summary>
		/// 数据库表名称
		/// </summary>

		[Description("数据库表名称")]
        public string EDIT_NAME { get; set; }
        /// <summary>
        /// 显示名称
        /// </summary>
        [Description("显示名称")]
        public string LABEL_NAME { get; set; }
 
        /// <summary>
        /// 访问路径：URL路径，如：/Production/WorkOrder/DispatchStaff
        /// </summary>
        [Description("保存URL路径")]
        public string API_URL { get; set; }

		[Description("提交时是否包含导航数据")]
		public bool IS_CONTAINS_NAV { get; set; }
		
		/// <summary>
		/// 发送方式
		/// </summary>
		[Description("保存发送方式")]
        public int SEND_TYPE { get; set; }

        [Description("宽度：从表使用")]
        public int WIDTH { get; set; }

        [Description("高度：从表使用")]
        public int HEIGTH { get; set; }
        /// <summary>
        /// 查询的API地址
        /// </summary>
        [Description("查询的API地址")]
        public string QUERY_API_URL { get; set; }
        /// <summary>
        /// 发送方式
        /// </summary>
        [Description("查询发送方式")]
        public int QUERY_SEND_TYPE { get; set; }

		/// <summary>
		/// 查询的API地址
		/// </summary>
		[Description("批量查询API地址")]
		public string BATCH_QUERY_API { get; set; }

		/// <summary>
		/// 批量更新API地址
		/// </summary>
		[Description("批量更新API地址")]
		public string BATCH_UPDATE_API { get; set; }
		/// <summary>
		/// 子表关联字段
		/// </summary>
		[Description("关联字段")]
        public string RELATION_FIELD { get; set; }
        /// <summary>
        /// 导航属性
        /// </summary>
        [Description("导航属性")]
        public string NAV_PROPERTY { get; set; }


		/// <summary>
		/// 是否明细表必填  即表身需要一笔记录
		/// </summary>
		[Description("是否明细表必填")]
		public bool IS_DETAIL_REQUIRED { get; set; }

		/// <summary>
		/// 编号字段名称
		/// </summary>
		[Description("编号字段名称")]
		public string CODE_FIELD_NAME { get; set; }
		/// <summary>
		/// 编码规则类型
		/// </summary>
		[Description("编码规则类型")]
		[EnumName(" PFCodeRuleType")]
		public int? CODE_RULE_TYPE { get; set; }


		/// <summary>
		/// 排序字段
		/// </summary>
		[Description("子表样式条件")]
		public string NAV_ROW_CLASS_FILTER { get; set; }

		/// <summary>
		/// 排序字段
		/// </summary>
		[Description("排序字段")]
		public string SORT_FIELDS { get; set; }
		/// <summary>
		/// 排序方式
		/// </summary>
		[Description("排序方式")]
		public string SORT_ORDERS { get; set; }

		[Description("自定义参数")]
		/// <summary>自定义参数 参数名称=参数值  多个参数时以||分割</summary>
		public string CUSTOM_PARAMS { get; set; }
		/// <summary>
		/// 如无配置项，则默认显示，如配置则需要匹配条件则显示,多个或条件用|分隔，如：  subtablename,fieldname,opration,value|subtablename,fieldname,opration,value
		/// </summary>
		[Description("子表显示条件")]
		public string SUB_TABLE_CONDITION { get; set; }


		/// </summary>
		[Description("父节点复制字段")]
		public string PARENT_COPY_FIELD { get; set; }
		/// <summary>
		/// 发送方式
		/// </summary>
		[Description("子节点赋值字段")]
		public string CHILD_SET_FIELD { get; set; }
		/// <summary>

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


		/// <summary>
		/// 审核单据时是否可新增行
		/// </summary>
		public bool IS_PERMIT_ADD_ROW { get; set; }

		/// <summary>审核单据时是否可删除行</summary>
		public bool IS_PERMIT_DEL_ROW { get; set; }

		/// <summary>
		/// 实体组织类型
		/// </summary>
		[EnumName("PFEntityOrgTypeEnum")]
		public int? EDIT_PAGE_ENTITY_ORG_TYPE { get; set; }


		/// <summary>
		/// 是否禁用表身新增按钮
		/// </summary>
		public bool IS_SUB_ADD_BTN_DISABLED { get; set; }

		/// <summary>
		/// 是否禁用表身删除按钮
		/// </summary>
		public bool IS_SUB_DELETE_BTN_DISABLED { get; set; }

		/// <summary>
		/// 是否分页 默认不分页，需要分页自己配置
		/// </summary>
		public bool IS_PAGE { get; set; }

		/// <summary>
		/// 默认分页条数
		/// </summary>
		public int DEFAULT_PAGE_SIZE { get; set; }

		/// <summary>
		/// 是否显示选择列
		/// </summary>
		public bool? SHOW_CHECK { get; set; }

		public Guid? PARAM_SCHEME_ID { get; set; }

		/// <summary>
		/// 导航属性，字段列表
		/// </summary>
		[Description("导航属性:字段列表")]
        public virtual ICollection<T_PF_EDIT_COLUMN> Nav_Columns { get; set; }


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


		/// <summary>
		/// 窗体
		/// </summary>
		public virtual T_PF_FORM Nav_PageForm { get; set; }

		public virtual T_PF_PARAM_SCHEME Nav_ParamScheme { get; set; }

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

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