From b97fb716cda28227c5e80a066f5ed2012dd7c954 Mon Sep 17 00:00:00 2001 From: xielue Date: Sat, 16 Sep 2023 13:35:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=95=B0=E6=8D=AE=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/application/mk/libs/function/form.js | 24 ++++++--- src/application/mk/libs/function/funs.js | 64 +++++++++++++----------- 2 files changed, 53 insertions(+), 35 deletions(-) diff --git a/src/application/mk/libs/function/form.js b/src/application/mk/libs/function/form.js index 2a307ed..7d8f941 100644 --- a/src/application/mk/libs/function/form.js +++ b/src/application/mk/libs/function/form.js @@ -24,20 +24,30 @@ export default { saveField = rule.dataRule.saveField; } if (rule.dataRule.type == "integer") { // 如果是整数 - if (!value) { - value = 0; + if(value == null){ + data[saveField] = null; + }else{ + if (!value) { + value = 0; + } + data[saveField] = parseInt(value); // 转换为整数 } - data[saveField] = parseInt(value); // 转换为整数 + } else if (rule.dataRule.type == "number" || rule.dataRule.type == "float") { // 如果是整数 - if (!value) { - value = 0; + if(value == null){ + data[saveField] = null; + }else{ + if (!value) { + value = 0; + } + data[saveField] = parseFloat(value); // 转换为整数 } - data[saveField] = parseFloat(value); // 转换为整数 + } else if (rule.dataRule.type == "timestamp") { // 如果是时间戳 if (!value) { - data[saveField] = 0; + data[saveField] = null; }else{ data[saveField] = parseInt(new Date(value).getTime() / 1000); // 转换为时间戳 } diff --git a/src/application/mk/libs/function/funs.js b/src/application/mk/libs/function/funs.js index aabe047..6b6bab9 100644 --- a/src/application/mk/libs/function/funs.js +++ b/src/application/mk/libs/function/funs.js @@ -22,9 +22,9 @@ export default { return XEUtils.toDateString(cellValue, 'yyyy-MM-dd HH:mm:ss') }, - formatEnum(cellValue, options ) { // 格式化状态 + formatEnum(cellValue, options) { // 格式化状态 if (cellValue == null) return ''; - + for (let i = 0; i < options.length; i++) { if (options[i].value == cellValue) { return '' + options[i].label + ''; @@ -107,60 +107,68 @@ export default { }, - getPostFieldValue({ dataId, list, type, deletedList, fieldName, rowFilter, dataRule }) { + getPostFieldValue({ dataId, list, type, deletedList, fieldName, rowFilter, dataRule }) { let d = {}; console.log(list) if (rowFilter) { list = list.filter(rowFilter); } - + if (dataRule) { list.forEach(item => { dataRule.forEach(rule => { let value = item[rule.field]; - - - if (rule.type == "integer") { - if(!value ){ - value = 0; - } - item[rule.field] = parseInt(value); - - + + if (rule.type == "integer") { + if (value == null) { + item[rule.field] = null; + + } + else { + if (!value) { + value = 0; + } + item[rule.field] = parseInt(value); + } + } else if (rule.type == "number" || rule.type == "float") { - if(!value ){ - value = 0; - } - item[rule.field] = parseFloat(value); + if (value == null) { + item[rule.field] = null; + + } else { + if (!value) { + value = 0; + } + item[rule.field] = parseFloat(value); + } } else if (rule.type == "timestamp") { if (value) { - if (typeof (value) == 'string') { + if (typeof (value) == 'string') { item[rule.field] = parseInt(new Date(value).getTime() / 1000); - } - }else{ - item[rule.field] = 0; - } - + } + } else { + item[rule.field] = null; + } } else if (rule.type == "bigint") { - if(!item[rule.field]){ - item[rule.field] = 0; - }else{ + if (!item[rule.field]) { + item[rule.field] = null; + } else { if (typeof (item[rule.field]) == 'string') { item[rule.field] = JSONbig.parse(`{"v":${item[rule.field]}}`).v; } } - + } - + }) })