步骤文件示例

    1. <?php
    2. namespace app\steps;
    3. use app\admin\model\RegulateProblem;
    4. use app\model\Project;
    5. use think\db\Query;
    6. use tpScriptVueCurd\base\model\BaseModel;
    7. use tpScriptVueCurd\base\model\VueCurlModel;
    8. use tpScriptVueCurd\field\StringField;
    9. use tpScriptVueCurd\FieldCollection;
    10. use tpScriptVueCurd\filter\EmptyFilter;
    11. use tpScriptVueCurd\ModelField;
    12. use tpScriptVueCurd\option\FieldStep;
    13. use tpScriptVueCurd\option\FieldStepBase;
    14. use tpScriptVueCurd\option\FieldStepBaseConfig;
    15. use tpScriptVueCurd\option\FieldStepTag;
    16. use tpScriptVueCurd\option\FieldStepBeforeCheck;
    17. class Withdrawal extends FieldStepBase
    18. {
    19. //列表中点击撤回按钮时,弹出的确认框
    20. protected string $listDirectSubmit='您确定要撤回审核吗?';
    21. public static function name(): string
    22. {
    23. return 'withdrawal';
    24. }
    25. public static function make(): FieldStepBase
    26. {
    27. //撤回的时候不需要用户填写信息,但这里又必须有。所以这里随便放了个字段,不在外面显示出来
    28. return new self([
    29. StringField::init('WithdrawalStepField','')
    30. //此字段不自动生成
    31. ->generateColumn(false)
    32. ->listShow(false)->editShow(false)->showPage(false)->filter(new EmptyFilter())
    33. ]);
    34. }
    35. public function config(FieldStepBaseConfig $config): void
    36. {
    37. $config->title='撤回审核';
    38. $config->listBtnText='撤回审核';
    39. $config->listBtnColor='#722ed1';
    40. $config->listBtnUrl=url('project/withdrawal')->build();
    41. }
    42. public function listRowDo(VueCurlModel $info, ?BaseModel $baseInfo, FieldCollection $fields, FieldStep $step): void
    43. {
    44. parent::listRowDo($info, $baseInfo, $fields, $step);
    45. //当前列表中步骤时执行
    46. $step->setTags([new FieldStepTag('等待重新编辑','cyan')]);
    47. }
    48. /**
    49. * 步骤判断,数据的下一步是否为当前步骤
    50. * @return FieldStepBeforeCheck[] [stepclass=>FieldStepBeforeCheck::make('',function(BaseModel $info, BaseModel $parentInfo = null, ModelField $field = null){})]
    51. */
    52. protected function beforeCheck(): array
    53. {
    54. return [
    55. //需要审核过后的数据才能撤回
    56. Check::class=>FieldStepBeforeCheck::make('审核通过后',function(BaseModel $info, BaseModel $parentInfo = null, ModelField $field = null){
    57. //如果数据当前步骤是 Check ,数据可执行此步骤
    58. return true;
    59. })
    60. ];
    61. }
    62. protected function auth(VueCurlModel $info = null, BaseModel $baseInfo = null, FieldCollection $fields = null): bool
    63. {
    64. return true;
    65. }
    66. protected function authWhere(Query $query): void
    67. {
    68. // TODO: Implement authWhere() method.
    69. }
    70. }