优化 后台等级设置
This commit is contained in:
@@ -25,13 +25,24 @@
|
||||
@php
|
||||
$fieldValue = (string) $body;
|
||||
$shouldUseTextarea = strlen($fieldValue) > 50 || str_contains($fieldValue, "\n") || str_contains($fieldValue, '<');
|
||||
$isMaxLevelField = $alias === 'maxlevel';
|
||||
$isSuperLevelField = $alias === 'superlevel';
|
||||
@endphp
|
||||
<div>
|
||||
<label class="block text-sm font-bold text-gray-700 mb-2">
|
||||
{{ $descriptions[$alias] ?? $alias }}
|
||||
<span class="text-gray-400 font-normal ml-2">[{{ $alias }}]</span>
|
||||
</label>
|
||||
@if ($shouldUseTextarea)
|
||||
@if ($isMaxLevelField)
|
||||
<p class="mb-2 text-xs text-gray-500">修改后会自动同步管理员级别为“最高等级 + 1”。</p>
|
||||
<input type="number" min="1" step="1" id="system-maxlevel" name="{{ $alias }}" value="{{ $fieldValue }}"
|
||||
class="w-full border-gray-300 rounded-md shadow-sm focus:border-indigo-500 focus:ring-indigo-500 p-2.5 bg-gray-50 border">
|
||||
@elseif ($isSuperLevelField)
|
||||
<p class="mb-2 text-xs text-gray-500">该值会随“用户最高可达等级”自动计算,仅用于展示当前结果。</p>
|
||||
<input type="number" id="system-superlevel" value="{{ $fieldValue }}"
|
||||
class="w-full border-gray-200 rounded-md shadow-sm p-2.5 bg-gray-100 border text-gray-600"
|
||||
readonly>
|
||||
@elseif ($shouldUseTextarea)
|
||||
<textarea name="{{ $alias }}" rows="4"
|
||||
class="w-full border-gray-300 rounded-md shadow-sm focus:border-indigo-500 focus:ring-indigo-500 p-2.5 bg-gray-50 border whitespace-pre-wrap">{{ $fieldValue }}</textarea>
|
||||
@else
|
||||
@@ -53,4 +64,30 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const maxLevelInput = document.querySelector('#system-maxlevel');
|
||||
const superLevelInput = document.querySelector('#system-superlevel');
|
||||
|
||||
if (!maxLevelInput || !superLevelInput) {
|
||||
return;
|
||||
}
|
||||
|
||||
const syncSuperLevel = () => {
|
||||
const maxLevel = Number.parseInt(maxLevelInput.value ?? '', 10);
|
||||
|
||||
if (Number.isNaN(maxLevel) || maxLevel < 1) {
|
||||
superLevelInput.value = '';
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
superLevelInput.value = String(maxLevel + 1);
|
||||
};
|
||||
|
||||
maxLevelInput.addEventListener('input', syncSuperLevel);
|
||||
syncSuperLevel();
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user