fixed page auto complete and get name by id
This commit is contained in:
parent
fc6cb5c8dc
commit
678969331b
|
|
@ -12,6 +12,7 @@
|
|||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Models\Page;
|
||||
use Beike\Repositories\ProductRepo;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Admin\Repositories\PageRepo;
|
||||
|
||||
|
|
@ -59,4 +60,27 @@ class PagesController
|
|||
PageRepo::deleteById($pageId);
|
||||
return redirect()->to(admin_route('pages.index'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索页面标题自动完成
|
||||
* @param Request $request
|
||||
* @return array
|
||||
*/
|
||||
public function autocomplete(Request $request): array
|
||||
{
|
||||
$products = PageRepo::autocomplete($request->get('name') ?? '');
|
||||
return json_success('获取成功!', $products);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取单页名称
|
||||
* @param Page $page
|
||||
* @return array
|
||||
*/
|
||||
public function name(Page $page): array
|
||||
{
|
||||
$name = $page->description->title ?? '';
|
||||
return json_success('获取成功', $name);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
namespace Beike\Admin\Repositories;
|
||||
|
||||
use Beike\Models\Page;
|
||||
use Beike\Models\Product;
|
||||
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
||||
|
||||
class PageRepo
|
||||
|
|
@ -69,4 +70,28 @@ class PageRepo
|
|||
$page->descriptions()->delete();
|
||||
$page->delete();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 页面内容自动完成
|
||||
*
|
||||
* @param $name
|
||||
* @return array
|
||||
*/
|
||||
public static function autocomplete($name): array
|
||||
{
|
||||
$pages = Page::query()->with('description')
|
||||
->whereHas('description', function ($query) use ($name) {
|
||||
$query->where('title', 'like', "{$name}%");
|
||||
})->limit(10)->get();
|
||||
$results = [];
|
||||
foreach ($pages as $page) {
|
||||
$results[] = [
|
||||
'id' => $page->id,
|
||||
'title' => $page->description->title,
|
||||
'status' => $page->active
|
||||
];
|
||||
}
|
||||
return $results;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ Route::prefix($adminName)
|
|||
->middleware(['admin'])
|
||||
->name("{$adminName}.")
|
||||
->group(function () {
|
||||
Route::get('brands/autocomplete', [Controllers\BrandController::class, 'autocomplete'])->name('brands.autocomplete');
|
||||
Route::get('login', [Controllers\LoginController::class, 'show'])->name('login.show');
|
||||
Route::post('login', [Controllers\LoginController::class, 'store'])->name('login.store');
|
||||
|
||||
|
|
@ -17,18 +16,17 @@ Route::prefix($adminName)
|
|||
Route::post('forgotten/send_code', [ForgottenController::class, 'sendVerifyCode'])->name('forgotten.send_code');
|
||||
Route::post('forgotten/password', [ForgottenController::class, 'changePassword'])->name('forgotten.password');
|
||||
|
||||
Route::get('categories/autocomplete', [Controllers\CategoryController::class, 'autocomplete'])->name('categories.autocomplete');
|
||||
Route::get('products/autocomplete', [Controllers\ProductController::class, 'autocomplete'])->name('products.autocomplete');
|
||||
|
||||
Route::middleware('admin_auth:' . \Beike\Models\AdminUser::AUTH_GUARD)
|
||||
->group(function () {
|
||||
Route::get('/', [Controllers\HomeController::class, 'index'])->name('home.index');
|
||||
|
||||
Route::get('brands/names', [Controllers\BrandController::class, 'getNames'])->name('brands.names');
|
||||
Route::get('brands/autocomplete', [Controllers\BrandController::class, 'autocomplete'])->name('brands.autocomplete');
|
||||
Route::resource('brands', Controllers\BrandController::class);
|
||||
Route::get('brands/{id}/name', [Controllers\BrandController::class, 'name'])->name('brands.name');
|
||||
|
||||
Route::resource('categories', Controllers\CategoryController::class);
|
||||
Route::get('categories/autocomplete', [Controllers\CategoryController::class, 'autocomplete'])->name('categories.autocomplete');
|
||||
Route::get('categories/{id}/name', [Controllers\CategoryController::class, 'name'])->name('categories.name');
|
||||
|
||||
Route::resource('customers', Controllers\CustomerController::class);
|
||||
|
|
@ -80,8 +78,10 @@ Route::prefix($adminName)
|
|||
|
||||
// 单页
|
||||
Route::middleware('can:pages_index')->get('pages', [Controllers\PagesController::class, 'index'])->name('pages.index');
|
||||
Route::middleware('can:pages_index')->get('pages/autocomplete', [Controllers\PagesController::class, 'autocomplete'])->name('pages.autocomplete');
|
||||
Route::middleware('can:pages_create')->get('pages/create', [Controllers\PagesController::class, 'create'])->name('pages.create');
|
||||
Route::middleware('can:pages_show')->get('pages/{code}/edit', [Controllers\PagesController::class, 'edit'])->name('pages.edit');
|
||||
Route::middleware('can:pages_show')->get('pages/{page}/name', [Controllers\PagesController::class, 'name'])->name('pages.name');
|
||||
Route::middleware('can:pages_create')->post('pages', [Controllers\PagesController::class, 'store'])->name('pages.store');
|
||||
Route::middleware('can:pages_update')->put('pages/{page}', [Controllers\PagesController::class, 'update'])->name('pages.update');
|
||||
Route::middleware('can:pages_delete')->delete('pages/{page}', [Controllers\PagesController::class, 'destroy'])->name('pages.destroy');
|
||||
|
|
@ -92,6 +92,7 @@ Route::prefix($adminName)
|
|||
Route::get('products/trashed', [Controllers\ProductController::class, 'trashed'])->name('products.trashed');
|
||||
Route::get('products/{id}/name', [Controllers\ProductController::class, 'name'])->name('products.name');
|
||||
Route::get('products/names', [Controllers\ProductController::class, 'getNames'])->name('products.names');
|
||||
Route::get('products/autocomplete', [Controllers\ProductController::class, 'autocomplete'])->name('products.autocomplete');
|
||||
Route::resource('products', Controllers\ProductController::class);
|
||||
|
||||
Route::resource('regions', Controllers\RegionController::class);
|
||||
|
|
|
|||
Loading…
Reference in New Issue