v1.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace zin;
  3. require_once dirname(__DIR__) . DS . 'datalist' . DS . 'v1.php';
  4. class taskLifeInfo extends wg
  5. {
  6. /**
  7. * @var mixed[]
  8. */
  9. protected static $defineProps = array
  10. (
  11. 'task' => '?object', // 当前需求。
  12. 'users' => '?array' // 用户列表。
  13. );
  14. protected function getItems()
  15. {
  16. global $lang;
  17. $task = $this->prop('task', data('task'));
  18. if(!$task) return array();
  19. $users = $this->prop('users', data('users'));
  20. $items = array();
  21. $items[$lang->task->openedBy] =
  22. $task->openedBy ? zget($users, $task->openedBy, $task->openedBy) . $lang->at . $task->openedDate : '';
  23. $items[$lang->task->finishedBy] =
  24. $task->finishedBy ? zget($users, $task->finishedBy, $task->finishedBy) . $lang->at . $task->finishedDate : '';
  25. $items[$lang->task->canceledBy] =
  26. $task->canceledBy ? zget($users, $task->canceledBy, $task->canceledBy) . $lang->at . $task->canceledDate : '';
  27. $items[$lang->task->closedBy] =
  28. $task->closedBy ? zget($users, $task->closedBy, $task->closedBy) . $lang->at . $task->closedDate : '';
  29. $items[$lang->task->closedReason] =
  30. $task->closedReason ? $lang->task->reasonList[$task->closedReason] : '';
  31. $items[$lang->task->lastEdited] =
  32. $task->lastEditedBy ? zget($users, $task->lastEditedBy, $task->lastEditedBy) . $lang->at . $task->lastEditedDate : '';
  33. return $items;
  34. }
  35. protected function build()
  36. {
  37. global $app;
  38. return new datalist
  39. (
  40. set::className('task-life-info'),
  41. set::items($this->getItems()),
  42. $app->getClientLang() == 'en' ? set::labelWidth('100') : null
  43. );
  44. }
  45. }