baseCRUD() ->filterTogglable(false) ->headerToolbar([ $this->createButton('dialog'), ...$this->baseHeaderToolBar() ]) ->columns([ amis()->TableColumn('id', 'ID')->sortable(), amis()->TableColumn('coach_id', '技师编号'), amis()->TableColumn('real_name', '姓名'), amis()->TableColumn('id_card', '身份证号'), amis()->TableColumn('id_card_front_photo', '身份证正面照片'), amis()->TableColumn('id_card_back_photo', '身份证反面照片'), amis()->TableColumn('id_card_hand_photo', '手持身份证照片'), amis()->TableColumn('auditor', '审核人'), amis()->TableColumn('audit_time', '审核时间'), amis()->TableColumn('audit_remark', '审核回执'), amis()->TableColumn('state', '状态')->sortable(), 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('real_name', '姓名'), amis()->TextControl('id_card', '身份证号'), amis()->TextControl('id_card_front_photo', '身份证正面照片'), amis()->TextControl('id_card_back_photo', '身份证反面照片'), amis()->TextControl('id_card_hand_photo', '手持身份证照片'), 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('real_name', '姓名')->static(), amis()->TextControl('id_card', '身份证号')->static(), amis()->TextControl('id_card_front_photo', '身份证正面照片')->static(), amis()->TextControl('id_card_back_photo', '身份证反面照片')->static(), amis()->TextControl('id_card_hand_photo', '手持身份证照片')->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 real_auth_record_id integer required 实名认证记录ID Example: 1 * @bodyParam real_auth_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([ 'real_auth_record_id' => 'required|integer|exists:coach_real_records,id', 'real_auth_state' => 'required|integer|in:2,3', // 2:通过 3:驳回 'audit_remark' => 'required|string|max:255', ]); try { $result = $this->service->audit( $validated['real_auth_record_id'], $validated['real_auth_state'], $validated['audit_remark'], Admin::user()->id ); return $this->autoResponse($result); } catch (\Exception $e) { return $this->error($e->getMessage()); } } }