baseCRUD() ->filterTogglable(false) ->headerToolbar([ $this->createButton('dialog'), ...$this->baseHeaderToolBar() ]) ->columns([ amis()->TableColumn('id', 'ID')->sortable(), amis()->TableColumn('coach_id', '技师编号'), amis()->TableColumn('qual_type', '资质类型'), amis()->TableColumn('qual_no', '资质证书编号'), amis()->TableColumn('qual_photo', '资质证书照片'), amis()->TableColumn('valid_start', '有效期开始日期'), amis()->TableColumn('valid_end', '有效期结束日期'), amis()->TableColumn('auditor', '审核人'), amis()->TableColumn('audit_time', '审核时间'), amis()->TableColumn('audit_remark', '审核回执'), amis()->TableColumn('state', '状态'), 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('coach_id', '技师编号'), amis()->TextControl('qual_type', '资质类型'), amis()->TextControl('qual_no', '资质证书编号'), amis()->TextControl('qual_photo', '资质证书照片'), amis()->TextControl('valid_start', '有效期开始日期'), amis()->TextControl('valid_end', '有效期结束日期'), amis()->TextControl('auditor', '审核人'), amis()->TextControl('audit_time', '审核时间'), amis()->TextControl('audit_remark', '审核回执'), amis()->TextControl('state', '状态'), ]); } public function detail() { return $this->baseDetail()->body([ amis()->TextControl('id', 'ID')->static(), amis()->TextControl('coach_id', '技师编号')->static(), amis()->TextControl('qual_type', '资质类型')->static(), amis()->TextControl('qual_no', '资质证书编号')->static(), amis()->TextControl('qual_photo', '资质证书照片')->static(), amis()->TextControl('valid_start', '有效期开始日期')->static(), amis()->TextControl('valid_end', '有效期结束日期')->static(), amis()->TextControl('auditor', '审核人')->static(), amis()->TextControl('audit_time', '审核时间')->static(), amis()->TextControl('audit_remark', '审核回执')->static(), amis()->TextControl('state', '状态')->static(), amis()->TextControl('created_at', admin_trans('admin.created_at'))->static(), amis()->TextControl('updated_at', admin_trans('admin.updated_at'))->static(), ]); } /** * [审核]审核技师资质认证 * * @description 审核技师的资质认证记录,可通过或驳回 * * @header x-xsrf-token required CSRF令牌 Example: your_csrf_token * * @bodyParam qualification_record_id integer required 资质认证记录ID Example: 1 * @bodyParam qualification_record_state integer required 审核状态(2:通过 3:驳回) Example: 2 * @bodyParam audit_remark string required 审核意见 Example: 资质证书有效,审核通过 * * @response scenario=success { * "code": 200, * "message": "操作成功" * } * * @response status=400 scenario="已审核" { * "message": "该认证已审核" * } * * @response status=404 scenario="不存在" { * "message": "认证记录不存在" * } */ public function audit(Request $request) { $validated = $request->validate([ 'qualification_record_id' => 'required|integer|exists:coach_qual_records,id', 'qualification_record_state' => 'required|integer|in:2,3', // 2:通过 3:驳回 'audit_remark' => 'required|string|max:255', ]); $result = $this->service->audit( $validated['qualification_record_id'], $validated['qualification_record_state'], $validated['audit_remark'], Admin::user()->id ); return $this->autoResponse($result); } }