store-manage/app/Traits/HasCheckActions.php

63 lines
2.1 KiB
PHP

<?php
namespace App\Traits;
use App\Enums\{CheckStatus};
trait HasCheckActions
{
public function applyAction()
{
return amisMake()
->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.'}');
}
}