export interface LdComQueryBo {
  comCode?: string;    // 机构编码
  name?: string;       // 名称
  comGrades?: string[]; // 机构级别
  level?: string;      // 显示级别
}

export interface LabelShowVo {
  label?: string;     // 标签
  value?: string;     // 值
  bh?: string;     // 编号
  otherData?: object; // 其他值
}

export interface HelpDocShowVo {
  title: string;  // 标题
  content: string; // 内容
}

export interface ManageComVo {
  id: number | string;      // 主键ID
  parentId: number | string; // 父级ID
  children: ManageComVo[];   // 子机构
  label: string;            // 机构名称
  manageCom: string;        // 机构编码
}

export interface LcProcessShowVo {
  lastFlag: number;    // 最后标志
  czType: number;      // 操作类型
  lcName: string;      // 流程值
  operator: number;    // 操作人
  operatorName: string; // 姓名
  makeDate: Date;      // 操作时间
  yj: string;          // 意见
}

export interface SysPageConfigTabVo {
  id?: number;                  // 主键ID
  label: string;                 // 列标题
  prop: string;                  // 属性名
  align?: string;                // 对齐方式
  width?: string;                // 列宽
  fixed?: boolean | string;      // 是否固定
  type?: string;                 // 列类型
  slot?: string;                 // 插槽名
  code?: string;                 // 编码
  name?: string;                 // 名称
  tooltip?: string;              // 提示信息
  visible?: boolean;            // 是否可见 (用户自定义配置)
  formatter?: (row: any) => string; // 格式化函数
}

export interface AttachFileVo {
  uid?: number;          // 主键
  busCode?: string;      // 业务类型
  busDataType?: string;  // 业务类型
  attId?: number;        // 附件ID
  busDataId?: string;    // 业务数据ID
  originalName?: string; // 文件名称
  url?: string;          // 文件路径
  file?: File;           // 文件
  operator?: string;     // 创建人
  makedate?: string;     // 创建日期
  markedForDeletion?: boolean; // 是否删除
  markedForUpdate?: boolean;   // 是否修改
  markedForAdd?: boolean;      // 是否新增
}

//代理机构查询条件
export interface LaComQueryBo {
  manageCom?: string;     // 管理机构
  agentCom?: string;      // 代理机构编码
  branchType?: string;    // 渠道
  agentType?: string;     // 类型
  upAgentCom?: string;    // 上级销售机构
}

/**
 * 代理机构树
 */
export interface ComTreeVO{
  agentcom: string;
  label: string;
  parentId: string;
  weight: number;
  children: ComTreeVO[];
  disabled: boolean;
}

/**
 * 用户表格列配置
 */
export interface UserTableColumnConfigVo {
  pageTableId?: number;     // 页面表格ID
  prop?: string;            // 属性名
  width?: string;           // 列宽
  visible?: boolean;        // 是否可见
}

/**
 * 保存表格配置请求参数
 */
export interface SaveTableConfigRequest {
  pageCode: string;                           // 页面编码
  columns?: UserTableColumnConfigVo[];        // 列配置列表
  reset?: boolean;                           // 是否重置配置
}
