store-manage/app/Traits/HasCheckActions.php

69 lines
2.3 KiB
PHP

<?php
namespace App\Traits;
use App\Enums\{CheckStatus};
trait HasCheckActions
{
public function getMorphAlias()
{
// return (new EmployeeSignRepair)->getMorphClass();
return '';
}
public function applyAction()
{
return amisMake()
->AjaxAction()
->label('发起审核')
->level('link')
->api(amisMake()->BaseApi()->url(admin_url('api/workflow/apply'))->method('post')->data([
'subject_type' => $this->getMorphAlias(),
'subject_id' => '${id}'
]))
->confirmText(__('admin.confirm'))
->visibleOn('${OR(check_status == '.CheckStatus::None->value.', check_status == '.CheckStatus::Cancel->value.', 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([
'subject_type' => $this->getMorphAlias(),
'subject_id' => '${id}',
]))
->confirmText(__('admin.confirm'))
->visibleOn('${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'),
amisMake()->TextControl()->name('remarks')->label(__('workflow_log.remarks'))->required(),
])
))
->visibleOn('${check_status == '.CheckStatus::Processing->value.'}');
}
}