UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

53 lines (48 loc) 3.15 kB
import { RangeOptions, RangeOptionsEnum, TagTypeEnum } from "./types" export default { // 当前过滤条件是否展示输入的判断 showInputItem: (option: RangeOptionsEnum, type: TagTypeEnum, isMobile: boolean) => { // 操作符不为空 并且 不是文件类型的渲染 if (isMobile) { return option !== RangeOptionsEnum.IsEmpty && type !== TagTypeEnum.File && option !== RangeOptionsEnum.DataTag } return option !== RangeOptionsEnum.IsEmpty && type !== TagTypeEnum.File }, // 根据组件报文生成对应条件select下拉选项合集 getRangeOptions: (schema: { type: TagTypeEnum, isNumber?: boolean, dataTag?: object }, isMobile: boolean) => { const { type, isNumber, dataTag } = schema const to = (options: RangeOptionsEnum[]) => options.map(option => ({ label: RangeOptions[option], value: option, not: isMobile })) if (isNumber) { return dataTag ? to([RangeOptionsEnum.Between, RangeOptionsEnum.Equal, RangeOptionsEnum.GreaterThan, RangeOptionsEnum.GreaterThanOrEqual, RangeOptionsEnum.LessThan, RangeOptionsEnum.LessThanOrEqual, RangeOptionsEnum.IsEmpty, RangeOptionsEnum.DataTag]) : to([RangeOptionsEnum.Between, RangeOptionsEnum.Equal, RangeOptionsEnum.GreaterThan, RangeOptionsEnum.GreaterThanOrEqual, RangeOptionsEnum.LessThan, RangeOptionsEnum.LessThanOrEqual, RangeOptionsEnum.IsEmpty]) } switch (type) { case TagTypeEnum.File: return to([RangeOptionsEnum.IsEmpty]) case TagTypeEnum.InputText: return dataTag ? to([RangeOptionsEnum.Equal, RangeOptionsEnum.Contain, RangeOptionsEnum.IsEmpty, RangeOptionsEnum.DataTag]) : to([RangeOptionsEnum.Equal, RangeOptionsEnum.Contain, RangeOptionsEnum.IsEmpty]) case TagTypeEnum.InputDate: case TagTypeEnum.InputMonth: case TagTypeEnum.InputDatetime: return dataTag ? to([RangeOptionsEnum.Between, RangeOptionsEnum.Equal, RangeOptionsEnum.GreaterThan, RangeOptionsEnum.GreaterThanOrEqual, RangeOptionsEnum.LessThan, RangeOptionsEnum.LessThanOrEqual, RangeOptionsEnum.IsEmpty, RangeOptionsEnum.DataTag]) : to([RangeOptionsEnum.Between, RangeOptionsEnum.Equal, RangeOptionsEnum.GreaterThan, RangeOptionsEnum.GreaterThanOrEqual, RangeOptionsEnum.LessThan, RangeOptionsEnum.LessThanOrEqual, RangeOptionsEnum.IsEmpty]) case TagTypeEnum.Select: case TagTypeEnum.TransferPicker: return to([RangeOptionsEnum.Equal, RangeOptionsEnum.IsEmpty]) default: return to([RangeOptionsEnum.Equal, RangeOptionsEnum.IsEmpty, RangeOptionsEnum.Fuzzy]) } }, // 根据组件类型生成对应select条件 getRangeOption: (type: TagTypeEnum) => { const types = [TagTypeEnum.InputDateRange, TagTypeEnum.InputDatetimeRange, TagTypeEnum.InputMonthRange, TagTypeEnum.InputYearRange, TagTypeEnum.InputQuarterRange, TagTypeEnum.InputTimeRange, TagTypeEnum.InputDatetime, TagTypeEnum.InputDate, TagTypeEnum.InputMonth] return types.includes(type as TagTypeEnum) ? RangeOptionsEnum.Between : type == TagTypeEnum.File ? RangeOptionsEnum.IsEmpty : RangeOptionsEnum.Equal } }