id)->first(); if ($mp_info) { //服务商只能看到自己的提现列表 $buider = modelMpInfo::with('mpInfo')->where('mp_id', $mp_info->id); } return Grid::make($buider, function (Grid $grid) use ($current_user) { $grid->model()->orderBy('created_at','desc'); $grid->id->sortable(); $grid->column('mpInfo.name', '服务商名字'); $grid->money; $grid->status('提现状态')->using([-1 => '拒绝', 0 => '审核中', 1 => '通过']) ->label([-1 => 'danger', 0 => 'default', 1 => 'success']); $grid->column('created_at')->display(function ($time) { return date('Y-m-d H:i', $time); }); $grid->filter(function (Grid\Filter $filter) { $filter->like('mpInfo.name', '服务商')->placeholder('输入服务商名称'); $filter->between('money'); }); $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableDelete(); // $actions->disableEdit(); $actions->disableQuickEdit(); $actions->disableView(); }); if ($current_user->isRole('lanzu_mp')) { $grid->disableEditButton(); }else{ $grid->disableCreateButton(); } }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new LanzuMpWithdraw(['mpInfo']), function (Show $show) { $show->id; $show->mp_id; $show->column('服务商名称', 'mpInfo.name'); $show->money; $show->status; $show->created_at->as(function ($time) { if ($time) { return date('Y-m-d H:i', $time); } else { return '-'; } }); $show->updated_at->as(function ($time) { if ($time) { return date('Y-m-d H:i', $time); } else { return '-'; } }); }); } /** * Make a form builder. * * @return Form */ protected function lanzu_bis_form() { //管理员或者lanzu_bis操作 return Form::make(new LanzuMpWithdraw(['mpInfo']), function (Form $form) { $form->footer(function ($footer) { // 去掉`查看`checkbox $footer->disableViewCheck(); // 去掉`继续编辑`checkbox $footer->disableEditingCheck(); // 去掉`继续创建`checkbox $footer->disableCreatingCheck(); }); $form->tools(function (Form\Tools $tools) { // 去掉跳转详情页按钮 $tools->disableView(); // 去掉删除按钮 $tools->disableDelete(); $tools->disableList(); }); $mpName = $form->model()->mp_info['name']; $form->display('id'); $form->text('mp_id', '服务商ID')->disable(); $form->display('', '服务商名')->value($mpName); $form->text('money', '提现金额')->disable()->required(); $form->hidden('is_operated'); $form->saving(function (Form $form) { $form->is_operated = 1; }); if ($form->model()->is_operated) { $status = ''; if ($form->model()->status == 1) { $status = '审核通过'; } if ($form->model()->status == -1) { $status = '拒绝'; } $form->display('', '审核状态')->value($status); $form->disableSubmitButton(); $form->disableResetButton(); } else { if ($form->isCreating()) { $form->radio('status')->options([1 => '通过审核', -1 => '拒绝'])->default(-1)->disable(); } else { $form->radio('status')->options([1 => '通过审核', -1 => '拒绝'])->default(-1); } } $form->saved(function (Form $form, $result) { $adminUserId = $form->model()->mp_info['admin_user_id']; $money = $form->model()->money; if ($form->isEditing()) { if ($form->status == -1) { //如果服务商提现审核被拒绝,退回服务商的提现金额 MpBalance::returnBalance($adminUserId, Type::BALANCE_USER_TYPE_MP, $money); } elseif ($form->status == 1) { //如果审核通过,则记录流水 FinancialRecord::addFinancialRecord($adminUserId, Type::BALANCE_USER_TYPE_MP, $money, 102, '服务商提现', '服务商提现'); } } }); }); } protected function form() { $current_user = Admin::user(); if (!$current_user->isRole('lanzu_mp')) { return $this->lanzu_bis_form(); } //如果是服务商角色,获取服务商信息 $mp = LanzuMpInfo::where('admin_user_id', $current_user->id)->first(); //获取服务商可提现金额 $mpb = MpBalance::where('source_id', $mp->admin_user_id) ->where('user_type', Type::BALANCE_USER_TYPE_MP)->first(); $balance = 0; if ($mpb) { $balance = $mpb->balance; } return Form::make(new LanzuMpWithdraw(), function (Form $form) use ($current_user, $balance, $mpb, $mp) { $form->footer(function ($footer) { // 去掉`查看`checkbox $footer->disableViewCheck(); // 去掉`继续编辑`checkbox $footer->disableEditingCheck(); // 去掉`继续创建`checkbox $footer->disableCreatingCheck(); }); $form->display('id'); $form->hidden('mp_id')->value($mp->id); $form->text('balance', '当前可提现余额')->value($balance)->disable()->help('当前可提现金额'); $form->number('money', '提现金额')->required()->min(0); $form->ignore(['balance']); //添加成功之后,扣减掉可提现金额 $form->saved(function (Form $form, $result) use ($mpb) { if ($form->isCreating()) { if ($result) { $mpb->balance = $mpb->balance - $form->money; $mpb->save(); } } }); }); } }