diff --git a/app/console/controller/VehicleNewAttributeValuesController.php b/app/console/controller/VehicleNewAttributeValuesController.php index a1f4e76..e17cf36 100644 --- a/app/console/controller/VehicleNewAttributeValuesController.php +++ b/app/console/controller/VehicleNewAttributeValuesController.php @@ -2,6 +2,7 @@ namespace app\console\controller; +use app\console\model\VehicleNewAttributeValuesTranslationModel; use support\Request; use support\Response; use app\console\model\VehicleNewAttributeValuesModel; @@ -43,7 +44,17 @@ class VehicleNewAttributeValuesController extends BaseController if ($scene === 'default') { } - + + if ($scene === 'preset') { + $result = [ + 'id' => $item['id'], + 'color_code' => $item['color_code'], +// 'value_name' => isset($item['translation']) ? $item['translation']['value_name'] : '1', + ]; + $translation = VehicleNewAttributeValuesTranslationModel::where(['values_id' => $item['id'],'locale'=>locale()])->first(); + $result['value_name'] = $translation->value_name; + return $result; + } return $item; } @@ -58,9 +69,11 @@ class VehicleNewAttributeValuesController extends BaseController $params = parent::prepareParams($request, $scene); if ($scene === 'default') { - + + } + if ($scene === 'preset') { + $params['filters'][] = ['field' => 'attribute_id', 'operator' => '=', 'value' => $params['id']]; } - return $params; } @@ -78,4 +91,13 @@ class VehicleNewAttributeValuesController extends BaseController return $this->errorResponse($th->getMessage()); } } + + public function presets(Request $request, string $scene = 'preset'): Response + { + try { + return parent::all($request, $scene); + } catch (\Throwable $th) { + return $this->errorResponse($th->getMessage().$th->getFile().$th->getLine()); + } + } } \ No newline at end of file diff --git a/app/console/service/VehicleNewAttributeValuesService.php b/app/console/service/VehicleNewAttributeValuesService.php index 0db1152..b21aa10 100644 --- a/app/console/service/VehicleNewAttributeValuesService.php +++ b/app/console/service/VehicleNewAttributeValuesService.php @@ -25,6 +25,18 @@ class VehicleNewAttributeValuesService extends BaseService public function queryScenes(): array { return [ + 'preset' => function ($params) { + return [ + 'filters' => $params['filters'], + 'fields' => ['id', 'color_code'], + 'relations' => [ + 'translation' => ['id', 'locale', 'value_name'], + ], + 'sorts' => [ + ['field' => 'created_at', 'direction' => 'desc'] + ], + ]; + }, // 'default' => function ($params) { // $keyword = $params['keyword'] ?? ''; // return [ diff --git a/config/route.php b/config/route.php index 59857dd..b8ee017 100644 --- a/config/route.php +++ b/config/route.php @@ -202,6 +202,7 @@ Route::group('/console', function() { Route::any('/vehicle/new/attributes/{id}/update', [\app\console\controller\VehicleNewAttributesController::class, 'edit']); Route::any('/vehicle/new/attributes/{id}/delete', [\app\console\controller\VehicleNewAttributesController::class, 'destroy']); Route::any('/vehicle/new/attributes/{id}/detail', [\app\console\controller\VehicleNewAttributesController::class, 'detail']); + Route::any('/vehicle/new/values/preset', [\app\console\controller\VehicleNewAttributeValuesController::class, 'presets']); //新车属性分类 Route::any('/vehicle/new/categories/list', [\app\console\controller\VehicleNewAttributeCategoriesController::class, 'index']);