AjaxAction() ->label('发起审核') ->level('link') ->api(amisMake()->BaseApi()->url(admin_url('api/workflow/apply'))->method('post')->data([ 'id' => '${workflow.id}', 'user' => '${employee_id}', ])) ->confirmText(__('admin.confirm')) ->visibleOn('${OR(workflow.check_status == '.CheckStatus::None->value.', workflow.check_status == '.CheckStatus::Cancel->value.', workflow.check_status == '.CheckStatus::Fail->value.')}'); } /** * 审批操作 */ public function approveAction(): DrawerAction { return amis()->DrawerAction()->icon('fa fa-check-square')->label('审核')->level('link')->drawer( amis()->Drawer()->title('审核')->body([ amis()->Form()->title('') ->api('post:'.admin_url('api/workflow/approve')) ->body([ amis()->HiddenControl()->name('id')->value('${workflow.id}'), amis()->RadiosControl('approval_results', '审核结果') ->options([ ['label' => '通过', 'value' => 1], ['label' => '拒绝', 'value' => 2], ]) ->selectFirst() ->required(), amis()->TextareaControl('remarks', '拒绝原因') ->visibleOn('${approval_results == 2}') ->required() ->minRows(15), ]), ])->size('lg') )->visibleOn('${workflow.check_status == '.CheckStatus::Processing->value.'}'); } public function cancelAction() { return amisMake() ->AjaxAction() ->label('取消审核') ->level('link') ->api(amisMake()->BaseApi()->url(admin_url('api/workflow/cancel'))->method('post')->data([ 'id' => '${workflow.id}' ])) ->confirmText(__('admin.confirm')) ->visibleOn('${workflow.check_status == '.CheckStatus::Processing->value.'}'); } public function succesAction() { return amisMake() ->AjaxAction() ->label('审核通过') ->level('link') ->api('post:' . admin_url('api/workflow/success?id=${workflow.id}')) ->confirmText(__('admin.confirm')) ->visibleOn('${workflow.check_status == '.CheckStatus::Processing->value.'}'); } public function failAction() { return amisMake() ->DialogAction() ->label('审核不通过') ->level('link') ->dialog(amisMake()->Dialog()->title('审核不通过')->body( amisMake()->Form()->title('')->api('post:'.admin_url('api/workflow/fail'))->body([ amisMake()->HiddenControl()->name('id')->value('${workflow.id}'), amisMake()->TextControl()->name('remarks')->label(__('workflow_log.remarks'))->required(), ]) )) ->visibleOn('${workflow.check_status == '.CheckStatus::Processing->value.'}'); } }