完善职务礼包红包默认配置

This commit is contained in:
2026-04-24 23:09:32 +08:00
parent 4486a87326
commit 5273b4ee4b
12 changed files with 394 additions and 93 deletions
@@ -27,6 +27,8 @@
max_reward: '',
daily_reward_limit: '',
recipient_daily_limit: '',
red_packet_amount: 8888,
red_packet_count: 10,
sort_order: 0
},
@@ -34,7 +36,7 @@
this.editing = null;
this.selectedIds = [];
this.selectedPermissions = [];
this.form = { department_id: '', name: '', icon: '🎖️', rank: 50, level: 60, max_persons: 1, max_reward: '', daily_reward_limit: '', recipient_daily_limit: '', sort_order: 0 };
this.form = { department_id: '', name: '', icon: '🎖️', rank: 50, level: 60, max_persons: 1, max_reward: '', daily_reward_limit: '', recipient_daily_limit: '', red_packet_amount: 8888, red_packet_count: 10, sort_order: 0 };
this.showForm = true;
},
openEdit(pos, appointableIds, permissions) {
@@ -51,6 +53,8 @@
max_reward: pos.max_reward !== null && pos.max_reward !== undefined ? pos.max_reward : '',
daily_reward_limit: pos.daily_reward_limit !== null && pos.daily_reward_limit !== undefined ? pos.daily_reward_limit : '',
recipient_daily_limit: pos.recipient_daily_limit !== null && pos.recipient_daily_limit !== undefined ? pos.recipient_daily_limit : '',
red_packet_amount: pos.red_packet_amount || 8888,
red_packet_count: pos.red_packet_count || 10,
sort_order: pos.sort_order,
};
this.showForm = true;
@@ -185,6 +189,7 @@
<th class="px-4 py-3 text-center">单次上限</th>
<th class="px-4 py-3 text-center">单日上限</th>
<th class="px-4 py-3 text-center">任命权</th>
<th class="px-4 py-3 text-center">礼包默认</th>
<th class="px-4 py-3 text-center">聊天室权限</th>
@php $superLvl = (int) \App\Models\Sysparam::getValue('superlevel', '100'); @endphp
@if (Auth::user()->user_level >= $superLvl)
@@ -254,6 +259,12 @@
<span class="text-xs text-gray-400"></span>
@endif
</td>
<td class="px-4 py-3 text-center">
<div class="text-xs leading-5 text-red-700">
<div class="font-bold">{{ number_format((int) ($pos->red_packet_amount ?? 8888)) }}</div>
<div class="text-gray-400">{{ (int) ($pos->red_packet_count ?? 10) }} </div>
</div>
</td>
<td class="px-4 py-3">
@if (! empty($pos->permissions))
@php
@@ -297,6 +308,8 @@
max_reward: {{ $pos->max_reward ?? 'null' }},
daily_reward_limit: {{ $pos->daily_reward_limit ?? 'null' }},
recipient_daily_limit: {{ $pos->recipient_daily_limit ?? 'null' }},
red_packet_amount: {{ $pos->red_packet_amount ?? 8888 }},
red_packet_count: {{ $pos->red_packet_count ?? 10 }},
sort_order: {{ $pos->sort_order }},
requestUrl: '{{ route('admin.positions.update', $pos->id) }}'
}, {{ json_encode($appointableIds) }}, {{ json_encode($pos->permissions ?? []) }})"
@@ -447,6 +460,30 @@
<span class="min-w-0">
<span class="block font-bold text-gray-700">{{ $permissionMeta['label'] }}</span>
<span class="block text-xs text-gray-500">{{ $permissionMeta['description'] }}</span>
@if ($permissionCode === \App\Support\PositionPermissionRegistry::ROOM_RED_PACKET)
<span class="mt-3 grid grid-cols-2 gap-2 rounded-lg border border-red-100 bg-red-50/70 p-2"
@click.stop>
<span>
<span class="mb-1 block text-[11px] font-bold text-red-700">默认礼包总量</span>
<input type="number" name="red_packet_amount"
x-model="form.red_packet_amount" required min="1"
max="999999999"
class="w-full rounded-md border border-red-200 bg-white p-1.5 text-xs text-red-800"
placeholder="金币/经验共用">
</span>
<span>
<span class="mb-1 block text-[11px] font-bold text-red-700">默认礼包份数</span>
<input type="number" name="red_packet_count"
x-model="form.red_packet_count" required min="1"
max="100"
class="w-full rounded-md border border-red-200 bg-white p-1.5 text-xs text-red-800"
placeholder="拆成几份">
</span>
<span class="col-span-2 text-[11px] leading-4 text-red-600">
勾选后发金币/经验礼包都使用这组默认值;取消权限不会清空配置。
</span>
</span>
@endif
</span>
</label>
@endforeach