baseCRUD()->tableLayout('fixed') ->headerToolbar([ amis('reload')->align('right'), amis('filter-toggler')->align('right'), ]) ->filter($this->baseFilter()->labelWidth('80px')->body([ amis()->GroupControl()->mode('horizontal')->body([ amis()->SelectControl('activity', __('admin.activities.name'))->options(Activity::sort()->pluck('name', 'id')->toArray()), amis()->TextControl('user_name', __('admin.users.nick_name')) ->placeholder(__('admin.users.nick_name')), amis()->TextControl('user_phone', __('admin.users.phone')) ->placeholder(__('admin.users.phone')), amis()->SelectControl('state', __('admin.user_gifts.state')) ->options([ 1=>'未发货',2=>'已发货',0=>'未领取' ]), ]) ])) ->columns([ amis()->TableColumn('activity.name', __('admin.activities.name')), amis()->TableColumn('gift.name', __('admin.activity_gifts.name')), amis()->TableColumn('user.nick_name', __('admin.users.nick_name')), amis()->TableColumn('user.phone', __('admin.users.phone'))->copyable(), amis()->TableColumn('state', __('admin.user_gifts.state'))->type('mapping')->map([ "0"=>"未领取", "1"=>"未发货", "2"=>"已发货", "*"=> '其他:${state}' ]), amis()->TableColumn('consignee', __('admin.user_gifts.consignee')), amis()->TableColumn('address', __('admin.user_gifts.address')), amis()->TableColumn('phone', __('admin.user_gifts.phone')), amis()->TableColumn('shipping_company', __('admin.user_gifts.shipping_company')), amis()->TableColumn('shipping_number', __('admin.user_gifts.shipping_number'))->copyable(), Operation::make()->label(__('admin.actions'))->buttons([ amisMake()->DialogAction()->label('发货') ->level('link') ->dialog(Dialog::make()->title('填写发货信息')->body([ amisMake()->form()->title('') ->api('post:' .admin_url('user_gifts/${id}/shipping')) ->body([ amis()->TextControl('shipping_company', __('admin.user_gifts.shipping_company'))->required(), amis()->TextControl('shipping_number', __('admin.user_gifts.shipping_number'))->required(), ]) ]))->visibleOn('${state == 1}'), ]) ]); return $this->baseList($crud); } public function form($isEdit = false): Form { return $this->baseForm()->body([ ]); } public function detail() { $form = amisMake()->form()->title('')->panelClassName('border-r border-t-0 border-b-0 border-l-0')->mode('horizontal') ->static(true)->actions([]) ->body([ ]); return amisMake()->Grid()->columns([ amis()->Column()->body($form)->md(4), amis()->Column()->body([ ])->md(8), ]); } public function detailActions() { return [ //返回 amis()->Button()->actionType('cancel')->label(__('admin.back'))->primary() ]; } /** * 发货 */ public function shipping(UserGift $userGift, Request $request) { $res = $this->service->shippingGift($userGift, $request->input()); return $this->autoResponse($res, '发货'); } }