add tax and regions

This commit is contained in:
Edward Yang 2022-07-26 20:13:42 +08:00
parent 3abfb798c5
commit 8aa7ec697f
9 changed files with 151 additions and 10 deletions

View File

@ -0,0 +1,38 @@
<?php
/**
* RegionZoneController.php
*
* @copyright 2022 opencart.cn - All Rights Reserved
* @link http://www.guangdawangluo.com
* @author Edward Yang <yangjin@opencart.cn>
* @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)
{
}
}

View File

@ -0,0 +1,38 @@
<?php
/**
* TaxClassController.php
*
* @copyright 2022 opencart.cn - All Rights Reserved
* @link http://www.guangdawangluo.com
* @author Edward Yang <yangjin@opencart.cn>
* @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)
{
}
}

View File

@ -0,0 +1,38 @@
<?php
/**
* TaxRateController.php
*
* @copyright 2022 opencart.cn - All Rights Reserved
* @link http://www.guangdawangluo.com
* @author Edward Yang <yangjin@opencart.cn>
* @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)
{
}
}

View File

@ -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);
});
});

View File

@ -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,

View File

@ -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;
}
}

View File

@ -0,0 +1,8 @@
@extends('admin::layouts.master')
@section('title', '区域组')
@section('content')
@foreach($regions as $region)
@dump($region->name)
@endforeach
@endsection

View File

@ -0,0 +1,8 @@
@extends('admin::layouts.master')
@section('title', '税类设置')
@section('content')
@foreach($tax_classes as $tax_class)
@dump($tax_class->title)
@endforeach
@endsection

View File

@ -0,0 +1,8 @@
@extends('admin::layouts.master')
@section('title', '税率设置')
@section('content')
@foreach($tax_rates as $tax_rate)
@dump($tax_rate->name)
@endforeach
@endsection