UNPKG

@shencom/api

Version:
94 lines (87 loc) 2.36 kB
/** * 查询操作类型枚举 * * @export * @enum {string} */ export enum OperateEnum { /** 等于 */ EQ = 'EQ', /** 小于 */ LT = 'LT', /** 大于 */ GT = 'GT', /** 小于等于 */ LTE = 'LTE', /** 大于等于 */ GTE = 'GTE', /** 不等于 */ NEQ = 'NEQ', /** 包含 */ IN = 'IN', /** 非空 */ NN = 'NN', /** 为空 */ NULL = 'NULL', /** 区间 */ BTW = 'BTW', /** 模糊匹配 */ LIKE = 'LIKE', /** 左模糊匹配 */ LL = 'LL', /** 右模糊匹配 */ RL = 'RL', } /** * 查询逻辑关系枚举 * * @export * @enum {string} */ export enum LrEnum { /** 并且 */ AND = 'and', /** 或者 */ OR = 'or', } export const LR = [ { label: '并且', value: LrEnum.AND }, { label: '或者', value: LrEnum.OR }, ] as const; export const operateType = { number: [ { label: '=', value: OperateEnum.EQ }, { label: '<', value: OperateEnum.LT }, { label: '>', value: OperateEnum.GT }, { label: '≤', value: OperateEnum.LTE }, { label: '≥', value: OperateEnum.GTE }, { label: '≠', value: OperateEnum.NEQ }, { label: '包括', value: OperateEnum.IN }, { label: '非空', value: OperateEnum.NN }, { label: '为空', value: OperateEnum.NULL }, { label: '区间', value: OperateEnum.BTW }, ], date: [ { label: '匹配', value: OperateEnum.LIKE }, { label: '早于', value: OperateEnum.LT }, { label: '晚于', value: OperateEnum.GT }, { label: '非空', value: OperateEnum.NN }, { label: '为空', value: OperateEnum.NULL }, ], string: [ { label: '模糊匹配', value: OperateEnum.LIKE }, { label: '=', value: OperateEnum.EQ }, { label: '≠', value: OperateEnum.NEQ }, { label: '包括', value: OperateEnum.IN }, { label: '左模糊匹配', value: OperateEnum.LL }, { label: '右模糊匹配', value: OperateEnum.RL }, { label: '非空', value: OperateEnum.NN }, { label: '为空', value: OperateEnum.NULL }, ], rangeDateTime: [{ label: '介于', value: OperateEnum.BTW }], select: [{ label: '包括', value: OperateEnum.IN }], } as const; export type QueryLr = (typeof LR)[number]['value']; export type OperateType = keyof typeof operateType; export type Operate = OperateEnum; export const OPERATE = (type?: OperateType) => (type && operateType[type]) || operateType.string;