36 lines
1021 B
PHP
36 lines
1021 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Controllers\Sales;
|
||
|
|
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use App\Models\Sales\SalesProductCategory;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
use Illuminate\Http\Response;
|
||
|
|
use Illuminate\View\View;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 가격 시뮬레이터 컨트롤러
|
||
|
|
*
|
||
|
|
* 영업파트너가 고객에게 제안할 가격을 시뮬레이션하는 도구.
|
||
|
|
* 상품 선택, 가격 조정, 수당 계산, 가입유형별 비교를 제공한다.
|
||
|
|
*/
|
||
|
|
class PriceSimulatorController extends Controller
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* 가격 시뮬레이터 메인 화면
|
||
|
|
*/
|
||
|
|
public function index(Request $request): View|Response
|
||
|
|
{
|
||
|
|
if ($request->header('HX-Request')) {
|
||
|
|
return response('', 200)->header('HX-Redirect', route('sales.price-simulator.index'));
|
||
|
|
}
|
||
|
|
|
||
|
|
$categories = SalesProductCategory::active()
|
||
|
|
->ordered()
|
||
|
|
->with(['products' => fn ($q) => $q->active()->ordered()])
|
||
|
|
->get();
|
||
|
|
|
||
|
|
return view('sales.price-simulator.index', compact('categories'));
|
||
|
|
}
|
||
|
|
}
|