generated from liutk/owl-admin-base
0.71
parent
137512b735
commit
f2df604eae
|
|
@ -76,7 +76,7 @@ class HonorController extends AdminController
|
||||||
amis()->Grid()->columns([
|
amis()->Grid()->columns([
|
||||||
amis()->Wrapper()->body([
|
amis()->Wrapper()->body([
|
||||||
amis()->TextControl('title', __('admin.honors.title'))->required(true),
|
amis()->TextControl('title', __('admin.honors.title'))->required(true),
|
||||||
amis()->selectControl('cate', __('admin.honors.category'))->options(Keyword::allChildrenOfKey('honors')->pluck('name', 'id'))->required(true),
|
amis()->selectControl('category', __('admin.honors.category'))->options(Keyword::allChildrenOfKey('honors')->pluck('name', 'id'))->required(true),
|
||||||
Components::make()->cropImageControl('cover', __('admin.honors.cover'))->required(true),
|
Components::make()->cropImageControl('cover', __('admin.honors.cover'))->required(true),
|
||||||
amis()->DateControl('awarded_date', __('admin.honors.awarded_date'))->format('YYYY-MM-DD')->required(true),
|
amis()->DateControl('awarded_date', __('admin.honors.awarded_date'))->format('YYYY-MM-DD')->required(true),
|
||||||
Components::make()->sortControl('sort', __('admin.honors.sort')),
|
Components::make()->sortControl('sort', __('admin.honors.sort')),
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Api;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Http\Resources\{HonorResource,KeywordResource};
|
||||||
|
use App\Traits\PaginatorTrait;
|
||||||
|
use App\Models\Filters\HonorFilter;
|
||||||
|
use App\Models\Honor;
|
||||||
|
use App\Models\Keyword;
|
||||||
|
|
||||||
|
class HonorController extends Controller
|
||||||
|
{
|
||||||
|
use PaginatorTrait;
|
||||||
|
|
||||||
|
public function index(Request $request){
|
||||||
|
$query = Honor::filter($request->all(), HonorFilter::class)->sort();
|
||||||
|
$list = $query->show()->sort()->paginate($this->resolvePerPage('per_page', 20));
|
||||||
|
|
||||||
|
return $this->json(HonorResource::collection($list));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标签列表
|
||||||
|
*/
|
||||||
|
public function cates(Request $request){
|
||||||
|
$query = Keyword::allChildrenOfKey('honors');
|
||||||
|
$list = $query->sort()->get();
|
||||||
|
return $this->json(KeywordResource::collection($list));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?php
|
||||||
|
namespace App\Http\Resources;
|
||||||
|
|
||||||
|
use App\Models\Keyword;
|
||||||
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
|
class HonorResource extends JsonResource
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Transform the resource into an array.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
|
||||||
|
*/
|
||||||
|
public function toArray($request)
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'id' => $this->id,
|
||||||
|
'title' => $this->title,
|
||||||
|
'cover' => $this->cover,
|
||||||
|
'awarded_date' => $this->awarded_date,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -14,6 +14,9 @@ class Honor extends Model
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
use Filterable;
|
use Filterable;
|
||||||
|
|
||||||
|
protected $appends = ['cover_url'];
|
||||||
|
|
||||||
|
|
||||||
protected function serializeDate(\DateTimeInterface $date)
|
protected function serializeDate(\DateTimeInterface $date)
|
||||||
{
|
{
|
||||||
return $date->format('Y-m-d H:i:s');
|
return $date->format('Y-m-d H:i:s');
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ class KeywordService extends BaseService
|
||||||
|
|
||||||
public function getTree()
|
public function getTree()
|
||||||
{
|
{
|
||||||
$list = $this->query()->filter(request()->all(), $this->modelFilterName)->orderByDesc('sort')->get();
|
$list = $this->query()->filter(request()->all(), $this->modelFilterName)->orderBy('sort')->get();
|
||||||
$minNum = $list->min('parent_id');
|
$minNum = $list->min('parent_id');
|
||||||
return !$list->isEmpty() ? array2tree($list->toArray(), $minNum) :[];
|
return !$list->isEmpty() ? array2tree($list->toArray(), $minNum) :[];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,15 @@ class KeywordSeeder extends Seeder
|
||||||
'index-top'=>'首页', 'companny-top' =>'关于我们', 'project-top'=>'业务范围', 'examples-top'=> '案例展示', 'news-top'=>'资讯动态','contactus-top'=>'联系我们'
|
'index-top'=>'首页', 'companny-top' =>'关于我们', 'project-top'=>'业务范围', 'examples-top'=> '案例展示', 'news-top'=>'资讯动态','contactus-top'=>'联系我们'
|
||||||
]],
|
]],
|
||||||
['key' => 'honors', 'name' => '资质荣誉', 'list' => [
|
['key' => 'honors', 'name' => '资质荣誉', 'list' => [
|
||||||
|
'honor1'=>'核心资质认证', 'honor2'=>'管理体系认证','honor3'=>'重要荣誉奖项'
|
||||||
]],
|
]],
|
||||||
['key' => 'case_study_tag', 'name' => '服务案例标签', 'list' => [//标签value填写色号,指定标签颜色
|
['key' => 'case_study_tag', 'name' => '服务案例标签', 'list' => [//标签value填写色号,指定标签颜色
|
||||||
|
'case_study_tag1'=>'全项目保洁',
|
||||||
|
'case_study_tag2'=>'专项四害消杀消毒',
|
||||||
|
'case_study_tag3'=>'石材养护',
|
||||||
|
'case_study_tag4'=>'生活垃圾清运',
|
||||||
|
'case_study_tag5'=>'高端文旅项目保洁',
|
||||||
|
'case_study_tag6'=>'海域水上垃圾清理清运'
|
||||||
]],
|
]],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,4 +39,7 @@ Route::middleware('api')->group(function () {
|
||||||
Route::get('/case_studies/{case_study}', [CaseStudyController::class, 'show']);
|
Route::get('/case_studies/{case_study}', [CaseStudyController::class, 'show']);
|
||||||
//企业资讯
|
//企业资讯
|
||||||
|
|
||||||
|
//荣誉资质
|
||||||
|
Route::get('/honor_cates', [HonorController::class, 'cates']);
|
||||||
|
Route::get('/honors', [HonorController::class, 'index']);
|
||||||
});
|
});
|
||||||
Loading…
Reference in New Issue