Files
sam-manage/app/Http/Controllers/ESign/EsignController.php
김보곤 3281788536 feat:E-Sign 전자계약 서명 솔루션 MNG 프론트엔드 구현
- 컨트롤러 2개 (EsignController, EsignPublicController)
- 뷰 8개 (dashboard, create, detail, fields, send, sign/auth, sign/sign, sign/done)
- React 하이브리드 방식 (기존 Finance 패턴)
- 라우트 추가 (인증 esign/* + 공개 esign/sign/*)
- PDF.js 기반 서명 위치 설정
- signature_pad 기반 전자서명 입력
- OTP 본인인증 플로우

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 07:02:48 +09:00

57 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers\ESign;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\View\View;
use Symfony\Component\HttpFoundation\Response;
class EsignController extends Controller
{
public function dashboard(Request $request): View|Response
{
if ($request->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('esign.dashboard'));
}
return view('esign.dashboard');
}
public function create(Request $request): View|Response
{
if ($request->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('esign.create'));
}
return view('esign.create');
}
public function detail(Request $request, int $id): View|Response
{
if ($request->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('esign.detail', $id));
}
return view('esign.detail', ['contractId' => $id]);
}
public function fields(Request $request, int $id): View|Response
{
if ($request->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('esign.fields', $id));
}
return view('esign.fields', ['contractId' => $id]);
}
public function send(Request $request, int $id): View|Response
{
if ($request->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('esign.send', $id));
}
return view('esign.send', ['contractId' => $id]);
}
}