You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.3 KiB
61 lines
2.3 KiB
# -*- coding: utf-8 -*-
|
|
import os
|
|
import re
|
|
import io
|
|
|
|
directory = r'd:\WorkSpace\boying\boying-pda\src\views\modules'
|
|
|
|
css_to_add = u'''
|
|
/* 滚动条样式优化 */
|
|
.label-list .list-body::-webkit-scrollbar {
|
|
width: 4px;
|
|
}
|
|
.label-list .list-body::-webkit-scrollbar-track {
|
|
background: #f1f1f1;
|
|
border-radius: 2px;
|
|
}
|
|
.label-list .list-body::-webkit-scrollbar-thumb {
|
|
background: #17B3A3;
|
|
border-radius: 2px;
|
|
}
|
|
.label-list .list-body::-webkit-scrollbar-thumb:hover {
|
|
background: #0d8f7f;
|
|
}
|
|
'''
|
|
|
|
for root, _, files in os.walk(directory):
|
|
for file in files:
|
|
if file.endswith('.vue'):
|
|
path = os.path.join(root, file)
|
|
with io.open(path, 'r', encoding='utf-8') as f:
|
|
content = f.read()
|
|
|
|
changed = False
|
|
|
|
# 1. Update text-align for numeric columns
|
|
num_cols = ['col-qty', 'col-required-qty', 'col-picked-qty', 'col-available-qty', 'col-inbound-qty', 'col-scans-qty', 'col-roll-qty']
|
|
for col in num_cols:
|
|
# Find .col-xyz { ... text-align: center; ... }
|
|
# The pattern matches \.col-xyz \s* \{ [^}]*? text-align:\s*center;
|
|
pattern_center = r'(\.' + col + r'\s*\{[^}]*?)text-align:\s*center;'
|
|
if re.search(pattern_center, content):
|
|
content = re.sub(pattern_center, r'\1text-align: right;\n padding-right: 12px;', content)
|
|
changed = True
|
|
|
|
# The pattern matches \.col-xyz \s* \{ [^}]*? text-align:\s*left;
|
|
pattern_left = r'(\.' + col + r'\s*\{[^}]*?)text-align:\s*left;'
|
|
if re.search(pattern_left, content):
|
|
content = re.sub(pattern_left, r'\1text-align: right;\n padding-right: 12px;', content)
|
|
changed = True
|
|
|
|
# Also check .material-table inside material dialog
|
|
|
|
# 2. Add scrollbar CSS if list-body is present and scrollbar is missing
|
|
if 'class="list-body"' in content and '::-webkit-scrollbar' not in content:
|
|
content = content.replace('</style>', css_to_add + '\n</style>')
|
|
changed = True
|
|
|
|
if changed:
|
|
with io.open(path, 'w', encoding='utf-8') as f:
|
|
f.write(content)
|
|
print('Updated ' + file)
|