From 7b79960351072a90a303db38a7de93955ca69220 Mon Sep 17 00:00:00 2001 From: jsasg <735273025@qq.com> Date: Wed, 12 Mar 2025 16:31:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E6=88=90=E6=9C=AC=E5=88=86=E7=B1=BB=E6=A0=91=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/v1/ProductTcoCategory.php | 34 ++++++++++++++++ .../model/v1/ProductTcoCategoryModel.php | 40 +++++++++++++++++++ app/admin/route/v1.php | 5 ++- 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 app/admin/controller/v1/ProductTcoCategory.php create mode 100644 app/admin/model/v1/ProductTcoCategoryModel.php diff --git a/app/admin/controller/v1/ProductTcoCategory.php b/app/admin/controller/v1/ProductTcoCategory.php new file mode 100644 index 00000000..d54f4fbc --- /dev/null +++ b/app/admin/controller/v1/ProductTcoCategory.php @@ -0,0 +1,34 @@ +param(['name']); + + $categorys = ProductTcoCategoryModel::field([ + 'tco_id' => 'id', + 'tco_pid' => 'pid', + 'name', + ]) + ->withSearch(['name'], [ + 'name' => $param['name'] ?? null, + ]) + ->language(request()->lang_id) + ->enabled() + ->order(['id' => 'asc']) + ->select() + ->toArray(); + + return success('获取成功', array_to_tree($categorys, 0, 'pid', false)); + } +} diff --git a/app/admin/model/v1/ProductTcoCategoryModel.php b/app/admin/model/v1/ProductTcoCategoryModel.php new file mode 100644 index 00000000..596fcb37 --- /dev/null +++ b/app/admin/model/v1/ProductTcoCategoryModel.php @@ -0,0 +1,40 @@ +where('language_id', '=', $value); + } + + // 按分类名称搜索 + public function searchNameAttr($query, $value, $data) + { + if (is_null($value)) { + return; + } + $query->where('name', 'like', "%{$value}%"); + } + + // 只查询启用的 + public function scopeEnabled($query) + { + $query->where('disabled', '=', 0); + } +} diff --git a/app/admin/route/v1.php b/app/admin/route/v1.php index 56c78ff1..0bb85490 100644 --- a/app/admin/route/v1.php +++ b/app/admin/route/v1.php @@ -269,7 +269,10 @@ Route::group('v1', function () { // 产品分类 Route::group('category', function () { - // 分类列表 + // tco分类树 + Route::get('tco/tree', 'ProductTcoCategory/tree'); + + // 分类树 Route::get('index', 'ProductCategory/index'); // 分类详情