From 5a833425382eb5a78a86900f1d1f500e8cd65a8d Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Thu, 31 Aug 2023 09:53:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E5=9B=BD=E5=AE=B6?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=99=A8=20-=20=E6=B7=BB=E5=8A=A0=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E5=88=86=E7=BB=84=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/RegionController.php | 16 +++++++ beike/Admin/Routes/admin.php | 2 + beike/Repositories/CountryRepo.php | 10 +++++ .../default/design/slideshow_video.blade.php | 2 +- .../default/shared/select-countries.blade.php | 45 ++++++++++++++++++- 5 files changed, 72 insertions(+), 3 deletions(-) diff --git a/beike/Admin/Http/Controllers/RegionController.php b/beike/Admin/Http/Controllers/RegionController.php index 4d0ee061..234b4762 100644 --- a/beike/Admin/Http/Controllers/RegionController.php +++ b/beike/Admin/Http/Controllers/RegionController.php @@ -12,6 +12,7 @@ namespace Beike\Admin\Http\Controllers; use Beike\Admin\Repositories\RegionRepo; +use Beike\Models\Region; use Beike\Repositories\CountryRepo; use Illuminate\Http\Request; @@ -52,4 +53,19 @@ class RegionController return json_success(trans('common.deleted_success')); } + + + /** + * Common: 获取全部的区域分组 + * Author: wu-hui + * Time: 2023/08/31 9:25 + * @return array + */ + public function regionsAll(){ + $list = Region::query()->select(['id','name'])->get(); + + return json_success(trans('common.get_success'), $list); + } + + } diff --git a/beike/Admin/Routes/admin.php b/beike/Admin/Routes/admin.php index cf38d108..bb2b4b87 100644 --- a/beike/Admin/Routes/admin.php +++ b/beike/Admin/Routes/admin.php @@ -234,6 +234,8 @@ Route::prefix($adminName) Route::middleware('can:regions_create')->post('regions', [Controllers\RegionController::class, 'store'])->name('regions.store'); Route::middleware('can:regions_update')->put('regions/{id}', [Controllers\RegionController::class, 'update'])->name('regions.update'); Route::middleware('can:regions_delete')->delete('regions/{id}', [Controllers\RegionController::class, 'destroy'])->name('regions.destroy'); + Route::middleware('can:regions_all')->get('regions/get_all', [Controllers\RegionController::class, 'regionsAll'])->name('regions.regions_all'); + // RMA Route::middleware('can:rmas_update')->post('rmas/history/{id}', [Controllers\RmaController::class, 'addHistory'])->name('rmas.add_history'); diff --git a/beike/Repositories/CountryRepo.php b/beike/Repositories/CountryRepo.php index 355007ed..9f995f8d 100644 --- a/beike/Repositories/CountryRepo.php +++ b/beike/Repositories/CountryRepo.php @@ -12,6 +12,7 @@ namespace Beike\Repositories; use Beike\Models\Country; +use Beike\Models\RegionZone; use Illuminate\Contracts\Pagination\LengthAwarePaginator; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Collection; @@ -134,9 +135,18 @@ class CountryRepo public static function autocomplete($name, $onlyActive = 1){ // 参数获取 $pageSize = request()->input('page_size',10); + $regionsId = (int)request()->input('regions_id'); // 列表获取 $builder = Country::query() ->where('name', 'like', "$name%") + ->when($regionsId > 0,function($query) use ($regionsId){ + $ids = RegionZone::query() + ->where('region_id',$regionsId) + ->where('zone_id',0) + ->pluck('country_id'); + $ids = $ids ? $ids->toArray() : []; + if(is_array($ids) && count($ids) > 0) $query->whereIn('id',$ids); + }) ->select('id', 'name', 'icon', 'status', 'code') ->orderBy('sort_order','ASC') ->orderBy('id','ASC'); diff --git a/themes/default/design/slideshow_video.blade.php b/themes/default/design/slideshow_video.blade.php index afe3e087..49f3c34e 100644 --- a/themes/default/design/slideshow_video.blade.php +++ b/themes/default/design/slideshow_video.blade.php @@ -13,7 +13,7 @@
+ {{--区域分组--}} +