v1.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace zin;
  3. require_once dirname(__DIR__) . DS . 'datalist' . DS . 'v1.php';
  4. class researchtaskBasicInfo extends wg
  5. {
  6. /**
  7. * @var mixed[]
  8. */
  9. protected static $defineProps = array
  10. (
  11. 'task' => '?object', // 当前任务。
  12. 'product' => '?object', // 当前产品。
  13. 'execution' => '?object', // 当前执行。
  14. 'users' => '?array', // 用户信息。
  15. 'users' => '?array', // 用户列表。
  16. 'statusText' => '?string', // 状态信息。
  17. );
  18. protected function getItems()
  19. {
  20. global $lang, $config;
  21. $task = $this->prop('task', data('task'));
  22. if(!$task) return array();
  23. $execution = $this->prop('execution', data('execution'));
  24. $users = $this->prop('users', data('users'));
  25. $statusText = $this->prop('statusText', $task->status);
  26. $items = array();
  27. if($execution->multiple)
  28. {
  29. $items[$lang->researchtask->execution] = array('control' => 'text', 'text' => $execution->name, 'title' => $execution->name);
  30. }
  31. $items[$lang->researchtask->assignedTo] = $task->assignedTo ? zget($users, $task->assignedTo) . $lang->at . formatTime($task->assignedDate) : '';
  32. $items[$lang->researchtask->status] = array
  33. (
  34. 'control' => 'status',
  35. 'class' => 'task-status',
  36. 'status' => $task->status,
  37. 'text' => $statusText
  38. );
  39. $items[$lang->researchtask->progress] = "$task->progress %";
  40. $items[$lang->researchtask->pri] = array
  41. (
  42. 'control' => 'pri',
  43. 'pri' => $task->pri,
  44. 'text' => $lang->researchtask->priList
  45. );
  46. return $items;
  47. }
  48. protected function build()
  49. {
  50. return new datalist
  51. (
  52. set::className('task-basic-info'),
  53. set::items($this->getItems())
  54. );
  55. }
  56. }