edit.html.php 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /**
  3. * The edit file of auditplan module of ZenTaoPMS.
  4. *
  5. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  6. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  7. * @author Yuting Wang<wangyuting@easycorp.ltd>
  8. * @package auditplan
  9. * @link https://www.zentao.net
  10. */
  11. namespace zin;
  12. if(!empty($auditplan->cycleConfig)) $cycleConfig = json_decode($auditplan->cycleConfig);
  13. $auditplan->title = $this->dao->select('name')->from($auditplan->objectType == 'activity' ? TABLE_ACTIVITY : TABLE_DELIVERABLE)->where('id')->eq($auditplan->objectID)->fetch('name');
  14. $fields = defineFieldList('auditplan');
  15. $fields->field('execution')->control('picker')->items($executions)->width('full');
  16. $fields->field('process')->required(true)->control(array('control' => 'picker', 'required' => false))->items($processList)->width('full');
  17. $fields->field('objectID')->required(true)->control(array('control' => 'picker', 'required' => false))->items($activityList)->width('full');
  18. if($auditplan->cycleType != 'noCycle')
  19. {
  20. $fields->field('checkDate')
  21. ->checkbox(array('name' => 'isCycle', 'text' => $lang->auditplan->isCycle, 'value' => '1', 'checked' => true, 'disabled' => true))
  22. ->control(array('control' => 'radioList', 'name' => 'cycleType', 'inline' => true, 'items' => $lang->auditplan->cycleList, 'value' => $auditplan->cycleType))
  23. ->width('full');
  24. }
  25. else
  26. {
  27. $fields->field('checkDate')->required(true)->control('date')->width('full');
  28. }
  29. if($cycleType == 'day')
  30. {
  31. $fields->field('cycleConfig')
  32. ->required(true)
  33. ->control('inputGroup')
  34. ->itemBegin()->control('btn')->text($lang->auditplan->from)->itemEnd()
  35. ->itemBegin()->control(array('control' => 'datePicker', 'required' => true))->name('cycleConfig[fromDate]')->value(zget($cycleConfig, 'fromDate', ''))->itemEnd()
  36. ->itemBegin()->control('btn')->text($lang->auditplan->interval)->itemEnd()
  37. ->itemBegin()->control('input')->name('cycleConfig[interval]')->value(zget($cycleConfig, 'interval', 1))->type('number')->min(1)->step(1)->itemEnd()
  38. ->itemBegin()->control('btn')->text($lang->auditplan->day)->itemEnd()
  39. ->itemBegin()->control('input')->name('cycleConfig[]')->className('hidden')->itemEnd()
  40. ->width('full');
  41. }
  42. elseif($cycleType == 'week')
  43. {
  44. $fields->field('cycleConfig')
  45. ->required(true)
  46. ->control('inputGroup')
  47. ->itemBegin()->control('btn')->text($lang->auditplan->weekly)->itemEnd()
  48. ->itemBegin()->control('picker')->multiple(true)->name('cycleConfig[week]')->items($lang->auditplan->weekList)->value(zget($cycleConfig, 'week', ''))->itemEnd()
  49. ->itemBegin()->control('input')->name('cycleConfig[]')->className('hidden')->itemEnd()
  50. ->width('full');
  51. }
  52. elseif($cycleType == 'month')
  53. {
  54. $fields->field('cycleConfig')
  55. ->required(true)
  56. ->control('inputGroup')
  57. ->itemBegin()->control('btn')->text($lang->auditplan->monthly)->itemEnd()
  58. ->itemBegin()->control('picker')->multiple(true)->name('cycleConfig[month]')->items($lang->auditplan->monthList)->value(zget($cycleConfig, 'month', ''))->itemEnd()
  59. ->itemBegin()->control('input')->name('cycleConfig[]')->className('hidden')->itemEnd()
  60. ->width('full');
  61. }
  62. if($cycleType != 'noCycle')
  63. {
  64. $fields->field('cyclePlan')
  65. ->required(true)
  66. ->label($lang->auditplan->cyclePlan)
  67. ->control('inputGroup')
  68. ->itemBegin()->control('btn')->text($lang->auditplan->advance)->itemEnd()
  69. ->itemBegin()->control('input')->type('number')->min(0)->step(1)->name('cyclePlan')->value($auditplan->cyclePlan)->itemEnd()
  70. ->itemBegin()->control('btn')->text($lang->auditplan->day)->itemEnd()
  71. ->width('full');
  72. $fields->field('deadline')
  73. ->control('datePicker')
  74. ->name('deadline')
  75. ->value($auditplan->deadline)
  76. ->width('full');
  77. }
  78. $fields->field('assignedTo')->required($cycleType != 'noCycle')->control(array('control' => 'picker', 'required' => false))->items($users)->width('full');
  79. $fields->field('comment')->control('editor')->width('full');
  80. $fields->autoLoad('process', 'objectID');
  81. $fields->autoLoad('cycleType', 'cycleConfig');
  82. modalHeader(set::entityText(''));
  83. formPanel
  84. (
  85. set::layout('grid'),
  86. set::fields($fields),
  87. set::loadUrl(createLink('auditplan', 'edit', "aduitplanID={$auditplan->id}&processID={process}&cycleType={cycleType}"))
  88. );
  89. history();