This commit is contained in:
xielue 2023-09-16 11:05:29 +08:00
parent 3d22dc0c6a
commit b154723dd0
2 changed files with 17 additions and 8 deletions

View File

@ -1,13 +1,13 @@
export default { export default {
// 格式化表单数据(准备提交) // 格式化表单数据(准备提交)
formatFormData: function ({ data, rules , igFields }) { // 格式化表单数据 formatFormData: function ({ data, rules, igFields }) { // 格式化表单数据
let feachRules = (rules) => { let feachRules = (rules) => {
rules.forEach(rule => { // 循环规则 rules.forEach(rule => { // 循环规则
try{ try {
if (rule.children && rule.children.length) { if (rule.children && rule.children.length) {
feachRules(rule.children); feachRules(rule.children);
} }
@ -24,6 +24,9 @@ export default {
saveField = rule.dataRule.saveField; saveField = rule.dataRule.saveField;
} }
if (rule.dataRule.type == "integer") { // 如果是整数 if (rule.dataRule.type == "integer") { // 如果是整数
if (isNaN(value)) {
value = 0;
}
data[saveField] = parseInt(value); // 转换为整数 data[saveField] = parseInt(value); // 转换为整数
} }
else if (rule.dataRule.type == "number") { // 如果是整数 else if (rule.dataRule.type == "number") { // 如果是整数
@ -47,16 +50,16 @@ export default {
data[saveField] = value; data[saveField] = value;
} }
} }
}catch(e){ } catch (e) {
console.log(e) console.log(e)
} }
}); });
}; };
feachRules(rules); feachRules(rules);
if(igFields){ if (igFields) {
igFields.forEach(field=>{ igFields.forEach(field => {
if(field in data){ if (field in data) {
delete data[field]; delete data[field];
} }
}) })
@ -78,8 +81,8 @@ export default {
if (!rule.dataRule) { if (!rule.dataRule) {
return; return;
} }
if(rule.dataRule.getter){ if (rule.dataRule.getter) {
data[rule.field] = rule.dataRule.getter(data); data[rule.field] = rule.dataRule.getter(data);
} }
if (rule.field in data) { // 如果字段在数据中 if (rule.field in data) { // 如果字段在数据中

View File

@ -120,8 +120,14 @@ export default {
dataRule.forEach(rule => { dataRule.forEach(rule => {
let value = item[rule.field]; let value = item[rule.field];
if(isNaN(value) ){
value = 0;
}
if (rule.type == "integer") { if (rule.type == "integer") {
item[rule.field] = parseInt(value); item[rule.field] = parseInt(value);
} }
else if (rule.type == "number") { else if (rule.type == "number") {
item[rule.field] = parseFloat(value); item[rule.field] = parseFloat(value);