process-contract.ps1 1.3 KB

1234567891011121314151617181920
  1. $path = 'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
  2. $content = Get-Content $path -Raw -Encoding UTF8
  3. # 模式1:<span class="fill">{{ contractForm.field || '___' }}</span>
  4. $pattern1 = '<span class="fill">\{\{\s*contractForm\.(\w+)\s*\|\|\s*''([^'']+)''\s*\}\}</span>'
  5. $replacement1 = '<template v-if="isTextMode"><span class="fill">{{ contractForm.$1 || ''$2'' }}</span></template><input v-else v-model="contractForm.$1" class="text-input" placeholder="请输入" style="max-width: 180px;" />'
  6. $matches1 = [regex]::Matches($content, $pattern1)
  7. Write-Host "模式1匹配数: $($matches1.Count)"
  8. $content = [regex]::Replace($content, $pattern1, $replacement1)
  9. # 模式2:直接 {{ contractForm.field || '___' }}(不在span.fill中,且未被替换)
  10. $pattern2 = '(?<!v-if="isTextMode">)\{\{\s*contractForm\.(\w+)\s*\|\|\s*''([^'']+)''\s*\}\}'
  11. $matches2 = [regex]::Matches($content, $pattern2)
  12. Write-Host "模式2匹配数: $($matches2.Count)"
  13. $replacement2 = '<template v-if="isTextMode">{{ contractForm.$1 || ''$2'' }}</template><input v-else v-model="contractForm.$1" class="text-input" placeholder="请输入" style="max-width: 180px;" />'
  14. $content = [regex]::Replace($content, $pattern2, $replacement2)
  15. # 保存
  16. Set-Content $path $content -Encoding UTF8 -NoNewline
  17. Write-Host "完成!"