Audit.php 3.1 KB
<?php

namespace App\Admin\Extensions\Actions;

use App\Admin\Rewrite\Actions\RowAction;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use App\Admin\Rewrite\Facades\Admin;

class Audit extends RowAction
{
    public $name = '审 核';

    public function handle(Model $model, Request $request)
    {
        // 看一下传入的参数是什么
        // dd(func_get_args());

        // TODO 暂时先根据 _input 来判断,
        $audited_status = request('audited_status');
        $audited_opinion = request('audited_opinion');

        // 如果审核不通过需要填写审核意见
        if ($audited_status == config('constants.AUDIT_NOT_PASSED') && !$audited_opinion) {
            return $this->response()->error(__('input').__('audit_opinion'))->refresh();
        }

        $model->audited_status  = $audited_status;
        $model->audited_opinion = $audited_opinion;
        $model->audited_at      = date('Y-m-d H:i:s');
        $model->audited_by      = Admin::user()->id;

        $result                 = $model->save();

        // 判断操作结果
        if ($result) {
            return $this->response()->success(__('audit_succeeded'))->refresh();
        } else {
            return $this->response()->error(__('audit_failed'))->refresh();
        }
    }

    public function form()
    {
        $this->radio('audited_status', __('audit_conclusion'))->options([
           config('constants.AUDIT_PASSED') => __('audit_pass'),
           config('constants.AUDIT_NOT_PASSED') => __('audit_refusal'),
        ])->default(config('constants.AUDIT_NOT_PASSED'));
        $this->textarea('audited_opinion', __('audit_opinion'));
    }

//    public function dialog()
//    {
//        $html ='<label for="title">审核结论:</label><span class="swal2-radio-1">
//			    <input type="radio" id="swal2-radio-1" name="swal2-radio" value="'.
//                \Config::get('constants.AUDIT_PASSED').
//                '" checked/>
//			    <label for="swal2-radio-1" class="swal2-radio-label">通过</label>
//			</span>
//			<span class="swal2-radio-1">
//			    <input type="radio" id="swal2-radio-2" name="swal2-radio" value="'.
//            \Config::get('constants.AUDIT_NOT_PASSED').
//            '"/>
//			    <label for="swal2-radio-2" class="swal2-radio-label">不通过</label>
//			</span>';
//
//        $options = [
//            'input' =>'textarea',
//            'type' => '',
//            'inputPlaceholder'  =>__('input').__('audit_opinion'),
//            'showLoaderOnConfirm' =>true,
////            'confirmButtonColor' =>'red',
////            'cancelButtonColor' =>'#4cd964',
////            'confirmButtonText' => '不通过',
////            'cancelButtonText' => '通 过',
//            'html' =>$html,
//            // '<input type="radio" name="swal2-radio" value="2" id="swal2-radio-1"><span style="margin-right:1rem;font-size:1.2rem;font-weight:bold">通过</span><input type="radio" name="swal2-radio" value="3" id="swal2-radio-2" ><span style="margin-right:1rem;font-size:1.2rem;font-weight:bold">不通过</span>'
//        ];
//        $this->confirm('', __('audit_opinion'), $options);
//    }
}