diff --git a/src/components/Template/CustomTable.vue b/src/components/Template/CustomTable.vue
index 341a6fc..31f9d7a 100644
--- a/src/components/Template/CustomTable.vue
+++ b/src/components/Template/CustomTable.vue
@@ -740,7 +740,8 @@ export default {
})
} else {
- if (isValueEmpty(mainValue) && col.bodyType !== 'span' && col.bodyType !== 'button') {
+ if (isValueEmpty(mainValue) &&col.bodyFillType === this.templateFillType && col.bodyType !== 'span' && col.bodyType !== 'button') {
+ console.log(col.bodyFillType,col.bodySubFillType,"bodySubFillType")
const errorItem = {
rowIndex,
colIndex,
diff --git a/src/components/Template/DecimalInput.vue b/src/components/Template/DecimalInput.vue
index fd5077b..1eb3897 100644
--- a/src/components/Template/DecimalInput.vue
+++ b/src/components/Template/DecimalInput.vue
@@ -92,17 +92,22 @@ export default {
return;
}
- // 检查是否已经输入了完整的NA
- if (this.isNA) {
- // 如果已经输入了NA,无论输入什么,都保持NA不变
- this.internalValue = 'NA';
- this.$emit('input', 'NA');
- return;
- }
-
const upperVal = val.toUpperCase();
let cleaned = val;
let matchedRule = null;
+
+ // 如果已经输入了完整的NA
+ if (this.isNA) {
+ // 只有输入完整NA时才保持不变,允许用户删除或输入其他值
+ if (upperVal === 'NA') {
+ this.internalValue = 'NA';
+ this.$emit('input', 'NA');
+ return;
+ } else {
+ // 用户删除了NA或输入其他值,重置状态并继续处理
+ this.isNA = false;
+ }
+ }
// 检查是否匹配特殊模式(NA或FRACTION)
// 优先检查完整的NA模式
diff --git a/src/components/Template/HandleFormItem.vue b/src/components/Template/HandleFormItem.vue
index 7f646d7..4028574 100644
--- a/src/components/Template/HandleFormItem.vue
+++ b/src/components/Template/HandleFormItem.vue
@@ -109,7 +109,7 @@