Browse Source

feat:后端-不良行为记录

刘学玺 4 months ago
parent
commit
070f9d5a1e

+ 76 - 0
app/Admin/Controllers/ViolationRecordController.php

@@ -0,0 +1,76 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Services\ViolationRecordService;
+use Slowlyo\OwlAdmin\Controllers\AdminController;
+
+/**
+ * 不良行为
+ *
+ * @property ViolationRecordService $service
+ */
+class ViolationRecordController extends AdminController
+{
+	protected string $serviceName = ViolationRecordService::class;
+
+	public function list()
+	{
+		$crud = $this->baseCRUD()
+			->filterTogglable(false)
+			->headerToolbar([
+				$this->createButton('dialog'),
+				...$this->baseHeaderToolBar()
+			])
+			->columns([
+				amis()->TableColumn('id', 'ID')->sortable(),
+				amis()->TableColumn('user_id', '用户ID'),
+				amis()->TableColumn('violation_type_id', '违规类型ID'),
+				amis()->TableColumn('order_id', '关联订单ID'),
+				amis()->TableColumn('coach_id', '关联技师ID'),
+				amis()->TableColumn('evidence', '证据信息(图片链接/文字描述等)'),
+				amis()->TableColumn('status', '状态')->sortable(),
+				amis()->TableColumn('processor', '处理人'),
+				amis()->TableColumn('process_time', '处理时间'),
+				amis()->TableColumn('process_note', '处理备注'),
+				amis()->TableColumn('created_at', admin_trans('admin.created_at'))->type('datetime')->sortable(),
+				amis()->TableColumn('updated_at', admin_trans('admin.updated_at'))->type('datetime')->sortable(),
+				$this->rowActions('dialog')
+			]);
+
+		return $this->baseList($crud);
+	}
+
+	public function form($isEdit = false)
+	{
+		return $this->baseForm()->body([
+			amis()->TextControl('user_id', '用户ID'),
+			amis()->TextControl('violation_type_id', '违规类型ID'),
+			amis()->TextControl('order_id', '关联订单ID'),
+			amis()->TextControl('coach_id', '关联技师ID'),
+			amis()->TextControl('evidence', '证据信息(图片链接/文字描述等)'),
+			amis()->TextControl('status', '状态'),
+			amis()->TextControl('processor', '处理人'),
+			amis()->TextControl('process_time', '处理时间'),
+			amis()->TextControl('process_note', '处理备注'),
+		]);
+	}
+
+	public function detail()
+	{
+		return $this->baseDetail()->body([
+			amis()->TextControl('id', 'ID')->static(),
+			amis()->TextControl('user_id', '用户ID')->static(),
+			amis()->TextControl('violation_type_id', '违规类型ID')->static(),
+			amis()->TextControl('order_id', '关联订单ID')->static(),
+			amis()->TextControl('coach_id', '关联技师ID')->static(),
+			amis()->TextControl('evidence', '证据信息(图片链接/文字描述等)')->static(),
+			amis()->TextControl('status', '状态')->static(),
+			amis()->TextControl('processor', '处理人')->static(),
+			amis()->TextControl('process_time', '处理时间')->static(),
+			amis()->TextControl('process_note', '处理备注')->static(),
+			amis()->TextControl('created_at', admin_trans('admin.created_at'))->static(),
+			amis()->TextControl('updated_at', admin_trans('admin.updated_at'))->static(),
+		]);
+	}
+}

+ 16 - 0
app/Models/ViolationRecord.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\SoftDeletes;
+use Slowlyo\OwlAdmin\Models\BaseModel as Model;
+
+/**
+ * 不良行为
+ */
+class ViolationRecord extends Model
+{
+	use SoftDeletes;
+
+	protected $table = 'violation_records';
+}

+ 17 - 0
app/Services/ViolationRecordService.php

@@ -0,0 +1,17 @@
+<?php
+
+namespace App\Services;
+
+use App\Models\ViolationRecord;
+use Slowlyo\OwlAdmin\Services\AdminService;
+
+/**
+ * 不良行为
+ *
+ * @method ViolationRecord getModel()
+ * @method ViolationRecord|\Illuminate\Database\Query\Builder query()
+ */
+class ViolationRecordService extends AdminService
+{
+	protected string $modelName = ViolationRecord::class;
+}

+ 2 - 0
routes/admin.php

@@ -109,6 +109,8 @@ Route::group([
     $router->resource('salesmen_change_records', \App\Admin\Controllers\SalesmenChangeRecordController::class);
     // 用户反馈
     $router->resource('user_feedbacks', \App\Admin\Controllers\UserFeedbackController::class);
+    // 不良行为
+    $router->resource('violation_records', \App\Admin\Controllers\ViolationRecordController::class);
     // ProjectCate
     $router->get('_project/cate', [\Slowlyo\OwlAdmin\Controllers\AdminApiController::class, 'index']);