import re
path = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
with open(path, 'r', encoding='utf-8') as f:
content = f.read()
# 修复有 class="fill" 的双重嵌套:
# {{ contractForm.field || '___' }}
# ->
# {{ contractForm.field || '___' }}
pattern_nested = r'(\{\{\s*contractForm\.(\w+)\s*\|\|\s*\'[^\']*\'\s*\}\})'
matches = re.findall(pattern_nested, content)
print(f"Found nested fill patterns: {len(matches)}")
def repl_nested(m):
inner_expr = m.group(1) # {{ contractForm.field || '___' }}
field = m.group(2) # field
return f'{inner_expr}'
content_new = re.sub(pattern_nested, repl_nested, content)
# 检查是否还有残余的双重嵌套问题
remaining = re.findall(r'{{\s*contractForm", content_new)
print(f"Remaining original fill patterns: {len(remaining_orig)}")
# 检查未被正确替换的直接变量
remaining_var = re.findall(r"[^>]\{\{\s*contractForm\.\w+\s*\|\|\s*'", content_new)
print(f"Remaining raw variable patterns: {len(remaining_var)}")
# 保存
with open(path, 'w', encoding='utf-8') as f:
f.write(content_new)
print("Done!")