Files
mht.js/js_sdk/validator/CommodityOrder.js
2025-10-22 07:50:31 +08:00

133 lines
2.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 表单校验规则由 schema2code 生成,不建议直接修改校验规则,而建议通过 schema2code 生成, 详情: https://uniapp.dcloud.net.cn/uniCloud/schema
const validator = {
"UID": {
"rules": [
{
"format": "string"
}
],
"title": "用户ID",
"label": "用户ID"
},
"Order_ID": {
"rules": [
{
"required": true
},
{
"format": "string"
}
],
"title": "订单号:",
"label": "订单号:"
},
"CommodityName": {
"rules": [
{
"required": true
},
{
"format": "string"
}
],
"title": "商品名称:",
"label": "商品名称:"
},
"CommodityPrice": {
"rules": [
{
"required": true
},
{
"format": "int"
}
],
"title": "商品价格:",
"label": "商品价格:"
},
"CommodityImg": {
"rules": [
{
"required": true
},
{
"format": "string"
}
],
"title": "商品图:",
"label": "商品图:"
},
"OrderStatus": {
"rules": [
{
"required": true
},
{
"format": "string"
}
],
"title": "商品状态:",
"label": "商品状态:"
},
"CommodityID": {
"rules": [
{
"format": "int"
}
],
"title": "商品id",
"label": "商品id"
}
}
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 }