simplePaginate(); $grid->quickSearch(['id', 'withdrawal_id', 'user_id', 'user.user_name', 'wx_batch_id', 'ali_batch_id', 'bank_card', 'wechat_phone', 'alipay_phone'])->placeholder('搜索提现单号,用户id,用户名...')->width(35); $grid->model()->orderBy('id', 'desc'); $grid->column('id')->sortable(); $grid->column('withdrawal_id')->sortable()->display(function ($v){ if(_empty_($v)){ \App\Models\User\WxUserWithdrawal::where('id', $this->id)->update([ 'withdrawal_id' => Utils::getSn(14) ]); } return $v; }); $grid->column('owers', '头像')->display(function ($v) { return ''; })->width('50px'); $grid->column('ower', '用户名称')->display(function ($v) { if($v && $v['user_name']){ return ''.$v['user_name'].'' ?? '用户已删除'; } return '用户已删除'; })->width('100px'); $grid->column('price'); $grid->column('pay_amount'); // 微信 $grid->column('real_name'); $grid->column('wechat_phone'); $grid->column('alipay_phone'); $grid->column('account_way')->display(function ($v){ return _array_key(['wxpay'=>'微信零钱', 'alipay'=>'支付宝余额'], $v, ''); }); $grid->column('account_at'); $grid->column('other','其他')->display('查看') // 设置按钮名称 ->expand(function ($v) { $input['银行名字'] = $this->bank_name; $input['银行账号'] = $this->bank_card; $input['微信打款批次号'] = $this->wx_batch_id; $input['支付宝打款批次号'] = $this->ali_batch_id; $input['到账方式'] = _array_key(['wxpay'=>'微信零钱', 'alipay'=>'支付宝余额'], $this->account_way, ''); $input['到账时间'] = $this->account_at; $str__ = ''; foreach ($input as $key => $item){ if(!_empty_($str__)){ $str__ .= "\n"; } $str__ .= $key . ':'. $item; } $input = $str__; // 只填充内容,不需要标题 $card = Card::make(view('admin/system/log', compact('input'))); return $card; }); $grid->column('state')->using([0 => '待处理', 1 => '已处理', 2 => '异常', 3=>'微信打款中', 4=>'支付宝打款中', 5=>'尝试重新微信打款'])->label([ 0 => 'success', 1 => 'pink', 2 => 'primary', 3 => '#29ad6a', 4 => '#1578ff', 5 => 'primary' ])->sortable(); $grid->column('refuse_tip')->display(function ($v) use ($mch_transfer_to_weChat){ if(_empty_($v)){ $v = ''; } if($mch_transfer_to_weChat){ if($this->state === 0 && _empty_($this->wx_batch_id)){ UserWithdrawalProcessJob::dispatch($this->id); }else if(!_empty_($this->wx_batch_id) && $this->state == 3){ UserWithdrawalQueryJob::dispatch($this->id); }else if($this->state == 5 && _empty_($this->wx_batch_id)){ UserWithdrawalProcessJob::dispatch($this->id); } } return $this->is_lock == 1 ? '🔒'.$v : $v; })->limit(20); // $grid->column('account_at'); $grid->column('created_at')->sortable(); $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); $filter->equal('state')->multipleSelect([0 => '待处理', 1 => '已处理', 2 => '异常', 3=>'微信打款中', 4=>'支付宝打款中', 5=>'尝试重新微信打款']); }); // 禁用新增按钮 $grid->disableCreateButton(); // 禁用编辑按钮 $grid->disableEditButton(); // 禁用详情按钮 // $grid->disableViewButton(); $grid->disableDeleteButton(); $grid->disableBatchDelete(); $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->append((new UserWithdrawalProcessAction())->setKey($this->id)); }); $grid->tools([ // new userWithdrawalButton(), ]); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new WxUserWithdrawal(), function (Show $show) { $show->field('id'); $show->field('withdrawal_id'); $show->field('user_id'); $show->field('price'); $show->field('real_name'); $show->field('id_card'); $show->field('wechat_phone'); $show->field('alipay_phone'); $show->field('bank_name'); $show->field('bank_card'); $show->field('state'); $show->field('refuse_tip'); $show->field('account_at'); $show->field('account_way'); $show->field('account_way'); $show->field('wx_batch_id'); $show->field('ali_batch_id'); $show->field('created_at'); $show->field('updated_at'); $show->field('is_lock'); $show->disableEditButton(); $show->disableDeleteButton(); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new WxUserWithdrawal(), function (Form $form) { $form->display('id'); $form->text('user_id'); $form->text('price'); $form->text('state'); $form->text('account_at'); $form->deleting(function (Form $form){ global $__MINI_GLOBAL_TENANT_ID__; if($__MINI_GLOBAL_TENANT_ID__ > 0){ return $form->response()->error('权限不足,不可以删除其他分站对象'); } }); }); } }