Bladeren bron

fix: 合同管理计算1、2,防止非数字字符输入

lanjianrong 1 maand geleden
bovenliggende
commit
95b705dd06
1 gewijzigde bestanden met toevoegingen van 12 en 1 verwijderingen
  1. 12 1
      app/public/js/contract_detail.js

+ 12 - 1
app/public/js/contract_detail.js

@@ -607,10 +607,21 @@ $(document).ready(function() {
                 if (orgValue == info.editingText || ((!orgValue || orgValue === '') && (newValue === ''))) {
                     return;
                 }
+                if (['calc', 'calc2'].includes(col.field) && node.c_code && isNaN(newValue)) {
+                    toastr.error('不能输入其它非数字类型字符');
+                    SpreadJsObj.reLoadRowData(info.sheet, info.row);
+                    return;
+                }
                 // 获取更新数据
                 if (info.editingText) {
                     const text = newValue;
-                    data[col.field] = text;
+                    // 如果列类型为数字,尝试转换为数值;非数字则保留为 null,防止 NaN 传播
+                    if (col.type === 'Number') {
+                        const num = parseFloat(text);
+                        data[col.field] = Number.isFinite(num) ? num : null;
+                    } else {
+                        data[col.field] = text;
+                    }
                 } else {
                     data[col.field] = null;
                 }