Skip to content

TemplateForm ( 模板表单相关 )

ts
import type { ButtonGroupItem } from './modules/TemplateFormButtonGroup';
import type { TemplateFormField, TemplateFormGroupField } from './modules/TemplateFormField';

export * from './modules/TemplateFormButtonGroup';
export * from './modules/TemplateFormField';

/**
 * 模板表单信息
 */
export interface TemplateFormInfo {
  /** 表单 ID */
  id: string;
  /** 表单名称 */
  templateName: string;
  /**
   * 表单内容配置
   *  - `JSON.parse` 后, 可使用 `TemplateForm` 类型
   *  - 可使用 `@smartos-lib/utils` 中的 `getTemplateFormFields` 方法获取所有字段
   */
  templateContent: string;
  /**
   * 应用类型
   *  1: 一物一码
   */
  baseType: string | number;
}

/**
 * 模板表单配置
 */
export interface TemplateForm {
  /** 字段列表 */
  column?: TemplateFormField[];
  /** 分组字段列表 */
  group?: TemplateFormGroupField[];

  /** 显示菜单按钮 */
  menuBtn?: boolean;
  /** 菜单按钮位置 */
  menuPosition?: 'left' | 'center' | 'right';

  /** 显示提交按钮 */
  submitBtn?: boolean;
  /** 提交按钮文本 */
  submitText?: string;

  /** 显示清空按钮 */
  emptyBtn?: boolean;
  /** 清空按钮文本 */
  emptyText?: string;

  /** 标签对齐方式 */
  labelPosition?: 'left' | 'right' | 'top';
  /** 标签宽度 */
  labelWidth?: string;
  /** 标签后缀 */
  labelSuffix?: string;

  /** 全局只读 */
  readonly?: boolean;
  /** 全局禁用 */
  disabled?: boolean;

  /** 详情模式 */
  detail?: boolean;

  /** 全屏新增编辑弹窗 */
  fullscreen?: boolean;

  /** 紧凑模式 */
  compactMode?: boolean;

  /** 开启虚拟表格 */
  virtualTable?: boolean;

  /** 指定字段可表格编辑 */
  tableEditType?: boolean;

  /** 指定可编辑字段 */
  tableEditList?: string[];

  /** 指定字段可回车编辑下一条 */
  tableEnterEditList?: string[];

  /** 显示打印字段 */
  printTimesType?: boolean;

  /** 打印计数模板 */
  countingTemplate?: string;

  /** 按钮组 */
  buttonGroup?: ButtonGroupItem[];
}