diff --git a/app/Admin/Controllers/HonorController.php b/app/Admin/Controllers/HonorController.php index a2dc572..b9d469b 100644 --- a/app/Admin/Controllers/HonorController.php +++ b/app/Admin/Controllers/HonorController.php @@ -76,7 +76,7 @@ class HonorController extends AdminController amis()->Grid()->columns([ amis()->Wrapper()->body([ 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), amis()->DateControl('awarded_date', __('admin.honors.awarded_date'))->format('YYYY-MM-DD')->required(true), Components::make()->sortControl('sort', __('admin.honors.sort')), diff --git a/app/Http/Controllers/Api/HonorController.php b/app/Http/Controllers/Api/HonorController.php new file mode 100644 index 0000000..26aa8a4 --- /dev/null +++ b/app/Http/Controllers/Api/HonorController.php @@ -0,0 +1,32 @@ +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)); + } +} \ No newline at end of file diff --git a/app/Http/Resources/HonorResource.php b/app/Http/Resources/HonorResource.php new file mode 100644 index 0000000..194f459 --- /dev/null +++ b/app/Http/Resources/HonorResource.php @@ -0,0 +1,24 @@ + $this->id, + 'title' => $this->title, + 'cover' => $this->cover, + 'awarded_date' => $this->awarded_date, + ]; + } +} diff --git a/app/Models/Honor.php b/app/Models/Honor.php index fc702d2..d7ea633 100644 --- a/app/Models/Honor.php +++ b/app/Models/Honor.php @@ -14,6 +14,9 @@ class Honor extends Model use HasFactory; use Filterable; + protected $appends = ['cover_url']; + + protected function serializeDate(\DateTimeInterface $date) { return $date->format('Y-m-d H:i:s'); diff --git a/app/Services/Admin/KeywordService.php b/app/Services/Admin/KeywordService.php index 7e28bc1..2d2fe4c 100644 --- a/app/Services/Admin/KeywordService.php +++ b/app/Services/Admin/KeywordService.php @@ -17,7 +17,7 @@ class KeywordService extends BaseService 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'); return !$list->isEmpty() ? array2tree($list->toArray(), $minNum) :[]; } diff --git a/database/seeders/KeywordSeeder.php b/database/seeders/KeywordSeeder.php index 78c1c87..07562a1 100644 --- a/database/seeders/KeywordSeeder.php +++ b/database/seeders/KeywordSeeder.php @@ -25,10 +25,15 @@ class KeywordSeeder extends Seeder 'index-top'=>'首页', 'companny-top' =>'关于我们', 'project-top'=>'业务范围', 'examples-top'=> '案例展示', 'news-top'=>'资讯动态','contactus-top'=>'联系我们' ]], ['key' => 'honors', 'name' => '资质荣誉', 'list' => [ - + 'honor1'=>'核心资质认证', 'honor2'=>'管理体系认证','honor3'=>'重要荣誉奖项' ]], ['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'=>'海域水上垃圾清理清运' ]], ]; diff --git a/routes/api.php b/routes/api.php index 41edcbc..b554ef1 100644 --- a/routes/api.php +++ b/routes/api.php @@ -39,4 +39,7 @@ Route::middleware('api')->group(function () { Route::get('/case_studies/{case_study}', [CaseStudyController::class, 'show']); //企业资讯 + //荣誉资质 + Route::get('/honor_cates', [HonorController::class, 'cates']); + Route::get('/honors', [HonorController::class, 'index']); }); \ No newline at end of file