story); jsVar('oldAssignedTo', $task->assignedTo); jsVar('oldExecutionID', $task->execution); jsVar('oldConsumed', $task->consumed); jsVar('taskStatus', $task->status); jsVar('currentUser', $app->user->account); jsVar('team', $task->members); jsVar('members', $members); jsVar('page', 'edit'); jsVar('confirmChangeExecution', $lang->task->confirmChangeExecution); jsVar('teamMemberError', $lang->task->error->teamMember); jsVar('totalLeftError', sprintf($this->lang->task->error->leftEmptyAB, $this->lang->task->statusList[$task->status])); jsVar('estimateNotEmpty', sprintf($lang->error->gt, $lang->task->estimate, '0')); jsVar('leftNotEmpty', sprintf($lang->error->gt, $lang->task->left, '0')); jsVar('requiredFields', $config->task->edit->requiredFields); /* zin: Set variables to define picker options for form */ $formTitle = $task->name; $executionOptions = $executions; $moduleOptions = $modules; $storyOptions = $stories; if($task->status == 'wait' and $task->parent == 0) { $modeOptions = $lang->task->editModeList; } else { if($task->mode == '') { $modeOptions = $lang->task->editModeList['single']; } else { $modeOptions = zget($lang->task->editModeList, $task->mode); } } $assignedToOptions = $taskMembers; $typeOptions = $lang->task->typeList; $statusOptions = (array)$lang->task->statusList; $priOptions = $lang->task->priList; $mailtoOptions = $task->mailto; $contactListMenuOptions = $contactLists; $finishedByOptions = $members; $canceledByOptions = $users; $closedByOptions = $users; $closedReasonOptions = $lang->task->reasonList; $teamOptions = array(array('value' => "", 'text' => ""), array('value' => "zenggang", 'text' => "Z:曾刚")); $teamOptions = array(array('value' => "", 'text' => ""), array('value' => "zenggang", 'text' => "Z:曾刚")); $teamOptions = array(array('value' => "", 'text' => ""), array('value' => "zenggang", 'text' => "Z:曾刚")); $teamOptions = array(array('value' => "", 'text' => ""), array('value' => "zenggang", 'text' => "Z:曾刚")); $teamOptions = array(array('value' => "", 'text' => ""), array('value' => "zenggang", 'text' => "Z:曾刚")); $teamOptions = array(array('value' => "", 'text' => ""), array('value' => "zenggang", 'text' => "Z:曾刚")); /* ====== Define the page structure with zin widgets ====== */ /* zin: Define the form in main content */ formPanel ( set::title($formTitle), // The form title is diffrent from the page title, formGroup ( set::width("1/4"), set::name("execution"), set::label("所属执行"), set::required(true), set::value("50"), set::control("picker"), set::items($executionOptions) ), formGroup ( set::width("1/4"), set::name("module"), set::label("所属模块"), set::value("0"), set::control("picker"), set::items($moduleOptions) ), formGroup ( set::width("1/4"), set::name("story"), set::label("相关软件需求"), set::control("picker"), set::items($storyOptions) ), formGroup ( set::width("1/4"), set::name("mode"), set::label("任务模式"), set::value("linear"), set::control("picker"), set::items($modeOptions) ), formGroup ( set::width("1/4"), set::label("指派给"), inputGroup ( control(set(array ( 'name' => "assignedTo", 'id' => "assignedTo", 'value' => "zenggang", 'disabled' => true, 'type' => "picker", 'items' => $assignedToOptions ))), btn(set(array ( 'type' => "btn", 'text' => "团队", 'class' => "input-group-btn team-group" ))) ) ), formGroup ( set::width("1/4"), set::name("type"), set::label("任务类型"), set::required(true), set::value("study"), set::control("picker"), set::items($typeOptions) ), formGroup ( set::width("1/4"), set::name("status"), set::label("任务状态"), set::value("wait"), set::control("picker"), set::items($statusOptions) ), formGroup ( set::width("1/4"), set::name("pri"), set::label("优先级"), set::value("3"), set::control("picker"), set::items($priOptions) ), formGroup ( set::width("1/4"), set::label("抄送给"), inputGroup ( control(set(array ( 'name' => "mailto[]", 'id' => "mailto", 'value' => NULL, 'disabled' => false, 'type' => "picker", 'items' => $mailtoOptions, 'multiple' => true ))), control(set(array ( 'name' => "contactListMenu", 'id' => "contactListMenu", 'value' => "", 'disabled' => false, 'type' => "picker", 'onchange' => "setMailto", 'items' => $contactListMenuOptions ))) ) ), formGroup ( set::width("1/4"), set::name("estStarted"), set::label("预计开始"), set::value("2023-04-25"), set::control("date") ), formGroup ( set::width("1/4"), set::name("deadline"), set::label("截止日期"), set::value("2023-04-28"), set::control("date") ), formGroup ( set::width("1/4"), set::name("estimate"), set::label("最初预计"), set::value("7"), set::control("text") ), formGroup ( set::width("1/4"), set::name("left"), set::label("预计剩余"), set::value("7"), set::control("text") ), formGroup ( set::width("1/4"), set::name("realStarted"), set::label("实际开始"), set::value("2023-04-24 17:25:00"), set::control("datetime") ), formGroup ( set::width("1/4"), set::name("finishedBy"), set::label("由谁完成"), set::control("picker"), set::items($finishedByOptions) ), formGroup ( set::width("1/4"), set::name("finishedDate"), set::label("实际完成"), set::value("0000-00-00 00:00:00"), set::control("datetime") ), formGroup ( set::width("1/4"), set::name("canceledBy"), set::label("由谁取消"), set::control("picker"), set::items($canceledByOptions) ), formGroup ( set::width("1/4"), set::name("canceledDate"), set::label("取消时间"), set::value("0000-00-00 00:00:00"), set::control("datetime") ), formGroup ( set::width("1/4"), set::name("closedBy"), set::label("由谁关闭"), set::control("picker"), set::items($closedByOptions) ), formGroup ( set::width("1/4"), set::name("closedReason"), set::label("关闭原因"), set::control("picker"), set::items($closedReasonOptions) ), formGroup ( set::width("1/4"), set::name("closedDate"), set::label("关闭时间"), set::value("0000-00-00 00:00:00"), set::control("datetime") ), formRow ( set::hidden(true), formGroup ( set::width("1/4"), set::name("team[]"), set::value("zenggang"), set::control("picker"), set::id("team"), set::items($teamOptions) ), formGroup ( set::width("1/4"), inputGroup ( ) ) ), formRow ( set::hidden(true), formGroup ( set::width("1/4"), set::name("team[]"), set::value("zenggang"), set::control("picker"), set::id("team"), set::items($teamOptions) ), formGroup ( set::width("1/4"), inputGroup ( ) ) ), formRow ( set::hidden(true), formGroup ( set::width("1/4"), set::name("team[]"), set::control("picker"), set::id("team"), set::items($teamOptions) ), formGroup ( set::width("1/4"), inputGroup ( ) ) ), formRow ( set::hidden(true), formGroup ( set::width("1/4"), set::name("team[]"), set::control("picker"), set::id("team"), set::items($teamOptions) ), formGroup ( set::width("1/4"), inputGroup ( ) ) ), formRow ( set::hidden(true), formGroup ( set::width("1/4"), set::name("team[]"), set::control("picker"), set::id("team"), set::items($teamOptions) ), formGroup ( set::width("1/4"), inputGroup ( ) ) ), formRow ( set::hidden(true), formGroup ( set::width("1/4"), set::name("team[]"), set::control("picker"), set::id("team"), set::items($teamOptions) ), formGroup ( set::width("1/4"), inputGroup ( ) ) ), history ( set::actions($actions), set::users($users), set::methodName($methodName), ) ); /* ====== Render page ====== */ render();