NGTools/js_sdk/validator/ngTools_NGComponents.js

295 lines
5.1 KiB
JavaScript
Raw Normal View History

// 表单校验规则由 schema2code 生成,不建议直接修改校验规则,而建议通过 schema2code 生成, 详情: https://uniapp.dcloud.net.cn/uniCloud/schema
const validator = {
"samplingDate": {
"rules": [{
"format": "date"
}],
"title": "取样日期",
"defaultValue": {
"$env": "now"
},
"label": "取样日期"
},
"assayDate": {
"rules": [{
"format": "date"
}],
"title": "分析日期",
"defaultValue": {
"$env": "now"
},
"label": "分析日期"
},
"samplingLocation": {
"rules": [{
"format": "array"
},
{
"arrayType": "string"
}
],
"title": "取样地点",
"label": "取样地点"
},
"sampleNumber": {
"rules": [{
"format": "string"
}],
"title": "样品编号",
"label": "样品编号"
},
"NG_C1": {
"rules": [{
"format": "float"
}],
"title": "甲烷C1",
"defaultValue": 0,
"label": "甲烷C1"
},
"NG_N2": {
"rules": [{
"format": "float"
}],
"title": "氮气N2",
"defaultValue": 0,
"label": "氮气N2"
},
"NG_CO2": {
"rules": [{
"format": "float"
}],
"title": "二氧化碳CO2",
"defaultValue": 0,
"label": "二氧化碳CO2"
},
"NG_C2": {
"rules": [{
"format": "float"
}],
"title": "乙烷C2",
"defaultValue": 0,
"label": "乙烷C2"
},
"NG_C3": {
"rules": [{
"format": "float"
}],
"title": "丙烷C3",
"defaultValue": 0,
"label": "丙烷C3"
},
"NG_H2O": {
"rules": [{
"format": "float"
}],
"title": "水H2O",
"defaultValue": 0,
"label": "水H2O"
},
"NG_H2S": {
"rules": [{
"format": "float"
}],
"title": "硫化氢H2S",
"defaultValue": 0,
"label": "硫化氢H2S"
},
"NG_H2": {
"rules": [{
"format": "float"
}],
"title": "氢气H2",
"defaultValue": 0,
"label": "氢气H2"
},
"NG_CO": {
"rules": [{
"format": "float"
}],
"title": "一氧化碳CO",
"defaultValue": 0,
"label": "一氧化碳CO"
},
"NG_O2": {
"rules": [{
"format": "float"
}],
"title": "氧气O2",
"defaultValue": 0,
"label": "氧气O2"
},
"NG_iC4": {
"rules": [{
"format": "float"
}],
"title": "异丁烷iC4",
"defaultValue": 0,
"label": "异丁烷iC4"
},
"NG_nC4": {
"rules": [{
"format": "float"
}],
"title": "正丁烷nC4",
"defaultValue": 0,
"label": "正丁烷nC4"
},
"NG_iC5": {
"rules": [{
"format": "float"
}],
"title": "异戊烷iC5",
"defaultValue": 0,
"label": "异戊烷iC5"
},
"NG_nC5": {
"rules": [{
"format": "float"
}],
"title": "正戊烷nC5",
"defaultValue": 0,
"label": "正戊烷nC5"
},
"NG_C6": {
"rules": [{
"format": "float"
}],
"title": "己烷C6",
"defaultValue": 0,
"label": "己烷C6"
},
"NG_C7": {
"rules": [{
"format": "float"
}],
"title": "庚烷C7",
"defaultValue": 0,
"label": "庚烷C7"
},
"NG_C8": {
"rules": [{
"format": "float"
}],
"title": "辛烷C8",
"defaultValue": 0,
"label": "辛烷C8"
},
"NG_C9": {
"rules": [{
"format": "float"
}],
"title": "壬烷C9",
"defaultValue": 0,
"label": "壬烷C9"
},
"NG_C10": {
"rules": [{
"format": "float"
}],
"title": "癸烷C10",
"defaultValue": 0,
"label": "癸烷C10"
},
"NG_He": {
"rules": [{
"format": "float"
}],
"title": "氦气He",
"defaultValue": 0,
"label": "氦气He"
},
"NG_Ar": {
"rules": [{
"format": "float"
}],
"title": "氩气Ar",
"defaultValue": 0,
"label": "氩气Ar"
},
// "NG_SUM": {
// "rules": [{
// "format": "float",
// "required": true,
// "errorMessage": '组分输入不全'
// },
// {
// validateFunction: function(rule, value, data, callback) {
// console.log(value)
// console.log(data)
// if (Math.abs(parseFloat(value) - 100) > 0.0001) {
// callback('组分之和不等于100%')
// }
// return true
// }
// }
// ],
// "title": "合计",
// "defaultValue": 0,
// "label": "合计"
// },
"createTime": {
"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
}