64 lines
4.5 KiB
PHP

<x-layouts.admin>
<x-slot name="title">{{ $managedUser ? '修改用户' : '新增用户' }}</x-slot>
<x-slot name="content">
<div class="my-6" data-settings-workspace>
@include('system_settings.partials.navigation')
<form method="POST" action="{{ $managedUser ? route('system-settings.users.update', $managedUser->id) : route('system-settings.users.store') }}" class="w-full rounded-xl border border-gray-200 bg-white p-6">
@csrf
@if ($managedUser) @method('PATCH') @endif
@if ($errors->any())
<div class="mb-5 rounded-lg bg-red-50 px-4 py-3 text-sm text-red-700">
@foreach ($errors->all() as $error)<p>{{ $error }}</p>@endforeach
</div>
@endif
<div class="grid grid-cols-1 gap-5 sm:grid-cols-2">
<label class="block">
<span class="text-sm font-semibold text-gray-700">姓名 *</span>
<input name="name" value="{{ old('name', $managedUser?->name) }}" required maxlength="191" class="mt-1 w-full rounded-lg border border-gray-300 px-3 py-2.5 text-sm settings-field-focus">
</label>
<label class="block">
<span class="text-sm font-semibold text-gray-700">邮箱 *</span>
<input type="email" name="email" value="{{ old('email', $managedUser?->email) }}" required maxlength="191" class="mt-1 w-full rounded-lg border border-gray-300 px-3 py-2.5 text-sm settings-field-focus">
</label>
<label class="block">
<span class="text-sm font-semibold text-gray-700">权限身份 *</span>
<select name="role" required class="mt-1 w-full rounded-lg border border-gray-300 px-3 py-2.5 text-sm settings-field-focus">
@foreach ($roles as $role => $label)
<option value="{{ $role }}" @selected(old('role', $managedUser ? \App\Utilities\SystemAccess::roleName($managedUser) : \App\Utilities\SystemAccess::USER) === $role)>{{ $label }}</option>
@endforeach
</select>
@if (\App\Utilities\SystemAccess::isSuperAdmin())
<span class="mt-1 block text-xs text-gray-600">主管理员拥有最高权限,可管理全部用户,且不受页面访问范围限制。</span>
@endif
</label>
<div class="flex items-end pb-2">
<input type="hidden" name="enabled" value="0">
<label class="inline-flex items-center gap-2 text-sm font-semibold text-gray-700">
<input type="checkbox" name="enabled" value="1" @checked((bool) old('enabled', $managedUser?->enabled ?? true)) class="rounded border-gray-300 settings-accent settings-field-focus">
启用账号
</label>
</div>
<label class="block">
<span class="text-sm font-semibold text-gray-700">密码 {{ $managedUser ? '' : '*' }}</span>
<input type="password" name="password" @if (! $managedUser) required @endif minlength="8" autocomplete="new-password" class="mt-1 w-full rounded-lg border border-gray-300 px-3 py-2.5 text-sm settings-field-focus">
@if ($managedUser)<span class="mt-1 block text-xs text-gray-400">留空表示不修改密码</span>@endif
</label>
<label class="block">
<span class="text-sm font-semibold text-gray-700">确认密码 {{ $managedUser ? '' : '*' }}</span>
<input type="password" name="password_confirmation" @if (! $managedUser) required @endif minlength="8" autocomplete="new-password" class="mt-1 w-full rounded-lg border border-gray-300 px-3 py-2.5 text-sm settings-field-focus">
</label>
</div>
<div class="mt-7 flex justify-end gap-3 border-t border-gray-100 pt-5">
<a href="{{ route('system-settings.users.index') }}" class="rounded-lg px-5 py-2.5 text-sm text-gray-600 hover:bg-gray-100">取消</a>
<button type="submit" class="rounded-lg settings-primary">保存</button>
</div>
</form>
</div>
</x-slot>
</x-layouts.admin>