fixed tax rate

This commit is contained in:
Edward Yang 2022-07-27 11:24:16 +08:00
parent a17ed15393
commit 565c1d78d1
4 changed files with 67 additions and 10 deletions

View File

@ -11,10 +11,9 @@
namespace Beike\Admin\Http\Controllers;
use Beike\Admin\Repositories\TaxClassRepo;
use Beike\Models\TaxClass;
use Beike\Models\TaxRate;
use Illuminate\Http\Request;
use Beike\Admin\Repositories\TaxClassRepo;
class TaxClassController extends Controller
{

View File

@ -11,29 +11,38 @@
namespace Beike\Admin\Http\Controllers;
use Beike\Models\TaxRate;
use Illuminate\Http\Request;
use Beike\Admin\Repositories\TaxRateRepo;
class TaxRateController
{
public function index()
{
$taxRates = TaxRate::all();
return view('admin::pages.tax_rates.index', ['tax_rates' => $taxRates]);
$data = [
'tax_rates' => TaxRateRepo::getList()
];
return view('admin::pages.tax_rates.index', $data);
}
public function store(Request $request)
{
return json_success('添加成功');
$requestData = json_decode($request->getContent(), true);
$taxRate = TaxRateRepo::createOrUpdate($requestData);
return json_success('保存成功', $taxRate);
}
public function update(Request $request)
public function update(Request $request, int $taxRateId)
{
return json_success('更新成功');
$requestData = json_decode($request->getContent(), true);
$requestData['id'] = $taxRateId;
$taxRate = TaxRateRepo::createOrUpdate($requestData);
return json_success('更新成功', $taxRate);
}
public function destroy(Request $request)
public function destroy(Request $request, int $taxRateId)
{
TaxRateRepo::deleteById($taxRateId);
return json_success('删除成功');
}
}

View File

@ -0,0 +1,48 @@
<?php
/**
* TaxRateRepo.php
*
* @copyright 2022 opencart.cn - All Rights Reserved
* @link http://www.guangdawangluo.com
* @author Edward Yang <yangjin@opencart.cn>
* @created 2022-07-27 11:21:14
* @modified 2022-07-27 11:21:14
*/
namespace Beike\Admin\Repositories;
use Beike\Models\TaxRate;
class TaxRateRepo
{
public static function getList()
{
return TaxRate::query()->with([
'region'
])->get();
}
public static function createOrUpdate($data)
{
$id = $data['id'] ?? 0;
if ($id) {
$taxRate = TaxRate::query()->findOrFail($id);
} else {
$taxRate = new TaxRate();
}
$taxRate->fill([
'region_id' => $data['region_id'],
'name' => $data['name'],
'rate' => $data['rate'],
'type' => $data['type'],
]);
$taxRate->saveOrFail();
return $taxRate;
}
public static function deleteById($id)
{
$taxRate = TaxRate::query()->findOrFail($id);
$taxRate->delete();
}
}

View File

@ -51,8 +51,9 @@ class Sidebar extends Component
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('tax_rates.index'), 'fa fa-tachometer-alt', $this->equalRoute('tax_rates.index'));
$this->addLink('税费类别', admin_route('tax_classes.index'), 'fa fa-tachometer-alt', $this->equalRoute('tax_classes.index'));
$this->addLink('首页装修', admin_route('design.index'), 'fa fa-tachometer-alt', $this->equalRoute('design.index'), true);
}