| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 | <?phpnamespace App\Admin\Controllers\Content;use App\Admin\Exports\Content\SelectHouseExport;use App\Http\Controllers\Controller;use App\Models\TalentHouseApply;use Encore\Admin\Controllers\HasResourceActions;use Encore\Admin\Grid;use Encore\Admin\Layout\Content;use Illuminate\Http\Request;class BuyHouseSelectController extends Controller{    use HasResourceActions;    private $marry = ['未知', '未婚', '已婚', '离异', '丧偶'];    /**     * Index interface.     *     * @param Content $content     * @return Content     */    public function index($id,Content $content)    {        return $content            ->header('选房顺序号')            ->description(' ')            ->body(view('admin.content.buy_house_select')->with(['grid' => $this->grid($id)]));    }    /**     * Make a grid builder.     *     * @return Grid     */    protected function grid($id)    {        $grid = new Grid(new TalentHouseApply());        $grid->model()->where('house_id',$id)->where('status',2)->orderBy('select_house_no', 'ASC');        $grid->id('ID');        $grid->name('姓名');        $grid->mobile('联系电话');        $grid->talent_level('人才层次');        $grid->select_house_no('顺序号')->display(function (){            if ($this->select_house_no == 999999) {                return '无';            }            return $this->select_house_no;        });        $grid->actions(function ($actions) {            $actions->append(" <button class='btn btn-primary btn-xs detail' id=" . $actions->row['id'] . ">详情</button>");            if ($actions->row['select_house_no'] == 999999) {                $actions->append("<button class='btn btn-default btn-xs select_no' data-code=" . $actions->row['id'] . ">填写顺序号</button>");            }        });        $grid->filter(function ($filter) {            $filter->disableIdFilter();            $filter->like('name', '姓名');            $filter->like('mobile', '电话');        });        $grid->disableExport(false); //显示导出按钮        $grid->exporter(new SelectHouseExport()); //传入自己在第1步创建的导出类        return $grid;    }    /**     * 详情     */    public function detail(Request $request)    {        $id   = $request->id;        $info = TalentHouseApply::find($id);;        $info->family     = json_decode($info->family);        $info->marry_text = $this->marry[$info->marry];        //layer相册层        $photos = [            'certificates'       => [],            'marry_prove'        => [],            'household_register' => [],            'work_prove'         => [],        ];        if (!empty(json_decode($info->certificates))) {            $info->certificates = json_decode($info->certificates);            $photo_data         = [];            foreach ($info->certificates as $k => $v) {                $photo_data[] = [                    'alt' => $v->name,                    'pid' => $v->uid,                    'src' => $v->response->path,                ];            }            $photos['certificates'] = [                'title' => '证件信息',                'id'    => 1,                'start' => 0,                'data'  => $photo_data,            ];        } else {            $info->certificates = [];        }        if (!empty(json_decode($info->marry_prove))) {            $info->marry_prove = json_decode($info->marry_prove);            $photo_data        = [];            foreach ($info->marry_prove as $k => $v) {                $photo_data[] = [                    'alt' => $v->name,                    'pid' => $v->uid,                    'src' => $v->response->path,                ];            }            $photos['marry_prove'] = [                'title' => '婚姻证明',                'id'    => 1,                'start' => 0,                'data'  => $photo_data,            ];        } else {            $info->marry_prove = [];        }        if (!empty(json_decode($info->household_register))) {            $info->household_register = json_decode($info->household_register);            $photo_data               = [];            foreach ($info->household_register as $k => $v) {                $photo_data[] = [                    'alt' => $v->name,                    'pid' => $v->uid,                    'src' => $v->response->path,                ];            }            $photos['household_register'] = [                'title' => '户口本',                'id'    => 1,                'start' => 0,                'data'  => $photo_data,            ];        } else {            $info->household_register = [];        }        if (!empty(json_decode($info->work_prove))) {            $info->work_prove = json_decode($info->work_prove);            $photo_data       = [];            foreach ($info->work_prove as $k => $v) {                $photo_data[] = [                    'alt' => $v->name,                    'pid' => $v->uid,                    'src' => $v->response->path,                ];            }            $photos['work_prove'] = [                'title' => '在职证明',                'id'    => 1,                'start' => 0,                'data'  => $photo_data,            ];        } else {            $info->work_prove = [];        }        $html = view('admin.ajax.buy_house_detail')->with(['info' => $info, 'photos' => $photos])->render();        return response()->json(['code' => 1, 'data' => $html]);    }    /**     * 选房顺序号     */    public function select(Request $request)    {        $id   = $request->id;        $select_house_no   = $request->select_house_no;        $url    = empty($request->url) ? admin_base_path('content/buy_house') : $request->url;        $apply = TalentHouseApply::find($id);        if ($apply->select_house_no != 999999) {            admin_toastr('数据错误,请重试', 'error');        } else {            $check = TalentHouseApply::where('select_house_no',$select_house_no)->where('house_id',$apply['house_id'])->first();            if ($check) {                admin_toastr('该顺序号已存在!', 'error');            } else {                $apply->select_house_no = $select_house_no;                $apply->save();                admin_toastr('操作成功', 'success');            }        }        return redirect($url);    }}
 |