UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

145 lines (131 loc) 3.97 kB
const enum RangeOptionsEnum { Equal = 2, // 等于 GreaterThan = 3, // 大于 GreaterThanOrEqual = 4, // 大于等于 LessThan = 5, // 小于 LessThanOrEqual = 6, // 小于等于 Between = 7, // 介于 ContainWithin = 8, // 包含于 Contain = 9, // 包含 IsEmpty = 10, // 为空 Fuzzy = 11, // 模糊 DataTag = 12 // 数据标签 } // 类型枚举类 const enum TagTypeEnum { Select = 'select', TreeSelect = 'tree-select', TransferPicker = 'transfer-picker', TabsTransferPicker = 'tabs-transfer-picker', InputDateRange = 'input-date-range', InputDatetimeRange = 'input-datetime-range', InputMonthRange = 'input-month-range', InputYear = 'input-year', InputYearRange = 'input-year-range', InputQuarter = 'input-quarter', InputQuarterRange = 'input-quarter-range', InputTime = 'input-time', InputTimeRange = 'input-time-range', InputTag = 'input-tag', NestedSelect = 'nested-select', InputNumber = 'input-number', InputText = 'input-text', InputDatetime = 'input-datetime', InputDate = 'input-date',// InputMonth = 'input-month', File = 'lion-upload', // 文件类型 Picker = 'picker',//颜色 Switch = 'switch', //开关 Checkboxes = 'checkboxes' //复选按钮 } const RangeOptions: Record<RangeOptionsEnum, string> = { [RangeOptionsEnum.Equal]: '等于', [RangeOptionsEnum.GreaterThan]: '大于', [RangeOptionsEnum.GreaterThanOrEqual]: '大于等于', [RangeOptionsEnum.LessThan]: '小于', [RangeOptionsEnum.LessThanOrEqual]: '小于等于', [RangeOptionsEnum.Between]: '介于', [RangeOptionsEnum.ContainWithin]: '包含于', [RangeOptionsEnum.Contain]: '包含', [RangeOptionsEnum.IsEmpty]: '为空', [RangeOptionsEnum.Fuzzy]: '模糊', [RangeOptionsEnum.DataTag]: '属于标签' } const SegmentStandardOptions = [ { title: "年", value: "year" }, { title: "季度", value: "quarter" }, { title: "月", value: "month" }, { title: "周", value: "week" }, { title: "日", value: "day" }, { title: "时", value: "hour" }, { title: "分", value: "minute" }, { title: "秒", value: "second" }, ] const ADVANCED_FILTER_NAME = { HEADER: 'advancedHeader', FILTER: 'advancedFilter', FILTER_SUB: 'advancedFilterSub', NONE: 'advancedFilter.noneData', } // 条件查询数据 type ConditionFilterData = { key: string field: string, // 字段名 condition: number, // 0:或 1:且 not: boolean, // 不 op: RangeOptionsEnum, // 等于、大于... values?: string | number caseSensitive?: 0 | 1, dateLine?: boolean//是否日期类集合 compareField?: string[] //储存values的nameid useFieldCompare?: boolean//判断是否为比较字段 } type OptionFilterData = { itemCount: boolean itemRepeat: boolean itemSumCount: boolean showFields: string[] sortFields: string[] groupByFields: string[] section: boolean sectionParams: { avgSection: boolean leftOpenRightClose: boolean sectionField: string sectionNorm: string sections: number[] } } // 模板默认值数据 type DefaultTemplateData = { advancedFilter: ConditionFilterData[], // 新版默认值不传sub advancedFilterSub?: ConditionFilterData[], advancedHeader: object, caseSensitive: boolean, limitParam: { topN: number, limitStatus: boolean }, optionsParam?: OptionFilterData } interface FieldData { name: string label: string comparable: boolean isNumerical?: boolean type?: string } interface ShowFieldData extends FieldData { checked: boolean disabled: boolean } interface SortFieldData extends FieldData { order: 0 | 1 } interface GroupByFieldData extends FieldData { } export { ADVANCED_FILTER_NAME, RangeOptions, SegmentStandardOptions, RangeOptionsEnum, TagTypeEnum, ConditionFilterData, DefaultTemplateData, FieldData, ShowFieldData, SortFieldData, GroupByFieldData }