diff --git a/beike/Admin/Http/Controllers/RegionController.php b/beike/Admin/Http/Controllers/RegionController.php new file mode 100644 index 00000000..8f3d2a65 --- /dev/null +++ b/beike/Admin/Http/Controllers/RegionController.php @@ -0,0 +1,38 @@ + + * @created 2022-07-26 20:01:02 + * @modified 2022-07-26 20:01:02 + */ + +namespace Beike\Admin\Http\Controllers; + +use Beike\Models\Region; +use Illuminate\Http\Request; + +class RegionController +{ + public function index() + { + $regions = Region::query()->with('zones')->get(); + return view('admin::pages.regions.index', ['regions' => $regions]); + } + + public function store(Request $request) + { + } + + public function update(Request $request) + { + + } + + public function destroy(Request $request) + { + + } +} diff --git a/beike/Admin/Http/Controllers/TaxClassController.php b/beike/Admin/Http/Controllers/TaxClassController.php new file mode 100644 index 00000000..52587c19 --- /dev/null +++ b/beike/Admin/Http/Controllers/TaxClassController.php @@ -0,0 +1,38 @@ + + * @created 2022-07-26 19:45:41 + * @modified 2022-07-26 19:45:41 + */ + +namespace Beike\Admin\Http\Controllers; + +use Beike\Models\TaxClass; +use Illuminate\Http\Request; + +class TaxClassController extends Controller +{ + public function index() + { + $taxClasses = TaxClass::query()->get(); + return view('admin::pages.tax_classes.index', ['tax_classes' => $taxClasses]); + } + + public function store(Request $request) + { + } + + public function update(Request $request) + { + + } + + public function destroy(Request $request) + { + + } +} diff --git a/beike/Admin/Http/Controllers/TaxRateController.php b/beike/Admin/Http/Controllers/TaxRateController.php new file mode 100644 index 00000000..25ea4c36 --- /dev/null +++ b/beike/Admin/Http/Controllers/TaxRateController.php @@ -0,0 +1,38 @@ + + * @created 2022-07-26 20:00:13 + * @modified 2022-07-26 20:00:13 + */ + +namespace Beike\Admin\Http\Controllers; + +use Beike\Models\TaxRate; +use Illuminate\Http\Request; + +class TaxRateController +{ + public function index() + { + $taxRates = TaxRate::all(); + return view('admin::pages.tax_rates.index', ['tax_rates' => $taxRates]); + } + + public function store(Request $request) + { + } + + public function update(Request $request) + { + + } + + public function destroy(Request $request) + { + + } +} diff --git a/beike/Admin/Routes/admin.php b/beike/Admin/Routes/admin.php index d57abf74..8827ffc5 100644 --- a/beike/Admin/Routes/admin.php +++ b/beike/Admin/Routes/admin.php @@ -66,7 +66,12 @@ Route::prefix($adminName) Route::get('products/names', [Controllers\ProductController::class, 'getNames'])->name('products.names'); Route::resource('products', Controllers\ProductController::class); + Route::resource('regions', Controllers\RegionController::class); + Route::get('settings', [Controllers\SettingController::class, 'index'])->name('settings.index'); Route::post('settings', [Controllers\SettingController::class, 'store'])->name('settings.store'); + + Route::resource('tax_classes', Controllers\TaxClassController::class); + Route::resource('tax_rates', Controllers\TaxRateController::class); }); }); diff --git a/beike/Admin/View/Components/Header.php b/beike/Admin/View/Components/Header.php index 7971d686..7a9df1d5 100644 --- a/beike/Admin/View/Components/Header.php +++ b/beike/Admin/View/Components/Header.php @@ -19,23 +19,20 @@ class Header extends Component $this->addLink('订单管理', admin_route('orders.index'), equal_route('admin.orders.index')); $this->addLink('商品管理', admin_route('products.index'), equal_route('admin.products.index')); $this->addLink('会员管理', admin_route('customers.index'), equal_route('admin.customers.index')); - // $this->addLink('营销管理', admin_route('home.index'), equal_route('admin.promotions.index')); - // $this->addLink('插件管理', admin_route('plugins.index'), equal_route('admin.plugins.index')); - // $this->addLink('首页装修', admin_route('design.index'), equal_route('admin.design.index')); $this->addLink('系统设置', admin_route('settings.index'), equal_route('admin.settings.index')); } /** * Get the view / contents that represent the component. * - * @return \Illuminate\Contracts\View\View|\Closure|string + * @return mixed */ public function render() { return view('admin::components.header'); } - public function addLink($title, $url, $active = false) + private function addLink($title, $url, $active = false) { $this->links[] = [ 'title' => $title, diff --git a/beike/Admin/View/Components/Sidebar.php b/beike/Admin/View/Components/Sidebar.php index 21401199..13c60b95 100644 --- a/beike/Admin/View/Components/Sidebar.php +++ b/beike/Admin/View/Components/Sidebar.php @@ -9,6 +9,7 @@ class Sidebar extends Component { public array $links = []; private string $adminName; + private string $routeNameWithPrefix; /** * Create a new component instance. @@ -18,6 +19,7 @@ class Sidebar extends Component public function __construct() { $this->adminName = admin_name(); + $this->routeNameWithPrefix = request()->route()->getName(); } /** @@ -46,9 +48,11 @@ class Sidebar extends Component $this->addLink('订单列表', admin_route('orders.index'), 'fa fa-tachometer-alt', $this->equalRoute('orders.index')); } - if (Str::startsWith($routeName, ['settings.', 'plugins.'])) { + if (Str::startsWith($routeName, ['settings.', 'plugins.', 'tax_classes', 'tax_rates', 'regions'])) { $this->addLink('系统设置', admin_route('settings.index'), 'fa fa-tachometer-alt', $this->equalRoute('settings.index')); $this->addLink('插件列表', admin_route('plugins.index'), 'fa fa-tachometer-alt', $this->equalRoute('plugins.index')); + $this->addLink('税费设置', admin_route('tax_classes.index'), 'fa fa-tachometer-alt', $this->equalRoute('tax_classes.index')); + $this->addLink('区域分组', admin_route('regions.index'), 'fa fa-tachometer-alt', $this->equalRoute('regions.index')); $this->addLink('首页装修', admin_route('design.index'), 'fa fa-tachometer-alt', $this->equalRoute('design.index'), true); } @@ -85,10 +89,7 @@ class Sidebar extends Component */ private function equalRoute($routeName): bool { - $adminName = $this->adminName; - $routeNameWithPrefix = request()->route()->getName(); - $currentRouteName = str_replace($adminName . '.', '', $routeNameWithPrefix); - + $currentRouteName = str_replace($this->adminName . '.', '', $this->routeNameWithPrefix); return $routeName == $currentRouteName; } } diff --git a/resources/beike/admin/views/pages/regions/index.blade.php b/resources/beike/admin/views/pages/regions/index.blade.php new file mode 100644 index 00000000..4d423356 --- /dev/null +++ b/resources/beike/admin/views/pages/regions/index.blade.php @@ -0,0 +1,8 @@ +@extends('admin::layouts.master') +@section('title', '区域组') + +@section('content') + @foreach($regions as $region) + @dump($region->name) + @endforeach +@endsection diff --git a/resources/beike/admin/views/pages/tax_classes/index.blade.php b/resources/beike/admin/views/pages/tax_classes/index.blade.php new file mode 100644 index 00000000..a84d9da2 --- /dev/null +++ b/resources/beike/admin/views/pages/tax_classes/index.blade.php @@ -0,0 +1,8 @@ +@extends('admin::layouts.master') +@section('title', '税类设置') + +@section('content') + @foreach($tax_classes as $tax_class) + @dump($tax_class->title) + @endforeach +@endsection diff --git a/resources/beike/admin/views/pages/tax_rates/index.blade.php b/resources/beike/admin/views/pages/tax_rates/index.blade.php new file mode 100644 index 00000000..9ba12bd1 --- /dev/null +++ b/resources/beike/admin/views/pages/tax_rates/index.blade.php @@ -0,0 +1,8 @@ +@extends('admin::layouts.master') +@section('title', '税率设置') + +@section('content') + @foreach($tax_rates as $tax_rate) + @dump($tax_rate->name) + @endforeach +@endsection