fix: [employee] 부양가족 체크박스(장애인/피부양자) 값 저장·표시 오류 수정
- Alpine x-model + hidden input 패턴 개선 (동적 :value 바인딩) - JSON 로드 시 boolean 정규화로 체크 상태 정확히 복원 - 서비스 레이어에서 filter_var BOOLEAN 캐스팅 추가 - show 페이지 표시 로직 filter_var로 강화
This commit is contained in:
@@ -265,14 +265,14 @@ class="w-full px-2 py-1.5 border border-gray-300 rounded text-sm focus:ring-1 fo
|
||||
</select>
|
||||
</div>
|
||||
<label class="inline-flex items-center gap-1 text-sm text-gray-600 cursor-pointer">
|
||||
<input type="hidden" :name="'dependents['+index+'][is_disabled]'" value="0">
|
||||
<input type="checkbox" :name="'dependents['+index+'][is_disabled]'" x-model="dep.is_disabled" value="1"
|
||||
<input type="hidden" :name="'dependents['+index+'][is_disabled]'" :value="dep.is_disabled ? '1' : '0'">
|
||||
<input type="checkbox" x-model="dep.is_disabled"
|
||||
class="rounded border-gray-300 text-blue-600 focus:ring-blue-500">
|
||||
장애인
|
||||
</label>
|
||||
<label class="inline-flex items-center gap-1 text-sm text-gray-600 cursor-pointer">
|
||||
<input type="hidden" :name="'dependents['+index+'][is_dependent]'" value="0">
|
||||
<input type="checkbox" :name="'dependents['+index+'][is_dependent]'" x-model="dep.is_dependent" value="1"
|
||||
<input type="hidden" :name="'dependents['+index+'][is_dependent]'" :value="dep.is_dependent ? '1' : '0'">
|
||||
<input type="checkbox" x-model="dep.is_dependent"
|
||||
class="rounded border-gray-300 text-blue-600 focus:ring-blue-500">
|
||||
피부양자적용
|
||||
</label>
|
||||
@@ -360,7 +360,11 @@ class="text-red-400 hover:text-red-600 shrink-0 ml-2" title="삭제">
|
||||
<script>
|
||||
function dependentsManager() {
|
||||
return {
|
||||
dependents: @json($employee->dependents ?? []),
|
||||
dependents: (@json($employee->dependents ?? [])).map(dep => ({
|
||||
...dep,
|
||||
is_disabled: !!(dep.is_disabled && dep.is_disabled !== '0' && dep.is_disabled !== 0),
|
||||
is_dependent: !!(dep.is_dependent && dep.is_dependent !== '0' && dep.is_dependent !== 0),
|
||||
})),
|
||||
addDependent() {
|
||||
this.dependents.push({
|
||||
name: '', nationality: 'korean', resident_number: '',
|
||||
|
||||
@@ -213,8 +213,8 @@ class="inline-flex items-center gap-2 px-4 py-2 bg-blue-600 hover:bg-blue-700 te
|
||||
@default - @break
|
||||
@endswitch
|
||||
</td>
|
||||
<td class="py-2 pr-3">{{ !empty($dep['is_disabled']) ? 'Y' : 'N' }}</td>
|
||||
<td class="py-2">{{ !empty($dep['is_dependent']) ? 'Y' : 'N' }}</td>
|
||||
<td class="py-2 pr-3">{{ filter_var($dep['is_disabled'] ?? false, FILTER_VALIDATE_BOOLEAN) ? 'Y' : 'N' }}</td>
|
||||
<td class="py-2">{{ filter_var($dep['is_dependent'] ?? false, FILTER_VALIDATE_BOOLEAN) ? 'Y' : 'N' }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user