// 表单校验规则由 schema2code 生成,不建议直接修改校验规则,而建议通过 schema2code 生成, 详情: https://uniapp.dcloud.net.cn/uniCloud/schema const validator = { "dictID": { "rules": [ { "format": "string" } ], "title": "字典ID", "label": "字典ID" }, "itemValue": { "rules": [ { "format": "string" } ], "title": "字典项值", "label": "字典项值" }, "itemText": { "rules": [ { "format": "string" } ], "title": "字典项文本", "label": "字典项文本" }, "itemColor": { "rules": [ { "format": "string" } ], "title": "字典项颜色", "label": "字典项颜色" }, "description": { "rules": [ { "format": "string" } ], "title": "描述", "label": "描述" }, "sortOrder": { "rules": [ { "format": "string" } ], "title": "排序", "label": "排序" }, "status": { "rules": [ { "format": "int" } ], "title": "状态", "label": "状态" }, "createBy": { "rules": [ { "format": "string" } ], "title": "创建人", "label": "创建人" }, "updateBy": { "rules": [ { "format": "string" } ], "title": "更新人", "label": "更新人" }, "createTime": { "rules": [ { "format": "datetime" } ], "title": "创建时间", "label": "创建时间" }, "updateTime": { "rules": [ { "format": "datetime" } ], "title": "更新时间", "label": "更新时间" } } const enumConverter = {} function filterToWhere(filter, command) { let where = {} for (let field in filter) { let { type, value } = filter[field] switch (type) { case "search": if (typeof value === 'string' && value.length) { where[field] = new RegExp(value) } break; case "select": if (value.length) { let selectValue = [] for (let s of value) { selectValue.push(command.eq(s)) } where[field] = command.or(selectValue) } break; case "range": if (value.length) { let gt = value[0] let lt = value[1] where[field] = command.and([command.gte(gt), command.lte(lt)]) } break; case "date": if (value.length) { let [s, e] = value let startDate = new Date(s) let endDate = new Date(e) where[field] = command.and([command.gte(startDate), command.lte(endDate)]) } break; case "timestamp": if (value.length) { let [startDate, endDate] = value where[field] = command.and([command.gte(startDate), command.lte(endDate)]) } break; } } return where } export { validator, enumConverter, filterToWhere }