ObjectAction.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <?php
  2. namespace App\Models\Enums;
  3. enum ObjectAction: string
  4. {
  5. case UPLOADED = "uploaded";
  6. case UNDELETED = "undeleted";
  7. case SUBMITTED = "submitted";
  8. case STARTED = "started";
  9. case REVIEWED = "reviewed";
  10. case RESTARTED = "restarted";
  11. case RESPOND = "respond";
  12. case PAUSED = "paused";
  13. case OPENED = "opened";
  14. case MOVED = "moved";
  15. case ISSUED = "issued";
  16. case FINISHED = "finished";
  17. case CREATED = "created";
  18. case EDITED = "edited";
  19. case DONE = "done";
  20. case DELAY = "delay"; //延迟
  21. case DELETED = "deleted";
  22. case CONFIRMED = "confirmed";
  23. case CLOSED = "closed";
  24. case CHANGED = "changed";
  25. case CANCELED = "canceled";
  26. case ASSIGNED = "assigned";
  27. case DELETED_FILE = "deletedFile";
  28. case EDITED_FILE = "editedFile";
  29. case HIDDEN = "hidden";
  30. case COMMENTED = "commented";
  31. case ACTIVATED = "activated";
  32. case BLOCKED = "blocked";
  33. case LINKED_TO_PLAN = "linkedToPlan";
  34. case CHANGED_STATUS = "change status";
  35. case VERIFIED = "verified";
  36. case SUSPENDED = "suspended";
  37. case LINK_CHILDREN_TASK = "linkChildrenTask";
  38. case UNLINK_CHILDREN_TASK = "unlinkChildrenTask";
  39. case BATCH_CREATE_TASK = "batchCreateTask";
  40. case DELETE_CHILDREN_TASK = "deleteChildrenTask";
  41. case WAITED ="waited";
  42. case APPROVAL_REQUEST= 'approvalRequest';
  43. case APPROVAL_APPROVED = 'approvalApproved';
  44. case APPROVAL_REJECTED = 'approvalRejected';
  45. case APPROVED_TO_NEXT_NODE ='approvedToNextStep';
  46. case APPROVED_CANCELED ='approvedCanceled';
  47. case APPROVED_WAIT_OTHERS = "approvedWaitOthers";
  48. public function isApproval()
  49. {
  50. return in_array($this->value, [
  51. self::APPROVAL_REQUEST->value,
  52. self::APPROVAL_APPROVED->value,
  53. self::APPROVAL_REJECTED->value,
  54. self::APPROVED_TO_NEXT_NODE->value,
  55. self::APPROVED_WAIT_OTHERS->value,
  56. ]);
  57. /**
  58. * 1,发起审批
  59. * 2,审批通过等待其他人审批, 依次审批,通知下一个,会签,通知审批人
  60. */
  61. }
  62. public static function messageNotificationItems()
  63. {
  64. $approval = [
  65. self::APPROVAL_REQUEST,
  66. self::APPROVAL_APPROVED,
  67. self::APPROVAL_REJECTED,
  68. self::APPROVED_TO_NEXT_NODE,
  69. self::APPROVED_WAIT_OTHERS,
  70. ];
  71. return [
  72. ActionObjectType::REQUIREMENT->value => [
  73. self::CREATED,
  74. self::EDITED,
  75. self::STARTED,
  76. self::CHANGED,
  77. self::CLOSED,
  78. ...$approval,
  79. ],
  80. ActionObjectType::TASK->value => [
  81. ObjectAction::STARTED,
  82. ObjectAction::PAUSED,
  83. ObjectAction::CLOSED,
  84. ObjectAction::DONE,
  85. ObjectAction::CANCELED,
  86. ObjectAction::EDITED,
  87. ...$approval,
  88. ],
  89. ActionObjectType::CONTAINER->value => [
  90. ObjectAction::CREATED,
  91. ObjectAction::EDITED,
  92. ...$approval,
  93. ],
  94. ActionObjectType::PROJECT->value => [
  95. ...$approval,
  96. ]
  97. ];
  98. }
  99. }