normalize-lobster-customer-display.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. const fs = require('fs')
  2. const path = require('path')
  3. const roots = [
  4. 'd:/ylrz_saas_new/saas-companyui/src/views/lobster',
  5. 'd:/ylrz_saas_new/saas-mgnui/src/views/lobster',
  6. 'd:/ylrz_saas_new/adminui/src/views/lobster'
  7. ]
  8. const replacements = [
  9. [
  10. /\{\{\s*row\.contactName\s*\|\|\s*row\.customerDisplay\s*\|\|\s*row\.channelContactId\s*\|\|\s*'��'\s*\}\}/g,
  11. '{{ formatLobsterCustomer(row) }}'
  12. ],
  13. [
  14. /\{\{\s*row\.contactName\s*\|\|\s*row\.customerDisplay\s*\|\|\s*row\.contactId\s*\|\|\s*'��'\s*\}\}/g,
  15. '{{ formatLobsterCustomer(row) }}'
  16. ],
  17. [
  18. /\{\{\s*scope\.row\.contactDisplay\s*\|\|\s*scope\.row\.contactId\s*\|\|\s*'-'\s*\}\}/g,
  19. '{{ formatLobsterCustomer(scope.row) }}'
  20. ],
  21. [
  22. /\{\{\s*detail\.contactDisplay\s*\|\|\s*detail\.contactId\s*\|\|\s*'-'\s*\}\}/g,
  23. '{{ formatLobsterCustomer(detail) }}'
  24. ],
  25. [
  26. /label="�ͻ�ID"\s+prop="externalUserId"/g,
  27. 'label="�ͻ�" min-width="120" show-overflow-tooltip\n :formatter="lobsterCustomerFormatter"'
  28. ],
  29. [
  30. /label="�ⲿ�û�ID"\s+prop="externalUserId"/g,
  31. 'label="�ͻ�" prop="keywordCustomer" '
  32. ],
  33. [
  34. /label="�ⲿ�û�"\s+align="center"\s+prop="externalUserId"/g,
  35. 'label="�ͻ�" align="center" min-width="120" show-overflow-tooltip\n :formatter="lobsterCustomerFormatter"'
  36. ],
  37. [
  38. /label="�ⲿ�û�"\{\{\s*detail\.externalUserId\s*\|\|\s*'-'\s*\}\}/g,
  39. 'label="�ͻ�">{{ formatLobsterCustomer(detail) }}'
  40. ],
  41. [
  42. /<el-descriptions-item label="�ⲿ�û�">\{\{\s*detail\.externalUserId\s*\|\|\s*'-'\s*\}\}<\/el-descriptions-item>/g,
  43. '<el-descriptions-item label="�ͻ�">{{ formatLobsterCustomer(detail) }}</el-descriptions-item>'
  44. ],
  45. [
  46. /label="�ͻ�ID"\s+align="center"\s+prop="externalUserId"/g,
  47. 'label="�ͻ�" align="center" min-width="120" show-overflow-tooltip\n :formatter="lobsterCustomerFormatter"'
  48. ]
  49. ]
  50. function walk(dir, cb) {
  51. if (!fs.existsSync(dir)) return
  52. for (const name of fs.readdirSync(dir)) {
  53. const full = path.join(dir, name)
  54. const stat = fs.statSync(full)
  55. if (stat.isDirectory()) walk(full, cb)
  56. else if (name.endsWith('.vue')) cb(full)
  57. }
  58. }
  59. let count = 0
  60. for (const root of roots) {
  61. walk(root, (file) => {
  62. let content = fs.readFileSync(file, 'utf8')
  63. const original = content
  64. for (const [re, rep] of replacements) {
  65. content = content.replace(re, rep)
  66. }
  67. if (content !== original) {
  68. fs.writeFileSync(file, content, 'utf8')
  69. count++
  70. console.log('updated', file)
  71. }
  72. })
  73. }
  74. console.log('done', count)