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 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=${id}')) ->confirmText(__('admin.confirm')) ->visibleOn('${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('${id}'), amisMake()->TextControl()->name('remarks')->label(__('workflow_log.remarks'))->required(), ]) )) ->visibleOn('${check_status == '.CheckStatus::Processing->value.'}'); } public function baseWorkflowLogService($reload = null): Service { return amis()->Service() ->initFetch(false) ->api(admin_url('api/workflow/logs?id=${workflow.id}')) ->body( amis()->Table()->columnsTogglable(false)->columns([ amis()->TableColumn()->name('batch_id')->label(__('workflow_log.batch_id')), amis()->TableColumn()->name('check_name')->label(__('workflow_log.check_name')), amis()->TableColumn()->name('check_user.name')->label(__('workflow_log.check_user_id')), amis()->TableColumn()->name('check_status')->label(__('workflow_log.check_status'))->set('type', 'mapping')->map(CheckStatus::options()), amis()->TableColumn()->name('checked_at')->label(__('workflow_log.checked_at')), amis()->TableColumn()->name('remarks')->label(__('workflow_log.remarks')), ])->itemActions([ $this->succesAction()->reload($reload), $this->failAction()->reload($reload), ]) ); } }